Loading genres...
Explore the best books about Software genre.





Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. 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.

Jeff Lawson, software developer turned CEO of Twilio, creates a new playbook for unleashing the full potential of software developers in any organization, showing how to help management utilize this coveted and valuable workforce to enable growth, solve a wide range of business problems and drive digital transformation.From banking and retail to insurance and finance, every industry is turning digital, and every company needs the best software to win the hearts and minds of customers. The landscape has shifted from the classic build vs. buy question, to one of build vs. die. Companies have to get this right to survive. But how do they make this transition?Software developers are sought after, highly paid, and desperately needed to compete in the modern, digital economy. Yet most companies treat them like digital factory workers without really understanding how to unleash their full potential. Lawson argues that developers are the creative workforce who can solve major business problems and create hit products for customers—not just grind through rote tasks. From Google and Amazon, to one-person online software companies—companies that bring software developers in as partners are winning. Lawson shows how leaders who build industry changing software products consistently do three things well. First, they understand why software developers matter more than ever. Second, they understand developers and know how to motivate them. And third, they invest in their developers' success.As a software developer and public company CEO, Lawson uses his unique position to bridge the language and tools executives use with the unique culture of high performing, creative software developers. Ask Your Developer is a toolkit to help business leaders, product managers, technical leaders, software developers, and executives achieve their common goal—building great digital products and experiences.How to compete in the digital economy? In short: Ask Your Developer.

Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how toFight software rot; Avoid the trap of duplicating knowledge; Write flexible, dynamic, and adaptable code; Avoid programming by coincidence; Bullet-proof your code with contracts, assertions, and exceptions; Capture real requirements; Test ruthlessly and effectively; Delight your users; Build teams of pragmatic programmers; and Make your developments more precise with automation. Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.

Demarco and Lister demonstrate that the major issues of software development are human, not technical. Their answers aren't easy--just incredibly successful. New second edition features eight all-new chapters. Softcover. Previous edition: c1987. DLC: Management.

In a business where great risks, huge fortunes, and even bigger egos are common, Larry Ellison stands out as one of the most outspoken, driven, and daring leaders of the software industry. The company he cofounded and runs, Oracle, is the number one business software company. Perhaps even more than Microsoft's, Oracle's products are essential to today's networked world.In Softwar, journalist Matthew Symonds gives readers exclusive and intimate insight into both Oracle and the man who made it and runs it. As well as relating the story of Oracle's often bumpy path to industry dominance, Symonds deals with the private side of Ellison's life. With unlimited insider access granted by Ellison himself, Symonds captures the intensity and, some would say, the recklessness that have made Ellison a legend.With a new and expanded epilogue for the paperback edition that tells the story behind Oracle's epic struggle to win control of PeopleSoft, Softwar is the most complete portrait undertaken of the man and his empire -- a unique and gripping account of both the way the computing industry really works and an extraordinary life.

This book is meant to help the reader learn how to program in C. It is the definitive reference guide, now in a second edition. Although the first edition was written in 1978, it continues to be a worldwide best-seller. This second edition brings the classic original up to date to include the ANSI standard. From the Preface: We have tried to retain the brevity of the first edition. C is not a big language, and it is not well served by a big book. We have improved the exposition of critical features, such as pointers, that are central to C programming. We have refined the original examples, and have added new examples in several chapters. For instance, the treatment of complicated declarations is augmented by programs that convert declarations into words and vice versa. As before, all examples have been tested directly from the text, which is in machine-readable form. As we said in the first preface to the first edition, C "wears well as one's experience with it grows." With a decade more experience, we still feel that way. We hope that this book will help you to learn C and use it well.

