The Art of Code - Dylan Beattie

NDC Conferences
26 Feb 202060:48
EducationalLearning
32 Likes 10 Comments

TLDRIn this thought-provoking talk, Dylan Beattie takes us on a mesmerizing journey through the art of code, exploring the intersection of technology, creativity, and artistic expression. He showcases mind-bending examples of code as art, delves into the realms of obfuscated programming contests, and unveils his own creation โ€“ the Rockstar programming language, which allows developers to write programs that are also 1980s heavy metal song lyrics. With humor and ingenuity, Beattie challenges our perceptions of what code can be, inspiring us to embrace the boundless potential of programming as a form of artistic expression.

Takeaways
  • ๐ŸŽจ Programming can be used as a form of art to create visually stunning and unconventional outputs by exploiting the quirks and loopholes in different programming languages.
  • ๐Ÿ”ญ Modern technology allows us to visualize and explore complex mathematical patterns and hidden worlds that were previously unseen, like the Mandelbrot set and deep dream images created through machine learning.
  • ๐Ÿงฉ Obfuscated and esoteric programming languages push the boundaries of what programming can achieve, resulting in creative and often humorous outputs like programs that print their own source code or are simultaneously valid in multiple languages.
  • ๐ŸŽต Programming can be used to create music and live coding experiences, allowing developers to express themselves through the creation of melodies and sounds.
  • ๐Ÿค˜ The Rockstar programming language allows developers to write programs that are also heavy metal song lyrics, blending creativity and functionality in a unique way.
  • ๐Ÿ–ผ๏ธ Artists are using code and programming as a medium to create new forms of art, such as generative art, interactive installations, and data visualizations.
  • ๐Ÿ”ฌ Programming languages like Chef and Shakespeare demonstrate how code can be designed to resemble and conform to other domains, such as recipes and literary works.
  • ๐ŸŒŸ The act of programming itself can be an artistic endeavor, with developers creating elegant, creative, and sometimes humorous solutions to problems.
  • ๐Ÿ•ฐ๏ธ Historical developments like Conway's Game of Life and the Mandelbrot set highlight how mathematics and programming can uncover hidden complexities and patterns in seemingly simple systems.
  • ๐Ÿš€ The constant evolution of programming languages and techniques challenges developers to think outside the box and embrace creativity in their problem-solving approaches.
Q & A
  • What is the significance of the Amstrad 6128 computer mentioned by the speaker?

    -The Amstrad 6128 was the first computer the speaker owned, which introduced him to the Logo programming language and sparked his interest in making the computer draw pictures through code.

  • What is the purpose of the International Obfuscated C Code Contest?

    -The International Obfuscated C Code Contest aims to write the most obscure and challenging C programs, highlighting the importance of programming style, stressing compilers with unusual code, and illustrating subtleties of the C language in a safe forum.

  • What is a polyquine, and how does it relate to different programming languages?

    -A polyquine is a program that is valid in multiple programming languages simultaneously. The speaker provided an example of a polyquine that prints its own source code when run in various languages like C, Ruby, Python, and Perl.

  • What is the significance of the Mandelbrot set in the context of the talk?

    -The Mandelbrot set is used as an example of the infinite complexity and self-similarity that can arise from simple mathematical rules. It represents the hidden beauty and patterns that computers and advanced mathematics have allowed us to visualize and explore.

  • What is the purpose of esoteric programming languages like Shakespeare and Chef?

    -Esoteric programming languages like Shakespeare and Chef aim to introduce creative and unconventional ways of writing programs, where the code itself becomes an art form, resembling plays or recipes, respectively.

  • What is the motivation behind the creation of the Rockstar programming language?

    -Rockstar was created as a joke, inspired by the idea of writing computer programs that are also bad 1980s heavy metal song lyrics, combining programming with the lyrical conventions of hard rock and metal music.

  • How does Rockstar handle variable names and numeric literals?

    -Rockstar allows variable names with spaces, categorized as simple, common, and proper variables. It also uses the lengths of words modulo 10 to represent numeric literals without using digits directly.

  • What is the significance of the speaker performing FizzBuzz in Rockstar at the end of the talk?

    -The speaker performed FizzBuzz in Rockstar to demonstrate how a Rockstar program can be perceived as an actual bad heavy metal song from the 1980s, showcasing the language's ability to blend programming and music.

  • What is the purpose of showcasing different approaches to creating art through code?

    -The speaker aimed to highlight the creative and artistic potential of code, showcasing examples where code itself becomes an art form, or where it is used as a tool to generate unique and innovative artworks across various mediums.

  • What is the overall message or theme conveyed by the speaker throughout the talk?

    -The overall message conveyed by the speaker is to celebrate the artistic and creative aspects of programming, encouraging developers to explore unconventional and imaginative approaches to coding, and to appreciate the beauty and complexity that can arise from seemingly simple rules or concepts.

Outlines
00:00
โญ๏ธ Reminiscing About the Logo Programming Language

