Book picks similar to
Master the Skill of Debugging CSS by Ahmad Shadeed
web-design
programming
tech
nonfiction
Working Effectively with Legacy Code
Michael C. Feathers - 2004
This book draws on material Michael created for his renowned Object Mentor seminars, techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. The topics covered include: Understanding the mechanics of software change, adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform, with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structureThis book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.
Talking with Tech Leads
Patrick Kua - 2014
Discover how more than 35 Tech Leads find the delicate balance between the technical and non-technical worlds. Discover the challenges a Tech Lead faces and how to overcome them. You may be surprised by the lessons they have to share.Now available at https://leanpub.com/talking-with-tech...
Ruined by Design: How Designers Destroyed the World, and What We Can Do to Fix It
Mike Monteiro - 2019
Guns, which lead to so much death, work exactly as they’re designed to work. And every time we “improve” their design, they get better at killing. Facebook’s privacy settings, which have outed gay teens to their conservative parents, are working exactly as designed. Their “real names” iniative, which makes it easier for stalkers to re-find their victims, is working exactly as designed. Twitter’s toxicity and lack of civil discourse is working exactly as it’s designed to work.The world is working exactly as designed. And it’s not working very well. Which means we need to do a better job of designing it. Design is a craft with an amazing amount of power. The power to choose. The power to influence. As designers, we need to see ourselves as gatekeepers of what we are bringing into the world, and what we choose not to bring into the world. Design is a craft with responsibility. The responsibility to help create a better world for all.Design is also a craft with a lot of blood on its hands. Every cigarette ad is on us. Every gun is on us. Every ballot that a voter cannot understand is on us. Every time social network’s interface allows a stalker to find their victim, that’s on us. The monsters we unleash into the world will carry your name.This book will make you see that design is a political act. What we choose to design is a political act. Who we choose to work for is a political act. Who we choose to work with is a political act. And, most importantly, the people we’ve excluded from these decisions is the biggest (and stupidest) political act we’ve made as a society.If you’re a designer, this book might make you angry. It should make you angry. But it will also give you the tools you need to make better decisions. You will learn how to evaluate the potential benefits and harm of what you’re working on. You’ll learn how to present your concerns. You’ll learn the importance of building and working with diverse teams who can approach problems from multiple points-of-view. You’ll learn how to make a case using data and good storytelling. You’ll learn to say NO in a way that’ll make people listen. But mostly, this book will fill you with the confidence to do the job the way you always wanted to be able to do it. This book will help you understand your responsibilities.
Joel on Software
Joel Spolsky - 2004
For years, Joel Spolsky has done exactly this at www.joelonsoftware.com. Now, for the first time, you can own a collection of the most important essays from his site in one book, with exclusive commentary and new insights from joel.
Programming Entity Framework
Julia Lerman - 2009
"Programming Entity Framework, 1st Edition" offers experienced developers a thorough introduction to Microsoft's core framework for modeling and interacting with data in .NET applications. This hands-on tour provides a deep understanding of Entity Framework's architecture and APIs, and explains how to use the framework in a variety of applications built with Visual Studio 2008 and .NET 3.5.From the Entity Data Model (EDM) and Object Services to EntityClient and the Metadata Workspace, this highly acclaimed first edition covers it all.Understand the core concepts you need to make the best use of the Entity Framework (EF) in your applicationsLearn to query your data, using either LINQ to Entities or Entity SQLCreate Windows Forms, WPF, and ASP.NET applicationsBuild ASMX web services and WCF servicesUse Object Services to work directly with your entity objectsDelve into model customization, relationship management, change tracking, data concurrency, and moreOne important note: while many of the lessons from this book will continue to be valuable as you move to .NET 4, the thoroughly revised second edition of "Programming Entity Framework" (August 2010) specifically targets Visual Studio 2010 and .NET 4 -- where there have been many advancements and additions to the framework.
The Leprechauns of Software Engineering
Laurent Bossavit - 2012
You can think of this problem as 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.In this short ebook, we will take 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. We'll hone our scholarship skills by looking up the original source for these ideas and taking a deep dive in the history of their development. We'll assess the real weight of the evidence behind these ideas.And we'll confront the scary prospect of moving the state of the art forward in a discipline that has had the ground kicked from under it.
Algorithms
Robert Sedgewick - 1983
This book surveys the most important computer algorithms currently in use and provides a full treatment of data structures and algorithms for sorting, searching, graph processing, and string processing -- including fifty algorithms every programmer should know. In this edition, new Java implementations are written in an accessible modular programming style, where all of the code is exposed to the reader and ready to use.The algorithms in this book represent a body of knowledge developed over the last 50 years that has become indispensable, not just for professional programmers and computer science students but for any student with interests in science, mathematics, and engineering, not to mention students who use computation in the liberal arts.The companion web site, algs4.cs.princeton.edu contains An online synopsis Full Java implementations Test data Exercises and answers Dynamic visualizations Lecture slides Programming assignments with checklists Links to related material The MOOC related to this book is accessible via the "Online Course" link at algs4.cs.princeton.edu. The course offers more than 100 video lecture segments that are integrated with the text, extensive online assessments, and the large-scale discussion forums that have proven so valuable. Offered each fall and spring, this course regularly attracts tens of thousands of registrants.Robert Sedgewick and Kevin Wayne are developing a modern approach to disseminating knowledge that fully embraces technology, enabling people all around the world to discover new ways of learning and teaching. By integrating their textbook, online content, and MOOC, all at the state of the art, they have built a unique resource that greatly expands the breadth and depth of the educational experience.
Get Your Hands Dirty on Clean Architecture: A hands-on guide to creating clean web applications with code examples in Java
Tom Hombergs - 2019
The Spatial Web: How Web 3.0 Will Connect Humans, Machines, and AI to Transform the World
Gabriel Rene - 2019
Blade Runner, The Matrix, Star Wars, Avatar, Star Trek, Ready Player One and Avengers show us futuristic worlds where holograms, intelligent robots, smart devices, virtual avatars, digital transactions, and universe-scale teleportation work together perfectly, somehow seamlessly combining the virtual and the physical with the mechanical and the biological. Science fiction has done an excellent job describing a vision of the future where the digital and physical merge naturally into one — in a way that just works everywhere, for everyone. However, none of these visionary fictional works go so far as to describe exactly how this would actually be accomplished. While it has inspired many of us to ask the question—How do we enable science fantasy to become....science fact? The Spatial Web achieves this by first describing how exponentially powerful computing technologies are creating a great “Convergence.” How Augmented and Virtual Reality will enable us to overlay our information and imaginations onto the world. How Artificial Intelligence will infuse the environments and objects around us with adaptive intelligence. How the Internet of Things and Robotics will enable our vehicles, appliances, clothing, furniture, and homes to become connected and embodied with the power to see, feel, hear, smell, touch and move things in the world, and how Blockchain and Cryptocurrencies will secure our data and enable real-time transactions between the human, machine and virtual economies of the future. The book then dives deeply into the challenges and shortcomings of the World Wide Web, the rise of fake news and surveillance capitalism in Web 2.0 and the risk of algorithmic terrorism and biological hacking and “fake-reality” in Web 3.0. It raises concerns about the threat that emerging technologies pose in the hands of rogue actors whether human, algorithmic, corporate or state-sponsored and calls for common sense governance and global cooperation. It calls for business leaders, organizations and governments to not only support interoperable standards for software code, but critically, for ethical, and social codes as well. Authors Gabriel René and Dan Mapes describe in vivid detail how a new “spatial” protocol is required in order to connect the various exponential technologies of the 21st century into an integrated network capable of tracking and managing the real-time activities of our cities, monitoring and adjusting the supply chains that feed them, optimizing our farms and natural resources, automating our manufacturing and distribution, transforming marketing and commerce, accelerating our global economies, running advanced planet-scale simulations and predictions, and even bridging the gap between our interior individual reality and our exterior collective one. Enabling the ability for humans, machines and AI to communicate, collaborate and coordinate activities in the world at a global scale and how the thoughtful application of these technologies could lead to an unprecedented opportunity to create a truly global “networked” civilization or "Smart World.” The book artfully shifts between cyberpunk futurism, cautionary tale-telling, and life-affirming call-to-arms. It challenges us to consider the importance of today’s technological choices as individuals, organizations, and as a species, as we face the historic opportunity we have to transform the web, the world, and our very definition of reality.
Confessions Subprime Lender
Richard Bitner - 2008
In Confessions of a Subprime Lender: An Insider's Tale of Greed, Fraud, and Ignorance, he reveals the truth about how the subprime lending business spiraled out of control, pushed home prices to unsustainable levels, and turned unqualified applicants into qualified borrowers through creative financing. Learn about the ways the mortgage industry can be fixed with his twenty suggestions for critical change.
Effective Java
Joshua Bloch - 2001
The principal enhancement in Java 8 was the addition of functional programming constructs to Java's object-oriented roots. Java 7, 8, and 9 also introduced language features, such as the try-with-resources statement, the diamond operator for generic types, default and static methods in interfaces, the @SafeVarargs annotation, and modules. New library features include pervasive use of functional interfaces and streams, the java.time package for manipulating dates and times, and numerous minor enhancements such as convenience factory methods for collections. In this new edition of Effective Java, Bloch updates the work to take advantage of these new language and library features, and provides specific best practices for their use. Java's increased support for multiple paradigms increases the need for best-practices advice, and this book delivers. As in previous editions, each chapter consists of several "items," each presented in the form of a short, standalone 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. Coverage includes:Updated techniques and best practices on classic topics, including objects, classes, methods, libraries, and generics How to avoid the traps and pitfalls of commonly misunderstood subtleties of the platform Focus on the language and its most fundamental libraries, such as java.lang and java.util
The Pragmatic Programmer: From Journeyman to Master
Andy Hunt - 1999
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 toFight 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.
An Elegant Puzzle: Systems of Engineering Management
Will Larson - 2019
Management is a key part of any organization, yet the discipline is often self-taught and unstructured. Getting to the good solutions of complex management challenges can make the difference between fulfillment and frustration for teams, and, ultimately, the success or failure of companies. Will Larson's An Elegant Puzzle orients around the particular challenges of engineering management--from sizing teams to technical debt to succession planning--and provides a path to the good solutions. Drawing from his experience at Digg, Uber, and Stripe, Will Larson has developed a thoughtful approach to engineering management that leaders of all levels at companies of all sizes can apply. An Elegant Puzzle balances structured principles and human-centric thinking to help any leader create more effective and rewarding organizations for engineers to thrive in.
Why Digital Transformations Fail: The Surprising Disciplines of How to Take Off and Stay Ahead
Tony Saldanha - 2019
But fully 70 percent of digital transformations fail.Why? Tony Saldanha, a globally awarded industry thought-leader who led operations around the world and major digital changes at Procter & Gamble, discovered it's not due to innovation or technological problems. Rather, the devil is in the details: a lack of clear goals and a disciplined process for achieving them. In this book, Saldanha lays out a five-stage process for moving from digitally automating processes here and there to making digital technology the very backbone of your company. For each of these five stages, Saldanha describes two associated disciplines vital to the success of that stage and a checklist of questions to keep you on track.You want to disrupt before you are disrupted--be the next Netflix, not the next Blockbuster. Using dozens of case studies and his own considerable experience, Saldanha shows how digital transformation can be made routinely successful, and instead of representing an existential threat, it will become the opportunity of a lifetime.