Your Code as a Crime Scene

Your Code as a Crime Scene
Author: Adam Tornhill
Publisher: Pragmatic Bookshelf
Total Pages: 289
Release: 2015-03-30
Genre: Computers
ISBN: 1680505203

Jack the Ripper and legacy codebases have more in common than you'd think. Inspired by forensic psychology methods, you'll learn strategies to predict the future of your codebase, assess refactoring direction, and understand how your team influences the design. With its unique blend of forensic psychology and code analysis, this book arms you with the strategies you need, no matter what programming language you use. Software is a living entity that's constantly changing. To understand software systems, we need to know where they came from and how they evolved. By mining commit data and analyzing the history of your code, you can start fixes ahead of time to eliminate broken designs, maintenance issues, and team productivity bottlenecks. In this book, you'll learn forensic psychology techniques to successfully maintain your software. You'll create a geographic profile from your commit data to find hotspots, and apply temporal coupling concepts to uncover hidden relationships between unrelated areas in your code. You'll also measure the effectiveness of your code improvements. You'll learn how to apply these techniques on projects both large and small. For small projects, you'll get new insights into your design and how well the code fits your ideas. For large projects, you'll identify the good and the fragile parts. Large-scale development is also a social activity, and the team's dynamics influence code quality. That's why this book shows you how to uncover social biases when analyzing the evolution of your system. You'll use commit messages as eyewitness accounts to what is really happening in your code. Finally, you'll put it all together by tracking organizational problems in the code and finding out how to fix them. Come join the hunt for better code! What You Need: You need Java 6 and Python 2.7 to run the accompanying analysis tools. You also need Git to follow along with the examples.


Software Design X-Rays

Software Design X-Rays
Author: Adam Tornhill
Publisher: Pragmatic Bookshelf
Total Pages: 356
Release: 2018-03-08
Genre: Computers
ISBN: 1680505807

Are you working on a codebase where cost overruns, death marches, and heroic fights with legacy code monsters are the norm? Battle these adversaries with novel ways to identify and prioritize technical debt, based on behavioral data from how developers work with code. And that's just for starters. Because good code involves social design, as well as technical design, you can find surprising dependencies between people and code to resolve coordination bottlenecks among teams. Best of all, the techniques build on behavioral data that you already have: your version-control system. Join the fight for better code! Use statistics and data science to uncover both problematic code and the behavioral patterns of the developers who build your software. This combination gives you insights you can't get from the code alone. Use these insights to prioritize refactoring needs, measure their effect, find implicit dependencies between different modules, and automatically create knowledge maps of your system based on actual code contributions. In a radical, much-needed change from common practice, guide organizational decisions with objective data by measuring how well your development teams align with the software architecture. Discover a comprehensive set of practical analysis techniques based on version-control data, where each point is illustrated with a case study from a real-world codebase. Because the techniques are language neutral, you can apply them to your own code no matter what programming language you use. Guide organizational decisions with objective data by measuring how well your development teams align with the software architecture. Apply research findings from social psychology to software development, ensuring you get the tools you need to coach your organization towards better code. If you're an experienced programmer, software architect, or technical manager, you'll get a new perspective that will change how you work with code. What You Need: You don't have to install anything to follow along in the book. TThe case studies in the book use well-known open source projects hosted on GitHub. You'll use CodeScene, a free software analysis tool for open source projects, for the case studies. We also discuss alternative tooling options where they exist.


The Pragmatic Programmer

The Pragmatic Programmer
Author: Andrew Hunt
Publisher: Addison-Wesley Professional
Total Pages: 346
Release: 1999-10-20
Genre: Computers
ISBN: 013211917X

What others in the trenches say about The Pragmatic Programmer... “The cool thing about this book is that it’s great for keeping the programming process fresh. The book helps you to continue to grow and clearly comes from people who have been there.” — Kent Beck, author of Extreme Programming Explained: Embrace Change “I found this book to be a great mix of solid advice and wonderful analogies!” — Martin Fowler, author of Refactoring and UML Distilled “I would buy a copy, read it twice, then tell all my colleagues to run out and grab a copy. This is a book I would never loan because I would worry about it being lost.” — Kevin Ruland, Management Science, MSG-Logistics “The wisdom and practical experience of the authors is obvious. The topics presented are relevant and useful.... By far its greatest strength for me has been the outstanding analogies—tracer bullets, broken windows, and the fabulous helicopter-based explanation of the need for orthogonality, especially in a crisis situation. I have little doubt that this book will eventually become an excellent source of useful information for journeymen programmers and expert mentors alike.” — John Lakos, author of Large-Scale C++ Software Design “This is the sort of book I will buy a dozen copies of when it comes out so I can give it to my clients.” — Eric Vought, Software Engineer “Most modern books on software development fail to cover the basics of what makes a great software developer, instead spending their time on syntax or technology where in reality the greatest leverage possible for any software team is in having talented developers who really know their craft well. An excellent book.” — Pete McBreen, Independent Consultant “Since reading this book, I have implemented many of the practical suggestions and tips it contains. Across the board, they have saved my company time and money while helping me get my job done quicker! This should be a desktop reference for everyone who works with code for a living.” — Jared Richardson, Senior Software Developer, iRenaissance, Inc. “I would like to see this issued to every new employee at my company....” — Chris Cleeland, Senior Software Engineer, Object Computing, Inc. “If I’m putting together a project, it’s the authors of this book that I want. . . . And failing that I’d settle for people who’ve read their book.” — Ward Cunningham 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 to Fight 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.