The speaker shares his fond memories of his first computer, an Amstrad 6128, and how the Logo programming language introduced him to creating graphics and sparked his love for programming. He describes the thrill and excitement of being able to make the computer do what he wanted, a feeling that has stayed with him throughout his career.

05:01
๐ŸŽฎ Exploring Conway's Game of Life

The speaker discusses Conway's Game of Life, a cellular automaton with surprisingly complex behavior emerging from simple rules. He explains the rules, shares early visual representations, and describes how computers allowed for simulations that revealed intricate patterns and constructs like spaceships and glider guns. The Game of Life demonstrated that basic rules could generate immense complexity, foreshadowing concepts in chaos theory and complex systems.

10:02
๐Ÿ”Ž Discovering the Mandelbrot Set

The speaker introduces the Mandelbrot set, a remarkable mathematical phenomenon with infinite complexity arising from a simple equation. He discusses the work of Benoit Mandelbrot and how advances in computing power and visualization enabled the discovery and exploration of this intricate, self-similar fractal structure. The Mandelbrot set represents a hidden world of beauty that remained unseen until humans developed the tools to visualize and study it.

15:02
๐Ÿ–ผ๏ธ Using Technology to Create and Visualize Art

The speaker explores how technological advancements have enabled the creation and visualization of art in new and unprecedented ways. He discusses examples from movies and games, where computer-generated imagery has brought imaginary worlds to life. He also touches on the ethical debates surrounding the use of technology to recreate or manipulate real-life actors and characters.

20:02
๐Ÿง  The Art of Code and Convolutional Neural Networks

The speaker discusses the concept of code as an art form, referencing Donald Knuth's famous work "The Art of Computer Programming." He then delves into the world of convolutional neural networks, which mimic the human brain's ability to recognize patterns and shapes. The speaker showcases examples of using these networks to manipulate and "amplify" images, creating surreal and unsettling artworks that challenge our perceptions.

25:04
๐Ÿช„ Exploring Quines and Polyglot Programming

The speaker introduces the concept of quines, programs that can print their own source code, and showcases various examples across different programming languages. He then explores the realm of polyglot programming, where a single source code is valid in multiple programming languages simultaneously. These concepts demonstrate the creativity and ingenuity that can be achieved through code, blurring the lines between art and programming.

30:05
๐ŸŒ The Quirks of HTML and the Web Browser

The speaker showcases an HTML-based quine, a program that prints its own source code, by leveraging the quirks and parsing rules of web browsers. He demonstrates how CSS and HTML can be manipulated to display the source code itself, creating a unique and interactive experience. This example highlights the creative potential within the constraints of web technologies.

35:05
๐ŸŽจ Exploring Esoteric Programming Languages

The speaker introduces the world of esoteric programming languages, which push the boundaries of what constitutes a programming language. He showcases examples like Shakespeare, where programs are written as plays; Chef, where recipes double as code; and Piet, a graphical language where instructions are based on color transitions. These languages blur the lines between code, art, and natural language, challenging traditional notions of programming.

40:06
๐ŸŽต Live Coding Music with Sonic Pi

The speaker demonstrates Sonic Pi, a live coding music synthesizer that allows programmers to create and manipulate music in real-time. He explains the basic syntax and shows how loops and parallel execution can be used to construct complex compositions. Sonic Pi exemplifies the artistic potential of code, transforming it into a medium for creative expression and performance.

46:08
๐Ÿค˜ Introducing the Rockstar Programming Language

The speaker introduces Rockstar, a programming language he created that allows developers to write code in the style of 1980s heavy metal song lyrics. He explains the language's syntax, which incorporates elements like variable names with spaces and numeric literals based on word lengths. Rockstar challenges traditional programming conventions and celebrates the intersection of code and creative expression.

51:09
๐ŸŽธ A Live Rockstar Performance of FizzBuzz

The speaker performs a live demonstration of Rockstar by coding the classic FizzBuzz problem in the language, accompanied by guitar riffs and heavy metal vocals. This unique performance showcases the creative potential of Rockstar, blending code with music and art in an entertaining and engaging way.

56:46
๐Ÿป Closing Remarks and Invitation to PubCon

The speaker concludes the talk by thanking the audience and inviting them to attend PubCon, an event where speakers will deliver five-minute humorous talks. He expresses his appreciation for the attendees' time and interest, leaving them with a sense of excitement and anticipation for the creative possibilities that lie at the intersection of code and art.

