The Kollected Kode Vicious brings together Kode Vicious’s essays on building more effective computer systems: some of the most popular and respected essays ever published by ACM’s Queue Magazine. These entertaining and incisive explorations, written as Socratic Q&A dialogues, are complemented with never-before-published material that illuminate KV’s broader themes and offer new advice on code spelunking and other issues. KV’s essays range from very specific coding advice to wide-ranging discussions of building distributed systems, working with difficult people, and hosting code reviews. While…mehr
The Kollected Kode Vicious brings together Kode Vicious’s essays on building more effective computer systems: some of the most popular and respected essays ever published by ACM’s Queue Magazine. These entertaining and incisive explorations, written as Socratic Q&A dialogues, are complemented with never-before-published material that illuminate KV’s broader themes and offer new advice on code spelunking and other issues. KV’s essays range from very specific coding advice to wide-ranging discussions of building distributed systems, working with difficult people, and hosting code reviews. While the topics are diverse, KV’s unifying and unique voice is consistent throughout. The columns in The Kollected Kode Vicious focus on five major areas: * The Kode at Hand: What to do or not do with a specific piece of code * Systems Design: Overall systems design issues * Koding Konundrums: Q&As about things that surround code, such as testing and documentation * Machine to Machine: Distributed systems and computer networking * Human to Human: Dealing with other people, including developers and managers Relevant both to industry newcomers and those who’ve been around for decades, KV’s work offers practical and pragmatic advice for everyone who codes, works with code, or works with coders.
George V. Neville-Neil hacks, writes, teaches, and consults on security, networking, and operating systems. A FreeBSD Foundation board member, he has written the Kode Vicious column for Queue and Communications of the ACM magazines. He is a member of ACM's Queue editorial board; a member of Usenix Association, ACM, and IEEE; and coauthor of The Design and Implementation of the FreeBSD Operating System, Second Edition (Addison-Wesley, 2015). An avid traveler and ardent cyclist, he speaks several languages including Japanese, French, Dutch, and some Mandarin.
Inhaltsangabe
Foreword by Donald E. Knuth xi Preface xiii Acknowledgments xvi About the Author xvii Chapter 1: The Kode at Hand 1 1.1 Resource Management 4 1.2 Big Big Memory 7 1.3 Coded Arrangements 10 1.4 Code Abuse 13 1.5 Nesting Tendencies 16 1.6 Choking on Changes 18 1.7 Cursed Code 21 1.8 Forced Exceptions 24 1.9 A Nice Piece...of Code 28 1.10 Something Rotten in... 31 1.11 Logging 34 1.12 Lost 37 1.13 Copying 39 1.14 Top Five Koding Peeves 42 1.15 Linguistically Lost 45 1.16 Check in Comments 48 Chapter 2: Koding Konundrums 51 2.1 Ode to the Method 52 2.2 How Much + in C++? 55 2.3 Something Sleek and Modern 58 2.4 What's in a Cache Miss? 61 2.5 Code Spelunking 65 2.6 Input Validation 73 2.7 Dickering with Docs 76 2.8 What's in the Foo Field? 80 2.9 Testy Tester 83 2.10 How to Test 86 2.11 Leave the Test Modes In! 90 2.12 Maintenance Mode 93 2.13 Merge Early 96 2.14 Multicore Manticore 99 2.15 This Is Not a Product 102 2.16 Heisenbugs 105 2.17 I Don't Want Your Dirty PDFs 109 2.18 Pining for a PIN 112 2.19 Reboot 115 2.20 Code Scanners 117 2.21 Debugging Hardware 119 2.22 Sanity vs. Visibility 123 Chapter 3: Systems Design 127 3.1 Abstractions 129 3.2 Driven 133 3.3 Driven Revisited 136 3.4 Changative Changes 140 3.5 Threading the Needle 143 3.6 Threads Still Unsafe? 146 3.7 Authentication vs. Encryption 149 3.8 Authentication Revisited 152 3.9 Authentication by Example 155 3.10 Cross-Site Scripting 160 3.11 Phishing and Infections 166 3.12 UI Design 172 3.13 Secure Logging 176 3.14 Java 181 3.15 Secure P2P 185 Chapter 4: Machine to Machine 189 4.1 Stepping on Toes 190 4.2 Paucity of Ports 193 4.3 Protocol Design 196 4.4 Which Came First? 200 4.5 Debugging the Network 203 4.6 Latency 208 4.7 Long Distance Runaround 211 4.8 The Network Is the Computer 215 4.9 Failure to Scale 219 4.10 Port Squatting 221 4.11 Networking in the Raw 224 4.12 Pointless PKI 227 4.13 Standard on Standards 230 Chapter 5: Human to Human 235 5.1 Of Pride and... 236 5.2 What Color Is Your...? 239 5.3 Broken Builds 242 5.4 What Is Intelligence? 245 5.5 Review the Design 248 5.6 The Naming of Hosts 252 5.7 Hosting an Interview 256 5.8 Mythical 260 5.9 The Obsolete Koder 263 5.10 With Great Power... 267 5.11 The Letter 270 5.12 The Tickets That... 273 5.13 Of Screwdrivers and Hammers 276 5.14 Security Reviews 279 5.15 Getting Back to Work 284 5.16 Open Source Licenses 287 5.17 So Many Standards 290 5.18 Books 293 5.19 More on Books 297 5.20 Keeping Up to Date 299 5.21 For My Last Trick 302 Index 305
Foreword by Donald E. Knuth xi Preface xiii Acknowledgments xvi About the Author xvii Chapter 1: The Kode at Hand 1 1.1 Resource Management 4 1.2 Big Big Memory 7 1.3 Coded Arrangements 10 1.4 Code Abuse 13 1.5 Nesting Tendencies 16 1.6 Choking on Changes 18 1.7 Cursed Code 21 1.8 Forced Exceptions 24 1.9 A Nice Piece...of Code 28 1.10 Something Rotten in... 31 1.11 Logging 34 1.12 Lost 37 1.13 Copying 39 1.14 Top Five Koding Peeves 42 1.15 Linguistically Lost 45 1.16 Check in Comments 48 Chapter 2: Koding Konundrums 51 2.1 Ode to the Method 52 2.2 How Much + in C++? 55 2.3 Something Sleek and Modern 58 2.4 What's in a Cache Miss? 61 2.5 Code Spelunking 65 2.6 Input Validation 73 2.7 Dickering with Docs 76 2.8 What's in the Foo Field? 80 2.9 Testy Tester 83 2.10 How to Test 86 2.11 Leave the Test Modes In! 90 2.12 Maintenance Mode 93 2.13 Merge Early 96 2.14 Multicore Manticore 99 2.15 This Is Not a Product 102 2.16 Heisenbugs 105 2.17 I Don't Want Your Dirty PDFs 109 2.18 Pining for a PIN 112 2.19 Reboot 115 2.20 Code Scanners 117 2.21 Debugging Hardware 119 2.22 Sanity vs. Visibility 123 Chapter 3: Systems Design 127 3.1 Abstractions 129 3.2 Driven 133 3.3 Driven Revisited 136 3.4 Changative Changes 140 3.5 Threading the Needle 143 3.6 Threads Still Unsafe? 146 3.7 Authentication vs. Encryption 149 3.8 Authentication Revisited 152 3.9 Authentication by Example 155 3.10 Cross-Site Scripting 160 3.11 Phishing and Infections 166 3.12 UI Design 172 3.13 Secure Logging 176 3.14 Java 181 3.15 Secure P2P 185 Chapter 4: Machine to Machine 189 4.1 Stepping on Toes 190 4.2 Paucity of Ports 193 4.3 Protocol Design 196 4.4 Which Came First? 200 4.5 Debugging the Network 203 4.6 Latency 208 4.7 Long Distance Runaround 211 4.8 The Network Is the Computer 215 4.9 Failure to Scale 219 4.10 Port Squatting 221 4.11 Networking in the Raw 224 4.12 Pointless PKI 227 4.13 Standard on Standards 230 Chapter 5: Human to Human 235 5.1 Of Pride and... 236 5.2 What Color Is Your...? 239 5.3 Broken Builds 242 5.4 What Is Intelligence? 245 5.5 Review the Design 248 5.6 The Naming of Hosts 252 5.7 Hosting an Interview 256 5.8 Mythical 260 5.9 The Obsolete Koder 263 5.10 With Great Power... 267 5.11 The Letter 270 5.12 The Tickets That... 273 5.13 Of Screwdrivers and Hammers 276 5.14 Security Reviews 279 5.15 Getting Back to Work 284 5.16 Open Source Licenses 287 5.17 So Many Standards 290 5.18 Books 293 5.19 More on Books 297 5.20 Keeping Up to Date 299 5.21 For My Last Trick 302 Index 305
Es gelten unsere Allgemeinen Geschäftsbedingungen: www.buecher.de/agb
Impressum
www.buecher.de ist ein Shop der buecher.de GmbH & Co. KG Bürgermeister-Wegele-Str. 12, 86167 Augsburg Amtsgericht Augsburg HRA 13309