The Kollected Kode Vicious

The Kollected Kode Vicious

Author: George V. Neville-Neil

Publisher: Addison-Wesley Professional

Published: 2020-10-14

Total Pages: 401

ISBN-13: 0136869963

DOWNLOAD EBOOK

Pragmatic, Bite-Sized Programming Advice from Koder-with-Attitude, Kode Vicious “For many years I have been a fan of the regular columns by Kode Vicious in Communications of the ACM. The topics are not only timely, they're explained with wit and elegance.” --From the Foreword by Donald E. Knuth Writing as Kode Vicious (KV), George V. Neville-Neil has spent more than 15 years sharing incisive advice and fierce insights for everyone who codes, works with code, or works with coders. Now, in The Kollected Kode Vicious, he has brought together his best essays and Socratic dialogues on the topic of building more effective computer systems. These columns have been among the most popular items published in ACM Queue magazine, as well as Communications of the ACM, and KV's entertaining and perceptive explorations are supplemented here with new material that illuminates broader themes and addresses issues relevant to every software professional. Neville-Neil cuts to the heart of the matter and offers practical takeaways for newcomers and veterans alike on the following topics: The Kode at Hand: What to do (or not to do) with a specific piece of code Koding Konundrums: Issues that surround code, such as testing and documentation Systems Design: Overall systems design topics, from abstraction and threads to security Machine to Machine: Distributed systems and computer networking Human to Human: Dealing with developers, managers, and other people Each chapter brings together letters, responses, and advice that apply directly to day-to-day problems faced by those who work in or with computing systems. While the answers to the questions posed are always written with an eye towards humor, the advice given is deadly serious. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.


The Kollected Kode Vicious

The Kollected Kode Vicious

Author: George V. Neville-Neil

Publisher: Addison-Wesley Professional

Published: 2020-10-29

Total Pages: 336

ISBN-13: 9780136788249

DOWNLOAD EBOOK

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.


Gaming Hacks

Gaming Hacks

Author: Simon Carless

Publisher: "O'Reilly Media, Inc."

Published: 2004

Total Pages: 468

ISBN-13: 9780596007140

DOWNLOAD EBOOK

Aimed at avid and/or highly skilled video gamers, 'Gaming Hacks' offers a guide to pushing the limits of video game software and hardware using the creative exploits of the gaming gurus.


The Design and Implementation of the FreeBSD Operating System

The Design and Implementation of the FreeBSD Operating System

Author: Marshall Kirk McKusick

Publisher: Pearson Education

Published: 2015

Total Pages: 926

ISBN-13: 0321968972

DOWNLOAD EBOOK

This book contains comprehensive, up-to-date, and authoritative technical information on the internal structure of the FreeBSD open-source operating system. Coverage includes the capabilities of the system; how to effectively and efficiently interface to the system; how to maintain, tune, and configure the operating system; and how to extend and enhance the system. The authors provide a concise overview of FreeBSD's design and implementation. Then, while explaining key design decisions, they detail the concepts, data structures, and algorithms used in implementing the systems facilities. As a result, this book can be used as an operating systems textbook, a practical reference, or an in-depth study of a contemporary, portable, open-source operating system. -- Provided by publisher.


Code That Fits in Your Head

Code That Fits in Your Head

Author: Mark Seemann

Publisher: Addison-Wesley Professional

Published: 2021-11-02

Total Pages: 628

ISBN-13: 0137464355

DOWNLOAD EBOOK

