Language Implementation Patterns: Techniques for Implementing Domain-Specific Languages


Terence Parr - 2009
    Instead of writing code in a general-purpose programming language, you can first build a custom language tailored to make you efficient in a particular domain. The key is understanding the common patterns found across language implementations. Language Design Patterns identifies and condenses the most common design patterns, providing sample implementations of each. The pattern implementations use Java, but the patterns themselves are completely general. Some of the implementations use the well-known ANTLR parser generator, so readers will find this book an excellent source of ANTLR examples as well. But this book will benefit anyone interested in implementing languages, regardless of their tool of choice. Other language implementation books focus on compilers, which you rarely need in your daily life. Instead, Language Design Patterns shows you patterns you can use for all kinds of language applications. You'll learn to create configuration file readers, data readers, model-driven code generators, source-to-source translators, source analyzers, and interpreters. Each chapter groups related design patterns and, in each pattern, you'll get hands-on experience by building a complete sample implementation. By the time you finish the book, you'll know how to solve most common language implementation problems.

Program or Be Programmed: Ten Commands for a Digital Age


Douglas Rushkoff - 2010
    But for all the heat of claim and counter-claim, the argument is essentially beside the point: it’s here; it’s everywhere. The real question is, do we direct technology, or do we let ourselves be directed by it and those who have mastered it? “Choose the former,” writes Rushkoff, “and you gain access to the control panel of civilization. Choose the latter, and it could be the last real choice you get to make.” In ten chapters, composed of ten “commands” accompanied by original illustrations from comic artist Leland Purvis, Rushkoff provides cyberenthusiasts and technophobes alike with the guidelines to navigate this new universe.In this spirited, accessible poetics of new media, Rushkoff picks up where Marshall McLuhan left off, helping readers come to recognize programming as the new literacy of the digital age––and as a template through which to see beyond social conventions and power structures that have vexed us for centuries. This is a friendly little book with a big and actionable message. World-renowned media theorist and counterculture figure Douglas Rushkoff is the originator of ideas such as “viral media,” “social currency” and “screenagers.” He has been at the forefront of digital society from its beginning, correctly predicting the rise of the net, the dotcom boom and bust, as well as the current financial crisis. He is a familiar voice on NPR, face on PBS, and writer in publications from Discover Magazine to the New York Times.“Douglas Rushkoff is one of the great thinkers––and writers––of our time.” —Timothy Leary“Rushkoff is damn smart. As someone who understood the digital revolution faster and better than almost anyone, he shows how the internet is a social transformer that should change the way your business culture operates." —Walter Isaacson

Almost Perfect: How a Bunch of Regular Guys Built WordPerfect Corporation


W.E. Pete Peterson - 1993
    A former executive at the WordPerfect Corporation details the company's rise in the computer industry and what compelled him to leave after ten years as a driving force in the company.

Tmux 2: Productive Mouse-Free Development


Brian P. Hogan - 2016
    The time you spend context switching between your editor and your consoles eats away at your productivity. Take control of your environment with tmux, a terminal multiplexer that you can tailor to your workflow. With this updated second edition for tmux 2.3, you'll customize, script, and leverage tmux's unique abilities to craft a productive terminal environment that lets you keep your fingers on your keyboard's home row.You have a database console, web server, test runner, and text editor running at the same time, but switching between them and trying to find what you need takes up valuable time and breaks your concentration. By using tmux 2.3, you can improve your productivity and regain your focus. This book will show you how.This second edition includes many features requested by readers, including how to integrate plugins into your workflow, how to integrate tmux with Vim for seamless navigation - oh, and how to use tmux on Windows 10.Use tmux to manage multiple terminal sessions in a single window using only your keyboard. Manage and run programs side by side in panes, and create the perfect development environment with custom scripts so that when you're ready to work, your programs are waiting for you. Manipulate text with tmux's copy and paste buffers, so you can move text around freely between applications. Discover how easy it is to use tmux to collaborate remotely with others, and explore more advanced usage as you manage multiple tmux sessions, add custom scripts into the tmux status line, and integrate tmux with your system.Whether you're an application developer or a system administrator, you'll find many useful tricks and techniques to help you take control of your terminal.

What's New in Java 7?


Madhusudhan Konda - 2011
    Madhusudhan Konda provides an overview of these, including strings in switch statements, multi-catch exception handling, try-with-resource statements, the new File System API, extensions of the JVM, support for dynamically-typed languages, and the fork and join framework for task parallelism.

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.

Chaos Monkeys: Obscene Fortune and Random Failure in Silicon Valley


Antonio García Martínez - 2016
    Infrastructure engineers use a software version of this “chaos monkey” to test online services’ robustness—their ability to survive random failure and correct mistakes before they actually occur. Tech entrepreneurs are society’s chaos monkeys, disruptors testing and transforming every aspect of our lives, from transportation (Uber) and lodging (AirBnB) to television (Netflix) and dating (Tinder). One of Silicon Valley’s most audacious chaos monkeys is Antonio García Martínez.After stints on Wall Street and as CEO of his own startup, García Martínez joined Facebook’s nascent advertising team, turning its users’ data into profit for COO Sheryl Sandberg and chairman and CEO Mark “Zuck” Zuckerberg. Forced out in the wake of an internal product war over the future of the company’s monetization strategy, García Martínez eventually landed at rival Twitter. He also fathered two children with a woman he barely knew, committed lewd acts and brewed illegal beer on the Facebook campus (accidentally flooding Zuckerberg's desk), lived on a sailboat, raced sport cars on the 101, and enthusiastically pursued the life of an overpaid Silicon Valley wastrel.Now, this gleeful contrarian unravels the chaotic evolution of social media and online marketing and reveals how it is invading our lives and shaping our future. Weighing in on everything from startups and credit derivatives to Big Brother and data tracking, social media monetization and digital “privacy,” García Martínez shares his scathing observations and outrageous antics, taking us on a humorous, subversive tour of the fascinatingly insular tech industry. Chaos Monkeys lays bare the hijinks, trade secrets, and power plays of the visionaries, grunts, sociopaths, opportunists, accidental tourists, and money cowboys who are revolutionizing our world. The question is, will we survive?

Deep Thinking: Where Machine Intelligence Ends and Human Creativity Begins


Garry Kasparov - 2017
    It was the dawn of a new era in artificial intelligence: a machine capable of beating the reigning human champion at this most cerebral game. That moment was more than a century in the making, and in this breakthrough book, Kasparov reveals his astonishing side of the story for the first time. He describes how it felt to strategize against an implacable, untiring opponent with the whole world watching, and recounts the history of machine intelligence through the microcosm of chess, considered by generations of scientific pioneers to be a key to unlocking the secrets of human and machine cognition. Kasparov uses his unrivaled experience to look into the future of intelligent machines and sees it bright with possibility. As many critics decry artificial intelligence as a menace, particularly to human jobs, Kasparov shows how humanity can rise to new heights with the help of our most extraordinary creations, rather than fear them. Deep Thinking is a tightly argued case for technological progress, from the man who stood at its precipice with his own career at stake.

Turing's Cathedral: The Origins of the Digital Universe


George Dyson - 2012
    In Turing’s Cathedral, George Dyson focuses on a small group of men and women, led by John von Neumann at the Institute for Advanced Study in Princeton, New Jersey, who built one of the first computers to realize Alan Turing’s vision of a Universal Machine. Their work would break the distinction between numbers that mean things and numbers that do things—and our universe would never be the same. Using five kilobytes of memory (the amount allocated to displaying the cursor on a computer desktop of today), they achieved unprecedented success in both weather prediction and nuclear weapons design, while tackling, in their spare time, problems ranging from the evolution of viruses to the evolution of stars. Dyson’s account, both historic and prophetic, sheds important new light on how the digital universe exploded in the aftermath of World War II. The proliferation of both codes and machines was paralleled by two historic developments: the decoding of self-replicating sequences in biology and the invention of the hydrogen bomb. It’s no coincidence that the most destructive and the most constructive of human inventions appeared at exactly the same time.  How did code take over the world? In retracing how Alan Turing’s one-dimensional model became John von Neumann’s two-dimensional implementation, Turing’s Cathedral offers a series of provocative suggestions as to where the digital universe, now fully three-dimensional, may be heading next.

Free Software, Free Society: Selected Essays


Richard M. Stallman - 2002
    Healso discusses the social aspects of software and how free softwarecan create community and social justice.Given the current turmoil in copyright and patent laws, includingthe DMCA and proposed CBDTPA, these essays are more relevant thanever. Stallman tackles head-on the essential issues driving thecurrent changes in copyright law. He argues that for creativity toflourish, software must be free of inappropriate and overly-broadlegal constraints. Over the past twenty years his arguments andactions have changed the course of software history; this new book issure to impact the future of software and legal policies in the yearsto come.Lawrence Lessig, the author of two well-known books on similar topics,writes the introduction. He is a noted legal expert on copyright lawand a Stanford Law School professor.

Landing Eagle: Inside the Cockpit During the First Moon Landing


Michael Engle - 2019
    It was a sea in name only. It was actually a bone dry, ancient dusty basin pockmarked with craters and littered with rocks and boulders. Somewhere in that 500 mile diameter basin, the astronauts would attempt to make Mankind’s first landing on the Moon. Neil Armstrong would pilot the Lunar Module “Eagle” during its twelve minute descent from orbit down to a landing. Col. Edwin “Buzz” Aldrin would assist him. On the way down they would encounter a host of problems, any one of which could have potentially caused them to have to call off the landing, or, even worse, die making the attempt. The problems were all technical-communications problems, computer problems, guidance problems, sensor problems. Armstrong and Aldrin faced the very real risk of dying by the very same technical sword that they had to live by in order to accomplish the enormous task of landing on the Moon for the first time. Yet the human skills Armstrong and Aldrin employed would be more than equal to the task. Armstrong’s formidable skills as an aviator, honed from the time he was a young boy, would serve him well as he piloted Eagle down amidst a continuing series of systems problems that might have fatally distracted a lesser aviator. Armstrong’s brilliant piloting was complemented by Aldrin’s equally remarkable discipline and calmness as he stoically provided a running commentary on altitude and descent rate while handling systems problems that threatened the landing. Finally, after a harrowing twelve and a half minutes, Armstrong gently landed Eagle at “Tranquility Base”, a name he had personally chosen to denote the location of the first Moon landing. In “Landing Eagle-Inside the Cockpit During the First Moon Landing”, author Mike Engle gives a minute by minute account of the events that occurred throughout Eagle’s descent and landing on the Moon. Engle, a retired NASA engineer and Mission Control flight controller, uses NASA audio files of actual voice recordings made inside Eagle’s cockpit during landing to give the reader an “inside the cockpit” perspective on the first Moon landing. Engle’s transcripts of these recordings, along with background material on the history and technical details behind the enormous effort to accomplish the first Moon landing, give a new and fascinating insight into the events that occurred on that remarkable day fifty years ago.

The Dream Machine: J.C.R. Licklider and the Revolution That Made Computing Personal


M. Mitchell Waldrop - 2001
    C. R. Licklider, whose visionary dream of a human-computer symbiosis transformed the course of modern science and led to the development of the personal computer. Reprint.

The Cuckoo's Egg: Tracking a Spy Through the Maze of Computer Espionage


Clifford Stoll - 1989
    citizen recognized its ominous potential. Armed with clear evidence of computer espionage, he began a highly personal quest to expose a hidden network of spies that threatened national security. But would the authorities back him up? Cliff Stoll's dramatic firsthand account is "a computer-age detective story, instantly fascinating [and] astonishingly gripping" (Smithsonian). Cliff Stoll was an astronomer turned systems manager at Lawrence Berkeley Lab when a 75-cent accounting error alerted him to the presence of an unauthorized user on his system. The hacker's code name was "Hunter" -- a mysterious invader who managed to break into U.S. computer systems and steal sensitive military and security information. Stoll began a one-man hunt of his own: spying on the spy. It was a dangerous game of deception, broken codes, satellites, and missile bases -- a one-man sting operation that finally gained the attention of the CIA...and ultimately trapped an international spy ring fueled by cash, cocaine, and the KGB.

The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling


Ralph Kimball - 1996
    Here is a complete library of dimensional modeling techniques-- the most comprehensive collection ever written. Greatly expanded to cover both basic and advanced techniques for optimizing data warehouse design, this second edition to Ralph Kimball's classic guide is more than sixty percent updated.The authors begin with fundamental design recommendations and gradually progress step-by-step through increasingly complex scenarios. Clear-cut guidelines for designing dimensional models are illustrated using real-world data warehouse case studies drawn from a variety of business application areas and industries, including:* Retail sales and e-commerce* Inventory management* Procurement* Order management* Customer relationship management (CRM)* Human resources management* Accounting* Financial services* Telecommunications and utilities* Education* Transportation* Health care and insuranceBy the end of the book, you will have mastered the full range of powerful techniques for designing dimensional databases that are easy to understand and provide fast query response. You will also learn how to create an architected framework that integrates the distributed data warehouse using standardized dimensions and facts.This book is also available as part of the Kimball's Data Warehouse Toolkit Classics Box Set (ISBN: 9780470479575) with the following 3 books:The Data Warehouse Toolkit, 2nd Edition (9780471200246)The Data Warehouse Lifecycle Toolkit, 2nd Edition (9780470149775)The Data Warehouse ETL Toolkit (9780764567575)

Data Analysis with Open Source Tools: A Hands-On Guide for Programmers and Data Scientists


Philipp K. Janert - 2010
    With this insightful book, intermediate to experienced programmers interested in data analysis will learn techniques for working with data in a business environment. You'll learn how to look at data to discover what it contains, how to capture those ideas in conceptual models, and then feed your understanding back into the organization through business plans, metrics dashboards, and other applications.Along the way, you'll experiment with concepts through hands-on workshops at the end of each chapter. Above all, you'll learn how to think about the results you want to achieve -- rather than rely on tools to think for you.Use graphics to describe data with one, two, or dozens of variablesDevelop conceptual models using back-of-the-envelope calculations, as well asscaling and probability argumentsMine data with computationally intensive methods such as simulation and clusteringMake your conclusions understandable through reports, dashboards, and other metrics programsUnderstand financial calculations, including the time-value of moneyUse dimensionality reduction techniques or predictive analytics to conquer challenging data analysis situationsBecome familiar with different open source programming environments for data analysisFinally, a concise reference for understanding how to conquer piles of data.--Austin King, Senior Web Developer, MozillaAn indispensable text for aspiring data scientists.--Michael E. Driscoll, CEO/Founder, Dataspora