This collection of short expository, critical and speculative texts offers a field guide to the cultural, political, social and aesthetic impact of software. Experts from a range of disciplines each take a key topic in software and the understanding of software, such as algorithms and logical structures.
In Two Bits, Christopher M. Kelty investigates the history and cultural significance of Free Software, revealing the people and practices that have transformed not only software but also music, film, science, and education. Free Software is a set of practices devoted to the collaborative creation of software source code that is made openly and freely available through an unconventional use of copyright law. Kelty explains how these specific practices have reoriented the relations of power around the creation, dissemination, and authorization of all kinds of knowledge. He also makes an important contribution to discussions of public spheres and social imaginaries by demonstrating how Free Software is a “recursive public”—a public organized around the ability to build, modify, and maintain the very infrastructure that gives it life in the first place. Drawing on ethnographic research that took him from an Internet healthcare start-up company in Boston to media labs in Berlin to young entrepreneurs in Bangalore, Kelty describes the technologies and the moral vision that bind together hackers, geeks, lawyers, and other Free Software advocates. In each case, he shows how their practices and way of life include not only the sharing of software source code but also ways of conceptualizing openness, writing copyright licenses, coordinating collaboration, and proselytizing. By exploring in detail how these practices came together as the Free Software movement from the 1970s to the 1990s, Kelty also considers how it is possible to understand the new movements emerging from Free Software: projects such as Creative Commons, a nonprofit organization that creates copyright licenses, and Connexions, a project to create an online scholarly textbook commons.
A stimulating, eclectic accountof new media that finds its origins in old media, particularly the cinema. In this book Lev Manovich offers the first systematic and rigorous theory of new media. He places new media within the histories of visual and media cultures of the last few centuries. He discusses new media's reliance on conventions of old media, such as the rectangular frame and mobile camera, and shows how new media works create the illusion of reality, address the viewer, and represent space. He also analyzes categories and forms unique to new media, such as interface and database. Manovich uses concepts from film theory, art history, literary theory, and computer science and also develops new theoretical constructs, such as cultural interface, spatial montage, and cinegratography. The theory and history of cinema play a particularly important role in the book. Among other topics, Manovich discusses parallels between the histories of cinema and of new media, digital cinema, screen and montage in cinema and in new media, and historical ties between avant-garde film and new media.
"For every soul there is one true mate." So says Sebastien Valentin, a former privateer destined to spend eternity bringing soul mates together. Hexed by a voodoo priestess nearly two centuries ago, he is summoned by anyone who unsheathes the Sword of Hearts.... Former powerboat racing champion Jamie Sullivan has seen enough of the world that she doesn't believe in happy endings. And she certainly doesn't believe in the costumed pirate who appears after she draws the antique sword she discovers in her attic—or his claim that he will match three people with their soul mates. And the third will be Jamie herself... .A notorious rake whose resistance to love sealed his fate, Sebastien has a surprising gift for pairing lovers for a lifetime. He introduces Jamie's two closest friends to the happiness only true love brings. But when it comes time to find a union for the unique spirit he has discovered in Jamie Sullivan, Sebastien cannot imagine this fiery woman with anyone ... but himself. Can he break the curse that binds him? Or will he at long last lose his heart ... only to lose the woman he loves?
Get up to speed on Git for tracking, branching, merging, and managing code revisions. Through a series of step-by-step tutorials, this practical guide takes you quickly from Git fundamentals to advanced techniques, and provides friendly yet rigorous advice for navigating the many functions of this open source version control system. This thoroughly revised edition also includes tips for manipulating trees, extended coverage of the reflog and stash, and a complete introduction to the GitHub repository. Git lets you manage code development in a virtually endless variety of ways, once you understand how to harness the system’s flexibility. This book shows you how. Learn how to use Git for several real-world development scenarios Gain insight into Git’s common-use cases, initial tasks, and basic functions Use the system for both centralized and distributed version control Learn how to manage merges, conflicts, patches, and diffs Apply advanced techniques such as rebasing, hooks, and ways to handle submodules Interact with Subversion (SVN) repositories—including SVN to Git conversions Navigate, use, and contribute to open source projects though GitHub
This is "the Word" -- one man's word, certainly -- about the art (and artifice) of the state of our computer-centric existence. And considering that the "one man" is Neal Stephenson, "the hacker Hemingway" (Newsweek) -- acclaimed novelist, pragmatist, seer, nerd-friendly philosopher, and nationally bestselling author of groundbreaking literary works (Snow Crash, Cryptonomicon, etc., etc.) -- the word is well worth hearing. Mostly well-reasoned examination and partial rant, Stephenson's In the Beginning... was the Command Line is a thoughtful, irreverent, hilarious treatise on the cyber-culture past and present; on operating system tyrannies and downloaded popular revolutions; on the Internet, Disney World, Big Bangs, not to mention the meaning of life itself.
Novice programming comes of age / David Canfield Smith, Allen Cypher, Larry Tesler -- Generalizing by removing detail : how any program can be created by working with examples / Ken Kahn -- Demonstrational interfaces : sometimes you need a little intelligence, sometimes you need a lot / Brad A. Myers, Richard McDaniel -- Web browsing by example / Atsushi Sugiura -- Trainable information agents for the Web / Mathias Bauer, Dietmar Dengler, Gabriele Paul -- End users and GIS : a demonstration is worth a thousand words / Carol Traynor, Marian G. Williams -- Bringing programming by demonstration to CAD users / Patrick Girard -- Demonstrating the hidden features that make an application work / Richard McDaniel -- A reporting tool using programming by example for format designation / Tetsuya Masuishi, Nobuo Takahashi -- Composition by example / Toshiyuki Masui -- Learning repetitive text-editing procedures with SMARTedit / Tessa Lau ... [et al.] -- Training agents to recognize text by exampl ...
It’s been said that software is eating the planet. The modern economy—the world itself—relies on technology. Demand for the people who can produce it far outweighs the supply. So why do developers occupy largely subordinate roles in the corporate structure? Developer Hegemony explores the past, present, and future of the corporation and what it means for developers. While it outlines problems with the modern corporate structure, it’s ultimately a play-by-play of how to leave the corporate carnival and control your own destiny. And it’s an emboldening, specific vision of what software development looks like in the world of developer hegemony—one where developers band together into partner firms of “efficiencers,” finally able to command the pay, respect, and freedom that’s earned by solving problems no one else can. Developers, if you grow tired of being treated like geeks who can only be trusted to take orders and churn out code, consider this your call to arms. Bring about the autonomous future that’s rightfully yours. It’s time for developer hegemony.
The biggest challenge facing many game programmers is completing their game. Most game projects fizzle out, overwhelmed by the complexity of their own code. Game Programming Patterns tackles that exact problem. Based on years of experience in shipped AAA titles, this book collects proven patterns to untangle and optimize your game, organized as independent recipes so you can pick just the patterns you need. You will learn how to write a robust game loop, how to organize your entities using components, and take advantage of the CPUs cache to improve your performance. You'll dive deep into how scripting engines encode behavior, how quadtrees and other spatial partitions optimize your engine, and how other classic design patterns can be used in games.