Clojure Concurrency - Rich Hickey
In briefRich Hickey's long presentation on Clojure and concurrency covers locking and immutability, then goes in depth on refs, transactions and agents. It ends with a multithreaded ant colony simulation demo.
Page 9 of 41
In briefRich Hickey's long presentation on Clojure and concurrency covers locking and immutability, then goes in depth on refs, transactions and agents. It ends with a multithreaded ant colony simulation demo.
In briefDylan Beattie's conference talk explores the history and mess behind plain text: encodings, Unicode, line endings and the many ways text goes wrong. It argues that the tidy idea of plain text hides a lot of complexity underneath everyday software.
In briefFelienne Hermans argues that Excel is the world's most popular programming language and shows how spreadsheets work as a pure functional language. She implements a few mathematical problems in spreadsheet formulas to illustrate why they are so powerful and approachable.
In briefBryan Cantrill argues that programming languages and platforms reflect core values, and compares languages through that lens, with Rust as a main example. He draws on his experience with Solaris, DTrace and ZFS.
In briefSteven Wittens' JSConf US 2013 talk on drawing with WebGL, using animated visuals to walk through vectors, matrices and the rendering pipeline. Despite the title, it works as a visual primer on the linear algebra behind 3D graphics.
In briefLarry Hastings explains what Python's GIL is, what problems it solves and how it works, and presents his Gilectomy project to remove it, including the performance and C-extension obstacles.
In briefRich Hickey's talk on time, state, identity and values, arguing that mutable object-oriented modeling fits the world poorly. It lays out the thinking behind Clojure's approach to data and change.
In briefBryan Cantrill's 2007 Google Tech Talk on DTrace, showing how dynamic tracing improves debugging of both development and live production systems. It includes a vivid war story about tracking down a problem on a Sun Ray server.
In briefSandi Metz's RailsConf 2013 talk offers practical guidelines for deciding what to test and how, so tests stay cheap and stable. She argues for testing the public interface rather than implementation and using mocks appropriately.
In briefA short screencast tour of JSPM, SystemJS and ES6 features, building a small app with the then-new JavaScript module and package tooling. It shows how JSPM works as a package manager, bundler and loader.
In briefFacebook engineers explain why they abandoned the traditional MVC paradigm for a more functional architecture, introducing Flux and React. They use the unread-message-count bug as a case study of the problems of bidirectional data flow at scale.
In briefAllan Blomquist demonstrates the internal programming and debugging tools Tomorrow Corporation uses to make games, including live modification of a running game and time-travel debugging.
In briefBob Beck of OpenBSD describes the first month of LibreSSL, the fork aimed at cleaning up OpenSSL, including oddities found in the code base and why it was cleaned rather than audited cryptographically.
In briefBisqwit writes a NES emulator in C++ in about 15 minutes of tool-assisted, sped-up coding, narrated with captions. It shows an accurate emulator built with a compile-time generated 6502 instruction table. Part 2 covers compiling and running it.
In briefCheng Lou's react-europe 2016 talk lays out a mental framework for thinking about abstraction levels in JavaScript tooling, from Angular and Grunt to Webpack and React. It uses that framework to reason about the cost of abstractions and how to choose between competing solutions.
In briefFelienne Hermans's Strange Loop keynote on the history and pedagogy of teaching programming. She questions exploration-only approaches like Logo and discusses research supporting explicit instruction and rote practice.
In briefA SXSW talk by W Watson that uses Lacanian psychoanalysis, with nods to Zizek, to critique popular programming languages. It argues that people choose and defend languages for emotional and ideological reasons rather than rational ones.
In briefSimon Peyton Jones gives Churchill College's annual computer science lecture on Haskell's birth and evolution. He covers the most influential ideas, from laziness to monads and type system evolution, plus current developments and guesses about the future.
In briefDylan Beattie's entertaining NDC talk imagines an alternate history of the web, asking what if different decisions had been made on operating systems, browsers and standards. It blends real history with humor.
In briefTom Stuart's Ruby Manor 3 talk builds FizzBuzz using nothing but Ruby lambdas, working through Church encodings of numbers, booleans and data structures. It is a hands-on introduction to lambda calculus.
In briefDavid Beazley's PyCon 2019 tutorial derives the lambda calculus from the ground up in Python, using only single-argument functions. He builds booleans, numerals and more with no other language features.
In briefChristopher 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.
In briefCliff Click, author of HotSpot's JIT compiler, shares hard-won advice for people writing virtual machines at the VMSS16 workshop. Topics include interpreters, JITs and performance lessons.
In briefCliff Click of Azul Systems asks what a JVM is supposed to do, in a Google Tech Talk from 2011. He covers the services a JVM provides, such as garbage collection and compilation, and the messy reality beneath the abstractions.