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.

Effective Python: 59 Specific Ways to Write Better Python


Brett Slatkin - 2015
    This makes the book random-access: Items are easy to browse and study in whatever order the reader needs. I will be recommending "Effective Python" to students as an admirably compact source of mainstream advice on a very broad range of topics for the intermediate Python programmer. " Brandon Rhodes, software engineer at Dropbox and chair of PyCon 2016-2017" It s easy to start coding with Python, which is why the language is so popular. However, Python s unique strengths, charms, and expressiveness can be hard to grasp, and there are hidden pitfalls that can easily trip you up. " Effective Python " will help you master a truly Pythonic approach to programming, harnessing Python s full power to write exceptionally robust and well-performing code. Using the concise, scenario-driven style pioneered in Scott Meyers best-selling "Effective C++, " Brett Slatkin brings together 59 Python best practices, tips, and shortcuts, and explains them with realistic code examples. Drawing on years of experience building Python infrastructure at Google, Slatkin uncovers little-known quirks and idioms that powerfully impact code behavior and performance. You ll learn the best way to accomplish key tasks, so you can write code that s easier to understand, maintain, and improve. Key features includeActionable guidelines for all major areas of Python 3.x and 2.x development, with detailed explanations and examples Best practices for writing functions that clarify intention, promote reuse, and avoid bugs Coverage of how to accurately express behaviors with classes and objects Guidance on how to avoid pitfalls with metaclasses and dynamic attributes More efficient approaches to concurrency and parallelism Better techniques and idioms for using Python s built-in modules Tools and best practices for collaborative development Solutions for debugging, testing, and optimization in order to improve quality and performance "

Mental Math: Tricks To Become A Human Calculator


Abhishek V.R. - 2017
    Just read this till the end You don’t have to buy this book. Just read this till end & you will learn something that will change the way you do math forever. Warning: I am revealing this secret only to the first set of readers who will buy this book & plan to put this secret back inside the book once I have enough sales. So read this until the very end while you still can.School taught you the wrong way to do mathThe way you were taught to do math, uses a lot of working memory. Working memory is the short term memory used to complete a mental task. You struggle because trying to do mental math the way you were taught in school, overloads your working memory. Let me show you what I mean with an example:Try to multiply the 73201 x 3. To do this you multiply the following:1 x 3 =0 x 3 =2 x 3 =3 x 3 =7 x 3 =This wasn’t hard, & it might have taken you just seconds to multiply the individual numbers. However, to get the final answer, you need to remember every single digit you calculated to put them back together. It takes effort to get the answer because you spend time trying to recall the numbers you already calculated. Math would be easier to do in your head if you didn’t have to remember so many numbers. Imagine when you tried to multiply 73201 x 3, if you could have come up with the answer, in the time it took you to multiply the individual numbers. Wouldn’t you have solved the problem faster than the time it would have taken you to punch in the numbers inside a calculator? Do the opposite of what you were taught in schoolThe secret of doing mental math is to calculate from left to right instead of from right to left. This is the opposite of what you were taught in school. This works so well because it frees your working memory almost completely. It is called the LR Method where LR stands for Left to Right.Lets try to do the earlier example where we multiplied 73201 x 3. This time multiply from left to right, so we get:7 x 3 = 213 x 3 = 93 x 2 = 60 x 3 = 03 x 1 = 3Notice that you started to call out the answer before you even finished the whole multiplication problem. You don’t have to remember a thing to recall & use later. So you end up doing math a lot faster. The Smart ChoiceYou could use what you learnt & apply it to solve math in the future. This might not be easy, because we just scratched the surface. I've already done the work for you. Why try to reinvent the wheel, when there is already a proven & tested system you can immediately apply. This book was first available in video format & has helped 10,000+ students from 132 countries. It is available at ofpad.com/mathcourse to enroll. This book was written to reach students who consume the information in text format. You can use the simple techniques in this book to do math faster than a calculator effortlessly in your head, even if you have no aptitude for math to begin with.Imagine waking up tomorrow being able to do lightning fast math in your head. Your family & friends will look at you like you are some kind of a genius. Since calculations are done in your head, you will acquire better mental habits in the process. So you will not just look like a genius. You will actually be one. Limited Time BonusWeekly training delivered through email for $97 is available for free as a bonus at the end of this book for the first set of readers. Once we have enough readers, this bonus will be charged $97. Why Price Is So LowThis book is priced at a ridiculous discount only to get our first set of readers. When we have enough readers the price will go up.

Automate This: How Algorithms Came to Rule Our World


