data-oriented design
1:27:46CppCon 2014: Mike Acton "Data-Oriented Design and C++"
862K views • 12 years ago
CppCon
Mike Acton of Insomniac Games argues that a program's purpose is transforming data, and shows how common C++ approaches work against that in performance-critical game development. He covers cache behavior, data layout and the limits of compilers.
1:00:46CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”
271K views • 8 years ago
CppCon
A CppCon 2018 talk arguing that OOP has failed to deliver on reuse and performance, and presenting data-oriented design for C++ with practical worked examples from real systems.
36:42Bottom Up vs Top Down Design in Clojure - Mark Bastian
29K views • 10 years ago
ClojureTV
Mark Bastian contrasts top-down object-oriented design with bottom-up, data-oriented design in Clojure. He models a board game as plain data plus small composable functions and compares it with a roughly 22-class OOP version.
1:32:47Data-Oriented Demo: SOA, composition
201K views • 11 years ago
Jonathan Blow
A live-coded demo by Jonathan Blow showing how to get object-system-style expressiveness in a data-oriented way, covering structure-of-arrays layouts and composition. It shows features of his Jai language that make programs fast.
1:05:59Data Oriented GUI in Rust by Raph Levien - Bay Area Rust Meetup
83K views • 8 years ago
Rust Programming Language
Raph Levien presents his new Rust GUI framework, built on data-oriented design and ideas from entity component systems, for the Xi editor. He weighs the approach against alternatives and discusses pros and cons.
1:06:24Rich Hickey: Deconstructing the Database
106K views • 14 years ago
InfoQ
Rich Hickey, creator of Clojure and designer of Datomic, gives a JaxConf 2012 talk that takes apart traditional database architecture. He presents a different way to think about databases and explains the reasoning behind Datomic's fact-based design.
1:23:35Bob Martin SOLID Principles of Object Oriented and Agile Design
517K views • 11 years ago
People career
Robert C. Martin (Uncle Bob) gives a talk on the SOLID principles of object-oriented and agile design, in the context of encapsulation and clean code.
1:02:50The Language of the System - Rich Hickey
174K views • 13 years ago
ClojureTV
Rich Hickey's 2013 talk applies language-design thinking to whole systems, covering names, queues, data, failure, and the interfaces between programs. It ends with a call to action for building systems holistically.
Topic match · Software architecture & design
58:24#Gamelab2018 - Jon Blow's Design decisions on creating Jai a new language for game programmers
210K views • 8 years ago
Gamelab Conference
Jonathan Blow talks at Gamelab 2018 about the design decisions behind Jai, the programming language he is building for game programmers. He covers low-friction development, quality of life and the effects of compile times.
1:54:11James Powell: So you want to be a Python expert? | PyData Seattle 2017
508K views • 9 years ago
PyData
James Powell's nearly two-hour PyData talk builds up Python's data model, decorators, generators and context managers, coding live in Vim. It aims to take intermediate programmers toward real Python expertise.
1:04:04Overwatch Gameplay Architecture and Netcode
196K views • 7 years ago
GDC Festival of Gaming
Blizzard's Timothy Ford explains in this 2017 GDC session how Overwatch uses an Entity Component System architecture for layered gameplay. He also covers its server-authoritative netcode with client-side prediction and how they keep the game responsive and fair.
Topic match · Software architecture & design
44:35Object-Oriented Programming is Bad
2.6M views • 10 years ago
Brian Will
Brian Will makes the case for procedural programming over object-oriented programming, arguing that OOP's promised encapsulation and decoupling are largely illusory. He analyzes real code examples and the problems of tying data to behavior in classes.
4:57Rich Hickey rants about HttpServletRequest in 1080p: Death By Specificity from Clojure Made Simple
43K views • 6 years ago
Fred Overflow
A five-minute excerpt of Rich Hickey's Clojure Made Simple talk, with new slides, ranting about HttpServletRequest and specificity. He argues for using generic maps instead of many specific classes and getters.
Topic match · Software architecture & design
28:03Object-Oriented Programming is Embarrassing: 4 Short Examples
2.2M views • 10 years ago
Brian Will
Brian Will follows up his earlier anti-OOP video by walking through four short code examples, including Java code in the style of Uncle Bob, to show how object-oriented design complicates simple programs. It argues that OOP hides and scatters state and adds needless indirection.
37:15Stuart Halloway - Narcissistic Design
29K views • 9 years ago
Reaktor
Stuart Halloway's satirical talk describes how to protect yourself from industry change by spreading complexity through systems while following idiomatic practice. It uses this inversion to catalog software design anti-patterns.
58:39Robert C Martin - Clean Architecture and Design
285K views • 12 years ago
gnbitcom
Robert C. Martin (Uncle Bob) talks about clean architecture and design, including keeping the database and frameworks out of the center of an application. It is an hour-long conference talk.
1:03:14Category Theory, The essence of interface-based design - Erik Meijer
74K views • 11 years ago
FooCafe
Erik Meijer argues that category theory is the mathematicians' version of interface-based design. He shows that Java 8 lambdas and method references form a Cartesian closed category.
27:10IRDC US 2015 - Brian Bucklew, Data-Driven Engines of Qud and Sproggiwood
39K views • 11 years ago
Logo “ND” Surströmming
Brian Bucklew of Freehold Games discusses design decisions behind Caves of Qud and Sproggiwood at IRDC 2015. The talk centers on data-driven, event-driven engine design.
1:01:40A Philosophy of Software Design | John Ousterhout | Talks at Google
547K views • 8 years ago
Talks at Google
John Ousterhout, Stanford professor and creator of Tcl, presents the ideas of his book A Philosophy of Software Design in a Talks at Google session. He covers managing complexity, deep modules and interfaces, and what he teaches in his Stanford software design course.
1:14:52Effective Programs - 10 Years of Clojure - Rich Hickey
176K views • 9 years ago
ClojureTV
Rich Hickey's talk at Clojure's tenth anniversary on the kind of programs Clojure is designed for. He argues for situated programs that deal with changing requirements, and for dynamic typing and data over static types.
Topic match · Software architecture & design
52:48Object-Oriented Programming is Garbage: 3800 SLOC example
258K views • 10 years ago
Brian Will
Brian Will critiques object-oriented programming and rewrites a roughly 3800-line OO program in a procedural style, cutting code and complexity. It is part of a series of OOP critiques.
1:06:4401 - Course Introduction & Relational Model (CMU Databases Systems / Fall 2019)
248K views • 7 years ago
CMU Database Group
The first lecture of Andy Pavlo's CMU 15-445 Intro to Database Systems (Fall 2019), covering course introduction and the relational model.
59:56AWS re:Invent 2018: Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB (DAT401)
468K views • 7 years ago
Amazon Web Services
Rick Houlihan's AWS re:Invent 2018 deep dive on advanced DynamoDB design patterns. It covers index overloading, GSI sharding, composite keys, graph processing and transactions.
45:08Raymond Hettinger - Dataclasses: The code generator to end all code generators - PyCon 2018
130K views • 8 years ago
PyCon 2018
Raymond Hettinger explains Python's dataclasses module, showing the problem it solves and its key design decisions. He places it in a progression from tuples and dicts through named tuples and attrs.
38:47RailsConf 2014 - All the Little Things by Sandi Metz
190K views • 12 years ago
Confreaks
Sandi Metz takes an ugly section of conditional code and refactors it into a few simple objects, bridging object-oriented theory and practice. The talk includes her take on the Gilded Rose refactoring kata and the idea that duplication is cheaper than the wrong abstraction.
Topic match · Software architecture & design
1:06:00CppCon 2017: Juan Pedro Bolivar Puente “Postmodern immutable data structures”
31K views • 9 years ago
CppCon
Juan Pedro Bolivar Puente explains immutable and persistent data structures in C++ and how they support value semantics. He presents the Immer library, rrb-trees, and a prototype text editor that opens a huge file instantly.
4:51VisiData Lightning Demo at PyCascades 2018
41K views • 8 years ago
Saul Pwanson
A five-minute lightning demo of VisiData, a terminal tool for exploring and manipulating data. It uses two months of NYC 311 complaint data to drill down, plot points on a virtual map and save selected rows.
58:23Evan Czaplicki - Let's be mainstream! User focused design in Elm - Curry On
82K views • 11 years ago
Curry On!
Evan Czaplicki, creator of Elm, talks at Curry On 2015 about user-focused language design. He explains the principles behind Elm and how to make a functional, typed language as approachable as JavaScript.
55:53Michael Stonebraker | Big Data is (at least) Four Different Problems
30K views • 10 years ago
Michigan Engineering
Database pioneer Michael Stonebraker argues that 'big data' is really at least four different problems: big volumes with small analytics, big analytics, velocity, and variety. He comments on where each market is heading.
31:11React.js Conf 2015 - Immutable Data and React
159K views • 11 years ago
Meta Developers
Lee Byron of Facebook explains how persistent immutable data structures work and how to use them in React apps with Immutable.js. He covers memoization benefits and avoiding coupling through shared mutable state.
33:39Music Software & Interface Design: MuseScore
959K views • 7 years ago
Tantacrul
Tantacrul gives a detailed UX and UI design review of the MuseScore 3 notation software and compares it with Sibelius. It examines visual appeal, navigation and notation quality.
27:00AT&T Archives: Saul Bass Pitch Video for Bell System Logo Redesign
417K views • 14 years ago
AT&T Tech Channel
The 1969 pitch film in which Saul Bass presents the Bell System logo redesign to AT&T, part of the largest corporate re-identity program in U.S. history.
25:215 steps to designing the life you want | Bill Burnett | TEDxStanford
11.4M views • 9 years ago
TEDx Talks
TEDxStanford talk by Bill Burnett, executive director of Stanford's design program, on applying design thinking to your own life and career. He offers five practical tips such as getting curious, talking to people and trying things.
1:02:57Peter Norvig - The Unreasonable Effectiveness of Data
74K views • 15 years ago
UBC Computer Science
Peter Norvig's UBC distinguished lecture on how massive amounts of simple data, such as for language modeling, can yield understanding that hand-built models could not.
18:19Why city flags may be the worst-designed thing you've never noticed | Roman Mars
5.2M views • 11 years ago
TED
Roman Mars gives a funny TED talk on vexillology, laying out five basic principles of good flag design and why many city flags fail them.
14:48Sonification & The Problem with Making Music from Data
259K views • 9 years ago
Tantacrul
Tantacrul examines sonification, the practice of turning data into sound or music, and critiques how scientists and musicians, including NASA and CERN projects, use it well and poorly.
1:00:06Computer Science - Brian Kernighan on successful language design
332K views • 10 years ago
University of Nottingham
Brian Kernighan gives a talk at the University of Nottingham on how to succeed in language design without really trying. He draws on his experience with awk and other languages.
1:58:46Dynamic Languages Wizards Series - Panel on Language Design
16K views • 14 years ago
Eduardo Cavazos
A 2001 panel with Paul Graham, John Maeda, Jonathan Rees and Guy Steele on programming language design, part of the Dynamic Languages Wizards Series.
23:23Building Prototypes Dan Gelbart part 18 of 18 Design
99K views • 13 years ago
Dan Gelbart
The final part of Dan Gelbart's 18-part Building Prototypes series, focused on mechanical design. It opens with a demonstration of stiffness and covers practical design principles for prototype machines.
1:26:11Succinct Data Structures
9K views • 12 years ago
Edward Kmett
Edward Kmett's 2013 talk at Prezi in Budapest on succinct data structures, which store data in close to the information-theoretic minimum space while supporting fast queries. It ties together the research and walks through his Haskell succinct library.