“ Ruby on Rails™ Tutorial by Michael Hartl has become a must-read for developers learning how to build Rails apps.” — Peter Cooper, Editor of Ruby Inside Using Rails, developers can build web applications of exceptional elegance and power. Although its remarkable capabilities have made Ruby on Rails one of the world’s most popular web development frameworks, it can be challenging to learn and use. Ruby on Rails™ Tutorial, Second Edition, is the solution. Best-selling author and leading Rails developer Michael Hartl teaches Rails by guiding you through the development of your own complete sample application using the latest techniques in Rails web development. The updates to this edition include all-new site design using Twitter’s Bootstrap; coverage of the new asset pipeline, including Sprockets and Sass; behavior-driven development (BDD) with Capybara and RSpec; better automated testing with Guard and Spork; roll your own authentication with has_secure_password; and an introduction to Gherkin and Cucumber. You’ll find integrated tutorials not only for Rails, but also for the essential Ruby, HTML, CSS, JavaScript, and SQL skills you’ll need when developing web applications. Hartl explains how each new technique solves a real-world problem, and he demonstrates this with bite-sized code that’s simple enough to understand, yet novel enough to be useful. Whatever your previous web development experience, this book will guide you to true Rails mastery. This book will help you

Web designers are no longer just web designers. To create a successful web product that’s as large as Etsy, Facebook, Twitter, or Pinterest–or even as small as a tiny app–you need to know more than just HTML and CSS. You need to understand how to create meaningful online experiences so that users want to come back again and again.In other words, you have to stop thinking like a web designer or a visual designer or a UX designer or an interaction designer and start thinking like a product designer.In this breakthrough introduction to modern product design, Etsy Creative Director Randy Hunt explains the skills, processes, types of tools, and recommended workflows for creating world-class web products. After reading this book, you’ll have a complete understanding of what product design really is and you’ll be equipped with the best practices necessary for building your own successful online products.

A Library Journal Best Book of the Year Tech-guru Brian McCullough delivers a rollicking history of the internet, why it exploded, and how it changed everything. The internet was never intended for you, opines Brian McCullough in this lively narrative of an era that utterly transformed everything we thought we knew about technology. In How the Internet Happened , he chronicles the whole fascinating story for the first time, beginning in a dusty Illinois basement in 1993, when a group of college kids set off a once-in-an-epoch revolution with what would become the first “dotcom.” Depicting the lives of now-famous innovators like Netscape’s Marc Andreessen and Facebook’s Mark Zuckerberg, McCullough also reveals surprising quirks and unknown tales as he tracks both the technology and the culture around the internet’s rise. Cinematic in detail and unprecedented in scope, the result both enlightens and informs as it draws back the curtain on the new rhythm of disruption and innovation the internet fostered, and helps to redefine an era that changed every part of our lives.

An inside look at modern open source software developers--and their applications to, and influence on, our online social world."Nadia is one of today's most nuanced thinkers about the depth and potential of online communities, and this book could not have come at a better time." --Devon Zuegel, director of product, communities at GitHubOpen source software--in which developers publish code that anyone can use--has long served as a bellwether for other online behavior. In the late 1990s, it provided an optimistic model for public

Widely considered one of the best practical guides to programming, Steve McConnell’s original code complete has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices—and hundreds of new code samples—illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking—and help you build the highest quality code.Discover the timeless techniques and strategies that help you:

The Washington Post called this book "impressive" and "meticulously researched," with "much of the drama and suspense of a novel." The New York Times and USA Today found it "definitive." The Seattle Times said Gates "should be required reading for any new hire in the personal computer industry." Since its publication, Gates has been cited and used as a source by dozens of books and articles.Bill Gates is an American icon, the ultimate revenge of the nerd. The youngest self-made billionaire in history was for many years the most powerful person in the computer industry. His tantrums, his odd rocking tic, and his lavish philanthropy have become the stuff of legend. Gates is the one book that truly illuminates the early years of the man and his company.In high school he organized computer enterprises for profit. At Harvard he co-wrote Microsoft BASIC, the first commercial personal computer software, then dropped out and made it a global standard. At 25, he offered IBM a program he did not yet own--a program called DOS that would become the essential operating system for more than 100 million personal computers and the foundation of the Gates empire. As Microsoft's dominance extended around the globe, Bill Gates became idolized, hated, and feared.In this riveting independent biography, veteran computer journalists Stephen Manes and Paul Andrews draw on a dozen sessions with Gates himself and nearly a thousand hours of interviews with his friends, family, employees, and competitors to debunk the myths and paint the definitive picture of the real Bill Gates, "bugs" and all.Here is the shy but fearless competitor with the guts and brass to try anything once--on a computer, at a negotiation, or on water skis. Here is the cocky 23-year-old who calmly spurned an enormous buyout offer from Ross Perot. Here is the supersalesman who motivated his Smart Guys, fought bitter battles with giant IBM, and locked horns with Apple's Steve Jobs--and usually won.Here, too, is the workaholic pessimist who presided over Microsoft's meteoric rise while most other personal computer pioneers fell by the wayside. Gates extended his vision of software to art, entertainment, education, and even biotechnology, and made good on much of his promise to put his software "on every desk and in every home."Gates is a bracing, comprehensive portrait of the microcomputer industry, one of its leading companies, and the man who helped create a world where software is everything.