Christopher Steiner - 2012
    It used to be that to diagnose an illness, interpret legal documents, analyze foreign policy, or write a newspaper article you needed a human being with specific skills—and maybe an advanced degree or two. These days, high-level tasks are increasingly being handled by algorithms that can do precise work not only with speed but also with nuance. These “bots” started with human programming and logic, but now their reach extends beyond what their creators ever expected. In this fascinating, frightening book, Christopher Steiner tells the story of how algorithms took over—and shows why the “bot revolution” is about to spill into every aspect of our lives, often silently, without our knowledge. The May 2010 “Flash Crash” exposed Wall Street’s reliance on trading bots to the tune of a 998-point market drop and $1 trillion in vanished market value. But that was just the beginning. In Automate This, we meet bots that are driving cars, penning haiku, and writing music mistaken for Bach’s. They listen in on our customer service calls and figure out what Iran would do in the event of a nuclear standoff. There are algorithms that can pick out the most cohesive crew of astronauts for a space mission or identify the next Jeremy Lin. Some can even ingest statistics from baseball games and spit out pitch-perfect sports journalism indistinguishable from that produced by humans. The interaction of man and machine can make our lives easier. But what will the world look like when algorithms control our hospitals, our roads, our culture, and our national security? What hap­pens to businesses when we automate judgment and eliminate human instinct? And what role will be left for doctors, lawyers, writers, truck drivers, and many others?  Who knows—maybe there’s a bot learning to do your job this minute.

Make: More Electronics: Learning Through Discovery


Charles Platt - 2013
    Right away, you'll start working on real projects, and you'll explore all the key components and essential principles through the book's collection of experiments. You'll build the circuits first, then learn the theory behind them! This book picks up where Make: Electronics left off: you'll learn about power amplification, switching, and motors. This book also covers analog integrated circuits, randomicity, and an assortment of sensors. With step-by-step instructions, and hundreds of color photographs and illustrations, this book will help you use -- and understand -- intermediate to advanced electronics concepts and techniques.

Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design


Diomidis Spinellis - 2008
    In each essay, contributors present a notable software architecture, and analyze what makes it innovative and ideal for its purpose. Some of the engineers in this book reveal how they developed a specific project, including decisions they faced and tradeoffs they made. Others take a step back to investigate how certain architectural aspects have influenced computing as a whole. With this book, you'll discover:How Facebook's architecture is the basis for a data-centric application ecosystem The effect of Xen's well-designed architecture on the way operating systems evolve How community processes within the KDE project help software architectures evolve from rough sketches to beautiful systems How creeping featurism has helped GNU Emacs gain unanticipated functionality The magic behind the Jikes RVM self-optimizable, self-hosting runtime Design choices and building blocks that made Tandem the choice platform in high-availability environments for over two decades Differences and similarities between object-oriented and functional architectural views How architectures can affect the software's evolution and the developers' engagement Go behind the scenes to learn what it takes to design elegant software architecture, and how it can shape the way you approach your own projects, with Beautiful Architecture.

NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence


Pramod J. Sadalage - 2012
    Advocates of NoSQL databases claim they can be used to build systems that are more performant, scale better, and are easier to program." ""NoSQL Distilled" is a concise but thorough introduction to this rapidly emerging technology. Pramod J. Sadalage and Martin Fowler explain how NoSQL databases work and the ways that they may be a superior alternative to a traditional RDBMS. The authors provide a fast-paced guide to the concepts you need to know in order to evaluate whether NoSQL databases are right for your needs and, if so, which technologies you should explore further. The first part of the book concentrates on core concepts, including schemaless data models, aggregates, new distribution models, the CAP theorem, and map-reduce. In the second part, the authors explore architectural and design issues associated with implementing NoSQL. They also present realistic use cases that demonstrate NoSQL databases at work and feature representative examples using Riak, MongoDB, Cassandra, and Neo4j. In addition, by drawing on Pramod Sadalage's pioneering work, "NoSQL Distilled" shows how to implement evolutionary design with schema migration: an essential technique for applying NoSQL databases. The book concludes by describing how NoSQL is ushering in a new age of Polyglot Persistence, where multiple data-storage worlds coexist, and architects can choose the technology best optimized for each type of data access.

Cracking the Coding Interview: 150 Programming Questions and Solutions


