Book picks similar to
Growing Artificial Societies: Social Science from the Bottom Up by Joshua M. Epstein
complexity
sociology
non-fiction
science
Spam Nation: The Inside Story of Organized Cybercrime — from Global Epidemic to Your Front Door
Brian Krebs - 2014
Tracing the rise, fall, and alarming resurrection of the digital mafia behind the two largest spam pharmacies and countless viruses, phishing, and spyware attacks he delivers the first definitive narrative of the global spam problem and its threat to consumers everywhere.Blending cutting-edge research, investigative reporting, and firsthand interviews, this terrifying true story reveals how we unwittingly invite these digital thieves into our lives every day. From unassuming computer programmers right next door to digital mobsters like "Cosma" who unleashed a massive malware attack that has stolen thousands of Americans' logins and passwords, Krebs uncovers the shocking lengths to which these people will go to profit from our data and our wallets.Not only are hundreds of thousands of Americans exposing themselves to fraud and dangerously toxic products from rogue online pharmacies, but even those who never open junk messages are at risk. As Krebs notes, spammers can—and do—hack into accounts through these emails, harvest personal information like usernames and passwords, and sell them on the digital black market. The fallout from this global epidemic doesn't just cost consumers and companies billions, it costs lives too.Fast-paced and utterly gripping, Spam Nation ultimately proposes concrete solutions for protecting ourselves online and stemming this tidal wave of cybercrime, before it's too late."Krebs's talent for exposing the weaknesses in online security has earned him respect in the IT business and loathing among cybercriminals. His track record of scoops has helped him become the rare blogger who supports himself on the strength of his reputation for hard-nosed reporting."
Bloomberg Businessweek
Empty Planet: The Shock of Global Population Decline
Darrell Bricker - 2019
But a growing number of experts are sounding a different kind of alarm. Rather than growing exponentially, they argue, the global population is headed for a steep decline.Throughout history, depopulation was the product of catastrophe: ice ages, plagues, the collapse of civilizations. This time, however, we're thinning ourselves deliberately, by choosing to have fewer babies than we need to replace ourselves. In much of the developed and developing world, that decline is already underway, as urbanization, women's empowerment, and waning religiosity lead to smaller and smaller families. In Empty Planet, Ibbitson and Bricker travel from South Florida to Sao Paulo, Seoul to Nairobi, Brussels to Delhi to Beijing, drawing on a wealth of research and firsthand reporting to illustrate the dramatic consequences of this population decline--and to show us why the rest of the developing world will soon join in.They find that a smaller global population will bring with it a number of benefits: fewer workers will command higher wages; good jobs will prompt innovation; the environment will improve; the risk of famine will wane; and falling birthrates in the developing world will bring greater affluence and autonomy for women. But enormous disruption lies ahead, too. We can already see the effects in Europe and parts of Asia, as ageing populations and worker shortages weaken the economy and impose crippling demands on healthcare and social security. The United States is well-positioned to successfully navigate these coming demographic shifts--that is, unless growing isolationism and anti-immigrant backlash lead us to close ourselves off just as openness becomes more critical to our survival than ever before.Rigorously researched and deeply compelling, Empty Planet offers a vision of a future that we can no longer prevent--but one that we can shape, if we choose.
The C++ Programming Language
Bjarne Stroustrup - 1986
For this special hardcover edition, two new appendixes on locales and standard library exception safety (also available at www.research.att.com/ bs/) have been added. The result is complete, authoritative coverage of the C++ language, its standard library, and key design techniques. Based on the ANSI/ISO C++ standard, The C++ Programming Language provides current and comprehensive coverage of all C++ language features and standard library components. For example:abstract classes as interfaces class hierarchies for object-oriented programming templates as the basis for type-safe generic software exceptions for regular error handling namespaces for modularity in large-scale software run-time type identification for loosely coupled systems the C subset of C++ for C compatibility and system-level work standard containers and algorithms standard strings, I/O streams, and numerics C compatibility, internationalization, and exception safety Bjarne Stroustrup makes C++ even more accessible to those new to the language, while adding advanced information and techniques that even expert C++ programmers will find invaluable.
From Mathematics to Generic Programming
Alexander A. Stepanov - 2014
If you're a reasonably proficient programmer who can think logically, you have all the background you'll need. Stepanov and Rose introduce the relevant abstract algebra and number theory with exceptional clarity. They carefully explain the problems mathematicians first needed to solve, and then show how these mathematical solutions translate to generic programming and the creation of more effective and elegant code. To demonstrate the crucial role these mathematical principles play in many modern applications, the authors show how to use these results and generalized algorithms to implement a real-world public-key cryptosystem. As you read this book, you'll master the thought processes necessary for effective programming and learn how to generalize narrowly conceived algorithms to widen their usefulness without losing efficiency. You'll also gain deep insight into the value of mathematics to programming--insight that will prove invaluable no matter what programming languages and paradigms you use. You will learn aboutHow to generalize a four thousand-year-old algorithm, demonstrating indispensable lessons about clarity and efficiencyAncient paradoxes, beautiful theorems, and the productive tension between continuous and discreteA simple algorithm for finding greatest common divisor (GCD) and modern abstractions that build on itPowerful mathematical approaches to abstractionHow abstract algebra provides the idea at the heart of generic programmingAxioms, proofs, theories, and models: using mathematical techniques to organize knowledge about your algorithms and data structuresSurprising subtleties of simple programming tasks and what you can learn from themHow practical implementations can exploit theoretical knowledge