Someone once said that the task of a writer is to "make the familiar new and the new familiar". For years, Joel Spolsky has done exactly this at www.joelonsoftware.com. Now, for the first time, you can own a collection of the most important essays from his site in one book, with exclusive commentary and new insights from joel.

Most programmers' fear of user interface (UI) programming comes from their fear of doing UI design. They think that UI design is like graphic design―the mysterious process by which creative, latte-drinking, all-black-wearing people produce cool-looking, artistic pieces. Most programmers see themselves as analytic, logical thinkers instead―strong at reasoning, weak on artistic judgment, and incapable of doing UI design. In this brilliantly readable book, author Joel Spolsky proposes simple, logical rules that can be applied without any artistic talent to improve any user interface, from traditional GUI applications to websites to consumer electronics. Spolsky's primary axiom, the importance of bringing the program model in line with the user model, is both rational and simple. In a fun and entertaining way, Spolky makes user interface design easy for programmers to grasp. After reading User Interface Design for Programmers , you'll know how to design interfaces with the user in mind. You'll learn the important principles that underlie all good UI design, and you'll learn how to perform usability testing that works.

Starting in the 1980s, Lisp began to be used in several large systems, including Emacs, Autocad, and Interleaf. On Lisp explains the reasons behind Lisp's growing popularity as a mainstream programming language. On Lisp is a comprehensive study of advanced Lisp techniques, with bottom-up programming as the unifying theme. It gives the first complete description of macros and macro applications. The book also covers important subjects related to bottom-up programming, including functional programming, rapid prototyping, interactive development, and embedded languages. The final chapter takes a deeper look at object-oriented programming than previous Lisp books, showing the step-by-step construction of a working model of the Common Lisp Object System (CLOS). As well as an indispensable reference, On Lisp is a source of software. Its examples form a library of functions and macros that readers will be able to use in their own Lisp programs.

"The first edition of Programming Pearls was one of the most influential books I read early in my career, and many of the insights I first encountered in that book stayed with me long after I read it. Jon has done a wonderful job of updating the material. I am very impressed at how fresh the new examples seem." - Steve McConnell, author, Code CompleteWhen programmers list their favorite books, Jon Bentley's collection of programming pearls is commonly included among the classics. Just as natural pearls grow from grains of sand that irritate oysters, programming pearls have grown from real problems that have irritated real programmers. With origins beyond solid engineering, in the realm of insight and creativity, Bentley's pearls offer unique and clever solutions to those nagging problems. Illustrated by programs designed as much for fun as for instruction, the book is filled with lucid and witty descriptions of practical programming techniques and fundamental design principles. It is not at all surprising that Programming Pearls has been so highly valued by programmers at every level of experience. In this revision, the first in 14 years, Bentley has substantially updated his essays to reflect current programming methods and environments. In addition, there are three new essays on (1) testing, debugging, and timing; (2) set representations; and (3) string problems. All the original programs have been rewritten, and an equal amount of new code has been generated. Implementations of all the programs, in C or C++, are now available on the Web.What remains the same in this new edition is Bentley's focus on the hard core of programming problems and his delivery of workable solutions to those problems. Whether you are new to Bentley's classic or are revisiting his work for some fresh insight, this book is sure to make your own list of favorites.