How to Reduce Code Complexity and Develop Software More Sustainably "Mark Seemann is well known for explaining complex concepts clearly and thoroughly. In this book he condenses his wide-ranging software development experience into a set of practical, pragmatic techniques for writing sustainable and human-friendly code. This book will be a must-read for every programmer." -- Scott Wlaschin, author of Domain Modeling Made Functional Code That Fits in Your Head offers indispensable, practical advice for writing code at a sustainable pace and controlling the complexity that causes projects to spin out of control. Reflecting decades of experience helping software teams succeed, Mark Seemann guides you from zero (no code) to deployed features and shows how to maintain a good cruising speed as you add functionality, address cross-cutting concerns, troubleshoot, and optimize. You'll find valuable ideas, practices, and processes for key issues ranging from checklists to teamwork, encapsulation to decomposition, API design to unit testing. Seemann illuminates his insights with code examples drawn from a complete sample project. Written in C#, they're designed to be clear and useful to anyone who uses any object-oriented language including Java , C++, and Python. To facilitate deeper exploration, all code and extensive commit messages are available for download. Choose mindsets and processes that work, and escape bad metaphors that don't Use checklists to liberate yourself, improving outcomes with the skills you already have Get past “analysis paralysis” by creating and deploying a vertical slice of your application Counteract forces that lead to code rot and unnecessary complexity Master better techniques for changing code behavior Discover ways to solve code problems more quickly and effectively Think more productively about performance and security If you've ever suffered through bad projects or had to cope with unmaintainable legacy code, this guide will help you make things better next time and every time. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.


BPF Performance Tools

BPF Performance Tools

Author: Brendan Gregg

Publisher: Addison-Wesley Professional

Published: 2019-11-27

Total Pages: 2525

ISBN-13: 0136624588

DOWNLOAD EBOOK

Use BPF Tools to Optimize Performance, Fix Problems, and See Inside Running Systems BPF-based performance tools give you unprecedented visibility into systems and applications, so you can optimize performance, troubleshoot code, strengthen security, and reduce costs. BPF Performance Tools: Linux System and Application Observability is the definitive guide to using these tools for observability. Pioneering BPF expert Brendan Gregg presents more than 150 ready-to-run analysis and debugging tools, expert guidance on applying them, and step-by-step tutorials on developing your own. You’ll learn how to analyze CPUs, memory, disks, file systems, networking, languages, applications, containers, hypervisors, security, and the kernel. Gregg guides you from basic to advanced tools, helping you generate deeper, more useful technical insights for improving virtually any Linux system or application. • Learn essential tracing concepts and both core BPF front-ends: BCC and bpftrace • Master 150+ powerful BPF tools, including dozens created just for this book, and available for download • Discover practical strategies, tips, and tricks for more effective analysis • Analyze compiled, JIT-compiled, and interpreted code in multiple languages: C, Java, bash shell, and more • Generate metrics, stack traces, and custom latency histograms • Use complementary tools when they offer quick, easy wins • Explore advanced tools built on BPF: PCP and Grafana for remote monitoring, eBPF Exporter, and kubectl-trace for tracing Kubernetes • Foreword by Alexei Starovoitov, creator of the new BPF BPF Performance Tools will be an indispensable resource for all administrators, developers, support staff, and other IT professionals working with any recent Linux distribution in any enterprise or cloud environment.


Literate Programming

Literate Programming

Author: Donald Ervin Knuth

Publisher: Stanford Univ Center for the Study

Published: 1992-01

Total Pages: 368

ISBN-13: 9780937073803

DOWNLOAD EBOOK

Literate programming is a programming methodology that combines a programming language with a documentation language, making programs more easily maintained than programs written only in a high-level language. A literate programmer is an essayist who writes programs for humans to understand. When programs are written in the recommended style they can be transformed into documents by a document compiler and into efficient code by an algebraic compiler. This anthology of essays includes Knuth's early papers on related topics such as structured programming as well as the Computer Journal article that launched literate programming. Many examples are given, including excerpts from the programs for TeX and METAFONT. The final essay is an example of CWEB, a system for literate programming in C and related languages. Index included.


The Practice of Programming

The Practice of Programming

Author: Brian W. Kernighan

Publisher: Addison-Wesley Professional

Published: 1999-02-09

Total Pages: 283

ISBN-13: 0133133419

DOWNLOAD EBOOK

