Book picks similar to
The Healthy Programmer by Joe Kutner


health
non-fiction
programming
self-improvement

Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement


Eric Redmond - 2012
    As a modern application developer you need to understand the emerging field of data management, both RDBMS and NoSQL. Seven Databases in Seven Weeks takes you on a tour of some of the hottest open source databases today. In the tradition of Bruce A. Tate's Seven Languages in Seven Weeks, this book goes beyond your basic tutorial to explore the essential concepts at the core each technology. Redis, Neo4J, CouchDB, MongoDB, HBase, Riak and Postgres. With each database, you'll tackle a real-world data problem that highlights the concepts and features that make it shine. You'll explore the five data models employed by these databases-relational, key/value, columnar, document and graph-and which kinds of problems are best suited to each. You'll learn how MongoDB and CouchDB are strikingly different, and discover the Dynamo heritage at the heart of Riak. Make your applications faster with Redis and more connected with Neo4J. Use MapReduce to solve Big Data problems. Build clusters of servers using scalable services like Amazon's Elastic Compute Cloud (EC2). Discover the CAP theorem and its implications for your distributed data. Understand the tradeoffs between consistency and availability, and when you can use them to your advantage. Use multiple databases in concert to create a platform that's more than the sum of its parts, or find one that meets all your needs at once.Seven Databases in Seven Weeks will take you on a deep dive into each of the databases, their strengths and weaknesses, and how to choose the ones that fit your needs.What You Need: To get the most of of this book you'll have to follow along, and that means you'll need a *nix shell (Mac OSX or Linux preferred, Windows users will need Cygwin), and Java 6 (or greater) and Ruby 1.8.7 (or greater). Each chapter will list the downloads required for that database.

Kanban: Successful Evolutionary Change for Your Technology Business


David J. Anderson - 2010
    It will allow you to avoid some likely pitfalls and it will guide you to asking, yourself and your clients, the right questions. Though many people focus on the visualization techniques in Kanban the true value only emerges when you, as a kanban system manager, are apt at noticing the anti-patterns that occur on the kanban board and are able to take appropriate actions. David generously shares his vast experience in this field, with plenty real case scenarios, to the benefit of the reader. After reading this book I toyed with the idea: Would I've changed my approach to coaching my previous clients, in their adoption of agile values and practices, had I read this at the time? Well, I certainly would have, for all of them, and I'm sure it would have meant a smoother change process for the agilely challenged organizations. David provides a comprehensive guide to implementing Kanban in a software development/maintenance environment. Covering the mechanics, dynamics, principles and rationale behind why Kanban is a so promising framework for managing the work of a variety of teams and groups and being an evolutionary-based change management driver. Kanban is the practical approach to implement Lean Software Development, and this book is the practical guide for how to start using Kanban, and how to adapt the system for advanced needs. The book is clear and flowing, even though it covers some quite technical material. I would recommend it to Development managers, Project/Program managers, Agile Coaches/Consultants. It addresses concerns/needs of Novice as well as those already familiar with Kanban and looking for advanced answers. Even if you don't intend to implement a kanban system, there are a lot of techniques and ideas that are easily applicable to any product development/maintenance environment, agile or not. Bottom line, highly recommended.

Pro Git


Scott Chacon - 2009
    It took the open source world by storm since its inception in 2005, and is used by small development shops and giants like Google, Red Hat, and IBM, and of course many open source projects.A book by Git experts to turn you into a Git expert. Introduces the world of distributed version control Shows how to build a Git development workflow.

Keep Sharp: Build a Better Brain at Any Age


Sanjay Gupta - 2020
    Throughout our life, we look for ways to keep our mind sharp and effortlessly productive. Now, globetrotting neurosurgeon Dr. Sanjay Gupta offers insights from top scientists all over the world, whose cutting-edge research can help you heighten and protect brain function and maintain cognitive health at any age. Keep Sharp debunks common myths about aging and cognitive decline, explores whether there’s a “best” diet or exercise regimen for the brain, and explains whether it’s healthier to play video games that test memory and processing speed, or to engage in more social interaction. Discover what we can learn from “super-brained” people who are in their eighties and nineties with no signs of slowing down—and whether there are truly any benefits to drugs, supplements, and vitamins. Dr. Gupta also addresses brain disease, particularly Alzheimer’s, answers all your questions about the signs and symptoms, and shows how to ward against it and stay healthy while caring for a partner in cognitive decline. He likewise provides you with a personalized twelve-week program featuring practical strategies to strengthen your brain every day. Keep Sharp is the only owner’s manual you’ll need to keep your brain young and healthy regardless of your age!