"Caindo na Real" detalha os princípios de negócios, design, programação e marketing da 37signals. O livro é repleto de insights de simplicidade, pontos de vista contrários e abordagens não convencionais ao design de software. Este não é um livro técnico ou um tutorial de design, é um livro de ideias. Qualquer pessoa trabalhando em um aplicativo web - incluindo empreendedores, designers, programadores, executivos ou profissionais de marketing - encontrará valor e inspiração neste livro. A 37signals usou o processo de Cair na Real para lançar várias aplicações web de sucesso (como Basecamp, Campfire, Backpack, Writeboard, Ta-da List) e Ruby on Rails, um framework de aplicação web de código aberto, em apenas dois anos sem financiamento externo, sem dívidas e com apenas 7 pessoas (distribuídas por 7 fusos horários). Mais de 500.000 pessoas ao redor do mundo usam essas aplicações para realizar suas tarefas. Agora você pode descobrir como eles fizeram isso e como você também pode fazer. Não é tão difícil quanto você pensa, se você Cair na Real.

The practice of building software is a “new kid on the block” technology. Though it may not seem this way for those who have been in the field for most of their careers, in the overall scheme of professions, software builders are relative “newbies.” In the short history of the software field, a lot of facts have been identified, and a lot of fallacies promulgated. Those facts and fallacies are what this book is about. There’s a problem with those facts–and, as you might imagine, those fallacies. Many of these fundamentally important facts are learned by a software engineer, but over the short lifespan of the software field, all too many of them have been forgotten. While reading Facts and Fallacies of Software Engineering , you may experience moments of “Oh, yes, I had forgotten that,” alongside some “Is that really true?” thoughts. The author of this book doesn’t shy away from controversy. In fact, each of the facts and fallacies is accompanied by a discussion of whatever controversy envelops it. You may find yourself agreeing with a lot of the facts and fallacies, yet emotionally disturbed by a few of them! Whether you agree or disagree, you will learn why the author has been called “the premier curmudgeon of software practice.” These facts and fallacies are fundamental to the software building field–forget or neglect them at your peril!

Paradigms of AI Programming is the first text to teach advanced Common Lisp techniques in the context of building major AI systems. By reconstructing authentic, complex AI programs using state-of-the-art Common Lisp, the book teaches students and professionals how to build and debug robust practical programs, while demonstrating superior programming style and important AI concepts. The author strongly emphasizes the practical performance issues involved in writing real working programs of significant size. Chapters on troubleshooting and efficiency are included, along with a discussion of the fundamentals of object-oriented programming and a description of the main CLOS functions. This volume is an excellent text for a course on AI programming, a useful supplement for general AI courses and an indispensable reference for the professional programmer.

A fundamental software engineering project management guide based on the practical requirements of "Taming Wild Software Schedules". Emphasizes possible, realistic and "best practice" approaches for managers, technical leads and self-managed teams. The author emphasizes efficient development concepts with an examination of rapid development strategies and a study of classic mistakes, within the context of software-development fundamentals and risk management. Dissects the core issues of rapid development, lifecycle planning, estimation and scheduling. Contains very good and practical discussions of customer-oriented development, motivation and teamwork. Explains such fundamental requirements as team structure, feature-set control (the dreaded feature creep in every project), availability and use of productivity tools and project recovery options. Relevant case studies are analyzed and discussed within the context of specific software development problems. Over 200 pages in this publication are devoted to a summary of best practices, everything from the daily build and smoke test, through prototyping, model selection, measurement, reuse, and the top-10 risks list. This publication is definitely recommended and will become a classic in the field, just as the author's prior publication, "Code Complete" already is.

Modern Operating Systems, Fourth Edition, is intended for introductory courses in Operating Systems in Computer Science, Computer Engineering, and Electrical Engineering programs.The widely anticipated revision of this worldwide best-seller incorporates the latest developments in operating systems (OS) technologies. The Fourth Edition includes up-to-date materials on relevant OS. Tanenbaum also provides information on current research based on his experience as an operating systems researcher.Modern Operating Systems, Third Edition was the recipient of the 2010 McGuffey Longevity Award. The McGuffey Longevity Award recognizes textbooks whose excellence has been demonstrated over time. http://taaonline.net/index.htmlTeaching and Learning ExperienceThis program will provide a better teaching and learning experience–for you and your students. It will help:* Provide Practical Detail on the Big Picture Concepts: A clear and entertaining writing style outlines the concepts every OS designer needs to master.* Keep Your Course Current: This edition includes information on the latest OS technologies and developments* Enhance Learning with Student and Instructor Resources: Students will gain hands-on experience using the simulation exercises and lab experiments.