Mindmap
Keywords
๐Ÿ’กArt
Art is a central concept in the video, referring to creative works that express ideas, emotions, or visions in various forms, such as visual, literary, or performative. The speaker argues that coding and programming can be considered an art form, capable of producing artistic expressions through algorithms, visualizations, and creative outputs. Examples include generative art created with code, obfuscated code contests, and programming languages designed as artistic mediums, like the Shakespeare programming language or Rockstar.
๐Ÿ’กCode
Code, or computer code, refers to the instructions written in a programming language that tell a computer how to perform specific tasks or operations. The video explores the idea of code as an artistic medium, showcasing examples like generative art, obfuscated code contests, and programming languages designed to produce artistic outputs, such as the Shakespeare programming language or Rockstar. The speaker argues that writing code can be an art form, capable of creating beautiful, creative, and unexpected results.
๐Ÿ’กGenerative Art
Generative art refers to art created by using algorithms, computer programs, or other autonomous systems to generate unique and often unpredictable visual or audio outputs. The video showcases examples of generative art created with code, such as the deep dreaming technique used to generate surreal images from neural networks, and the work of artist Robert Felker, who uses the Flutter framework to create generative art.
๐Ÿ’กObfuscated Code
Obfuscated code refers to code that is deliberately written in a way that makes it difficult to understand or read, often for the purpose of demonstrating programming skills or creating artistic expressions. The video discusses the International Obfuscated C Code Contest, which challenges programmers to write the most obscure and creative C programs while adhering to certain rules.
๐Ÿ’กEsoteric Programming Languages
Esoteric programming languages are programming languages designed for purposes other than practical coding, often for artistic, educational, or humorous reasons. The video explores various esoteric programming languages, such as Shakespeare (which allows writing programs that are also Shakespeare plays), Chef (programs written as cooking recipes), and Piet (a graphical language where instructions are based on color transitions).
๐Ÿ’กQuine
A quine is a non-trivial computer program that can generate a copy of its own source code as output. The video discusses quines, which are considered a programming challenge, and explores examples of quines written in various programming languages, including a polyglot quine that is valid in multiple languages simultaneously.
๐Ÿ’กSelf-Reference
Self-reference, or self-referential, refers to the ability of a system or entity to refer to itself. In the context of the video, self-reference is explored through the concept of quines, which are programs that can generate their own source code as output. The video also discusses the idea of code as an art form capable of self-expression and self-reference, much like other artistic mediums.
๐Ÿ’กMandelbrot Set
The Mandelbrot set is a famous fractal set of points in the complex plane, characterized by its intricate, infinitely self-repeating pattern. The video discusses the Mandelbrot set as an example of the intricate and unexpected beauty that can be discovered through mathematics and computer visualizations, made possible by the development of advanced algorithms and rendering technologies.
๐Ÿ’กLive Coding
Live coding refers to the practice of writing code in real-time, often as a performance or demonstration. The video showcases live coding examples, such as the Sonic Pi programming environment, which allows musicians to create and manipulate music through code in real-time. Live coding is presented as a way to explore the artistic and performative aspects of programming.
๐Ÿ’กRockstar
Rockstar is a programming language created by the speaker, Dylan Beattie, which allows writing computer programs that are also bad 1980s heavy metal song lyrics. The language is designed to blur the lines between code and artistic expression, challenging the traditional boundaries of programming languages. The video culminates with a live performance of the FizzBuzz algorithm written in Rockstar, demonstrating the language's unique and creative approach.
Highlights

In this talk, Dylan Beattie explores the intersection of code and art, showcasing how programming can be a form of artistic expression and how art can be created through code.

Beattie discusses the discovery of the Mandelbrot set, a complex mathematical object that was hidden until computers and advanced mathematics allowed for its visualization.

He introduces the concept of 'deep dreaming,' a technique that uses machine learning to generate surreal and unsettling images by amplifying patterns recognized by neural networks.

Beattie showcases various examples of 'esoteric programming languages,' which are designed to be artistic or challenge traditional programming conventions, such as Shakespeare Programming Language, Chef, and Piet.

He highlights the concept of 'polyglot code,' which is code that is valid and can be executed in multiple programming languages simultaneously.

Beattie introduces the 'quine,' a program that can generate its own source code, and demonstrates various implementations of quines in different languages.

He discusses the International Obfuscated C Code Contest, which celebrates the creation of obscure and artistic C programs, showcasing examples of winning submissions.

Beattie presents 'live coding' with Sonic Pi, a programming environment for creating and manipulating music in real-time.

He introduces his own creation, 'Rockstar,' a programming language designed to write computer programs that resemble lyrics for 1980s heavy metal songs.

Beattie performs a live coding demonstration, presenting the FizzBuzz problem implemented in the Rockstar language, with the code resembling a heavy metal song.

The talk explores the concept of 'snowflake servers,' unique and fragile systems that no one dares to touch or update, comparing them to the ephemeral nature of snowflakes.

Beattie showcases the work of Robert Felker, a developer who uses the Flutter framework to create generative art by combining photography and code.

He discusses the ethical and legal debates surrounding the use of computer-generated characters and the blurring of lines between fictional and real entities.

Beattie highlights the potential of using code and programming languages to create new forms of art, challenging traditional notions of what constitutes art.

He emphasizes the importance of curiosity, experimentation, and embracing the unexpected in the world of programming and technology.

Transcripts
Rate This

5.0 / 5 (0 votes)

Thanks for rating: