Live Coding

Live Coding

Author: Alan F. Blackwell

Publisher: MIT Press

Published: 2022-11-22

Total Pages: 353

ISBN-13: 0262372622

DOWNLOAD EBOOK

The first comprehensive introduction to the origins, aspirations, and evolution of live coding. Performative, improvised, on the fly: live coding is about how people interact with the world and each other via code. In the last few decades, live coding has emerged as a dynamic creative practice gaining attention across cultural and technical fields—from music and the visual arts through to computer science. Live Coding: A User’s Manual is the first comprehensive introduction to the practice, and a broader cultural commentary on the potential for live coding to open up deeper questions about contemporary cultural production and computational culture. This multi-authored book—by artists and musicians, software designers, and researchers—provides a practice-focused account of the origins, aspirations, and evolution of live coding, including expositions from a wide range of live coding practitioners. In a more conceptual register, the authors consider liveness, temporality, and knowledge in relation to live coding, alongside speculating on the practice’s future forms.


Data-Oriented Programming

Data-Oriented Programming

Author: Yehonathan Sharvit

Publisher: Simon and Schuster

Published: 2022-08-16

Total Pages: 422

ISBN-13: 1617298573

DOWNLOAD EBOOK

Eliminate the unavoidable complexity of object-oriented designs. The innovative data-oriented programming paradigm makes your systems less complex by making it simpler to access and manipulate data. In Data-Oriented Programming you will learn how to: Separate code from data Represent data with generic data structures Manipulate data with general-purpose functions Manage state without mutating data Control concurrency in highly scalable systems Write data-oriented unit tests Specify the shape of your data Benefit from polymorphism without objects Debug programs without a debugger Data-Oriented Programming is a one-of-a-kind guide that introduces the data-oriented paradigm. This groundbreaking approach represents data with generic immutable data structures. It simplifies state management, eases concurrency, and does away with the common problems you’ll find in object-oriented code. The book presents powerful new ideas through conversations, code snippets, and diagrams that help you quickly grok what’s great about DOP. Best of all, the paradigm is language-agnostic—you’ll learn to write DOP code that can be implemented in JavaScript, Ruby, Python, Clojure, and also in traditional OO languages like Java or C#. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Code that combines behavior and data, as is common in object-oriented designs, can introduce almost unmanageable complexity for state management. The Data-oriented programming (DOP) paradigm simplifies state management by holding application data in immutable generic data structures and then performing calculations using non-mutating general-purpose functions. Your applications are free of state-related bugs and your code is easier to understand and maintain. About the book Data-Oriented Programming teaches you to design software using the groundbreaking data-oriented paradigm. You’ll put DOP into action to design data models for business entities and implement a library management system that manages state without data mutation. The numerous diagrams, intuitive mind maps, and a unique conversational approach all help you get your head around these exciting new ideas. Every chapter has a lightbulb moment that will change the way you think about programming. What's inside Separate code from data Represent data with generic data structures Manage state without mutating data Control concurrency in highly scalable systems Write data-oriented unit tests Specify the shape of your data About the reader For programmers who have experience with a high-level programming language like JavaScript, Java, Python, C#, Clojure, or Ruby. About the author Yehonathan Sharvit has over twenty years of experience as a software engineer. He blogs, speaks at conferences, and leads Data-Oriented Programming workshops around the world. Table of Contents PART 1 FLEXIBILITY 1 Complexity of object-oriented programming 2 Separation between code and data 3 Basic data manipulation 4 State management 5 Basic concurrency control 6 Unit tests PART 2 SCALABILITY 7 Basic data validation 8 Advanced concurrency control 9 Persistent data structures 10 Database operations 11 Web services PART 3 MAINTAINABILITY 12 Advanced data validation 13 Polymorphism 14 Advanced data manipulation 15 Debugging


Rust in Action

Rust in Action

Author: Tim McNamara

Publisher: Simon and Schuster

Published: 2021-09-07

Total Pages: 454

ISBN-13: 163835622X

DOWNLOAD EBOOK

"This well-written book will help you make the most of what Rust has to offer." - Ramnivas Laddad, author of AspectJ in Action Rust in Action is a hands-on guide to systems programming with Rust. Written for inquisitive programmers, it presents real-world use cases that go far beyond syntax and structure. Summary Rust in Action introduces the Rust programming language by exploring numerous systems programming concepts and techniques. You'll be learning Rust by delving into how computers work under the hood. You'll find yourself playing with persistent storage, memory, networking and even tinkering with CPU instructions. The book takes you through using Rust to extend other applications and teaches you tricks to write blindingly fast code. You'll also discover parallel and concurrent programming. Filled to the brim with real-life use cases and scenarios, you'll go beyond the Rust syntax and see what Rust has to offer in real-world use cases. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Rust is the perfect language for systems programming. It delivers the low-level power of C along with rock-solid safety features that let you code fearlessly. Ideal for applications requiring concurrency, Rust programs are compact, readable, and blazingly fast. Best of all, Rust’s famously smart compiler helps you avoid even subtle coding errors. About the book Rust in Action is a hands-on guide to systems programming with Rust. Written for inquisitive programmers, it presents real-world use cases that go far beyond syntax and structure. You’ll explore Rust implementations for file manipulation, networking, and kernel-level programming and discover awesome techniques for parallelism and concurrency. Along the way, you’ll master Rust’s unique borrow checker model for memory management without a garbage collector. What's inside Elementary to advanced Rust programming Practical examples from systems programming Command-line, graphical and networked applications About the reader For intermediate programmers. No previous experience with Rust required. About the author Tim McNamara uses Rust to build data processing pipelines and generative art. He is an expert in natural language processing and data engineering. Table of Contents 1 Introducing Rust PART 1 RUST LANGUAGE DISTINCTIVES 2 Language foundations 3 Compound data types 4 Lifetimes, ownership, and borrowing PART 2 DEMYSTIFYING SYSTEMS PROGRAMMING 5 Data in depth 6 Memory 7 Files and storage 8 Networking 9 Time and timekeeping 10 Processes, threads, and containers 11 Kernel 12 Signals, interrupts, and exceptions