This textbook takes an innovative approach to the teaching of classical mechanics, emphasizing the development of general but practical intellectual tools to support the analysis of nonlinear Hamiltonian systems. The development is organized around a progressively more sophisticated analysis of particular natural systems and weaves examples throughout the presentation. Explorations of phenomena such as transitions to chaos, nonlinear resonances, and resonance overlap to help the student to develop appropriate analytic tools for understanding. Computational algorithms communicate methods used in the analysis of dynamical phenomena. Expressing the methods of mechanics in a computer language forces them to be unambiguous and computationally effective. Once formalized as a procedure, a mathematical idea also becomes a tool that can be used directly to compute results.The student actively explores the motion of systems through computer simulation and experiment. This active exploration is extended to the mathematics. The requirement that the computer be able to interpret any expression provides strict and immediate feedback as to whether an expression is correctly formulated. The interaction with the computer uncovers and corrects many deficiencies in understanding.

The CLOS metaobject protocol is an elegant, high-performance extension tothe CommonLisp Object System. The authors, who developed the metaobject protocol andwho were among the group that developed CLOS, introduce this new approach toprogramming language design, describe its evolution and design principles, andpresent a formal specification of a metaobject protocol for CLOS.Kiczales, desRivi?res, and Bobrow show that the "art of metaobject protocol design" lies increating a synthetic combination of object-oriented and reflective techniques thatcan be applied under existing software engineering considerations to yield a newapproach to programming language design that meets a broad set of designcriteria.One of the major benefits of including the metaobject protocol inprogramming languages is that it allows users to adjust the language to better suittheir needs. Metaobject protocols also disprove the adage that adding moreflexibility to a programming language reduces its performance. In presenting theprinciples of metaobject protocols, the authors work with actual code for asimplified implementation of CLOS and its metaobject protocol, providing anopportunity for the reader to gain hands-on experience with the design process. Theyalso include a number of exercises that address important concerns and openissues.Gregor Kiczales and Jim des Rivi?res, are Members of the Research Staff, andDaniel Bobrow is a Research Fellow, in the System Sciences Laboratory at Xerox PaloAlto Research Center.

Man has within a single generation found himself sharing the world with a strange new the computers and computer-like machines. Neither history, nor philosophy, nor common sense will tell us how these machines will affect us, for they do not do "work" as did machines of the Industrial Revolution. Instead of dealing with materials or energy, we are told that they handle "control" and "information" and even "intellectual processes." There are very few individuals today who doubt that the computer and its relatives are developing rapidly in capability and complexity, and that these machines are destined to play important (though not as yet fully understood) roles in society's future. Though only some of us deal directly with computers, all of us are falling under the shadow of their ever-growing sphere of influence, and thus we all need to understand their capabilities and their limitations. It would indeed be reassuring to have a book that categorically and systematically described what all these machines can do and what they cannot do, giving sound theoretical or practical grounds for each judgment. However, although some books have purported to do this, it cannot be done for the following a) Computer-like devices are utterly unlike anything which science has ever considered---we still lack the tools necessary to fully analyze, synthesize, or even think about them; and b) The methods discovered so far are effective in certain areas, but are developing much too rapidly to allow a useful interpretation and interpolation of results. The abstract theory---as described in this book---tells us in no uncertain terms that the machines' potential range is enormous, and that its theoretical limitations are of the subtlest and most elusive sort. There is no reason to suppose machines have any limitations not shared by man.

Nelson writes passionately about the need for people to understand computers deeply, more deeply than was generally promoted as computer literacy, which he considers a superficial kind of familiarity with particular hardware and software. His rallying cry "Down with Cybercrud" is against the centralization of computers such as that performed by IBM at the time, as well as against what he sees as the intentional untruths that "computer people" tell to non-computer people to keep them from understanding computers. In Dream Machines, Nelson covers the flexible media potential of the computer, which was shockingly new at the time.

