Book picks similar to
Algorithms for Decision Making by Mykel J Kochenderfer
programming
math-compsci
technology
systems
Everybody Lies: Big Data, New Data, and What the Internet Can Tell Us About Who We Really Are
Seth Stephens-Davidowitz - 2017
This staggering amount of information—unprecedented in history—can tell us a great deal about who we are—the fears, desires, and behaviors that drive us, and the conscious and unconscious decisions we make. From the profound to the mundane, we can gain astonishing knowledge about the human psyche that less than twenty years ago, seemed unfathomable.Everybody Lies offers fascinating, surprising, and sometimes laugh-out-loud insights into everything from economics to ethics to sports to race to sex, gender and more, all drawn from the world of big data. What percentage of white voters didn’t vote for Barack Obama because he’s black? Does where you go to school effect how successful you are in life? Do parents secretly favor boy children over girls? Do violent films affect the crime rate? Can you beat the stock market? How regularly do we lie about our sex lives and who’s more self-conscious about sex, men or women?Investigating these questions and a host of others, Seth Stephens-Davidowitz offers revelations that can help us understand ourselves and our lives better. Drawing on studies and experiments on how we really live and think, he demonstrates in fascinating and often funny ways the extent to which all the world is indeed a lab. With conclusions ranging from strange-but-true to thought-provoking to disturbing, he explores the power of this digital truth serum and its deeper potential—revealing biases deeply embedded within us, information we can use to change our culture, and the questions we’re afraid to ask that might be essential to our health—both emotional and physical. All of us are touched by big data everyday, and its influence is multiplying. Everybody Lies challenges us to think differently about how we see it and the world.
Doing Data Science
Cathy O'Neil - 2013
But how can you get started working in a wide-ranging, interdisciplinary field that’s so clouded in hype? This insightful book, based on Columbia University’s Introduction to Data Science class, tells you what you need to know.In many of these chapter-long lectures, data scientists from companies such as Google, Microsoft, and eBay share new algorithms, methods, and models by presenting case studies and the code they use. If you’re familiar with linear algebra, probability, and statistics, and have programming experience, this book is an ideal introduction to data science.Topics include:Statistical inference, exploratory data analysis, and the data science processAlgorithmsSpam filters, Naive Bayes, and data wranglingLogistic regressionFinancial modelingRecommendation engines and causalityData visualizationSocial networks and data journalismData engineering, MapReduce, Pregel, and HadoopDoing Data Science is collaboration between course instructor Rachel Schutt, Senior VP of Data Science at News Corp, and data science consultant Cathy O’Neil, a senior data scientist at Johnson Research Labs, who attended and blogged about the course.
Effective Programming: More Than Writing Code
Jeff Atwood - 2012
He needed a way to keep track of software development over time – whatever he was thinking about or working on. He researched subjects he found interesting, then documented his research with a public blog post, which he could easily find and refer to later. Over time, increasing numbers of blog visitors found the posts helpful, relevant and interesting. Now, approximately 100,000 readers visit the blog per day and nearly as many comment and interact on the site.Effective Programming: More Than Writing Code is your one-stop shop for all things programming. Jeff writes with humor and understanding, allowing for both seasoned programmers and newbies to appreciate the depth of his research. From such posts as“The Programmer’s Bill of Rights” and “Why Cant Programmers... Program?” to “Working With the Chaos Monkey,” this book introduces the importance of writing responsible code, the logistics involved, and how people should view it more as a lifestyle than a career.
Computer Systems: A Programmer's Perspective
Randal E. Bryant - 2002
Often, computer science and computer engineering curricula don't provide students with a concentrated and consistent introduction to the fundamental concepts that underlie all computer systems. Traditional computer organization and logic design courses cover some of this material, but they focus largely on hardware design. They provide students with little or no understanding of how important software components operate, how application programs use systems, or how system attributes affect the performance and correctness of application programs. - A more complete view of systems - Takes a broader view of systems than traditional computer organization books, covering aspects of computer design, operating systems, compilers, and networking, provides students with the understanding of how programs run on real systems. - Systems presented from a programmers perspective - Material is presented in such a way that it has clear benefit to application programmers, students learn how to use this knowledge to improve program performance and reliability. They also become more effective in program debugging, because t
The Midrange Theory
Seth Partnow - 2021
But what is a “good” shot? Are all good shots created equally? And how might one identify players who are more or less likely to make and prevent those shots in the first place? The concept of basketball “analytics,” for lack of a better term, has been lauded, derided, and misunderstood. The incorporation of more data into NBA decision-making has been credited—or blamed—for everything from the death of the traditional center to the proliferation of three-point shooting to the alleged abandonment of the area of the court known as the midrange. What is beyond doubt is that understanding its methods has never been more important to watching and appreciating the NBA. In The Midrange Theory, Seth Partnow, NBA analyst for The Athletic and former Director of Basketball Research for the Milwaukee Bucks, explains how numbers have affected the modern NBA game, and how those numbers seek not to “solve” the game of basketball but instead urge us toward thinking about it in new ways.The relative value of Russell Westbrook’s triple-doublesWhy some players succeed in the playoffs while others don’tHow NBA teams think about constructing their rosters through the draft and free agencyThe difficulty in measuring defensive achievementThe fallacy of the “quick two”From shot selection to evaluating prospects to considering aesthetics and ethics while analyzing the box scores, Partnow deftly explores where the NBA is now, how it got here, and where it might be going next.
Python Data Science Handbook: Tools and Techniques for Developers
Jake Vanderplas - 2016
Several resources exist for individual pieces of this data science stack, but only with the Python Data Science Handbook do you get them all—IPython, NumPy, Pandas, Matplotlib, Scikit-Learn, and other related tools.Working scientists and data crunchers familiar with reading and writing Python code will find this comprehensive desk reference ideal for tackling day-to-day issues: manipulating, transforming, and cleaning data; visualizing different types of data; and using data to build statistical or machine learning models. Quite simply, this is the must-have reference for scientific computing in Python.With this handbook, you’ll learn how to use: * IPython and Jupyter: provide computational environments for data scientists using Python * NumPy: includes the ndarray for efficient storage and manipulation of dense data arrays in Python * Pandas: features the DataFrame for efficient storage and manipulation of labeled/columnar data in Python * Matplotlib: includes capabilities for a flexible range of data visualizations in Python * Scikit-Learn: for efficient and clean Python implementations of the most important and established machine learning algorithms
Dataclysm: Who We Are (When We Think No One's Looking)
Christian Rudder - 2014
In Dataclysm, Christian Rudder uses it to show us who we truly are. For centuries, we’ve relied on polling or small-scale lab experiments to study human behavior. Today, a new approach is possible. As we live more of our lives online, researchers can finally observe us directly, in vast numbers, and without filters. Data scientists have become the new demographers. In this daring and original book, Rudder explains how Facebook "likes" can predict, with surprising accuracy, a person’s sexual orientation and even intelligence; how attractive women receive exponentially more interview requests; and why you must have haters to be hot. He charts the rise and fall of America’s most reviled word through Google Search and examines the new dynamics of collaborative rage on Twitter. He shows how people express themselves, both privately and publicly. What is the least Asian thing you can say? Do people bathe more in Vermont or New Jersey? What do black women think about Simon & Garfunkel? (Hint: they don’t think about Simon & Garfunkel.) Rudder also traces human migration over time, showing how groups of people move from certain small towns to the same big cities across the globe. And he grapples with the challenge of maintaining privacy in a world where these explorations are possible. Visually arresting and full of wit and insight, Dataclysm is a new way of seeing ourselves—a brilliant alchemy, in which math is made human and numbers become the narrative of our time.
Compilers: Principles, Techniques, and Tools
Alfred V. Aho - 1986
The authors present updated coverage of compilers based on research and techniques that have been developed in the field over the past few years. The book provides a thorough introduction to compiler design and covers topics such as context-free grammars, fine state machines, and syntax-directed translation.
Programming Rust: Fast, Safe Systems Development
Jim Blandy - 2015
Rust's modern, flexible types ensure your program is free of null pointer dereferences, double frees, dangling pointers, and similar bugs, all at compile time, without runtime overhead. In multi-threaded code, Rust catches data races at compile time, making concurrency much easier to use.Written by two experienced systems programmers, this book explains how Rust manages to bridge the gap between performance and safety, and how you can take advantage of it. Topics include:How Rust represents values in memory (with diagrams)Complete explanations of ownership, moves, borrows, and lifetimesCargo, rustdoc, unit tests, and how to publish your code on crates.io, Rust's public package repositoryHigh-level features like generic code, closures, collections, and iterators that make Rust productive and flexibleConcurrency in Rust: threads, mutexes, channels, and atomics, all much safer to use than in C or C++Unsafe code, and how to preserve the integrity of ordinary code that uses itExtended examples illustrating how pieces of the language fit together
Know Your Worth : Stop Thinking, Start Doing
N.K. Sondhi - 2017
You would find yourself closely connected to these stories. They will encourage you to explore your own potential to inspire you, and to achieve your real worth. This book will also help you to understand the traits that keep you from achieving your dreams. The book lays down a process to help you emerge from the clutches of negativity and develop a positive approach towards life.By investing time in yourself, acknowledging your potential, setting a worthy goal, avoiding common traps, surviving bad days and harvesting the power of thoughts, you can be successful.Read this interesting book to Know Your Worth.-------------------------------------------------N.K. Sondhi:N.K. Sondhi’s first book was 'Management of Banking', which draws upon his experiences as a manager in the Punjab National Bank. He then turned to fiction writing, bringing forth the seen and unseen aftermaths of the partition of India in 1947 in his novel 'Cart full of Husk'. He followed it up with a short non-fiction, 'Forgotten City of Delhi (How Delhi became Delhi)'. He wrote his next book, 'A Match Made in Heaven: A 2000-year-old love story', based on the life of an Indian princess, who became first queen of Korea in 48 AD.Working with young people as he pursued social activities after his retirement, he sensed the restlessness among youngsters, who are facing a large number of problems due to stiff neck to neck competition in every field of life. Growing use of advanced technology has further alienated them from the main stream of the society. This has led him to initiate this book 'Know Your Worth' with the young and enterprising writer Ms. Vibha Malhotra.-------------------------------------------------Vibha Malhotra:Vibha Malhotra is the founder of 'Literature Studio' and editor-in-chief of the literary e-journal 'Literature Studio Review'. In the past, she has worked as an editor with Dorling Kindersley (Penguin Random House) where she has edited beautiful coffee table books on subjects such as history, nature, fitness, lifestyle, and travel.She is also a poet and a translator. Her work has been published in literary journals across the world such as Wasafiri, Muse India, Tipton Poetry Journal, The Luxembourg Review, Red Fez, and in dailies such as The Times of India and Ceylon Today. 'Know Your Worth' is her first work as an author.Vibha holds a Master of Arts in Creative Writing from Newcastle University, UK. She teaches creative writing to all age groups. By Profession, Vibha is a Lead Software Engineer at Adobe Systems.-------------------------------------------------CONTENTS1. Acknowledge Your Superpowers2. Invest in Yourself3. Take Charge4. Set a Worthy Goal5. Identify Your Worst Enemy6. Turn Your Fear into an Opportunity7. Avoid the Common Traps8. Harvest the Power of Thoughts9. Watch Your Attitude10. Keep Your Communication Clear11. Be Mindful12. Surviving Bad Days13. Nurture Your Ecosystem14. Stay SuccessfulINVEST IN YOURSELF Now that you know that you have superpowers that are there within you and can be harvested whenever you need them, it is important to take time to really explore all your strengths and weaknesses. Only then can you be fully prepared to achieve your goals. But we are mostly clueless that understanding ourselves doesn’t have to be a slow, tedious process, it can always be sped up.All of us are born with inherent likes and dislikes. Even a fetus in the womb has its own taste preferences, resulting in the seemingly irrational food cravings that expecting mothers experience. These preferences, likes, and dislikes are clues to the things you will be good at. If a child enjoys painting more than singing, chances are that the child will be better at painting than he/she is at singing. You can think of these as clues that nature chose to expose to us so that we can carve a satisfying path for ourselves.Most of us, even as adults, have whims, and mostly we choose to ignore them. Even as children, we are rarely able to indulge in every whim. There are always limitations – in terms of time, finances, facilities etc. – to keep us from fully exploring what we are capable of. But these are not the only factors that stop us. The biggest factor, in fact, is our own inhibitions, especially once we are grown-ups. We are afraid of new experiences, afraid of disappointment, afraid of failure, afraid of making fools of ourselves. And this fear keeps us from taking advantage of opportunities to gather new experiences. Let us try to understand this with the example of a young girl called Shikha. Shikha and the Ideation CompetitionShikha was an editor at a publishing house. She was very good at her job and apart from being an excellent editor, she also often proposed new book ideas to the publishing house.The publishing house announced a competition in which teams would work together and come up with new book ideas that they would then present to a jury comprising of senior publishers from all over the world. The selected idea would then be converted into a book that would be sold all over the world.Shikha had never ever participated in a competition, let alone won it. She wasn’t at all confident of her abilities to work in a team. And the fact that the competition was about new book ideas was making her restless. By proposing new book ideas in the past, she had earned a reputation in that area. Her colleagues and even her boss thought of her as a creative thinker. Shikha was worried that if she participated in this competition and lost it, her reputation as a creative thinker would be tarnished too. Can you guess why she was so full of doubts? It was because she had always attributed her past achievements to good luck, and had never given herself any credit for the book ideas she had come up with. Thus, she was afraid of being exposed as someone who really did not possess any great talent.She was still in this state of dilemma when she discovered that her manager had already nominated Shikha’s name for the competition. Now she had no choice, so she decided to go with the flow. With each passing day, her desperation to win the contest increased, and by the time the date of the competition arrived, she found herself unable to sleep. She knew that she would do anything to win this competition. For the first time in her life she was this passionate about something. She wanted to give it her all.On the day of the competition, she was put in a team and the team started with discussing the various ideas that all members had. Shikha had a great idea, but when she saw more merit in the idea proposed by another team member, she voted for it to be taken up for further preparation and the final presentation. She was almost feverish with excitement. And when her team members were of the opinion that they should give their best and not really care if they win or lose, Shikha was single-minded about her goal of winning the competition. Her focus proved to be contagious and soon all her team-members too were bubbling with enthusiasm. Guided by their single goal, the group of strangers really became a team and the initial idea evolved to become something they all believed in. Though the team leader was someone else, everyone could see that Shikha was the driving force for the team. When it was time to present their idea, the team leader proposed that Shikha should do it. And the presentation left the judges mesmerized. When their team emerged the winner, no one was surprised. Their idea and their presentation of it were deemed to be the best.Once she was out of the competition frenzy, Shikha herself was surprised. She couldn’t understand what had come over her during the competition. But she was glad to discover this other Shikha. She had gone into the competition based on her creative thinking, but her team had emerged a winner because of her team spirit and leadership skills. Shikha was surprised to discover these two new skills in herself. She had never thought herself capable of what she had achieved. Most of us are like Shikha – capable, but afraid of failure and public ridicule. And this is why we do not take chances in life. We like to play safe. But one can never really truly understand oneself by remaining in a shell. Unless you experience new things, you can never experience a new you. Unless you take risks, you can never transcend your normal, day-to-day existence.But, what gives us the capacity to take risks? Our confidence on our strengths and abilities. And from where do we get this confidence? Unfortunately, it isn’t a commodity and you cannot buy it from a shop. Money can’t buy you confidence. You need to work hard to develop it. You need to test yourself, which is again done by putting yourself in situations that you feel are beyond your reach. So, this is once again a chicken-and-egg situation. But after you have been through some such cycles and are confident of the situations you can handle, you are in a better position to fix your goals.However, it is easier said than done. Unfortunately, life is not a fairy tale and this means that we will not succeed every time we take up a challenge. There will also be times when we fail. This is inevitable. We will invariably have to face problems, and this may shake our confidence. Dealing with failures is not easy. It is like a double-edged sword. If you take failures too seriously, they may end up crushing you. On the other hand, if you take them too lightly, you will not learn any lessons from them, which means that the risk that you took would go to waste. So, you need to recognize failures for what they are – failures. Nothing more, nothing less. If you fail in a challenge, it does not mean that you yourself are a failure. This is the most common mistake we commit. Failing a challenge means that you failed that challenge. You need to analyze the situation, see what you could have done better, and move on to the next challenge where you can test your learnings.This act of never giving up, will give you confidence and this confidence helps us realize our capabilities. And this, in turn, shows in our personality. We hold our head high. We walk with determination. We talk with conviction, and we are normally in a good mood. Confidence also gives us perseverance – the ability to keep going after a failure. If you haven’t invested in yourself, you are more likely to give up after a failure or two.Confidence helps us stay on our path and not go astray. Many hurdles and problems may block our way and discourage us, but if we have confidence, we will not let these hurdles stop us. Instead we will search for an alternate path to our goal. The Little Bird and the BranchOnce a little bird landed on a branch high up a tall tree. The jungle below was full of dangerous predators but at this height, they posed no danger to the little bird. Feeling safe and protected, the little bird rested, enjoying the beautiful view around, and feeling completely at peace. Just as the bird became used to the branch, a strong wind started blowing, shaking the entire tree. The tree swayed with such intensity that it appeared the branch would break and fall down.To other animals, this could be a matter of great worry, but the little bird was not worried. Do you know why? Because the little bird knew its own powers and strengths. Even if the branch was to fall down, the bird knew that it had wings and the ability to fly. And the bird was also aware that if this branch was to fall, there are many other branches that could be used instead. Therefore, the bird, though tiny in size, sat on the branch, braving the high wind. The animals below, all of them much stronger than the bird, were filled with much admiration for this courageous little creature who was braving difficult circumstances. The story of this small bird tells us a lot about our own self-confidence and courage. If one road is blocked there are others we can follow. And if there are no new roads, there’s always the earth on which we can make a new road.
Mining of Massive Datasets
Anand Rajaraman - 2011
This book focuses on practical algorithms that have been used to solve key problems in data mining and which can be used on even the largest datasets. It begins with a discussion of the map-reduce framework, an important tool for parallelizing algorithms automatically. The authors explain the tricks of locality-sensitive hashing and stream processing algorithms for mining data that arrives too fast for exhaustive processing. The PageRank idea and related tricks for organizing the Web are covered next. Other chapters cover the problems of finding frequent itemsets and clustering. The final chapters cover two applications: recommendation systems and Web advertising, each vital in e-commerce. Written by two authorities in database and Web technologies, this book is essential reading for students and practitioners alike.
The Hundred-Page Machine Learning Book
Andriy Burkov - 2019
During that week, you will learn almost everything modern machine learning has to offer. The author and other practitioners have spent years learning these concepts.Companion wiki — the book has a continuously updated wiki that extends some book chapters with additional information: Q&A, code snippets, further reading, tools, and other relevant resources.Flexible price and formats — choose from a variety of formats and price options: Kindle, hardcover, paperback, EPUB, PDF. If you buy an EPUB or a PDF, you decide the price you pay!Read first, buy later — download book chapters for free, read them and share with your friends and colleagues. Only if you liked the book or found it useful in your work, study or business, then buy it.
The Linux Programming Interface: A Linux and Unix System Programming Handbook
Michael Kerrisk - 2010
You'll learn how to:Read and write files efficiently Use signals, clocks, and timers Create processes and execute programs Write secure programs Write multithreaded programs using POSIX threads Build and use shared libraries Perform interprocess communication using pipes, message queues, shared memory, and semaphores Write network applications with the sockets API While The Linux Programming Interface covers a wealth of Linux-specific features, including epoll, inotify, and the /proc file system, its emphasis on UNIX standards (POSIX.1-2001/SUSv3 and POSIX.1-2008/SUSv4) makes it equally valuable to programmers working on other UNIX platforms.The Linux Programming Interface is the most comprehensive single-volume work on the Linux and UNIX programming interface, and a book that's destined to become a new classic.Praise for The Linux Programming Interface "If I had to choose a single book to sit next to my machine when writing software for Linux, this would be it." —Martin Landers, Software Engineer, Google "This book, with its detailed descriptions and examples, contains everything you need to understand the details and nuances of the low-level programming APIs in Linux . . . no matter what the level of reader, there will be something to be learnt from this book." —Mel Gorman, Author of Understanding the Linux Virtual Memory Manager "Michael Kerrisk has not only written a great book about Linux programming and how it relates to various standards, but has also taken care that bugs he noticed got fixed and the man pages were (greatly) improved. In all three ways, he has made Linux programming easier. The in-depth treatment of topics in The Linux Programming Interface . . . makes it a must-have reference for both new and experienced Linux programmers." —Andreas Jaeger, Program Manager, openSUSE, Novell "Michael's inexhaustible determination to get his information right, and to express it clearly and concisely, has resulted in a strong reference source for programmers. While this work is targeted at Linux programmers, it will be of value to any programmer working in the UNIX/POSIX ecosystem." —David Butenhof, Author of Programming with POSIX Threads and Contributor to the POSIX and UNIX Standards ". . . a very thorough—yet easy to read—explanation of UNIX system and network programming, with an emphasis on Linux systems. It's certainly a book I'd recommend to anybody wanting to get into UNIX programming (in general) or to experienced UNIX programmers wanting to know 'what's new' in the popular GNU/Linux system." —Fernando Gont, Network Security Researcher, IETF Participant, and RFC Author ". . . encyclopedic in the breadth and depth of its coverage, and textbook-like in its wealth of worked examples and exercises. Each topic is clearly and comprehensively covered, from theory to hands-on working code. Professionals, students, educators, this is the Linux/UNIX reference that you have been waiting for." —Anthony Robins, Associate Professor of Computer Science, The University of Otago "I've been very impressed by the precision, the quality and the level of detail Michael Kerrisk put in his book. He is a great expert of Linux system calls and lets us share his knowledge and understanding of the Linux APIs." —Christophe Blaess, Author of Programmation systeme en C sous Linux ". . . an essential resource for the serious or professional Linux and UNIX systems programmer. Michael Kerrisk covers the use of all the key APIs across both the Linux and UNIX system interfaces with clear descriptions and tutorial examples and stresses the importance and benefits of following standards such as the Single UNIX Specification and POSIX 1003.1." —Andrew Josey, Director, Standards, The Open Group, and Chair of the POSIX 1003.1 Working Group "What could be better than an encyclopedic reference to the Linux system, from the standpoint of the system programmer, written by none other than the maintainer of the man pages himself? The Linux Programming Interface is comprehensive and detailed. I firmly expect it to become an indispensable addition to my programming bookshelf." —Bill Gallmeister, Author of POSIX.4 Programmer's Guide: Programming for the Real World ". . . the most complete and up-to-date book about Linux and UNIX system programming. If you're new to Linux system programming, if you're a UNIX veteran focused on portability while interested in learning the Linux way, or if you're simply looking for an excellent reference about the Linux programming interface, then Michael Kerrisk's book is definitely the companion you want on your bookshelf." —Loic Domaigne, Chief Software Architect (Embedded), Corpuls.com
Agile!: The Good, the Hype and the Ugly
Bertrand Meyer - 2014
The book details agile principles, roles, managerial practices, technical practices and artifacts, offering a complete review that will help readers master all the important agile ideas.