Critical Code Studies

Critical Code Studies

Author: Mark C. Marino

Publisher: MIT Press

Published: 2020-03-10

Total Pages: 289

ISBN-13: 0262357437

DOWNLOAD EBOOK

An argument that we must read code for more than what it does—we must consider what it means. Computer source code has become part of popular discourse. Code is read not only by programmers but by lawyers, artists, pundits, reporters, political activists, and literary scholars; it is used in political debate, works of art, popular entertainment, and historical accounts. In this book, Mark Marino argues that code means more than merely what it does; we must also consider what it means. We need to learn to read code critically. Marino presents a series of case studies—ranging from the Climategate scandal to a hactivist art project on the US-Mexico border—as lessons in critical code reading. Marino shows how, in the process of its circulation, the meaning of code changes beyond its functional role to include connotations and implications, opening it up to interpretation and inference—and misinterpretation and reappropriation. The Climategate controversy, for example, stemmed from a misreading of a bit of placeholder code as a “smoking gun” that supposedly proved fabrication of climate data. A poetry generator created by Nick Montfort was remixed and reimagined by other poets, and subject to literary interpretation. Each case study begins by presenting a small and self-contained passage of code—by coders as disparate as programming pioneer Grace Hopper and philosopher Friedrich Kittler—and an accessible explanation of its context and functioning. Marino then explores its extra-functional significance, demonstrating a variety of interpretive approaches.


Software Studies

Software Studies

Author: Matthew Fuller

Publisher: MIT Press

Published: 2008

Total Pages: 349

ISBN-13: 0262062747

DOWNLOAD EBOOK

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.


Performing Electronic Music Live

Performing Electronic Music Live

Author: Kirsten Hermes

Publisher: CRC Press

Published: 2021-12-28

Total Pages: 347

ISBN-13: 1000470261

DOWNLOAD EBOOK

Performing Electronic Music Live lays out conceptual approaches, tools, and techniques for electronic music performance, from DJing, DAWs, MIDI controllers, traditional instruments, live sound design, hardware setups, custom software and hardware, to live visuals, venue acoustics, and live show promotion. Through case studies and contrasting tutorials by successful artists, Kirsten Hermes explores the many different ways in which you can create memorable experiences on stage. Featuring interviews with highly accomplished musicians and practitioners, readers can also expand on their knowledge with hands-on video tutorials for each chapter via the companion website, performingelectronicmusic.live. Performing Electronic Music Live is an essential, all-encompassing resource for professionals, students of music production courses, and researchers in the field of creative-focused performance technology.


The Developer's Code

The Developer's Code

Author: Ka Wai Cheung

Publisher: Pragmatic Bookshelf

Published: 2012-02-07

Total Pages: 140

ISBN-13: 1680505025

DOWNLOAD EBOOK

You're already a great coder, but awesome coding chops aren't always enough to get you through your toughest projects. You need these 50+ nuggets of wisdom. Veteran programmers: reinvigorate your passion for developing web applications. New programmers: here's the guidance you need to get started. With this book, you'll think about your job in new and enlightened ways. The Developer's Code isn't about the code you write, it's about the code you live by. There are no trite superlatives here. Packed with lessons learned from more than a decade of software development experience, author Ka Wai Cheung takes you through the programming profession from nearly every angle to uncover ways of sustaining a healthy connection with your work. You'll see how to stay productive even on the longest projects. You'll create a workflow that works with you, not against you. And you'll learn how to deal with clients whose goals don't align with your own. If you don't handle them just right, issues such as these can crush even the most seasoned, motivated developer. But with the right approach, you can transcend these common problems and become the professional developer you want to be. In more than 50 nuggets of wisdom, you'll learn: Why many traditional approaches to process and development roles in this industry are wrong - and how to sniff them out. Why you must always say "no" to the software pet project and open-ended timelines. How to incorporate code generation into your development process, and why its benefits go far beyond just faster code output. What to do when your client or end user disagrees with an approach you believe in. How to pay your knowledge forward to future generations of programmers through teaching and evangelism. If you're in this industry for the long run, you'll be coming back to this book again and again.