Make Time: How to Focus on What Matters Every Day


Jake Knapp - 2018
    Why? In a world where information refreshes endlessly and the workday feels like a race to react to other people's priorities faster, frazzled and distracted has become our default position. But what if the exhaustion of constant busyness wasn't mandatory? What if you could step off the hamster wheel and start taking control of your time and attention? That's what this book is about. As creators of Google Ventures' renowned "design sprint," Jake and John have helped hundreds of teams solve important problems by changing how they work. Building on the success of these sprints and their experience designing ubiquitous tech products from Gmail to YouTube, they spent years experimenting with their own habits and routines, looking for ways to help people optimize their energy, focus, and time. Now they've packaged the most effective tactics into a four-step daily framework that anyone can use to systematically design their days. Make Time is not a one-size-fits-all formula. Instead, it offers a customizable menu of bite-size tips and strategies that can be tailored to individual habits and lifestyles. Make Time isn't about productivity, or checking off more to-dos. Nor does it propose unrealistic solutions like throwing out your smartphone or swearing off social media. Making time isn't about radically overhauling your lifestyle; it's about making small shifts in your environment to liberate yourself from constant busyness and distraction. A must-read for anyone who has ever thought, If only there were more hours in the day..., Make Time will help you stop passively reacting to the demands of the modern world and start intentionally making time for the things that matter.

I Will Teach You to Be Rich: No Guilt. No Excuses. No BS. Just a 6-Week Program That Works


Ramit Sethi - 2009
      Buy as many lattes as you want. Choose the right accounts and investments so your money grows for you—automatically. Best of all, spend guilt-free on the things you love.   Personal finance expert Ramit Sethi has been called a “wealth wizard” by Forbes and the “new guru on the block” by Fortune. Now he’s updated and expanded his modern money classic for a new age, delivering a simple, powerful, no-BS 6-week program that just works.  I Will Teach You to Be Rich will show you: • How to crush your debt and student loans faster than you thought possible • How to set up no-fee, high-interest bank accounts that won’t gouge you for every penny • How Ramit automates his finances so his money goes exactly where he wants it to—and how you can do it too • How to talk your way out of late fees (with word-for-word scripts) • How to save hundreds or even thousands per month (and still buy what you love) • A set-it-and-forget-it investment strategy that’s dead simple and beats financial advisors at their own game • How to handle buying a car or a house, paying for a wedding, having kids, and other big expenses—stress free • The exact words to use to negotiate a big raise at work  Plus, this 10th anniversary edition features over 80 new pages, including: • New tools • New insights on money and psychology • Amazing stories of how previous readers used the book to create their rich lives   Master your money—and then get on with your life.

Team Topologies: Organizing Business and Technology Teams for Fast Flow


Matthew Skelton - 2019
    But how do you build the best team organization for your specific goals, culture, and needs? Team Topologies is a practical, step-by-step, adaptive model for organizational design and team interaction based on four fundamental team types and three team interaction patterns. It is a model that treats teams as the fundamental means of delivery, where team structures and communication pathways are able to evolve with technological and organizational maturity.In Team Topologies, IT consultants Matthew Skelton and Manuel Pais share secrets of successful team patterns and interactions to help readers choose and evolve the right team patterns for their organization, making sure to keep the software healthy and optimize value streams.Team Topologies is a major step forward in organizational design for software, presenting a well-defined way for teams to interact and interrelate that helps make the resulting software architecture clearer and more sustainable, turning inter-team problems into valuable signals for the self-steering organization.

Seven Languages in Seven Weeks


