Computers are everywhere. Some of them are highly visible, in laptops, tablets, cell phones, and smart watches. But most are invisible, like those in appliances, cars, medical equipment, transportation systems, power grids, and weapons. We never see the myriad computers that quietly collect, share, and sometimes leak vast amounts of personal data about us. Through computers, governments and companies increasingly monitor what we do. Social networks and advertisers know far more about us than we should be comfortable with, using information we freely give them. Criminals have all-too-easy access to our data. Do we truly understand the power of computers in our world?
Understanding the Digital World explains how computer hardware, software, networks, and systems work. Topics include how computers are built and how they compute; what programming is and why it is difficult; how the Internet and the web operate; and how all of these affect our security, privacy, property, and other important social, political, and economic issues. This book also touches on fundamental ideas from computer science and some of the inherent limitations of computers. It includes numerous color illustrations, notes on sources for further exploration, and a glossary to explain technical terms and buzzwords.
Understanding the Digital World is a must-read for all who want to know more about computers and communications. It explains, precisely and carefully, not only how they operate but also how they influence our daily lives, in terms anyone can understand, no matter what their experience and knowledge of technology.
Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. Introduction to Algorithms uniquely combines rigor and comprehensiveness. The book covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers. Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor.
The first edition became a widely used text in universities worldwide as well as the standard reference for professionals. The second edition featured new chapters on the role of algorithms, probabilistic analysis and randomized algorithms, and linear programming. The third edition has been revised and updated throughout. It includes two completely new chapters, on van Emde Boas trees and multithreaded algorithms, substantial additions to the chapter on recurrence (now called “Divide-and-Conquer”), and an appendix on matrices. It features improved treatment of dynamic programming and greedy algorithms and a new notion of edge-based flow in the material on flow networks. Many exercises and problems have been added for this edition. The international paperback edition is no longer available; the hardcover is available worldwide.
August 6, 2009 Author, Jon Kleinberg, was recently cited in the New York Times for his statistical analysis research in the Internet age.
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.
We are living in the computer age, in a world increasingly designed and engineered by computer programmers and software designers, by people who call themselves hackers. Who are these people, what motivates them, and why should you care?
Consider these facts: Everything around us is turning into computers. Your typewriter is gone, replaced by a computer. Your phone has turned into a computer. So has your camera. Soon your TV will. Your car was not only designed on computers, but has more processing power in it than a room-sized mainframe did in 1970. Letters, encyclopedias, newspapers, and even your local store are being replaced by the Internet.
Hackers & Painters: Big Ideas from the Computer Age, by Paul Graham, explains this world and the motivations of the people who occupy it. In clear, thoughtful prose that draws on illuminating historical examples, Graham takes readers on an unflinching exploration into what he calls "an intellectual Wild West."
The ideas discussed in this book will have a powerful and lasting impact on how we think, how we work, how we develop technology, and how we live. Topics include the importance of beauty in software design, how to make wealth, heresy and free speech, the programming language renaissance, the open-source movement, digital design, internet startups, and more.
Levy profiles the imaginative brainiacs who found clever and unorthodox solutions to computer engineering problems. They had a shared sense of values, known as "the hacker ethic," that still thrives today. Hackers captures a seminal period in recent history when underground activities blazed a trail for today's digital world, from MIT students finagling access to clunky computer-card machines to the DIY culture that spawned the Altair and the Apple II.
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 ontesting, debugging, and timing set representations 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, the book is sure to make your own list of favorites.
Microservice technologies are moving quickly. Author Sam Newman provides you with a firm grounding in the concepts while diving into current solutions for modeling, integrating, testing, deploying, and monitoring your own autonomous services. You’ll follow a fictional company throughout the book to learn how building a microservice architecture affects a single domain.Discover how microservices allow you to align your system design with your organization’s goalsLearn options for integrating a service with the rest of your systemTake an incremental approach when splitting monolithic codebasesDeploy individual microservices through continuous integrationExamine the complexities of testing and monitoring distributed servicesManage security with user-to-service and service-to-service modelsUnderstand the challenges of scaling microservice architectures
Fortify your network and avert digital catastrophe with proven strategies from a team of security experts. Completely updated and featuring 12 new chapters, Gray Hat Hacking: The Ethical Hacker's Handbook, Fourth Edition explains the enemy’s current weapons, skills, and tactics and offers field-tested remedies, case studies, and ready-to-deploy testing labs. Find out how hackers gain access, overtake network devices, script and inject malicious code, and plunder Web applications and browsers. Android-based exploits, reverse engineering techniques, and cyber law are thoroughly covered in this state-of-the-art resource.Build and launch spoofing exploits with Ettercap and Evilgrade Induce error conditions and crash software using fuzzers Hack Cisco routers, switches, and network hardware Use advanced reverse engineering to exploit Windows and Linux software Bypass Windows Access Control and memory protection schemes Scan for flaws in Web applications using Fiddler and the x5 plugin Learn the use-after-free technique used in recent zero days Bypass Web authentication via MySQL type conversion and MD5 injection attacks Inject your shellcode into a browser's memory using the latest Heap Spray techniques Hijack Web browsers with Metasploit and the BeEF Injection Framework Neutralize ransomware before it takes control of your desktop Dissect Android malware with JEB and DAD decompilers Find one-day vulnerabilities with binary diffing
“Our new reality is zero-day, APT, and state-sponsored attacks. Today, more than ever, security professionals need to get into the hacker’s mind, methods, and toolbox to successfully deter such relentless assaults. This edition brings readers abreast with the latest attack vectors and arms them for these continually evolving threats.” --Brett Wahlin, CSO, Sony Network Entertainment
“Stop taking punches--let’s change the game; it’s time for a paradigm shift in the way we secure our networks, and Hacking Exposed 7 is the playbook for bringing pain to our adversaries.” --Shawn Henry, former Executive Assistant Director, FBI
Bolster your system’s security and defeat the tools and tactics of cyber-criminals with expert advice and defense strategies from the world-renowned Hacking Exposed team. Case studies expose the hacker’s latest devious methods and illustrate field-tested remedies. Find out how to block infrastructure hacks, minimize advanced persistent threats, neutralize malicious code, secure web and database applications, and fortify UNIX networks. Hacking Exposed 7: Network Security Secrets & Solutions contains all-new visual maps and a comprehensive “countermeasures cookbook.”Obstruct APTs and web-based meta-exploits Defend against UNIX-based root access and buffer overflow hacks Block SQL injection, spear phishing, and embedded-code attacks Detect and terminate rootkits, Trojans, bots, worms, and malware Lock down remote access using smartcards and hardware tokens Protect 802.11 WLANs with multilayered encryption and gateways Plug holes in VoIP, social networking, cloud, and Web 2.0 services Learn about the latest iPhone and Android attacks and how to protect yourself
With the invention of the unique credit-card sized single-board computer, the Raspberry Pi, comes a new wave of hardware geeks, hackers, and hobbyists who are excited about the possibilities of the Raspberry Pi, and this is the perfect guide to get you started in this exhilarating new arena. With this fun and friendly book, you'll quickly discover why the supply for the Pi cannot keep up with the demand! Veteran tech authors Sean McManus and Mike Cook show you how to download and install the operating system, use the installed applications, and much more.Covers connecting the Pi to other devices such as a keyboard, mouse, monitor, and more Teaches you basic Linux System Admin Walks you through editing images, creating web pages, and playing music Details how to program with Scratch and Python Explores creating simple hardware projects
Raspberry Pi For Dummies makes computing as easy as pie.
Now discover the history of Raspberry Pi!
The Raspberry Pi sold a million units in its first year, and came from a previously unknown organisation, The Raspberry Pi Foundation. If you’ve ever wondered how it came into being, and what inspired its creation, Sean McManus, co-author of Raspberry Pi For Dummies, has the answer. He has set up a section on his website to share bonus content, which includes a short history of the Raspberry Pi. At Sean’s website, you can also read reviews of the book, see videos of its projects, and read several exclusive blog posts about the Raspberry Pi and its community.
Visit Sean’s homepage for Raspberry Pi For Dummies here!
Computer Networks, 5/e is appropriate for Computer Networking or Introduction to Networking courses at both the undergraduate and graduate level in Computer Science, Electrical Engineering, CIS, MIS, and Business Departments.
Tanenbaum takes a structured approach to explaining how networks work from the inside out. He starts with an explanation of the physical layer of networking, computer hardware and transmission systems; then works his way up to network applications. Tanenbaum's in-depth application coverage includes email; the domain name system; the World Wide Web (both client- and server-side); and multimedia (including voice over IP, Internet radio video on demand, video conferencing, and streaming media. Each chapter follows a consistent approach: Tanenbaum presents key principles, then illustrates them utilizing real-world example networks that run through the entire book—the Internet, and wireless networks, including Wireless LANs, broadband wireless and Bluetooth. The Fifth Edition includes a chapter devoted exclusively to network security. The textbook is supplemented by a Solutions Manual, as well as a Website containing PowerPoint slides, art in various forms, and other tools for instruction, including a protocol simulator whereby students can develop and test their own network protocols.
Raspberry Pi User Guide, 3rdEdition contains everything you need to know to get up and running with Raspberry Pi. This book is the go-to guide for Noobs who want to dive right in. This updated third edition covers the model B+ Raspberry Pi and its software, additional USB ports, and changes to the GPIO, including new information on Arduino and Minecraft on the Pi. You’ll find clear, step-by-step instruction for everything from software installation and configuration to customizing your Raspberry Pi with capability-expanding add-ons. Learn the basic Linux SysAdmin and flexible programming languages that allow you to make your Pi into whatever you want it to be.
The Raspberry Pi was created by the UK Non-profit Raspberry Pi Foundation to help get kids interested in programming. Affordable, portable, and utterly adorable, the Pi exceeded all expectations, introducing millions of people to programming since its creation. The Raspberry Pi User Guide, 3rd Edition helps you and your Pi get acquainted, with clear instruction in easy to understand language.Install software, configure, and connect your Raspberry Pi to other devices Master basic Linux System Admin to better understand nomenclature and conventions Write basic productivity and multimedia programs in Scratch and Python Extend capabilities with add-ons like Gertboard, Arduino, and more
The Raspberry Pi has become a full-fledged phenomenon, popular with tinkerers, hackers, experimenters, and inventors. If you want to get started but aren’t sure where to begin, Raspberry Pi User Guide, 3rd Edition contains everything you need.
This is your opportunity to take the next step in your career by expanding and validating your skills on the AWS cloud. AWS has been the frontrunner in cloud computing products and services, and the AWS Certified Solutions Architect Official Study Guide for the Associate exam will get you fully prepared through expert content, and real-world knowledge, key exam essentials, chapter review questions, access to Sybex’s interactive online learning environment, and much more. This official study guide, written by AWS experts, covers exam concepts, and provides key review on exam topics, including:Mapping Multi-Tier Architectures to AWS Services, such as web/app servers, firewalls, caches and load balancers Understanding managed RDBMS through AWS RDS (MySQL, Oracle, SQL Server, Postgres, Aurora) Understanding Loose Coupling and Stateless Systems Comparing Different Consistency Models in AWS Services Understanding how AWS CloudFront can make your application more cost efficient, faster and secure Implementing Route tables, Access Control Lists, Firewalls, NAT, and DNS Applying AWS Security Features along with traditional Information and Application Security Using Compute, Networking, Storage, and Database AWS services Architecting Large Scale Distributed Systems Understanding of Elasticity and Scalability Concepts Understanding of Network Technologies Relating to AWS Deploying and Managing Services with tools such as CloudFormation, OpsWorks and Elastic Beanstalk.
Learn from the AWS subject-matter experts, review with proven study tools, and apply real-world scenarios. If you are looking to take the AWS Certified Solutions Architect Associate exam, this guide is what you need for comprehensive content and robust study tools that will help you gain the edge on exam day and throughout your career.
Your smartphone is essentially your lifeline—so it's no wonder you chose a simple-to-use, fun-to-customize, and easy-to-operate Android. Cutting through intimidating jargon and covering all the features you need to know about your Android phone, this down-to-earth guide arms you with the knowledge to set up and configure your device, get up and running with texting and emailing, access the Internet, navigate with GPS, synch with a PC, and so much more.
Whether you're new to Android phones or have just upgraded to a new model, Android Phones For Dummies makes it fast and easy to make your new smartphone your minion. Written by bestselling author Dan Gookin, it walks you through the basics in a language you can understand before moving on to more advanced topics, like dialing tricks to forward calls, working with predictive text, accessing special characters, manipulating the touch screen, and using a USB connection to synchronize your stuff.Set up your phone and configure its settings Play games, listen to music, and start shooting photos and videos Join the conversation and have fun with social media Make your life easier with Google Voice typing
No matter how you slice it, life with an Android phone is more organized and fun—and this book shows you how to make the most of it.
Completely updated to cover the latest technology and software, the 13th edition of PCs For Dummies tackles using a computer in friendly, human terms. Focusing on the needs of the beginning computer user, while also targeting those who are familiar with PCs, but need to get up to speed on the latest version of Windows. This hands-on guide takes the dread out of working with a personal computer.
Leaving painful jargon and confusing terminology behind, it covers Windows 10 OS, connecting to and using services and data in the cloud, and so much more. Written by Dan Gookin, the original For Dummies author, it tells you how to make a PC purchase, what to look for in a new PC, how to work with the latest operating system, ways to protect your files, what you can do online, media management tips, and even basic topics you're probably too shy to ask a friend about.Determine what you need in a PC and how to set it up Configure your PC, hook up a printer, and connect to the Internet Find your way around Windows 10 OS with ease and confidence Play movies and music, view photos, and explore social media
If you're a first-time PC user at home or at work or just need to brush up on the latest technological advancements, the new edition of this bestselling guide gets you up and running fast.
For more than 25 years, Upgrading and Repairing PCs has been the world’s #1 guide to PC hardware: The single source for reliable information on how PCs work, troubleshooting and fixing problems, adding hardware, optimizing performance, and building new PCs. This 22nd edition offers beefed-up coverage of the newest hardware innovations and maintenance techniques, plus more than two hours of new video.
Scott Mueller delivers practical answers about PC processors, mother-boards, buses, BIOSes, memory, SSD and HDD storage, video, audio, networks, Internet connectivity, power, and much more. You’ll find the industry’s best coverage of diagnostics, testing, and repair—plus cutting-edge discussions of improving PC performance via overclocking and other techniques.
Mueller has taught thousands of professionals in person and millions more through his books and videos—nobody knows more about keeping PCs running perfectly. Whether you’re a professional technician, a small business owner trying to save money, or a home PC enthusiast, this is the only PC hardware book you need!
NEW IN THIS EDITIONThe newest processors, including Intel’s latest Core i Haswell processors and AMD’s Kaveri core processors. Everything you need to know about the latest GPU technology from NVIDIA and AMD, including developments in OpenGL, DirectX, and Mantle. New firmware innovations like the InSyde BIOS, Back to BIOS buttons, and all the updated settings available for the newest processors and chipsets. The latest in updated home networking standards, from blazing fast 802.11ac Wi-Fi to HomeGrid and G.hn powerline networking. Ever larger storage, thanks to new technologies like helium-filled hard disks, shingled magnetic recording, and Cfast and XQD for flash memory. Emerging interfaces such as mSATA, USB 3.1, and M.2 Updated coverage of building PCs from scratch—from choosing and assembling hardware through BIOS setup and troubleshooting
A computer provides a great resource for learning new things and keeping in touch with family and friends, but it may seem intimidating at first. The bestselling Computers For Seniors For Dummies is here to help the 50+ set conquer and overcome any uncertainty with clear-cut, easy-to-understand guidance on how to confidently navigate your computer and the Windows 10 operating system. Featuring large text and images, it's never been easier for seniors to smoothly click their way around a new PC.
Even if you don't know a mouse from a megabyte, this book walks you through all the steps to choosing, setting up, and successfully using your new computer. Begin with learning how to turn the computer on and use the keyboard, and from there you'll progress to effortlessly finding your way around the new Windows 10 operating system. Explore all you can do with a computer:Research topics of interest Keep in touch with loved ones Shop securely online Find recipes and diet tips
If you've just purchased your first computer and need a plain-English introduction to getting started, Computers For Seniors For Dummies has you covered.
This new edition is an ideal resource for professional digital system designers, programmers, application developers, and system software developers. It will also be of interest to undergraduate students in Computer Science, Computer Engineering and Electrical Engineering courses in Computer Organization, Computer Design, ranging from Sophomore required courses to Senior Electives.Winner of a 2014 Texty Award from the Text and Academic Authors AssociationIncludes new examples, exercises, and material highlighting the emergence of mobile computing and the cloudCovers parallelism in depth with examples and content highlighting parallel hardware and software topics Features the Intel Core i7, ARM Cortex-A8 and NVIDIA Fermi GPU as real-world examples throughout the book Adds a new concrete example, "Going Faster," to demonstrate how understanding hardware can inspire software optimizations that improve performance by 200 timesDiscusses and highlights the "Eight Great Ideas" of computer architecture: Performance via Parallelism; Performance via Pipelining; Performance via Prediction; Design for Moore's Law; Hierarchy of Memories; Abstraction to Simplify Design; Make the Common Case Fast; and Dependability via RedundancyIncludes a full set of updated and improved exercises
Perl is suitable for almost any task on almost any platform, from short fixes to complete web applications. Learning Perl teaches you the basics and shows you how to write programs up to 128 lines long—roughly the size of 90% of the Perl programs in use today. Each chapter includes exercises to help you practice what you’ve just learned. Other books may teach you to program in Perl, but this book will turn you into a Perl programmer.
Topics include:Perl data and variable typesSubroutinesFile operationsRegular expressionsString manipulation (including Unicode)Lists and sortingProcess managementSmart matchingUse of third party modules
All our lives are constrained by limited space and time, limits that give rise to a particular set of problems. What should we do, or leave undone, in a day or a lifetime? How much messiness should we accept? What balance of new activities and familiar favorites is the most fulfilling? These may seem like uniquely human quandaries, but they are not: computers, too, face the same constraints, so computer scientists have been grappling with their version of such problems for decades. And the solutions they've found have much to teach us.
In a dazzlingly interdisciplinary work, acclaimed author Brian Christian (who holds degrees in computer science, philosophy, and poetry, and works at the intersection of all three) and Tom Griffiths (a UC Berkeley professor of cognitive science and psychology) show how the simple, precise algorithms used by computers can also untangle very human questions. They explain how to have better hunches and when to leave things to chance, how to deal with overwhelming choices and how best to connect with others. From finding a spouse to finding a parking spot, from organizing one's inbox to understanding the workings of human memory, Algorithms to Live By transforms the wisdom of computer science into strategies for human living.
As modestly described by the authors in the Preface to the First Edition, this "is not an introductory programming manual; it assumes some familiarity with basic programming concepts like variables, assignment statements, loops, and functions. Nonetheless, a novice programmer should be able to read along and pick up the language, although access to a more knowledgeable colleague will help."
Java has changed dramatically since the previous edition of Effective Java was published shortly after the release of Java 6. This Jolt award-winning classic has now been thoroughly updated to take full advantage of the latest language and library features. The support in modern Java for multiple paradigms increases the need for specific best-practices advice, and this book delivers.
As in previous editions, each chapter of Effective Java, Third Edition, consists of several “items,” each presented in the form of a short, stand-alone essay that provides specific advice, insight into Java platform subtleties, and updated code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why.
The third edition covers language and library features added in Java 7, 8, and 9, including the functional programming constructs that were added to its object-oriented roots. Many new items have been added, including a chapter devoted to lambdas and streams.
New coverage includesFunctional interfaces, lambda expressions, method references, and streams Default and static methods in interfaces Type inference, including the diamond operator for generic types The @SafeVarargs annotation The try-with-resources statement New library features such as the Optional interface, java.time, and the convenience factory methods for collections
Before slim laptops that fit into briefcases, computers looked like strange, alien vending machines. But in "the most staggering burst of technical invention by a single person in high-tech history" (BusinessWeek) Steve Wozniak invented the first true personal computer. Wozniak teamed up with Steve Jobs, and Apple Computer was born, igniting the computer revolution and transforming the world. In iWoz the mischievous genius with the low profile treats readers to a rollicking, no-holds-barred account of his life—for once, in the voice of the wizard himself.
True to its original mission of demystifying computer architecture, this edition continues the longstanding tradition of focusing on areas where the most exciting computing innovation is happening, while always keeping an emphasis on good engineering design.Winner of a 2019 Textbook Excellence Award (Texty) from the Textbook and Academic Authors AssociationIncludes a new chapter on domain-specific architectures, explaining how they are the only path forward for improved performance and energy efficiency given the end of Moore’s Law and Dennard scalingFeatures the first publication of several DSAs from industry Features extensive updates to the chapter on warehouse-scale computing, with the first public information on the newest Google WSC Offers updates to other chapters including new material dealing with the use of stacked DRAM; data on the performance of new NVIDIA Pascal GPU vs. new AVX-512 Intel Skylake CPU; and extensive additions to content covering multicore architecture and organizationIncludes "Putting It All Together" sections near the end of every chapter, providing real-world technology examples that demonstrate the principles covered in each chapter Includes review appendices in the printed text and additional reference appendices available online Includes updated and improved case studies and exercisesACM named John L. Hennessy and David A. Patterson, recipients of the 2017 ACM A.M. Turing Award for pioneering a systematic, quantitative approach to the design and evaluation of computer architectures with enduring impact on the microprocessor industry
The C++ Programming Language, Fourth Edition, delivers meticulous, richly explained, and integrated coverage of the entire language—its facilities, abstraction mechanisms, standard libraries, and key design techniques. Throughout, Stroustrup presents concise, “pure C++11” examples, which have been carefully crafted to clarify both usage and program design. To promote deeper understanding, the author provides extensive cross-references, both within the book and to the ISO standard.
New C++11 coverage includesSupport for concurrency Regular expressions, resource management pointers, random numbers, and improved containers General and uniform initialization, simplified for-statements, move semantics, and Unicode support Lambdas, general constant expressions, control over class defaults, variadic templates, template aliases, and user-defined literals Compatibility issues
Topics addressed in this comprehensive book includeBasic facilities: type, object, scope, storage, computation fundamentals, and more Modularity, as supported by namespaces, source files, and exception handling C++ abstraction, including classes, class hierarchies, and templates in support of a synthesis of traditional programming, object-oriented programming, and generic programming Standard Library: containers, algorithms, iterators, utilities, strings, stream I/O, locales, numerics, and more The C++ basic memory model, in depth
This fourth edition makes C++11 thoroughly accessible to programmers moving from C++98 or other languages, while introducing insights and techniques that even cutting-edge C++11 programmers will find indispensable.
This book features an enhanced, layflat binding, which allows the book to stay open more easily when placed on a flat surface. This special binding method—noticeable by a small space inside the spine—also increases durability.