The Nature of Code

The Nature of Code

Author: Daniel Shiffman

Publisher: No Starch Press

Published: 2024-09-03

Total Pages: 642

ISBN-13: 1718503717

DOWNLOAD EBOOK

All aboard The Coding Train! This beginner-friendly creative coding tutorial is designed to grow your skills in a fun, hands-on way as you build simulations of real-world phenomena with “The Coding Train” YouTube star Daniel Shiffman. What if you could re-create the awe-inspiring flocking patterns of birds or the hypnotic dance of fireflies—with code? For over a decade, The Nature of Code has empowered countless readers to do just that, bridging the gap between creative expression and programming. This innovative guide by Daniel Shiffman, creator of the beloved Coding Train, welcomes budding and seasoned programmers alike into a world where code meets playful creativity. This JavaScript-based edition of Shiffman’s groundbreaking work gently unfolds the mysteries of the natural world, turning complex topics like genetic algorithms, physics-based simulations, and neural networks into accessible and visually stunning creations. Embark on this extraordinary adventure with projects involving: A physics engine: Simulate the push and pull of gravitational attraction. Flocking birds: Choreograph the mesmerizing dance of a flock. Branching trees: Grow lifelike and organic tree structures. Neural networks: Craft intelligent systems that learn and adapt. Cellular automata: Uncover the magic of self-organizing patterns. Evolutionary algorithms: Play witness to natural selection in your code. Shiffman’s work has transformed thousands of curious minds into creators, breaking down barriers between science, art, and technology, and inviting readers to see code not just as a tool for tasks but as a canvas for boundless creativity. Whether you’re deciphering the elegant patterns of natural phenomena or crafting your own digital ecosystems, Shiffman’s guidance is sure to inform and inspire. The Nature of Code is not just about coding; it’s about looking at the natural world in a new way and letting its wonders inspire your next creation. Dive in and discover the joy of turning code into art—all while mastering coding fundamentals along the way. NOTE: All examples are written with p5.js, a JavaScript library for creative coding, and are available on the book's website.


How Pac-Man Eats

How Pac-Man Eats

Author: Noah Wardrip-Fruin

Publisher: MIT Press

Published: 2020-12-15

Total Pages: 382

ISBN-13: 0262360977

DOWNLOAD EBOOK

How the tools and concepts for making games are connected to what games can and do mean; with examples ranging from Papers, Please to Dys4ia. In How Pac-Man Eats, Noah Wardrip-Fruin considers two questions: What are the fundamental ways that games work? And how can games be about something? Wardrip-Fruin argues that the two issues are related. Bridging formalist and culturally engaged approaches, he shows how the tools and concepts for making games are connected to what games can and do mean.


Programming for Musicians and Digital Artists

Programming for Musicians and Digital Artists

Author: Spencer Salazar

Publisher: Simon and Schuster

Published: 2014-12-23

Total Pages: 344

ISBN-13: 1638353204

DOWNLOAD EBOOK

Summary Programming for Musicians and Digital Artists: Creating Music with ChucK offers a complete introduction to programming in the open source music language ChucK. In it, you'll learn the basics of digital sound creation and manipulation while you discover the ChucK language. As you move example-by-example through this easy-to-follow book, you'll create meaningful and rewarding digital compositions and "instruments" that make sound and music in direct response to program logic, scores, gestures, and other systems connected via MIDI or the network. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About this Book A digital musician must manipulate sound precisely. ChucK is an audio-centric programming language that provides precise control over time, audio computation, and user interface elements like track pads and joysticks. Because it uses the vocabulary of sound, ChucK is easy to learn even for artists with little or no exposure to computer programming. Programming for Musicians and Digital Artists offers a complete introduction to music programming. In it, you'll learn the basics of digital sound manipulation while you learn to program using ChucK. Example-by-example, you'll create meaningful digital compositions and "instruments" that respond to program logic, scores, gestures, and other systems connected via MIDI or the network. You'll also experience how ChucK enables the on-the-fly musical improvisation practiced by communities of "live music coders" around the world. Written for readers familiar with the vocabulary of sound and music. No experience with computer programming is required. What's Inside Learn ChucK and digital music creation side-by-side Invent new sounds, instruments, and modes of performance Written by the creators of the ChucK language About the Authors Perry Cook, Ajay Kapur, Spencer Salazar, and Ge Wang are pioneers in the area of teaching and programming digital music. Ge is the creator and chief architect of the ChucK language. Table of Contents Introduction: ChucK programming for artistsPART 1 INTRODUCTION TO PROGRAMMING IN CHUCK Basics: sound, waves, and ChucK programming Libraries: ChucK's built-in tools Arrays: arranging and accessing your compositional data Sound files and sound manipulation Functions: making your own tools PART 2 NOW IT GETS REALLY INTERESTING! Unit generators: ChucK objects for sound synthesis and processing Synthesis ToolKit instruments Multithreading and concurrency: running many programs at once Objects and classes: making your own ChucK power tools Events: signaling between shreds and syncing to the outside world Integrating with other systems via MIDI, OSC, serial, and more