Gayle Laakmann McDowell - 2008
    This is a deeply technical book and focuses on the software engineering skills to ace your interview. The book is over 500 pages and includes 150 programming interview questions and answers, as well as other advice.The full list of topics are as follows:The Interview ProcessThis section offers an overview on questions are selected and how you will be evaluated. What happens when you get a question wrong? When should you start preparing, and how? What language should you use? All these questions and more are answered.Behind the ScenesLearn what happens behind the scenes during your interview, how decisions really get made, who you interview with, and what they ask you. Companies covered include Google, Amazon, Yahoo, Microsoft, Apple and Facebook.Special SituationsThis section explains the process for experience candidates, Program Managers, Dev Managers, Testers / SDETs, and more. Learn what your interviewers are looking for and how much code you need to know.Before the InterviewIn order to ace the interview, you first need to get an interview. This section describes what a software engineer's resume should look like and what you should be doing well before your interview.Behavioral PreparationAlthough most of a software engineering interview will be technical, behavioral questions matter too. This section covers how to prepare for behavioral questions and how to give strong, structured responses.Technical Questions (+ 5 Algorithm Approaches)This section covers how to prepare for technical questions (without wasting your time) and teaches actionable ways to solve the trickiest algorithm problems. It also teaches you what exactly "good coding" is when it comes to an interview.150 Programming Questions and AnswersThis section forms the bulk of the book. Each section opens with a discussion of the core knowledge and strategies to tackle this type of question, diving into exactly how you break down and solve it. Topics covered include• Arrays and Strings• Linked Lists• Stacks and Queues• Trees and Graphs• Bit Manipulation• Brain Teasers• Mathematics and Probability• Object-Oriented Design• Recursion and Dynamic Programming• Sorting and Searching• Scalability and Memory Limits• Testing• C and C++• Java• Databases• Threads and LocksFor the widest degree of readability, the solutions are almost entirely written with Java (with the exception of C / C++ questions). A link is provided with the book so that you can download, compile, and play with the solutions yourself.Changes from the Fourth Edition: The fifth edition includes over 200 pages of new content, bringing the book from 300 pages to over 500 pages. Major revisions were done to almost every solution, including a number of alternate solutions added. The introductory chapters were massively expanded, as were the opening of each of the chapters under Technical Questions. In addition, 24 new questions were added.Cracking the Coding Interview, Fifth Edition is the most expansive, detailed guide on how to ace your software development / programming interviews.

Predictive Analytics: The Power to Predict Who Will Click, Buy, Lie, or Die


Eric Siegel - 2013
    Rather than a "how to" for hands-on techies, the book entices lay-readers and experts alike by covering new case studies and the latest state-of-the-art techniques.You have been predicted — by companies, governments, law enforcement, hospitals, and universities. Their computers say, "I knew you were going to do that!" These institutions are seizing upon the power to predict whether you're going to click, buy, lie, or die.Why? For good reason: predicting human behavior combats financial risk, fortifies healthcare, conquers spam, toughens crime fighting, and boosts sales.How? Prediction is powered by the world's most potent, booming unnatural resource: data. Accumulated in large part as the by-product of routine tasks, data is the unsalted, flavorless residue deposited en masse as organizations churn away. Surprise! This heap of refuse is a gold mine. Big data embodies an extraordinary wealth of experience from which to learn.Predictive analytics unleashes the power of data. With this technology, the computer literally learns from data how to predict the future behavior of individuals. Perfect prediction is not possible, but putting odds on the future — lifting a bit of the fog off our hazy view of tomorrow — means pay dirt.In this rich, entertaining primer, former Columbia University professor and Predictive Analytics World founder Eric Siegel reveals the power and perils of prediction: -What type of mortgage risk Chase Bank predicted before the recession. -Predicting which people will drop out of school, cancel a subscription, or get divorced before they are even aware of it themselves. -Why early retirement decreases life expectancy and vegetarians miss fewer flights. -Five reasons why organizations predict death, including one health insurance company. -How U.S. Bank, European wireless carrier Telenor, and Obama's 2012 campaign calculated the way to most strongly influence each individual. -How IBM's Watson computer used predictive modeling to answer questions and beat the human champs on TV's Jeopardy! -How companies ascertain untold, private truths — how Target figures out you're pregnant and Hewlett-Packard deduces you're about to quit your job. -How judges and parole boards rely on crime-predicting computers to decide who stays in prison and who goes free. -What's predicted by the BBC, Citibank, ConEd, Facebook, Ford, Google, IBM, the IRS, Match.com, MTV, Netflix, Pandora, PayPal, Pfizer, and Wikipedia. A truly omnipresent science, predictive analytics affects everyone, every day. Although largely unseen, it drives millions of decisions, determining whom to call, mail, investigate, incarcerate, set up on a date, or medicate.Predictive analytics transcends human perception. This book's final chapter answers the riddle: What often happens to you that cannot be witnessed, and that you can't even be sure has happened afterward — but that can be predicted in advance?Whether you are a consumer of it — or consumed by it — get a handle on the power of Predictive Analytics.

Let Over Lambda


Doug Hoyte - 2008
    Starting with the fundamentals, it describes the most advanced features of the most advanced language: Common Lisp. Only the top percentile of programmers use lisp and if you can understand this book you are in the top percentile of lisp programmers. If you are looking for a dry coding manual that re-hashes common-sense techniques in whatever langue du jour, this book is not for you. This book is about pushing the boundaries of what we know about programming. While this book teaches useful skills that can help solve your programming problems today and now, it has also been designed to be entertaining and inspiring. If you have ever wondered what lisp or even programming itself is really about, this is the book you have been looking for.

The Adsense Code: What Google Never Told You about Making Money with Adsense


Joel Comm - 2005
    For those who know the secret, the result is untold wealth. Each month, a small group of people - an elite club who have uncovered the mysteries of The AdSense Code- put their knowledge to use and receive checks for tens of thousands of dollars from Google. And untold numbers of additional site owners are regularly generating supplemental income via AdSense while they play, sleep and eat. The AdSense Code is concise and very focused on the objective of revealing the proven online strategies to creating passive income with Google AdSense. The AdSense Code reveals hands-on solutions to many of the concerns and challenges faced by content publishers in their quest to attract targeted traffic, improve content relevance and increase responsiveness to AdSense ads - using easy and legitimate techniques that have worked for those who know the secrets. Google AdSense expert, Joel Comm, provides you with the keys you need to ""crack"" The AdSense Code and unlock the secrets to making money online.

Futureproof: 9 Rules for Humans in the Age of Automation


Kevin Roose - 2021
    After decades of sci-fi fantasies and hype, artificial intelligence has leapt out of research labs and Silicon Valley engineering departments and into the center of our lives. Algorithms shape everything around us, from the news we see to the products we buy and the relationships we form. And while the debate over whether or not automation will destroy jobs rages on, a much more important question is being ignored:What does it mean to be a human in a world that is increasingly built by and for machines?In Futureproof: 9 Rules for Humans in the Age of Automation, New York Times technology columnist Kevin Roose lays out a hopeful, pragmatic vision of how people can succeed in the machine age by making themselves irreplaceably human. He shares the secrets of people and organizations that have survived technological change, and explains how we can protect our own futures, with lessons like- Do work that is surprising, social, and scarce (the types of work machines can't do). - Demote your phone. - Work near other people. - Treat A.I. like an army of chimpanzees. - Add more friction to your life.Roose rejects the conventional wisdom that in order to compete with machines, we have to become more like them--hyper-efficient, data-driven, code-writing workhorses. Instead, he says, we should let machines be machines, and focus on doing the kinds of creative, inspiring, and meaningful things only humans can do.

Fundamentals of Digital Image Processing


Anil K. Jain - 1988
    Includes a comprehensive chapter on stochastic models for digital image processing. Covers aspects of image representation including luminance, color, spatial and temporal properties of vision, and digitization. Explores various image processing techniques. Discusses algorithm development (software/firmware) for image transforms, enhancement, reconstruction, and image coding.

Visible Learning for Mathematics, Grades K-12: What Works Best to Optimize Student Learning (Corwin Mathematics Series)


John Hattie - 2016
    This results in “visible” learning because the effect is tangible. The framework is forged out of current research in mathematics combined with John Hattie’s synthesis of more than 15 years of education research involving 300 million students. Chapter by chapter, and equipped with video clips, planning tools, rubrics, and templates, you get the inside track on which instructional strategies to use at each phase of the learning cycle: Surface learning phase: When—through carefully constructed experiences—students explore new concepts and make connections to procedural skills and vocabulary that give shape to developing conceptual understandings.Deep learning phase: When—through the solving of rich high-cognitive tasks and rigorous discussion—students make connections among conceptual ideas, form mathematical generalizations, and apply and practice procedural skills with fluency.Transfer phase: When students can independently think through more complex mathematics, and can plan, investigate, and elaborate as they apply what they know to new mathematical situations. To equip students for higher-level mathematics learning, we have to be clear about where students are, where they need to go, and what it looks like when they get there. Visible Learning for Math brings about powerful, precision teaching for K-12 through intentionally designed guided, collaborative, and independent learning.

Prediction Machines: The Simple Economics of Artificial Intelligence


Ajay Agrawal - 2018
    But facing the sea change that AI will bring can be paralyzing. How should companies set strategies, governments design policies, and people plan their lives for a world so different from what we know? In the face of such uncertainty, many analysts either cower in fear or predict an impossibly sunny future.But in Prediction Machines, three eminent economists recast the rise of AI as a drop in the cost of prediction. With this single, masterful stroke, they lift the curtain on the AI-is-magic hype and show how basic tools from economics provide clarity about the AI revolution and a basis for action by CEOs, managers, policy makers, investors, and entrepreneurs.When AI is framed as cheap prediction, its extraordinary potential becomes clear: Prediction is at the heart of making decisions under uncertainty. Our businesses and personal lives are riddled with such decisions. Prediction tools increase productivity--operating machines, handling documents, communicating with customers. Uncertainty constrains strategy. Better prediction creates opportunities for new business structures and strategies to compete. Penetrating, fun, and always insightful and practical, Prediction Machines follows its inescapable logic to explain how to navigate the changes on the horizon. The impact of AI will be profound, but the economic framework for understanding it is surprisingly simple.