Bruce A. Tate - 2010
    But if one per year is good, how about Seven Languages in Seven Weeks? In this book you'll get a hands-on tour of Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby. Whether or not your favorite language is on that list, you'll broaden your perspective of programming by examining these languages side-by-side. You'll learn something new from each, and best of all, you'll learn how to learn a language quickly. Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell. With Seven Languages in Seven Weeks, by Bruce A. Tate, you'll go beyond the syntax-and beyond the 20-minute tutorial you'll find someplace online. This book has an audacious goal: to present a meaningful exploration of seven languages within a single book. Rather than serve as a complete reference or installation guide, Seven Languages hits what's essential and unique about each language. Moreover, this approach will help teach you how to grok new languages. For each language, you'll solve a nontrivial problem, using techniques that show off the language's most important features. As the book proceeds, you'll discover the strengths and weaknesses of the languages, while dissecting the process of learning languages quickly--for example, finding the typing and programming models, decision structures, and how you interact with them. Among this group of seven, you'll explore the most critical programming models of our time. Learn the dynamic typing that makes Ruby, Python, and Perl so flexible and compelling. Understand the underlying prototype system that's at the heart of JavaScript. See how pattern matching in Prolog shaped the development of Scala and Erlang. Discover how pure functional programming in Haskell is different from the Lisp family of languages, including Clojure. Explore the concurrency techniques that are quickly becoming the backbone of a new generation of Internet applications. Find out how to use Erlang's let-it-crash philosophy for building fault-tolerant systems. Understand the actor model that drives concurrency design in Io and Scala. Learn how Clojure uses versioning to solve some of the most difficult concurrency problems. It's all here, all in one place. Use the concepts from one language to find creative solutions in another-or discover a language that may become one of your favorites.

Why We Sleep: Unlocking the Power of Sleep and Dreams


Matthew Walker - 2017
    Charting the most cutting-edge scientific breakthroughs, and marshalling his decades of research and clinical practice, Walker explains how we can harness sleep to improve learning, mood and energy levels, regulate hormones, prevent cancer, Alzheimer's and diabetes, slow the effects of aging, and increase longevity. He also provides actionable steps towards getting a better night's sleep every night.

The Go Programming Language


Alan A.A. Donovan - 2015
    It has been winning converts from dynamic language enthusiasts as well as users of traditional compiled languages. The former appreciate the robustness and efficiency that Go's lightweight type system brings to their code; the latter find Go's simplicity and fast tools a refreshing change. Thanks to its well-designed standard libraries and its excellent support for concurrent programming, Go is fast becoming the language of choice for distributed systems. The Go Programming Language is the definitive book on Go for the working programmer. It assumes no prior knowledge of Go, nor any other specific programming language, so you'll find it an accessible guide whether you come from JavaScript, Ruby, Python, Java, or C++. The book will quickly get you started using Go effectively from the beginning, and by the end, you will know how to use it well to write clear, idiomatic and efficient programs to solve real-world problems. You'll understand not just how to use its standard libraries, but how they work, and how to apply the same design techniques to your own projects. The earlier chapters will introduce you to the basic concepts of Go programming---numbers, strings, functions---while at the same time presenting important computer science concepts like recursion, and useful examples of graphics, UTF-8, and error handling. The chapters on methods and interfaces will show you a new way to think about object-oriented programming; the chapter on concurrency explains why concurrency is so important in modern programming, and how Go helps you handle it well. You'll also learn about Go's pragmatic but effective approach to testing; how to build, test, and manage projects using the go tool, and the art of metaprogramming using reflection. The book contains hundreds of interesting and practical examples that cover the whole language and a wide range of applications. The code samples from the book are available for download from gopl.io.

The Productive Programmer


Neal Ford - 2008
    The Productive Programmer offers critical timesaving and productivity tools that you can adopt right away, no matter what platform you use. Master developer Neal Ford not only offers advice on the mechanics of productivity-how to work smarter, spurn interruptions, get the most out your computer, and avoid repetition-he also details valuable practices that will help you elude common traps, improve your code, and become more valuable to your team. You'll learn to:Write the test before you write the codeManage the lifecycle of your objects fastidiously Build only what you need now, not what you might need later Apply ancient philosophies to software development Question authority, rather than blindly adhere to standardsMake hard things easier and impossible things possible through meta-programming Be sure all code within a method is at the same level of abstraction Pick the right editor and assemble the best tools for the job This isn't theory, but the fruits of Ford's real-world experience as an Application Architect at the global IT consultancy ThoughtWorks. Whether you're a beginner or a pro with years of experience, you'll improve your work and your career with the simple and straightforward principles in The Productive Programmer.

