Cover image for How Software Works : The Magic Behind Encryption, CGI, Search Engines, and Other Everyday Technologies.
How Software Works : The Magic Behind Encryption, CGI, Search Engines, and Other Everyday Technologies.
Title:
How Software Works : The Magic Behind Encryption, CGI, Search Engines, and Other Everyday Technologies.
Author:
Spraul, V. Anton.
ISBN:
9781593277178
Personal Author:
Edition:
1st ed.
Physical Description:
1 online resource (217 pages)
Contents:
About the Author -- About the Technical Reviewer -- Brief Contents -- Contents in Detail -- Acknowledgments -- Introduction -- Who This Book Is For -- Topics Covered -- Behind the Magic -- Chapter 1: Encryption -- The Goal of Encryption -- Transposition: Same Data, Different Order -- Cipher Keys -- Attacking the Encryption -- Substitution: Replacing Data -- Varying the Substitution Pattern -- Key Expansion -- The Advanced Encryption Standard -- Binary Basics -- AES Encryption: The Big Picture -- Key Expansion in AES -- AES Encryption Rounds -- Block Chaining -- Why AES Is Secure -- Possible AES Attacks -- The Limits of Private-Key Encryption -- Chapter 2: Passwords -- Transforming a Password into a Number -- Properties of Good Hash Functions -- The MD5 Hash Function -- Encoding the Password -- Bitwise Operations -- MD5 Hashing Rounds -- Meeting the Criteria of a Good Hash Function -- Digital Signatures -- The Problem of Identity -- Collision Attacks -- Passwords in Authentication Systems -- The Dangers of Password Tables -- Hashing Passwords -- Dictionary Attacks -- Hash Tables -- Hash Chaining -- Iterative Hashing -- Salting Passwords -- Are Password Tables Safe? -- Password Storage Services -- A Final Thought -- Chapter 3: Web Security -- How Public-Key Cryptography Solves the Shared Key Problem -- Math Tools for Public-Key Cryptography -- Invertible Functions -- One-Way Functions -- Trapdoor Functions -- The RSA Encryption Method -- Creating the Keys -- Encrypting Data with RSA -- RSA Effectiveness -- RSA Use in the Real World -- RSA for Authentication -- Security on the Web: HTTPS -- Handshaking -- Transmitting Data Under HTTPS -- The Shared Key Problem Solved? -- Chapter 4: Movie CGI -- Software for Traditional Animation -- How Digital Images Work -- How Colors Are Defined -- How Software Makes Cel Animations.

From Cel Animation Software to Rendered 2D Graphics -- Software for 3D CGI -- How 3D Scenes Are Described -- The Virtual Camera -- Direct Lighting -- Global Illumination -- How Light Is Traced -- Full-Scene Anti-Aliasing -- Combining the Real and the Fake -- The Ideal of Movie-Quality Rendering -- Chapter 5: Game Graphics -- Hardware for Real-Time Graphics -- Why Games Don't Ray Trace -- All Lines and No Curves -- Projection Without Ray Tracing -- Rendering Triangles -- The Painter's Algorithm -- Depth Buffering -- Real-Time Lighting -- Shadows -- Ambient Light and Ambient Occlusion -- Texture Mapping -- Nearest-Neighbor Sampling -- Bilinear Filtering -- Mipmaps -- Trilinear Filtering -- Reflections -- Faking Curves -- Distant Impostors -- Bump Mapping -- Tessellation -- Anti-Aliasing in Real Time -- Supersampling -- Multisampling -- Post-Process Anti-Aliasing -- The Rendering Budget -- What's Next in Game Graphics -- Chapter 6: Data Compression -- Run-Length Encoding -- Dictionary Compression -- The Basic Method -- Huffman Encoding -- Reorganizing Data for Better Compression -- Predictive Encoding -- Quantization -- JPEG Images -- A Different Way to Store Colors -- The Discrete Cosine Transformation -- The DCT for Two Dimensions -- Compressing the Results -- JPEG Picture Quality -- Compressing High-Definition Video -- Temporal Redundancy -- MPEG-2 Video Compression -- Video Quality with Temporal Compression -- The Present and Future of Video Compression -- Chapter 7: Search -- Defining the Search Problem -- Putting Data in Order -- Selection Sort -- Quicksort -- Binary Search -- Indexing -- Hashing -- Searching the Web -- Ranking Results -- Using the Index Effectively -- What's Next for Web Search -- Chapter 8: Concurrency -- Why Concurrency Is Needed -- Performance -- Multiuser Environments -- Multitasking -- How Concurrency Can Fail.

Making Concurrency Safe -- Read-Only Data -- Transaction-Based Processing -- Semaphores -- The Problem of Indefinite Waits -- Orderly Queues -- Starvation from Circular Waits -- Performance Issues of Semaphores -- What's Next for Concurrency -- Chapter 9: Map Routes -- What a Map Looks Like to Software -- Best-First Search -- Reusing Prior Search Results -- Finding All the Best Routes at Once -- Floyd's Algorithm -- Storing Route Directions -- The Future of Routing -- Index.
Abstract:
How Software Works explains everyday software to the non-programmer.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Subject Term:
Electronic Access:
Click to View
Holds: Copies: