├── LICENSE └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 stereobooster 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # cs-video 2 | 3 | Inspired by [cs-video-courses](https://github.com/Developer-Y/cs-video-courses). There is also [awesome-tech-videos](https://github.com/lucasviola/awesome-tech-videos), but I do not like it's selection of videos - there are great talks, but not all of them seems to be "timeless". So I want to build my own list. 4 | 5 | **WIP**. PRs and issues are welcomed 6 | 7 | ## Unsorted 8 | 9 | [Simple Made Easy](https://www.infoq.com/presentations/Simple-Made-Easy) by Rich Hickey. Rich Hickey emphasizes simplicity’s virtues over easiness’, showing that while many choose easiness they may end up with complexity, and the better way is to choose easiness along the simplicity path. 10 | 11 | [Nothing is Something](https://www.youtube.com/watch?v=OMPfEXIlTVE) by Sandi Metz. Our code is full of hidden assumptions, things that seem like nothing, secrets that we did not name and thus cannot see. These secrets represent missing concepts and this talk shows you how to expose those concepts with code that is easy to understand, change and extend. Being explicit about hidden ideas makes your code simpler, your apps clearer and your life better. Even very small ideas matter. Everything, even nothing, is something. 12 | 13 | [Are We There Yet?](https://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hickey) by Rich Hickey. In his keynote at JVM Languages Summit 2009, Rich Hickey advocated for the reexamination of basic principles like state, identity, value, time, types, genericity, complexity, as they are used by OOP today, to be able to create the new constructs and languages to deal with the massive parallelism and concurrency of the future. 14 | 15 | [The Actor Model (everything you wanted to know, but were afraid to ask)](https://channel9.msdn.com/Shows/Going+Deep/Hewitt-Meijer-and-Szyperski-The-Actor-Model-everything-you-wanted-to-know-but-were-afraid-to-ask) by Hewitt, Meijer and Szyperski. 16 | 17 | [Hackerdashery #1](https://www.youtube.com/watch?v=AmySxYHqQCQ), [P vs. NP and the Computational Complexity Zoo](https://www.youtube.com/watch?v=YX40hbAHx3s) 18 | 19 | [The Value of Values](https://www.infoq.com/presentations/Value-Values). Rich Hickey compares value-oriented programming with place-oriented programming concluding that the time of imperative languages has passed and it is the time of functional programming. 20 | 21 | 22 | ## Databases 23 | 24 | [Turning the database inside out with Apache Samza](https://www.youtube.com/watch?v=fU9hR3kiOK0) by Martin Kleppmann. Databases are global, shared, mutable state. That’s the way it has been since the 1960s, and no amount of NoSQL has changed that. However, most self-respecting developers have got rid of mutable global variables in their code long ago. So why do we tolerate databases as they are? A more promising model, used in some systems, is to think of a database as an always-growing collection of immutable facts. You can query it at some point in time — but that’s still old, imperative style thinking. A more fruitful approach is to take the streams of facts as they come in, and functionally process them in real-time. 25 | 26 | [The Database as a Value](https://www.infoq.com/presentations/Datomic-Database-Value) by Rich Hickey. Rich Hickey discusses the complexity introduced by a database into a system, and a way to deal with it by using Datomic. He also discusses immutability, epochal time, and persistent data structures. 27 | 28 | ## Humor 29 | 30 | [WAT](https://www.destroyallsoftware.com/talks/wat) by Gary Bernhardt. Just watch it. 5 min. See also other [talks](https://www.destroyallsoftware.com/talks). 31 | 32 | [Make Ruby Great Again](https://vimeo.com/165527044) by Justin Searls. In this talk, @searls briefly covers the major RSpec updates for 2016 before broadening the scope of the conversation to how developers relate to their tools and then pondering Ruby's tenuous place in the world. 33 | 34 | ## Inspiration 35 | 36 | [Inventing on Principle](http://worrydream.com/dbx/) by Bret Victor. 37 | 38 | [The Future of Programming](http://worrydream.com/dbx/) by Bret Victor. 39 | 40 | ## Math 41 | 42 | [3blue1brown](http://www.3blue1brown.com/) Animated math 43 | 44 | ## Other collections of videos 45 | 46 | - [Papers We Love](http://paperswelove.org/) is a repository of academic computer science papers and a community who loves reading them 47 | - [Talks that changed the way I think about programming](http://www.opowell.com/post/talks-that-changed-the-way-i-think-about-programming/) 48 | 49 | ## CS papers 50 | 51 | - [10 Technical Papers Every Programmer Should Read (At Least Twice)](http://blog.fogus.me/2011/09/08/10-technical-papers-every-programmer-should-read-at-least-twice/) 52 | - [10 papers that all PhD students in programming languages ought to know, for some value of 10](https://github.com/nuprl/10PL) 53 | - [Other Good Places to Find Papers by Papers We Love](https://github.com/papers-we-love/papers-we-love/) 54 | - [worrydream refs](http://worrydream.com/refs/) 55 | - [Buridan’s Principle](http://research.microsoft.com/en-us/um/people/lamport/pubs/buridan.pdf) 56 | - [Communicating Sequential Processes](http://usingcsp.com/cspbook.pdf) 57 | 58 | ### In real-world projects 59 | 60 | - [An incomplete list of papers that have had some influence in Rust](https://doc.rust-lang.org/1.0.0/book/academic-research.html) 61 | 62 | ### Author pages 63 | 64 | - [Luca Cardelli](http://lucacardelli.name/indexpapers.html) 65 | - [Philip Wadler](http://homepages.inf.ed.ac.uk/wadler/) 66 | - [Leslie Lamport](http://research.microsoft.com/en-us/um/people/lamport/pubs/pubs.html) 67 | - [Martin-Löf](https://github.com/michaelt/martin-lof) 68 | --------------------------------------------------------------------------------