A Dictionary of Forensic Science

A Dictionary of Forensic Science
Author: Suzanne Bell
Publisher: Oxford University Press, USA
Total Pages: 312
Release: 2012-02-09
Genre: Law
ISBN: 0199594007

This new dictionary covers a wide range of terms used in the field of forensic science, touching on related disciplines such as chemistry, biology, and anthropology. Case examples, figures, and photographs make it the ideal reference for students and practitioners of forensic science, as well as those with an interest in forensic science.


Becoming a Crime Scene Investigator

Becoming a Crime Scene Investigator
Author: Jacqueline Detwiler-George
Publisher: Simon and Schuster
Total Pages: 192
Release: 2024-01-16
Genre: Business & Economics
ISBN: 1668049716

A revealing guide to a career as a crime scene investigator written by acclaimed journalist Jacqueline Detwiler-George and based on the real-life experiences of the CSI team at the Baltimore police department—required reading for anyone considering a path to this profession. Becoming a Crime Scene Investigator takes you behind the scenes to find out what it’s really like, and what it really takes, to become a crime scene investigator. Acclaimed journalist Jacqueline Detwiler-George shadows the crime scene investigators of the Baltimore Police Department to show how this job becomes a reality. Forensic science is an essential component of any criminal investigation. CSI evidence can tip the scales of justice during trials, helping to free the innocent and convict the guilty. Discover what it’s like to process a crime scene by collecting evidence, documenting via photos, dusting for fingerprints, and analyzing blood spatter. Confront the gruesome realities of the job, tour their in-house crime labs, and watch as they process results. Gain wisdom and insight from the director of the forensic laboratory and the chief of the forensic division—and learn how this essential job is performed at the highest level.


Crime Scene Investigation

Crime Scene Investigation
Author: National Institute of Justice (U.S.). Technical Working Group on Crime Scene Investigation
Publisher:
Total Pages: 64
Release: 2000
Genre: Crime scene searches
ISBN:

This is a guide to recommended practices for crime scene investigation. The guide is presented in five major sections, with sub-sections as noted: (1) Arriving at the Scene: Initial Response/Prioritization of Efforts (receipt of information, safety procedures, emergency care, secure and control persons at the scene, boundaries, turn over control of the scene and brief investigator/s in charge, document actions and observations); (2) Preliminary Documentation and Evaluation of the Scene (scene assessment, "walk-through" and initial documentation); (3) Processing the Scene (team composition, contamination control, documentation and prioritize, collect, preserve, inventory, package, transport, and submit evidence); (4) Completing and Recording the Crime Scene Investigation (establish debriefing team, perform final survey, document the scene); and (5) Crime Scene Equipment (initial responding officers, investigator/evidence technician, evidence collection kits).


Crime Scene Photography

Crime Scene Photography
Author: Edward M. Robinson
Publisher: Elsevier
Total Pages: 697
Release: 2010-02-03
Genre: Law
ISBN: 0080476929

Crime Scene Photography is a book wrought from years of experience, with material carefully selected for ease of use and effectiveness in training, and field tested by the author in his role as a Forensic Services Supervisor for the Baltimore County Police Department.While there are many books on non-forensic photography, none of them adequately adapt standard image-taking to crime scene photography. The forensic photographer, or more specifically the crime scene photographer, must know how to create an acceptable image that is capable of withstanding challenges in court. This book blends the practical functions of crime scene processing with theories of photography to guide the reader in acquiring the skills, knowledge and ability to render reliable evidence. - Required reading by the IAI Crime Scene Certification Board for all levels of certification - Contains over 500 photographs - Covers the concepts and principles of photography as well as the "how to" of creating a final product - Includes end-of-chapter exercises


Practical Crime Scene Analysis and Reconstruction

Practical Crime Scene Analysis and Reconstruction
Author: Ross M. Gardner
Publisher: CRC Press
Total Pages: 312
Release: 2009-06-26
Genre: Law
ISBN: 1040082564

This book addresses every aspect of the analysis and reconstruction of the events surrounding a crime. Beginning with established protocols for crime scene processing, the authors outline their unique methodology for event analysis. This technique defines specific actions, discusses the order of those actions, and offers significant insight into determining what did or did not happen in the course of the incident under investigation. Using case studies and more than 200 color photos, the book demonstrates how the method can be used to explain clues that would otherwise be puzzling or ambiguous.


The Leprechauns of Software Engineering

The Leprechauns of Software Engineering
Author: Laurent Bossavit
Publisher: Lulu.com
Total Pages: 197
Release: 2015-06-28
Genre: Computers
ISBN: 2954745509

The software profession has a problem, widely recognized but which nobody seems willing to do anything about; a variant of the well known ""telephone game,"" where some trivial rumor is repeated from one person to the next until it has become distorted beyond recognition and blown up out of all proportion. Unfortunately, the objects of this telephone game are generally considered cornerstone truths of the discipline, to the point that their acceptance now seems to hinder further progress. This book takes a look at some of those ""ground truths"" the claimed 10x variation in productivity between developers; the ""software crisis""; the cost-of-change curve; the ""cone of uncertainty""; and more. It assesses the real weight of the evidence behind these ideas - and confronts the scary prospect of moving the state of the art forward in a discipline that has had the ground kicked from under it.