In Go To , Steve Lohr chronicles the history of software from the early days of complex mathematical codes mastered by a few thousand to today's era of user-friendly software and over six million professional programmers worldwide. Lohr maps out the unique seductions of programming, and gives us an intimate portrait of the peculiar kind of genius that is drawn to this blend of art, science, and engineering, introducing us to the movers and shakers of the 1950s and the open-source movement of today. With original reporting and deft storytelling, Steve Lohr shows us how software transformed the world, and what it holds in store for our future.

Describes how to use the text-preparation system to create documents, covering such topics as inputting text, symbols, and mathematics; how to include graphics; using LATEX with HTML and XML; and PDF outputing.

A guide to attracting, recruiting, interviewing, and hiring the best technical talent.A comprehensive system for hiring top-notch technical employees Packed with useful information and specific advice written in a breezy, humorous style Learn how to find great people--and get them to work for you--in an afternoon!The top software developers are ten times more productive than average developers. Ten times. You can't afford not to hire them. But if you haven't been reading Joel Spolsky's books or blog, you probably don't know how to find them and make them want to work for you.In this brief book, Joel reveals all his secrets--from his years at Microsoft, and as the co-founder of Fog Creek Software--for recruiting the best developers in the world.If you've ever wondered what you should be looking for in a resume, if you've ever struggled to decide whether to hire someone at the end of an interview, or if you're wondering why you can't find great programmers, stop everything and read this book.

Working mostly alone, almost single-handedly writing 250,000 lines of computer code, Steve Grand produced Creatures ®, a revolutionary computer game that allowed players to create living beings complete with brains, genes, and hormonal systems―creatures that would live and breathe and breed in real time on an ordinary desktop computer. Enormously successful, the game inevitably raises the What is artificial life? And in this book―a chance for the devoted fan and the simply curious onlooker to see the world from the perspective of an original philosopher-engineer and intellectual maverick―Steve Grand proposes an answer.From the composition of the brains and bodies of artificial life forms to the philosophical guidelines and computational frameworks that define them, Creation plumbs the practical, social, and ethical aspects and implications of the state of the art. But more than that, the book gives readers access to the insights Grand acquired in writing Creatures ―insights that yield a view of the world that is surprisingly antireductionist, antimaterialist, and (to a degree) antimechanistic, a view that sees matter, life, mind, and society as simply different levels of the same thing. Such a hierarchy, Grand suggests, can be mirrored by an equivalent one that exists inside a parallel universe called cyberspace.

The LISP language is designed primarily for symbolic data processing used for symbolic calculations in differential and integral calculus, electrical circuit theory, mathematical logic, game playing, and other fields of artificial intelligence.The manual describes LISP, a formal mathematical language. LISP differs from most programming languages in three important ways. The first way is in the nature of the data. In the LISP language, all data are in the form of symbolic expressions usually referred to as S-expressions, of indefinite length, and which have a branching tree-type of structure, so that significant subexpressions can be readily isolated. In the LISP system, the bulk of the available memory is used for storing S-expressions in the form of list structures. The second distinction is that the LISP language is the source language itself which specifies in what way the S-expressions are to be processed. Third, LISP can interpret and execute programs written in the form of S-expressions. Thus, like machine language, and unlike most other high level languages, it can be used to generate programs for further executions.

Take the guesswork out of using regular expressions. With more than 140 practical recipes, this cookbook provides everything you need to solve a wide range of real-world problems. Novices will learn basic skills and tools, and programmers and experienced users will find a wealth of detail. Each recipe provides samples you can use right away. This revised edition covers the regular expression flavors used by C#, Java, JavaScript, Perl, PHP, Python, Ruby, and VB.NET. You’ll learn powerful new tricks, avoid flavor-specific gotchas, and save valuable time with this huge library of practical solutions.

Great user experiences (UX) are essential for products today, but designing one can be a lengthy and expensive process. With this practical, hands-on book, you’ll learn how to do it faster and smarter using Lean UX techniques. UX expert Laura Klein shows you what it takes to gather valuable input from customers, build something they’ll truly love, and reduce the time it takes to get your product to market. No prior experience in UX or design is necessary to get started. If you’re an entrepreneur or an innovator, this book puts you right to work with proven tips and tools for researching, identifying, and designing an intuitive, easy-to-use product.

