pattern matching
1:03:36Christopher Alexander - Patterns in Architecture
135K views • 13 years ago
Peter Petrash
Christopher Alexander's keynote at OOPSLA 1996 on patterns in architecture, addressed to the software community. He moves beyond patterns toward deeper ideas of wholeness and living structure.
44:03Google Developers Day US - Python Design Patterns
90K views • 19 years ago
GoogleDeveloperDay
Alex Martelli's Google Developers Day talk on classic design patterns (creational, structural and behavioral) and how they appear in Python. He stresses that patterns must be studied in the context of the implementing language.
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.
Topic match · Functional programming
43:04Corporate Open Source Anti-patterns
24K views • 12 years ago
Bryan Cantrill
Bryan Cantrill's talk on corporate open source anti-patterns, first given at FISL 2012 and again at the Liferay Symposium. He lays out the mistakes companies make when open sourcing code, such as announcing future open sourcing, and discusses licenses.
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.
1:05:51The Functional Programmer's Toolkit - Scott Wlaschin
79K views • 7 years ago
NDC Conferences
Scott Wlaschin demystifies functional programming terms like monads, monoids, functors and catamorphisms by showing how they fit into a small toolkit. He applies them to problems such as missing data, list handling, and functional dependency injection.
Topic match · Functional programming
54:10Design Patterns vs Anti pattern in APL by Aaron W Hsu at FnConf17
8K views • 8 years ago
ConfEngine
Aaron Hsu discusses design patterns and anti-patterns in APL and why the language is productive despite its write-only reputation. He argues that idioms matter more than libraries in array languages.
59:13AWS re:Invent 2019: [REPEAT 1] Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1)
115K views • 6 years ago
AWS Events
An AWS re:Invent 2019 session for advanced DynamoDB users on design patterns used by large customers, including Amazon retail. It covers GSI sharding, index overloading, graph processing, composite keys and transactional workflows.
59:03Breaking Down Programming Paradigms: APL's Surprising Learning Curve // Aaron Hsu // Dyalog '17
7K views • 9 years ago
Dyalog User Meetings
Aaron Hsu explains why programmers often find APL harder to learn than people with no programming background. He identifies eight patterns that contrast traditional software engineering practice with APL practice, starting from Ken Iverson's language design principles.
Topic match · Functional programming
51:27Google I/O 2012 - Go Concurrency Patterns
894K views • 14 years ago
Google for Developers
Rob Pike's Google I/O 2012 talk shows how goroutines and channels solve tricky concurrency problems with simple Go code. It features a playful goroutine demo with gophers passing messages and a search engine example.
23:06Bob Nystrom - Is There More to Game Architecture than ECS?
301K views • 8 years ago
Roguelike Celebration
Bob Nystrom, author of Game Programming Patterns, gives a Roguelike Celebration 2018 talk questioning whether entity component systems are the only way to structure a game. He walks through alternative architectures drawn from roguelike development.
53:4010 Things I Learned from the jQuery Source
125K views • 16 years ago
Paul Irish
Paul Irish walks through the jQuery source code and shares ten lessons and interesting techniques from it, aimed at JavaScript developers who want to learn from a widely used library.
50:06The Many Meanings of Event-Driven Architecture • Martin Fowler • GOTO 2017
677K views • 9 years ago
GOTO Conferences
Martin Fowler's GOTO Chicago 2017 talk on the different things people mean by event-driven architecture. He identifies four patterns, including event notification and event-carried state transfer.
53:22Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich
65K views • 14 years ago
Confreaks
Jim Weirich's RubyConf 2012 talk derives the Y combinator step by step, live-coding in Ruby lambdas. It builds up an understanding of functional programming and lambda calculus from first principles.
Topic match · Functional programming
42:03The Soul of Erlang and Elixir • Sasa Juric • GOTO 2019
384K views • 7 years ago
GOTO Conferences
Sasa Juric explains what makes Erlang and Elixir suited to server-side systems, focusing on the BEAM concurrency model rather than syntax or ecosystem. He demonstrates processes, supervision, and fault tolerance.
Topic match · Functional programming
1:01:39"Simple Made Easy" - Rich Hickey (2011)
219K views • 5 years ago
Strange Loop Conference
Rich Hickey's Strange Loop 2011 keynote distinguishing 'simple' (not intertwined) from 'easy' (familiar or near at hand). It argues that software complexity comes from complecting things and that we should pick simple constructs.
Topic match · Functional programming
25:06"Making Impossible States Impossible" by Richard Feldman
63K views • 10 years ago
elm-conf
Richard Feldman's elm-conf talk on designing models so that bugs from impossible application states cannot occur, using Elm's compiler and types. It demonstrates techniques for making invalid states unrepresentable.
Topic match · Functional programming
1:31:06William Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]
367K views • 9 years ago
PapersWeLove
William Byrd presents at Papers We Love NYC on what he calls the most beautiful program ever written, a Lisp interpreter written in Lisp. He walks through the metacircular interpreter and related ideas, and demos relational programming and program synthesis near the end.
Topic match · Functional programming
46:09Why Isn't Functional Programming the Norm? – Richard Feldman
1.6M views • 7 years ago
Metosin
Richard Feldman argues that functional programming is not the norm largely because of historical accidents, such as C++ popularity, platform exclusivity, marketing spend and network effects, rather than merit. He traces the history of how languages become mainstream.
Topic match · Functional programming
31:44The Value of Values with Rich Hickey
145K views • 14 years ago
InfoQ
Rich Hickey's JaxConf 2012 keynote examines what values are and why immutable values matter as information systems grow more complex and data gets bigger. It contrasts places with values and builds the case for immutability.
Topic match · Functional programming
1:03:29Maybe Not - Rich Hickey
181K views • 7 years ago
ClojureTV
Rich Hickey's Clojure/Conj 2018 keynote argues that Maybe/Option types and rigid type signatures are a poor way to model data that changes over time. He builds the case around optionality, schema growth and compatibility, and presents the ideas behind Clojure spec as an alternative.
Topic match · Functional programming
1:02:26Solving Problems the Clojure Way - Rafal Dittwald
87K views • 7 years ago
Clojure/north
Rafal Dittwald's Clojure/north talk shows how to move from writing Java-style code in Clojure to thinking in data-driven, functional terms. He walks through a JavaScript example, refactoring imperative code step by step into a functional core.
Topic match · Functional programming
39:49Hammock Driven Development - Rich Hickey
333K views • 13 years ago
ClojureTV
Rich Hickey's philosophical talk from the first Clojure Conj in 2010. He argues that good design comes from deliberate, away-from-keyboard thinking, and describes how to feed the background mind so it solves problems.
Topic match · Functional programming
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 · Functional programming
49:15Erlang Factory 2014 - That's 'Billion' with a 'B': Scaling to the Next Level at WhatsApp
50K views • 12 years ago
Erlang Solutions
Rick Reed of WhatsApp explains at Erlang Factory 2014 how the service scaled to billions of messages with a very small engineering team. He covers the FreeBSD and Erlang stack, Mnesia usage, server counts and bottleneck work.
Topic match · Functional programming
58:39Tim Ewald - Clojure: Programming with Hand Tools
48K views • 12 years ago
ClojureTV
Tim Ewald's Clojure/conj talk uses furniture making with hand tools versus machine tools as an allegory for software. It explores how automation changes what we make and how we think about our work, and why Clojure's small set of simple tools matters.
Topic match · Functional programming
45:55Ruby Conf 12 - Boundaries by Gary Bernhardt
58K views • 13 years ago
Confreaks
Gary Bernhardt's RubyConf 2012 talk on testing in isolation without mocking everything. It goes through behavior versus data, mutation versus immutability, and how a functional core with an imperative shell yields natural isolation and parallelism.
Topic match · Functional programming
1:16:14Spec-ulation Keynote - Rich Hickey
135K views • 9 years ago
ClojureTV
Rich Hickey's keynote on software versioning, arguing that breaking changes are the real problem and that libraries should only grow by providing more and requiring less. It critiques semantic versioning and ties into Clojure spec.
Topic match · Functional programming
57:38Clasp: Common Lisp using LLVM and C++ for Molecular Metaprogramming
52K views • 11 years ago
Google TechTalks
Christian Schafmeister's Google Tech Talk on designing spiroligomer molecules and building Clasp, a Common Lisp on LLVM that interoperates with C++, to program molecular design. It covers the chemistry, automatic differentiation for force fields, and how the compiler is built.
Topic match · Functional programming
1:01:39"Simple Made Easy" - Rich Hickey (2011)
434K views • 5 years ago
ClojureTV
Rich Hickey's Strange Loop 2011 keynote separates 'simple' (not intertwined) from 'easy' (familiar or near at hand) and argues that software complexity comes from complecting things. It offers a vocabulary for judging designs and abstractions.
Topic match · Functional programming
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 · Functional programming
1:07:22Invited Talk - Guy Steele
39K views • 9 years ago
ClojureTV
Guy Steele's invited talk at Clojure/conj on the informal metanotation computer scientists use in papers to describe languages. He traces how this notation developed and why it is often unspecified and arcane.
Topic match · Functional programming
1:04:53Julia: to Lisp or not to Lisp?
24K views • 10 years ago
European Lisp Symposium
Stefan Karpinski's European Lisp Symposium 2016 talk asks whether Julia is a Lisp. He covers the features it borrows from Lisp, such as macros and closures, and where it departs, including syntax and its type system, with generated machine code shown.
Topic match · Functional programming
45:50"The Mess We're In" by Joe Armstrong
398K views • 12 years ago
Strange Loop Conference
Joe Armstrong, co-inventor of Erlang, gives a funny and opinionated Strange Loop talk on the tangled state of software: build tools, package managers, entropy and the physical limits of computation. He argues for ideas like naming things by content hash and throwing away your first version.
Topic match · Functional programming
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.
Topic match · Functional programming
40:13"Programming a 144-computer chip to minimize power" - Chuck Moore (2013)
19K views • 5 years ago
Strange Loop Conference
Chuck Moore, inventor of Forth, presents GreenArrays' 144-core asynchronous chip at Strange Loop 2013. He explains how idle cores draw almost no power and how tight code minimizes energy use.
Topic match · Functional programming
43:04"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)
468K views • 4 years ago
Strange Loop Conference
Jack Rusher's Strange Loop 2022 talk argues that most programming languages are still designed around punchcard-era assumptions. He makes the case for live, interactive programming environments, drawing on Lisp, Smalltalk and REPL-driven development.
Topic match · Functional programming
36:53Rails Conf 2012 Keynote: Simplicity Matters by Rich Hickey
220K views • 14 years ago
Confreaks
Rich Hickey's keynote at RailsConf 2012, a close sibling of his 'Simple Made Easy' talk. He distinguishes simple (not intertwined) from easy (familiar), and argues that software complexity comes from complecting things, with Rails-specific examples including large gem collections.
Topic match · Functional programming
41:06"Unison: a new distributed programming language" by Paul Chiusano
45K views • 7 years ago
Strange Loop Conference
Paul Chiusano's Strange Loop 2019 talk introduces Unison, an open-source functional language for distributed, elastic systems. It covers content-addressed code identified by hashes of the syntax tree, a codebase manager, and algebraic effects called abilities.
Topic match · Functional programming
36:31Hey Underscore, You're Doing It Wrong!
141K views • 13 years ago
InfoQ
Brian Lonsdorf explains why Underscore.js falls short as a functional programming library, then introduces currying, composition and point-free style in JavaScript. He argues for data-last argument ordering.
Topic match · Functional programming