With the same insight and authority that made their book The Unix Programming Environment a classic, Brian Kernighan and Rob Pike have written The Practice of Programming to help make individual programmers more effective and productive. The practice of programming is more than just writing code. Programmers must also assess tradeoffs, choose among design alternatives, debug and test, improve performance, and maintain software written by themselves and others. At the same time, they must be concerned with issues like compatibility, robustness, and reliability, while meeting specifications. The Practice of Programming covers all these topics, and more. This book is full of practical advice and real-world examples in C, C++, Java, and a variety of special-purpose languages. It includes chapters on: debugging: finding bugs quickly and methodically testing: guaranteeing that software works correctly and reliably performance: making programs faster and more compact portability: ensuring that programs run everywhere without change design: balancing goals and constraints to decide which algorithms and data structures are best interfaces: using abstraction and information hiding to control the interactions between components style: writing code that works well and is a pleasure to read notation: choosing languages and tools that let the machine do more of the work Kernighan and Pike have distilled years of experience writing programs, teaching, and working with other programmers to create this book. Anyone who writes software will profit from the principles and guidance in The Practice of Programming.


Beautiful C++

Beautiful C++

Author: J. Guy Davidson

Publisher: Addison-Wesley Professional

Published: 2021-12-16

Total Pages: 747

ISBN-13: 0137647867

DOWNLOAD EBOOK

Discover the Beauty of Modern C++ " Beautiful C++ presents the C++ Core Guidelines from a developer's point of view with an emphasis on what benefits can be obtained from following the rules and what nightmares can result from ignoring them. For true geeks, it is an easy and entertaining read. For most software developers, it offers something new and useful." --Bjarne Stroustrup, inventor of C++ and co-editor of the C++ Core Guidelines Writing great C++ code needn't be difficult. The C++ Core Guidelines can help every C++ developer design and write C++ programs that are exceptionally reliable, efficient, and well-performing. But the Guidelines are so jam-packed with excellent advice that it's hard to know where to start. Start here, with Beautiful C++. Expert C++ programmers Guy Davidson and Kate Gregory identify 30 Core Guidelines you'll find especially valuable and offer detailed practical knowledge for improving your C++ style. For easy reference, this book is structured to align closely with the official C++ Core Guidelines website. Throughout, Davidson and Gregory offer useful conceptual insights and expert sample code, illuminate proven ways to use both new and longstanding language features more successfully, and show how to write programs that are more robust and performant by default. Avoid "bikeshedding": stop wasting valuable time on trivia Don't hurt yourself by writing code that will cause problems later Know which legacy features to avoid and the modern features to use instead Use newer features properly, to get their benefits without creating new problems Default to higher-quality code that's statically type-safe, leak resistant, and easier to evolve Use the Core Guidelines with any modern C++ version: C++20, C++17, C++14, or C++11 There's something here to improve virtually every program you write, design, or maintain. For ease of experimentation, all sample code is available on Compiler Explorer at https://godbolt.org/z/cg30-ch0.0. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.


Modern Software Engineering

Modern Software Engineering

Author: David Farley

Publisher: Addison-Wesley Professional

Published: 2021-11-16

Total Pages: 479

ISBN-13: 0137314868

DOWNLOAD EBOOK

Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David Farley helps software professionals think about their work more effectively, manage it more successfully, and genuinely improve the quality of their applications, their lives, and the lives of their colleagues. Writing for programmers, managers, and technical leads at all levels of experience, Farley illuminates durable principles at the heart of effective software development. He distills the discipline into two core exercises: learning and exploration and managing complexity. For each, he defines principles that can help you improve everything from your mindset to the quality of your code, and describes approaches proven to promote success. Farley's ideas and techniques cohere into a unified, scientific, and foundational approach to solving practical software development problems within realistic economic constraints. This general, durable, and pervasive approach to software engineering can help you solve problems you haven't encountered yet, using today's technologies and tomorrow's. It offers you deeper insight into what you do every day, helping you create better software, faster, with more pleasure and personal fulfillment. Clarify what you're trying to accomplish Choose your tools based on sensible criteria Organize work and systems to facilitate continuing incremental progress Evaluate your progress toward thriving systems, not just more "legacy code" Gain more value from experimentation and empiricism Stay in control as systems grow more complex Achieve rigor without too much rigidity Learn from history and experience Distinguish "good" new software development ideas from "bad" ones Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.