Increase profitability, elevate work culture, and exceed productivity goals through DevOps practices.More than ever, the effective management of technology is critical for business competitiveness. For decades, technology leaders have struggled to balance agility, reliability, and security. The consequences of failure have never been greater whether it's the healthcare.gov debacle, cardholder data breaches, or missing the boat with Big Data in the cloud.And yet, high performers using DevOps principles, such as Google, Amazon, Facebook, Etsy, and Netflix, are routinely and reliably deploying code into production hundreds, or even thousands, of times per day.Following in the footsteps of The Phoenix Project, The DevOps Handbook shows leaders how to replicate these incredible outcomes, by showing how to integrate Product Management, Development, QA, IT Operations, and Information Security to elevate your company and win in the marketplace."Table of contentsPrefaceSpreading the Aha! MomentIntroductionPART I: THE THREE WAYS1. Agile, continuous delivery and the three ways2. The First Way: The Principles of Flow3. The Second Way: The Principle of Feedback4. The Third Way: The Principles of Continual LearningPART II: WHERE TO START5. Selecting which value stream to start with6. Understanding the work in our value stream…7. How to design our organization and architecture8. How to get great outcomes by integrating operations into the daily work for developmentPART III: THE FIRST WAY: THE TECHNICAL PRACTICES OF FLOW9. Create the foundations of our deployment pipeline10. Enable fast and reliable automated testing11. Enable and practice continuous integration12. Automate and enable low-risk releases13. Architect for low-risk releasesPART IV: THE SECOND WAY: THE TECHNICAL PRACTICES OF FEEDBACK14*. Create telemetry to enable seeing abd solving problems15. Analyze telemetry to better anticipate problems16. Enable feedbackso development and operation can safely deploy code17. Integrate hypothesis-driven development and A/B testing into our daily work18. Create review and coordination processes to increase quality of our current workPART V: THE THRID WAY: THE TECHNICAL PRACTICES OF CONTINUAL LEARNING19. Enable and inject learning into daily work20. Convert local discoveries into global improvements21. Reserve time to create organizational learning22. Information security as everyone’s job, every day23. Protecting the deployment pipelinePART VI: CONCLUSIONA call to actionConclusion to the DevOps HandbookAPPENDICES1. The convergence of Devops2. The theory of constraints and core chronic conflicts3. Tabular form of downward spiral4. The dangers of handoffs and queues5. Myths of industrial safety6. The Toyota Andon Cord7. COTS Software8. Post-mortem meetings9. The Simian Army10. Transparent uptimeAdditional ResourcesEndnotes

Your no-nonsense guide to making sense of machine learning Machine learning can be a mind-boggling concept for the masses, but those who are in the trenches of computer programming know just how invaluable it is. Without machine learning, fraud detection, web search results, real-time ads on web pages, credit scoring, automation, and email spam filtering wouldn't be possible, and this is only showcasing just a few of its capabilities. Written by two data science experts, Machine Learning For Dummies offers a much-needed entry point for anyone looking to use machine learning to accomplish practical tasks. Covering the entry-level topics needed to get you familiar with the basic concepts of machine learning, this guide quickly helps you make sense of the programming languages and tools you need to turn machine learning-based tasks into a reality. Whether you're maddened by the math behind machine learning, apprehensive about AI, perplexed by preprocessing data―or anything in between―this guide makes it easier to understand and implement machine learning seamlessly. Dive into this complete beginner's guide so you are armed with all you need to know about machine learning!

Successful teams are fundamental to create successful outcomes for any business, across all industries, to include building and running modern software systems, and successful organizations take care in designing and evolving their team structures. In TEAM TOPOLOGIES DevOps consultants Matthew Skelton and Manuel Pais share secrets of successful team patterns and interactions to help readers choose and evolve the right team patterns for their organization, making sure to keep the software healthy and optimize value streams. TEAM TOPOLOGIES will help readers discover: Team patterns used by successful organizations Common team patterns to avoid with modern software systems When and why to use different team patternsHow to evolve teams effectivelyHow to split software and align to teams