Design Patterns: Elements of Reusable Object-Oriented Software


Erich Gamma - 1994
    Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently. Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk.

Thinking in Systems: A Primer


Donella H. Meadows - 2008
    Edited by the Sustainability Institute’s Diana Wright, this essential primer brings systems thinking out of the realm of computers and equations and into the tangible world, showing readers how to develop the systems-thinking skills that thought leaders across the globe consider critical for 21st-century life.Some of the biggest problems facing the world—war, hunger, poverty, and environmental degradation—are essentially system failures. They cannot be solved by fixing one piece in isolation from the others, because even seemingly minor details have enormous power to undermine the best efforts of too-narrow thinking.While readers will learn the conceptual tools and methods of systems thinking, the heart of the book is grander than methodology. Donella Meadows was known as much for nurturing positive outcomes as she was for delving into the science behind global dilemmas. She reminds readers to pay attention to what is important, not just what is quantifiable, to stay humble, and to stay a learner.In a world growing ever more complicated, crowded, and interdependent, Thinking in Systems helps readers avoid confusion and helplessness, the first step toward finding proactive and effective solutions.

Sleep Smarter: 21 Essential Strategies to Sleep Your Way to A Better Body, Better Health, and Bigger Success


Shawn Stevenson - 2014
    Here's just a sampling of what you're going to discover: Why you need to sleep more and exercise less to get the best fitness results.  How to feel more energized and refreshed on less hours of sleep.  Why poor sleep quality depresses brain function and leads to poor performance.  What supplements are safe and helpful, and which ones to avoid (this will shock you!)  What exercises you can do to instantly improve your sleep quality.  How the clothes you wear to bed can depress your hormone function.  Why sleep is the missing ingredient in long-term fat loss (clinically proven!)  Why going to bed at the right time is more important than how many hours you sleep.  What mineral deficiency can cause severe sleep problems (and how to fix it).  The surprising impact that intimacy has on your sleep quality.  How to calm your mind so that you can fall asleep faster.  This and much more inside, so open the book and begin to Sleep Smarter now!Shawn Stevenson is the creator of The Model Health Show, featured as the #1 Nutrition and Fitness podcast on itunes, and a leading health expert who's transformed the lives of thousands of people around the world. A graduate of The University of Missouri - St. Louis with a background in biology and kinesiology, Shawn went on to be the founder of Advanced Integrative Health Alliance, a successful company that provides Wellness Services for both individuals and organizations worldwide. Shawn is a dynamic keynote speaker who has spoken for TEDx, universities, and numerous organizations with outstanding reviews. To learn more, visit the author's website at TheShawnStevensonModel.com

Peak: Secrets from the New Science of Expertise


K. Anders Ericsson - 2016
    Rest assured that the book is not mere theory. Ericsson's research focuses on the real world, and he explains in detail, with examples, how all of us can apply the principles of great performance in our work or in any other part of our lives."-- Fortune Anders Ericsson has made a career studying chess champions, violin virtuosos, star athletes, and memory mavens. Peak distills three decades of myth-shattering research into a powerful learning strategy that is fundamentally different from the way people traditionally think about acquiring new abilities. Whether you want to stand out at work, improve your athletic or musical performance, or help your child achieve academic goals, Ericsson's revolutionary methods will show you how to improve at almost any skill that matters to you."The science of excellence can be divided into two eras: before Ericsson and after Ericsson. His groundbreaking work, captured in this brilliantly useful book, provides us with a blueprint for achieving the most important and life-changing work possible: to become a little bit better each day."--Dan Coyle, author of The Talent Code "Ericsson's research has revolutionized how we think about human achievement. If everyone would take the lessons of this book to heart, it could truly change the world."--Joshua Foer, author of Moonwalking with Einstein