towards enlightenment
‘It is a capital mistake to theorize before one has data. Insensibly one begins to twist facts to suit theories, instead of theories to suit facts.’
What can a technologist do about climate change? A personal view.
http://worrydream.com/ClimateChange/
Make it simple
http://www.economist.com/node/3307363
Principles
https://fortheweb.webfoundation.org/principles
Hunter S. Thompson’s Letter on Finding Your Purpose and Living a Meaningful Life
https://www.farnamstreetblog.com/2014/05/hunter-s-thompson-to-hume-logan/
Twelve Virtues of Rationality
http://yudkowsky.net/rational/virtues/
List of cognitive biases
https://www.wikiwand.com/en/List_of_cognitive_biases
The Allegory of the Cave
https://web.stanford.edu/class/ihum40/cave.pdf
https://mattlowpt.wordpress.com/2018/04/08/what-can-platos-allegory-of-the-cave-tell-us-about-knowledge-translation/
Mailing List Decorum
https://groups.google.com/d/msg/clojure/t0pGIuoyB7I/RQtuuAOhes8J
Coding Error Sends 2019 Subaru Ascents to the Car Crusher
https://spectrum.ieee.org/riskfactor/computing/it/coding-error-leads-293-subaru-ascents-to-the-car-crusher
Design machines: How to survive the digital apocalypse
https://louderthanten.com/coax/design-machines
A Mathematician's Lament
https://www.maa.org/external_archive/devlin/LockhartsLament.pdf
Learnable Programming: Designing a programming system for understanding programs
http://worrydream.com/#!/LearnableProgramming
Epigrams in Programming
http://cpsc.yale.edu/epigrams-programming
Programming Quotes
http://quotes.cat-v.org/programming/
https://twitter.com/HenrikJoreteg/status/364989455414726657
Magic Ink: Information Software and the Graphical Interface
http://worrydream.com/MagicInk/
The Utopian UI Architect
https://medium.com/re-form/the-utopian-ui-architect-34dead42a28
Kill Math
http://worrydream.com/KillMath/
The Type War, Misunderstanding, and Pragmatism
http://www.davidykay.com/The-Type-War-Misunderstanding-and-Pragmatism/
The Calf-Path
https://www.poets.org/poetsorg/poem/calf-path
Basics of the Unix Philosophy
http://www.catb.org/esr/writings/taoup/html/ch01s06.html
The Heart of Unix
http://www.lispcast.com/the-heart-of-unix
Worse is better
https://en.m.wikipedia.org/wiki/Worse_is_better
You aren't gonna need it
https://en.m.wikipedia.org/wiki/You_aren't_gonna_need_it
Blinking twelve problem
https://en.m.wikipedia.org/wiki/Blinking_twelve_problem
SOLID
https://en.m.wikipedia.org/wiki/SOLID_(object-oriented_design)#Overview
Robustness principle
https://en.wikipedia.org/wiki/Robustness_principle
Greenspun's tenth rule
https://en.wikipedia.org/wiki/Greenspun's_tenth_rule
Why extends is evil
https://www.javaworld.com/article/2073649/core-java/why-extends-is-evil.html
PEP 20 -- The Zen of Python
https://www.python.org/dev/peps/pep-0020/#the-zen-of-python
Ten principles for good design
https://www.vitsoe.com/gb/about/good-design
https://twitter.com/nathanmarz/status/900735315144564736
https://twitter.com/stevestreeting/status/996365289976745984
The Wrong Abstraction
https://www.sandimetz.com/blog/2016/1/20/the-wrong-abstraction
Write code that is easy to delete, not easy to extend
http://programmingisterrible.com/post/139222674273/write-code-that-is-easy-to-delete-not-easy-to
Language Power
https://aphyr.com/posts/268-language-power
User laziness = user smartness, and why this is really important
http://www.90percentofeverything.com/2008/11/20/user-laziness-user-smartness-and-why-this-is-really-important/
No, I Don't Want To Configure Your App!
http://robotlolita.me/2016/01/09/no-i-dont-want-to-configure-your-app.html
Why not add an option for that?
http://neugierig.org/software/blog/2018/07/options.html
Choices
https://www.joelonsoftware.com/2000/04/12/choices/
Controlling Your Environment Makes You Happy
https://www.joelonsoftware.com/2000/04/10/controlling-your-environment-makes-you-happy/
I hate almost all software
https://gist.github.com/sundarj/9603908bd3e394b34deb8ef1feeab90b#file-rant-md
Software disenchantment
http://tonsky.me/blog/disenchantment/
Electron is flash for the desktop
https://josephg.com/blog/electron-is-flash-for-the-desktop/
Legends of the Ancient Web
http://idlewords.com/talks/ancient_web.htm
The Website Obesity Crisis
http://idlewords.com/talks/website_obesity.htm
Out of the Tar Pit
http://curtclifton.net/papers/MoseleyMarks06a.pdf
Human JavaScript
http://read.humanjavascript.com/
7 Principles of Rich Web Applications
https://rauchg.com/2014/7-principles-of-rich-web-applications
Lazymorphic Apps: Bringing back the static web
https://blog.andyet.com/2015/05/18/lazymorphic-apps-bringing-back-static-web/
Some problems with React/Redux
https://staltz.com/some-problems-with-react-redux.html
Reactive MVC and the Virtual DOM
https://web.archive.org/web/20171227110506/https://www.futurice.com/blog/reactive-mvc-and-the-virtual-dom
The Mechanism is not the Mental Model
https://thefeedbackloop.xyz/the-mechanism-is-not-the-mental-model/
There's more to mathematics than rigour and proofs
https://terrytao.wordpress.com/career-advice/theres-more-to-mathematics-than-rigour-and-proofs/
Stroustrup's Rule and Layering Over Time
https://thefeedbackloop.xyz/stroustrups-rule-and-layering-over-time/
Safety is Rust's Fireflower
https://thefeedbackloop.xyz/safety-is-rusts-fireflower/
Naming
http://hilton.org.uk/tag/naming
Code Naming Basics
https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingBasics.html
Naming Methods
https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingMethods.html
https://twitter.com/mfeathers/status/29581296216
Why Functional Programming Matters
http://www.cse.chalmers.se/~rjmh/Papers/whyfp.pdf
Structure and Interpretation of Computer Programs
https://mitpress.mit.edu/sicp/
What is a Functional Language?
https://existentialtype.wordpress.com/2011/03/16/what-is-a-functional-language/
Ten reasons not to use a statically typed functional programming language
https://fsharpforfunandprofit.com/posts/ten-reasons-not-to-use-a-functional-programming-language/
Programming Paradigms and the Procedural Paradox
https://dev.to/ericnormand/programming-paradigms-and-the-procedural-paradox
Composable parts
http://www.lispcast.com/composable-parts
Compositionality
https://feierabendprojekte.wordpress.com/2017/06/16/compositionality/
More shell, less egg
http://www.leancrew.com/all-this/2011/12/more-shell-less-egg/
Reasoning about code
http://www.lispcast.com/reasoning-about-code
Is your programming language unreasonable?
https://fsharpforfunandprofit.com/posts/is-your-language-unreasonable/
Global mutable state
http://www.lispcast.com/global-mutable-state
How to switch from the imperative mindset
http://www.lispcast.com/imperative-mindset
Why Haskell just works
https://wiki.haskell.org/Why_Haskell_just_works
Functional architecture is Ports and Adapters
http://blog.ploeh.dk/2016/03/18/functional-architecture-is-ports-and-adapters/
Decoupling decisions from effects
http://blog.ploeh.dk/2016/09/26/decoupling-decisions-from-effects/
Pure interactions
http://blog.ploeh.dk/2017/07/10/pure-interactions/
Sticks and Stones and Sorcery
https://feierabendprojekte.wordpress.com/2017/04/13/a-parable/
Functional Mumbo Jumbo - ADTs
http://blog.jenkster.com/2016/06/functional-mumbo-jumbo-adts.html
Haskell for Intermediate Programmers - Algebraic Data Types
http://www.haskellforall.com/2012/01/haskell-for-mainstream-programmers.html
Haskell for Mainstream Programmers - Code reuse
http://www.haskellforall.com/2011/12/haskell-for-mainstream-programmers-code.html
The category design pattern
http://www.haskellforall.com/2012/08/the-category-design-pattern.html
The functor design pattern
http://www.haskellforall.com/2012/09/the-functor-design-pattern.html
Introduction to Haskell IO
http://www.haskellforall.com/2013/01/introduction-to-haskell-io.html
Statements vs Expressions
http://www.haskellforall.com/2013/07/statements-vs-expressions.html
Sometimes less is more in language design
http://www.haskellforall.com/2013/08/sometimes-less-is-more-in-language.html
Equational reasoning
http://www.haskellforall.com/2013/12/equational-reasoning.html
Scalable program architectures
http://www.haskellforall.com/2014/04/scalable-program-architectures.html
Equational reasoning at scale
http://www.haskellforall.com/2014/07/equational-reasoning-at-scale.html
Algebraic side effects
http://www.haskellforall.com/2015/03/algebraic-side-effects.html
Worst practices should be hard
http://www.haskellforall.com/2016/04/worst-practices-should-be-hard.html
You Could Have Invented Monads! (And Maybe You Already Have.)
http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html
Two kinds of bootstrapping
http://www.lispcast.com/two-kinds-of-bootstrapping
The bootstrapping mindset
http://www.lispcast.com/bootstrapping-mindset
The most important idea in Computer Science
http://www.lispcast.com/the-most-important-idea-in-computer-science
Data-First Programming
http://www.lispcast.com/data-first-programming
Data > Functions > Macros. But why?
http://www.lispcast.com/data-functions-macros-why
What is Clojure?
http://www.lispcast.com/what-is-clojure
Clojure Design Decisions
https://gist.github.com/reborg/dc8b0c96c397a56668905e2767fd697f
Clojure is imperative
http://www.lispcast.com/clojure-is-imperative
Clojure vs. The Static Typing World
https://lispcast.com/clojure-and-types/
Inside Clojure's Collection Model
http://insideclojure.org/2016/03/16/collections/
Sequences
http://insideclojure.org/2015/01/02/sequences/
When in doubt, refactor at the bottom
https://lispcast.com/refactor-bottom/
The Idea of Lisp
https://dev.to/ericnormand/the-idea-of-lisp
How Lisp Became God's Own Programming Language
https://twobithistory.org/2018/10/14/lisp.html
The Roots of Lisp
http://www.paulgraham.com/rootsoflisp.html
What Made Lisp Different
http://www.paulgraham.com/diff.html
Beating the Averages
http://www.paulgraham.com/avg.html
Lisp Quotes
http://www.paulgraham.com/quotes.html
Lisp for Web-Based Applications
http://www.paulgraham.com/lwba.html
Lisping at JPL
http://flownet.com/gat/jpl-lisp.html
The Nature of Lisp
http://www.defmacro.org/ramblings/lisp.html
Introduction: Why Lisp?
http://www.gigamonkeys.com/book/introduction-why-lisp.html
Read-Eval-Print-λove
https://leanpub.com/readevalprintlove001
https://leanpub.com/readevalprintlove002
Alan Kay on Lisp
https://news.ycombinator.com/item?id=15558861
Why Racket? Why Lisp?
https://beautifulracket.com/appendix/why-racket-why-lisp.html
A Road to Common Lisp
http://stevelosh.com/blog/2018/08/a-road-to-common-lisp/
So yeah, about Clojure's syntax...
http://vvvvalvalval.github.io/posts/2018-01-06-so-yeah-about-clojures-syntax.html
Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I
http://www-formal.stanford.edu/jmc/recursive.pdf
LISP 1.5 Programmer's Manual
http://people.cs.bris.ac.uk/~dave/lisp.pdf
History of Lisp
http://jmc.stanford.edu/articles/lisp/lisp.pdf
Little Lisp interpreter
https://maryrosecook.com/blog/post/little-lisp-interpreter
(How to Write a (Lisp) Interpreter (in Python))
http://norvig.com/lispy.html
Make a Lisp
https://github.com/kanaka/mal
Growing a DSL with Clojure
http://clojure-doc.org/articles/tutorials/growing_a_dsl_with_clojure.html
Values and Change: Clojure’s approach to Identity and State
https://clojure.org/about/state
Does functional programming replace GoF design patterns?
https://stackoverflow.com/questions/327955/does-functional-programming-replace-gof-design-patterns
A micro manual for Lisp - Not the whole truth
https://news.ycombinator.com/item?id=1591112
Java may be verbose, but who cares?
https://dev.to/danlebrero/java-maybe-verbose-but-who-cares
The New LISP
https://medium.com/@biopolitik/the-new-lisp-ef60aea40dfd
Solving the Expression Problem with Clojure 1.2
https://www.ibm.com/developerworks/library/j-clojure-protocols/
Simple By Design
https://drewverlee.github.io/posts-output/2017-4-26-simple-by-design/
Clojure Resources
https://gist.github.com/sundarj/7b518d181198e9a1f1f73a6af56afcae
The New Normal: Data Leverage
http://blog.cognitect.com/blog/2016/6/28/the-new-normal-data-leverage
clojure.spec - Rationale and Overview
https://clojure.org/about/spec
A Tool for Thought
http://swannodette.github.io/2016/06/03/tools-for-thought
clojure.spec: Data Design 01 – Sketching a Struct
http://blog.fogus.me/2017/02/10/clojure-spec-data-design-01-sketching-a-struct/
Improving on Types: Specing a Java Library
http://blog.cognitect.com/blog/2017/6/19/improving-on-types-specing-a-java-library
Code Quarterly's 2011 Q&A with Rich Hickey
https://gist.github.com/rduplain/c474a80d173e6ae78980b91bc92f43d1
Clojure - Rationale
https://clojure.org/about/rationale
Learn to Program the World's Most Bodacious Language with Clojure for the Brave and True
http://www.braveclojure.com/
Painless Functional Specifications – Part 1: Why Bother?
https://www.joelonsoftware.com/2000/10/02/painless-functional-specifications-part-1-why-bother/
The Y Combinator
http://mvanier.livejournal.com/2897.html
The next 700 programming lanugages
http://www.cs.cmu.edu/~crary/819-f09/Landin66.pdf
Execution in the Kingdom of Nouns
http://steve-yegge.blogspot.co.uk/2006/03/execution-in-kingdom-of-nouns.html
Programming Language Checklist
http://colinm.org/language_checklist.html
Should I design the application or model (database) first?
https://stackoverflow.com/questions/329160/should-i-design-the-application-or-model-database-first
Systems Design: Making a New Feature (Nearly) Too Much Trouble
http://james-iry.blogspot.co.uk/2010/10/systems-design-making-new-feature.html
If cars were like computers
https://www-users.cs.york.ac.uk/susan/joke/crash.htm
A Brief, Incomplete, and Mostly Wrong History of Programming Languages
http://james-iry.blogspot.co.uk/2009/05/brief-incomplete-and-mostly-wrong.html
Of Ideas and Men
http://reasonablypolymorphic.com/blog/ideas-and-men
How I Learned to Stop Worrying and Love the Type System
http://reasonablypolymorphic.com/blog/love-types
Origins of Python's "Functional" Features
http://python-history.blogspot.co.uk/2009/04/origins-of-pythons-functional-features.html
How do you write such amazing documentation?
staltz/ama#21
Don't complain that Chinese is ugly and unreadable just because you speak English as your native tongue.
https://news.ycombinator.com/item?id=13571367
Zero-One-Infinity Rule
http://catb.org/jargon/html/Z/Zero-One-Infinity-Rule.html
Nobody wants to use software: Why you should rethink software development
https://medium.freecodecamp.com/nobody-wants-to-use-software-a75643bee654
The Ten Rules of Schema Growth
http://blog.datomic.com/2017/01/the-ten-rules-of-schema-growth.html
Forth: The Hacker's Language
http://hackaday.com/2017/01/27/forth-the-hackers-language/
A Response to “Why Most Unit Testing is Waste”
https://henrikwarne.com/2014/09/04/a-response-to-why-most-unit-testing-is-waste/
Why Should I Care What Color the Bikeshed Is?
http://bikeshed.com/
Design Smell: Primitive Obsession
http://blog.ploeh.dk/2011/05/25/DesignSmellPrimitiveObsession/
The Myth of Descriptive Module Names
https://hueniverse.com/the-myth-of-descriptive-module-names-d34d5feaa273
The Fucking Open Web
https://hueniverse.com/the-fucking-open-web-9f52d1465d84
The Open Web, Fuck Yeah!
https://hueniverse.com/the-open-web-fuck-yeah-5febd1d4caa6
How to Use Open Source and Shut the Fuck Up At the Same Time
https://hueniverse.com/how-to-use-open-source-and-shut-the-fuck-up-at-the-same-time-d933471d59de
Performance at Rest
https://hueniverse.com/performance-at-rest-75bb8fff143
When 500% Faster is Garbage
https://hueniverse.com/when-500-faster-is-garbage-553121a088c3
The Fallacy of Tiny Modules
https://hueniverse.com/the-fallacy-of-tiny-modules-920f9a14cc43
OAuth 2.0 and the Road to Hell
https://hueniverse.com/oauth-2-0-and-the-road-to-hell-8eec45921529
On Being Operationally Incompetent
https://hueniverse.com/on-being-operationally-incompetent-4ca4fbccbf98
The Best Kept Secret in the Node Community
https://hueniverse.com/the-best-kept-secret-in-the-node-community-14b6942a4e74
Small modules: it’s not quite that simple
https://medium.com/@Rich_Harris/small-modules-it-s-not-quite-that-simple-3ca532d65de4
Ask HN: What's your favourite tech talk?
https://news.ycombinator.com/item?id=12637239
Nobody Wants to Use Your Product
https://www.smashingmagazine.com/2016/01/nobody-wants-use-your-product/
Objects Should Be Immutable
http://www.yegor256.com/2014/06/09/objects-should-be-immutable.html
Immutability and Why It Matters
https://www.ctl.io/developers/blog/post/immutability
Why care about functional programming? Part 1: Immutability
https://miles.no/blogg/why-care-about-functional-programming-part-1-immutability
Why immutability is important, and why many don't care about it
https://www.reddit.com/r/rust/comments/25ul91/why_immutability_is_important_and_why_many_dont/
What is immutability and why should I worry about it?
https://stackoverflow.com/questions/622664/what-is-immutability-and-why-should-i-worry-about-it
There Is No Functional Programming, Only Culture
http://web.archive.org/web/20170308211939/http://jspha.com/thoughts/2016/11/30/there-is-no-functional-programming-only-culture
CSS has weak forms of abstraction and combination
http://www.lispcast.com/css-abstraction-combination
Separation, abstraction, and cascading in CSS
http://www.lispcast.com/cascading-separation-abstraction
MindBEMding – getting your head ’round BEM syntax
https://csswizardry.com/2013/01/mindbemding-getting-your-head-round-bem-syntax/
More Transparent UI Code with Namespaces
https://csswizardry.com/2015/03/more-transparent-ui-code-with-namespaces/
BEMIT: Taking the BEM Naming Convention a Step Further
https://csswizardry.com/2015/08/bemit-taking-the-bem-naming-convention-a-step-further/
Contextual Styling: UI Components, Nesting, and Implementation Detail
https://csswizardry.com/2015/06/contextual-styling-ui-components-nesting-and-implementation-detail/
Immutable CSS
https://csswizardry.com/2015/03/immutable-css/
Cyclomatic Complexity: Logic in CSS
https://csswizardry.com/2015/04/cyclomatic-complexity-logic-in-css/
Code Smells in CSS Revisited
https://csswizardry.com/2017/02/code-smells-in-css-revisited/
High-level advice and guidelines for writing sane, manageable, scalable CSS
https://cssguidelin.es
https://twitter.com/gigasquid/status/653702428387352577
https://twitter.com/ericnormand/status/543424657139851264
How To Become A Hacker
http://www.catb.org/esr/faqs/hacker-howto.html
Creative Thinking
http://www1.ece.neu.edu/~naderi/Claude%20Shannon.html
Category Theory for Programmers: The Preface
https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/
In what cases is less code not better?
https://softwareengineering.stackexchange.com/questions/356548/in-what-cases-is-less-code-not-better
OOP practiced backwards is "POO"
https://github.com/raganwald-deprecated/homoiconic/blob/master/2010/12/oop.md#readme
https://news.ycombinator.com/item?id=1993129
On Building a Cloud, and Choosing Lisp: Because Nobody Told Me I Couldn't
https://www.linkedin.com/pulse/building-cloud-choosing-lisp-because-nobody-told-me-i-mason-browne
The single tip that made me a better programmer
https://staltz.com/the-single-tip-that-made-me-a-better-programmer.html
Why debugging is all about understanding
http://web.archive.org/web/20170920073728/http://futurice.com/blog/why-debugging-is-all-about-understanding
Empirical Methods of Debugging
http://web.archive.org/web/20170811031232/https://www.futurice.com/blog/empirical-methods-of-debugging/
REPL Debugging: No Stacktrace Required
http://blog.cognitect.com/blog/2017/6/5/repl-debugging-no-stacktrace-required
Notes on debugging Clojure code
https://eli.thegreenplace.net/2017/notes-on-debugging-clojure-code/
API design tips for libraries
https://staltz.com/api-design-tips-for-libraries.html
Libraries shouldn't support everything
https://staltz.com/libraries-shouldnt-support-everything.html
Is your JavaScript function actually pure?
https://staltz.com/is-your-javascript-function-actually-pure.html
Unidirectional User Interface Architectures
https://staltz.com/unidirectional-user-interface-architectures.html
Imperative code is (too) easy to write
https://staltz.com/its-easy-to-write-imperative.html
On the pains of Passive Programming
https://staltz.com/on-passive-programming.html
Why We Use Om, and Why We're Excited for Om Next
https://circleci.com/blog/why-we-use-om-and-why-were-excited-for-om-next/
Applying Denotational Semantics to design of Programs
https://softwareengineering.stackexchange.com/questions/183867/applying-denotational-semantics-to-design-of-programs
You're already a pretty good designer
http://method.ac/blog/design/programmers-designers.html
Pure UI
https://rauchg.com/2015/pure-ui
Functional Programming is taking over UIs with Pure Views
https://medium.freecodecamp.org/the-revolution-of-pure-views-aed339db7da4
The Bipolar Lisp Programmer
http://www.shenlanguage.org/lambdassociates/htdocs/blog/bipolar.htm
The Shen of Programming
http://www.marktarver.com/Philosophy/index.htm
The Mistakes I Made As a Beginner Programmer: Learn to identify them, make habits to avoid them
https://medium.com/@samerbuna/the-mistakes-i-made-as-a-beginner-programmer-ac8b3e54c312
Natural Language Principles in Perl
http://wall.org/~larry/natural.html
Functional programming in Javascript is an antipattern: and Clojure is actually easier
https://hackernoon.com/functional-programming-in-javascript-is-an-antipattern-58526819f21e
Psst! Here’s why ReasonReact is the best way to write React
https://medium.freecodecamp.org/psst-heres-why-reasonreact-is-the-best-way-to-write-react-5088d434d035
https://news.ycombinator.com/item?id=15209704
Motherfucking Websites
http://motherfuckingwebsite.com
http://bettermotherfuckingwebsite.com
https://evenbettermotherfucking.website
https://bestmotherfucking.website
Alan Kay's Reading List
http://www.squeakland.org/resources/books/readingList.jsp
Clojure Bookshelf: Books that influenced Clojure, in no particular order
https://www.amazon.com/gp/richpub/listmania/fullview/R3LG3ZBZS4GCTH
Bret Victor's Reading List
https://gist.github.com/sundarj/e4698c46880ac15e2ffe667528f23b6c
Teach Yourself Programming in Ten Years
https://www.norvig.com/21-days.html
Oberon - The Overlooked Jewel
http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=67E76264BCC82904BC5C9945A3DA3600?doi=10.1.1.90.7173&rep=rep1&type=pdf
Compilers as Assistants
http://elm-lang.org/blog/compilers-as-assistants
What I want from a Type System
https://gist.github.com/halgari/f431b2d1094e4ec1e933969969489854
Distributed Systems and the End of the API
https://writings.quilt.org/2014/05/12/distributed-systems-and-the-end-of-the-api/
Local State is Poison
https://awelonblue.wordpress.com/2012/10/21/local-state-is-poison/
Web development and its discontents
http://docs.racket-lang.org/pollen/Backstory.html#(part._.Web_development_and_its_discontents)
Programming at the REPL
https://clojure.org/guides/repl/introduction
blazing fast html round two
http://elm-lang.org/blog/blazing-fast-html-round-two
The Future of JavaScript MVC Frameworks
http://swannodette.github.io/2013/12/17/the-future-of-javascript-mvcs
PSD is not my favourite file format.
https://github.com/gco/xee/blob/master/XeePhotoshopLoader.m#L108
https://twitter.com/garybernhardt/status/1015285838291218432
Don’t Let Architecture Astronauts Scare You
https://www.joelonsoftware.com/2001/04/21/dont-let-architecture-astronauts-scare-you/
Stop using JWT for sessions
http://cryto.net/~joepie91/blog/2016/06/13/stop-using-jwt-for-sessions/
Elm: Concurrent FRP for Functional GUIs
http://elm-lang.org/assets/papers/concurrent-frp.pdf
Writing Great Documentation
https://jacobian.org/writing/great-documentation/
12 Tips for Scientists Writing for the General Public
https://www.americanscientist.org/blog/from-the-staff/12-tips-for-scientists-writing-for-the-general-public
Teach, Don't Tell
http://stevelosh.com/blog/2013/09/teach-dont-tell/
What Elon Musk Should Learn From the Thailand Cave Rescue
https://www.nytimes.com/2018/07/14/opinion/sunday/elon-musk-thailand-hubris.html
https://twitter.com/zeynep/status/1018456864026132480
DataScript as a lingua franca for domain modeling
http://vvvvalvalval.github.io/posts/datascript-as-a-lingua-franca-for-domain-modeling.html
What makes a good REPL?
http://vvvvalvalval.github.io/posts/what-makes-a-good-repl.html
My Clojure Workflow, Reloaded
http://thinkrelevance.com/blog/2013/06/04/clojure-workflow-reloaded
Applying Property Based Testing to User Interfaces
https://github.com/omcljs/om/wiki/Applying-Property-Based-Testing-to-User-Interfaces
Designing an email-only Slack interface
https://kevinlynagh.com/stop-slacking/
Learning From Terminals to Design the Future of User Interfaces
https://brandur.org/interfaces
Understanding Clojure's Persistent Vectors, pt. 1
https://hypirion.com/musings/understanding-persistent-vector-pt-1
Monads for functional programming
http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf
C Is Not a Low-level Language
https://queue.acm.org/detail.cfm?id=3212479
Embrace the SICK
http://esr.ibiblio.org/?p=7979
Hacker Archetypes
http://esr.ibiblio.org/?p=7478
Map fusion: Making Haskell 225% faster
http://www.randomhacks.net/2007/02/10/map-fusion-and-haskell-performance/
Fusion makes functional programming fun!
https://donsbot.wordpress.com/2010/02/26/fusion-makes-functional-programming-fun/
GHC optimization and fusion
https://www.stackbuilders.com/tutorials/haskell/ghc-optimization-and-fusion/
Why I prefer Scheme to Haskell
http://slidetocode.com/2012/4/9/why-i-prefer-scheme-to-haskell
Why you should stop using Git rebase
https://medium.com/@fredrikmorken/why-you-should-stop-using-git-rebase-5552bee4fed1
Trunk Based Development
https://trunkbaseddevelopment.com
TypeScript at Google
http://neugierig.org/software/blog/2018/09/typescript-at-google.html
Why not Haskell?
http://neugierig.org/software/blog/2011/10/why-not-haskell.html
"in Clojure I rarely find myself reaching for something like the state monad, as I would in Haskell"
https://groups.google.com/forum/#!topic/clojure/wccacRJIXvg
https://twitter.com/stuarthalloway/status/1039941461645639681
Dr. Alan Kay on the Meaning of "Object-Oriented Programming"
http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en
What kind of things are easy in Haskell and hard in Scala, and vice-versa?
http://blog.tmorris.net/posts/what-kind-of-things-are-easy-in-haskell-and-hard-in-scala-and-vice-versa/index.html
Designing with types: Single case union types
https://fsharpforfunandprofit.com/posts/designing-with-types-single-case-dus/
Designing with types: Making illegal states unrepresentable
https://fsharpforfunandprofit.com/posts/designing-with-types-making-illegal-states-unrepresentable/
https://twitter.com/skrishna/status/1035166725979992064
https://threadreaderapp.com/thread/1043122193293443073.html
Pyret
https://www.pyret.org
https://www.pyret.org/pyret-code/
https://www.pyret.org/docs/latest/equality.html
https://www.pyret.org/docs/latest/op-precedence.html
https://twitter.com/garybernhardt/status/1042203332280909824
https://twitter.com/garybernhardt/status/1042508857648459776
https://twitter.com/garybernhardt/status/1043539455758331904
Haskell Researchers Announce Discovery of Industry Programmer Who Gives a Shit
http://steve-yegge.blogspot.com/2010/12/haskell-researchers-announce-discovery.html
3 tribes of programming
https://josephg.com/blog/3-tribes/
Three a-ha moments
https://orestis.gr/three-a-ha-moments/
Why Google Fonts aren't really open source
https://practicaltypography.com/why-google-fonts-arent-really-open-source.html
Nagios::Plugin - Removed from CPAN by request of Nagios Enterprises, succeeded by Monitoring::Plugin
https://metacpan.org/pod/Nagios::Plugin
https://twitter.com/mollytelfordMRX/status/959823763708588032
A crash course in compilers
https://increment.com/programming-languages/crash-course-in-compilers/
REST APIs must be hypertext-driven
http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven
Worried about types + Clojure Elitism
https://clojureverse.org/t/worried-about-types-clojure-elitism/616/25
https://clojureverse.org/t/worried-about-types-clojure-elitism/616/27
https://clojureverse.org/t/worried-about-types-clojure-elitism/616/36
https://clojureverse.org/t/worried-about-types-clojure-elitism/616/38
https://clojureverse.org/t/worried-about-types-clojure-elitism/616/46
https://clojureverse.org/t/worried-about-types-clojure-elitism/616/47
https://clojureverse.org/t/worried-about-types-clojure-elitism/616/48
How Discord Stores Billions of Messages
https://blog.discordapp.com/how-discord-stores-billions-of-messages-7fa6ec7ee4c7
Tim Berners-Lee tells us his radical new plan to upend the World Wide Web
https://www.fastcompany.com/90243936/exclusive-tim-berners-lee-tells-us-his-radical-new-plan-to-upend-the-world-wide-web
https://www.inrupt.com
Scope and Extent
http://www.cs.cmu.edu/afs/cs/Web/Groups/AI/html/cltl/clm/node43.html
What is the most sophisticated piece of software/code ever written?
https://www.quora.com/What-is-the-most-sophisticated-piece-of-software-code-ever-written/answer/John-Byrd-2
a comparison of functional data structures on the JVM
https://github.com/lacuna/bifurcan/blob/master/doc/comparison.md
Transit
http://blog.cognitect.com/blog/2014/7/22/transit
https://blog.klipse.tech/clojure/2016/09/22/transit-clojure.html
https://github.com/cognitect/transit-format
Boolean Blindness
https://existentialtype.wordpress.com/2011/03/15/boolean-blindness/
More points for lazy evaluation
http://augustss.blogspot.com/2011/05/more-points-for-lazy-evaluation-in.html
Use Haskell for shell scripting
http://www.haskellforall.com/2015/01/use-haskell-for-shell-scripting.html
A Short History of Chaosnet
https://twobithistory.org/2018/09/30/chaosnet.html
Alan Kay on OO, Messaging, and System Design
http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-October/017019.html
Clojure Do's and Don'ts
https://stuartsierra.com/tag/dos-and-donts
Object oriented programming is a load of Obfuscation
https://groups.google.com/forum/#!msg/comp.lang.cobol/UkTqW_aj14s/g3vNfJTEBQAJ
The Two Types of Programmers
https://blog.codinghorror.com/the-two-types-of-programmers/
Mort, Elvis, Einstein, and You
https://blog.codinghorror.com/mort-elvis-einstein-and-you/
Developers Are Users Too
https://blog.codinghorror.com/developers-are-users-too/
Being Popular
http://www.paulgraham.com/popular.html
The Hundred-Year Language
http://www.paulgraham.com/hundred.html
Why Arc Isn't Especially Object-Oriented
http://www.paulgraham.com/noop.html
Rees Re: OO
http://www.paulgraham.com/reesoo.html
A Guide to Undefined Behavior in C and C++, Part 1
https://blog.regehr.org/archives/213
Both true and false: a Zen moment with C
https://markshroyer.com/2012/06/c-both-true-and-false/
A note for C programmers
http://talkchess.com/forum3/viewtopic.php?t=50186
The Value of Undefined Behaviour
https://nullprogram.com/blog/2018/07/20/
Why undefined behavior may call a never-called function
https://kristerw.blogspot.com/2017/09/why-undefined-behavior-may-call-never.html
nasal demons
http://www.catb.org/jargon/html/N/nasal-demons.html
Type Systems
http://lucacardelli.name/Papers/TypeSystems.pdf
What every computer science major should know
http://matt.might.net/articles/what-cs-majors-should-know/
AWS in Plain English
https://www.expeditedssl.com/aws-in-plain-english
How to Write Good Error Messages
https://uxplanet.org/how-to-write-good-error-messages-858e4551cd4
Systems Languages: An Experience Report
https://blog.usejournal.com/systems-languages-an-experience-report-d008b2b12628
Implementation of the RSA public-key cryptography algorithm in the Scheme dialect of Lisp
http://matt.might.net/articles/implementation-of-rsa-public-key-cryptography-algorithm-in-scheme-dialect-of-lisp/
Fear, trust and JavaScript: When types and functional programming fail
https://www.reaktor.com/blog/fear-trust-and-javascript/
"Stop Designing Languages. Write Libraries Instead."
http://lbstanza.org/purpose_of_programming_languages.html
L.B.Stanza
http://lbstanza.org/index.html
http://lbstanza.org/philosophy.html
Constraints
http://tagide.com/blog/research/constraints/
JSON: The JavaScript subset that isn't
http://timelessrepo.com/json-isnt-a-javascript-subset
Wise Man’s Haskell
https://anchpop.github.io/wise_mans_haskell/
Motivation for Monads
https://www.reddit.com/r/Clojure/comments/8pyxk8/motivation_for_monads/
https://www.reddit.com/r/Clojure/comments/8pyxk8/motivation_for_monads/e0gb6on/
https://twitter.com/jannispohlmann/status/1003318350351687681
https://twitter.com/BrandonBloom/status/1003456532325941248
Hibernation (Linus Torvalds)
https://yarchive.net/comp/linux/hibernation.html
Protobuffers Are Wrong
http://reasonablypolymorphic.com/blog/protos-are-wrong/
Clojure at Netflix
https://speakerdeck.com/daveray/clojure-at-netflix
https://twitter.com/joeerl/status/1055815315685367815
nREPL Redux
https://metaredux.com/posts/2018/10/29/nrepl-redux.html
all-async: exploring async options
https://github.com/mccraigmccraig/all-async/blob/master/all-async.pdf
Semantic Design
https://lukepalmer.wordpress.com/2008/07/18/semantic-design/
My Premonition
https://lukepalmer.wordpress.com/2009/06/17/my-premonition/
https://www.quora.com/What-dont-people-tell-you-about-learning-to-code/answer/George-Huestis
Region-based memory management
https://www.stephanboyer.com/post/60/region-based-memory-management
Algebra of compatibility in test.check
https://groups.google.com/forum/#!topic/clojure-dev/JlO8ZYL-0aQ
Proposal: Improvements for Contributors/Screeners
https://groups.google.com/forum/#!topic/clojure-dev/2xrPEmZtgWc
Low level question
http://computer-programming-forum.com/23-functional/b8bd46e4ad6020cd.htm
Lazy languages considered questionable
http://computer-programming-forum.com/23-functional/2ea3480192893078.htm
Casting SPELs with Clojure
http://www.lisperati.com/clojure-spels/casting.html
Introduction to Clojure - Modern dialect of Lisp (Part 1)
https://www.creativeapplications.net/tutorials/introduction-to-clojure-part-1/
Why is functional programming seen as the opposite of OOP rather than an addition to it?
https://www.quora.com/Why-is-functional-programming-seen-as-the-opposite-of-OOP-rather-than-an-addition-to-it/answer/Alan-Kay-11
Is there a programming language that's effectively a successor to Smalltalk?
https://www.quora.com/Is-there-a-programming-language-thats-effectively-a-successor-to-Smalltalk/answer/Alan-Kay-11
What is Alan Kay’s opinion of Assembly and mainstream programming languages like Google Go?
https://www.quora.com/What-is-Alan-Kay’s-opinion-of-Assembly-and-mainstream-programming-languages-like-Google-Go/answer/Alan-Kay-11
Worlds: Controlling the Scope of Side Effects
http://www.vpri.org/pdf/tr2011001_final_worlds.pdf
Datomic: Event Sourcing without the hassle
https://vvvvalvalval.github.io/posts/2018-11-12-datomic-event-sourcing-without-the-hassle.html
Datomic: this is not the history you're looking for
http://vvvvalvalval.github.io/posts/2017-07-08-Datomic-this-is-not-the-history-youre-looking-for.html
Sum Types Are Coming: What You Should Know
https://chadaustin.me/2015/07/sum-types/
Design, Composition and Performance
http://www.infoq.com/presentations/Design-Composition-Performance
Simple Made Easy
https://www.infoq.com/presentations/Simple-Made-Easy
Effective Programs
https://www.youtube.com/watch?v=2V1FtfBDsLU
https://news.ycombinator.com/item?id=15464423
Reversing the Tide of Declining Expectations
https://www.typotalks.com/videos/reversing-the-tide-of-declining-expectations/
Bret Victor - Inventing on Principle
https://vimeo.com/36579366
Principles of Technology Leadership
https://www.youtube.com/watch?v=9QMGAtxUlAc
Keynote: The Value of Values
http://www.infoq.com/presentations/Value-Values
Are We There Yet?
http://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hickey
Clojure Concurrency
https://www.youtube.com/watch?v=dGVqrGmwOAw
Hammock Driven Development
http://www.youtube.com/watch?v=f84n5oFoZBc
Spec-ulation Keynote
https://www.youtube.com/watch?v=oyLBGkS5ICk
The Language of the System
http://www.youtube.com/watch?v=ROor6_NGIWU
Rich Hickey on Clojure Spec
https://vimeo.com/195711510
Deconstructing the Database
https://www.youtube.com/watch?v=Cym4TZwTCNU
Narcissistic Design
https://www.youtube.com/watch?v=LEZv-kQUSi4
Transparency through data
https://www.youtube.com/watch?v=zznwKCifC1A
REPL Driven Development
https://vimeo.com/223309989
Transducers
https://www.youtube.com/watch?v=6mTbuzafcII
PureScript: Tomorrow’s JavaScript Today
https://vimeo.com/243148125
Why Functional Programming Matters
https://www.youtube.com/watch?v=IyR04U66z7E
Clojure Made Simple
https://www.youtube.com/watch?v=VSdnJDO-xdg
Hello Om Next!
https://www.youtube.com/watch?v=xz389Ek2eS8
What if the user was a function?
https://www.youtube.com/watch?v=1zj7M1LnJV4
Building composable abstractions
https://www.youtube.com/watch?v=jJIUoaIvD20
All I needed for FP I learned in High School Algebra
https://www.youtube.com/watch?v=epT1xgxSpFU
Choosing Features
https://www.deconstructconf.com/2017/kevin-lynagh-choosing-features
On Storytelling
https://www.deconstructconf.com/2017/evan-czaplicki-on-storytelling
Fundamental Principles of Software
https://www.youtube.com/watch?v=1VLN57wJAcU
The Functional Final Frontier
https://www.youtube.com/watch?v=DMtwq3QtddY
Types, and why you should care
https://www.youtube.com/watch?v=yVuEPwNuCHw
Xi: an editor for the next 20 years
https://www.youtube.com/watch?v=4FbQre9VQLI
Distributed, Eventually Consistent Computations
https://www.youtube.com/watch?v=lsKaNDj4TrE
PureScript & Pux -- a safer, more expressive way to React
https://www.youtube.com/watch?v=AE4ToMtTmz4
Talk: Denotational Design: from meanings to programs
https://github.com/conal/talk-2014-lambdajam-denotational-design
Design and Prototype a Language in Clojure
https://www.youtube.com/watch?v=i1KVwoE3n28
Practical Demystification of CRDT
https://www.youtube.com/watch?v=PQzNW8uQ_Y4
Solving Pokemon Blue with a Single, Huge Regular Expression
https://www.youtube.com/watch?v=Q2g9d29UIzk
Understanding parser combinators
https://fsharpforfunandprofit.com/parser/
Introduction To Streaming Data and Stream Processing with Apache Kafka
https://vimeo.com/184588207/067e3f3e09
Inspiring a future Clojure editor with forgotten Lisp UX
https://www.youtube.com/watch?v=K0Tsa3smr1w
Why Games Lie to You - The Fallacy of Fairness
https://www.youtube.com/watch?v=-Aq1M6C09qs
Treehouse (Lispdev)
https://www.youtube.com/playlist?list=PLkDl6Irujx9MtJPRRP5KBH40SGCenztPW
Programming Languages and Programming
https://www.youtube.com/watch?v=prIwpKL57dM
Inspiring a future Clojure editor with forgotten Lisp UX
https://www.youtube.com/watch?v=K0Tsa3smr1w
Homoiconicity It Is What It Is
https://www.youtube.com/watch?v=o7zyGMcav3c
Category Theory from the Universe Up
https://purelyfunctional.tv/courses/category-theory/
Category Theory
https://www.youtube.com/playlist?list=PLbgaMIhjbmEnaH_LTkxLI7FMa2HsnawM_
What can a technologist do about climate change? A personal view.
http://worrydream.com/ClimateChange/
Make it simple
http://www.economist.com/node/3307363
Principles
https://fortheweb.webfoundation.org/principles
Hunter S. Thompson’s Letter on Finding Your Purpose and Living a Meaningful Life
https://www.farnamstreetblog.com/2014/05/hunter-s-thompson-to-hume-logan/
Twelve Virtues of Rationality
http://yudkowsky.net/rational/virtues/
List of cognitive biases
https://www.wikiwand.com/en/List_of_cognitive_biases
The Allegory of the Cave
https://web.stanford.edu/class/ihum40/cave.pdf
https://mattlowpt.wordpress.com/2018/04/08/what-can-platos-allegory-of-the-cave-tell-us-about-knowledge-translation/
The category design pattern
http://www.haskellforall.com/2012/08/the-category-design-pattern.html
The Calf-Path
https://www.poets.org/poetsorg/poem/calf-path
Legends of the Ancient Web
http://idlewords.com/talks/ancient_web.htm
Software disenchantment
http://tonsky.me/blog/disenchantment/
Electron is flash for the desktop
https://josephg.com/blog/electron-is-flash-for-the-desktop/
3 tribes of programming
https://josephg.com/blog/3-tribes/
Design machines: How to survive the digital apocalypse
https://louderthanten.com/coax/design-machines
The Design of Everyday Things
https://en.wikipedia.org/wiki/The_Design_of_Everyday_Things
How to Make Sense of Any Mess
http://www.howtomakesenseofanymess.com/
Butterick's Practical Typography
https://practicaltypography.com
A Mathematician's Lament
https://www.maa.org/external_archive/devlin/LockhartsLament.pdf
Learning to See
https://ia.net/topics/learning-to-see/
Putting Thought Into Things
https://ia.net/topics/putting-thought-into-things/
"Good design is invisible" (The Verge)
https://ia.net/topics/good-design-is-invisible-the-verge/
Responsive Typography: The Basics
https://ia.net/topics/responsive-typography-the-basics/
“Why Simplicity Creates Great User Experiences” (DRT)
https://ia.net/topics/why-simplicity-creates-great-user-experiences-drt/
On Icons
https://ia.net/topics/on-icons/
Usable Interface Design
https://ia.net/topics/why-are-computers-still-so-hard-to-use/
Why is Simplicity Difficult?
https://ia.net/topics/simplicity/
Web Design is 95% Typography
https://ia.net/topics/the-web-is-all-about-typography-period/
Reactions to 95% Typography
https://ia.net/topics/webdesign-is-95-typography-partii/
Ten principles for good design
https://www.vitsoe.com/gb/about/good-design
Human Interface Guidelines § Design Philosophy
https://elementary.io/docs/human-interface-guidelines#design-philosophy
No, I Don't Want To Configure Your App!
http://robotlolita.me/2016/01/09/no-i-dont-want-to-configure-your-app.html
Why not add an option for that?
http://neugierig.org/software/blog/2018/07/options.html
Choices
https://www.joelonsoftware.com/2000/04/12/choices/
Compilers as Assistants
http://elm-lang.org/blog/compilers-as-assistants
Design and the Self
https://medium.com/design-your-life/design-and-the-self-a5670a000fee
A Psychological Approach to Designing Interfaces
https://uxdesign.cc/a-psychological-approach-to-designing-interfaces-c94b2d43eaa3
How Technology is Hijacking Your Mind — from a Magician and Google Design Ethicist
https://medium.com/swlh/how-technology-hijacks-peoples-minds-from-a-magician-and-google-s-design-ethicist-56d62ef5edf3
Human Centered Design & The 6 Fundamental Principles of Interaction Between Products and Users
https://uxdesign.cc/human-centered-design-the-6-fundamental-principles-of-interaction-between-products-and-users-7343734b38a1
Four Things Learned from a Design Critique with Facebook
https://medium.com/@jonleenj/four-things-learned-from-a-design-critique-with-facebook-c72c14b985a8
While I Was Redesigning a Boarding Pass, Paper Got Old
https://icons8.com/articles/redesigning-boarding-pass-again/
User laziness = user smartness, and why this is really important
http://www.90percentofeverything.com/2008/11/20/user-laziness-user-smartness-and-why-this-is-really-important/
Nobody Wants To Use Your Product
https://www.smashingmagazine.com/2016/01/nobody-wants-use-your-product/
Controlling Your Environment Makes You Happy
https://www.joelonsoftware.com/2000/04/10/controlling-your-environment-makes-you-happy/
Learnable Programming: Designing a programming system for understanding programs
http://worrydream.com/#!/LearnableProgramming
Magic Ink: Information Software and the Graphical Interface
http://worrydream.com/MagicInk/
The Language of Gutenberg
https://wordpress.org/gutenberg/handbook/language/
The Tech Industry’s Psychological War on Kids
https://medium.com/s/story/the-tech-industrys-psychological-war-on-kids-c452870464ce
Natural Language Principles in Perl
http://wall.org/~larry/natural.html
Alan Kay's Reading List
http://www.squeakland.org/resources/books/readingList.jsp
Motherfucking Websites
http://motherfuckingwebsite.com
http://bettermotherfuckingwebsite.com
https://evenbettermotherfucking.website
https://bestmotherfucking.website
Local State is Poison
https://awelonblue.wordpress.com/2012/10/21/local-state-is-poison/
Designing an email-only Slack interface
https://kevinlynagh.com/stop-slacking/
Learning From Terminals to Design the Future of User Interfaces
https://brandur.org/interfaces
The Mechanism is not the Mental Model
https://thefeedbackloop.xyz/the-mechanism-is-not-the-mental-model/
There's more to mathematics than rigour and proofs
https://terrytao.wordpress.com/career-advice/theres-more-to-mathematics-than-rigour-and-proofs/
Stroustrup's Rule and Layering Over Time
https://thefeedbackloop.xyz/stroustrups-rule-and-layering-over-time/
Safety is Rust's Fireflower
https://thefeedbackloop.xyz/safety-is-rusts-fireflower/
https://twitter.com/skrishna/status/1035166725979992064
https://threadreaderapp.com/thread/1043122193293443073.html
The billionaire's typewriter
https://practicaltypography.com/billionaires-typewriter.html
The scorpion express
https://practicaltypography.com/the-scorpion-express.html
Why Google Fonts aren't really open source
https://practicaltypography.com/why-google-fonts-arent-really-open-source.html
Transit
http://blog.cognitect.com/blog/2014/7/22/transit
https://blog.klipse.tech/clojure/2016/09/22/transit-clojure.html
https://github.com/cognitect/transit-format
UI Design in NieR:Automata
https://www.platinumgames.com/official-blog/article/9624
AWS in Plain English
https://www.expeditedssl.com/aws-in-plain-english
How to Write Good Error Messages
https://uxplanet.org/how-to-write-good-error-messages-858e4551cd4
Create your design system
https://medium.com/codyhouse/create-your-design-system-part-1-typography-7c630d9092bd
https://medium.com/codyhouse/create-your-design-system-part-2-grid-layout-aa961d59b8d6
https://medium.com/codyhouse/create-your-design-system-part-3-colors-798e4729921f
https://medium.com/codyhouse/create-your-design-system-part-4-spacing-895c9213e2b9
https://medium.com/codyhouse/create-your-design-system-part-5-icons-594f39cfb1b
Bad UX Roundup: Spotify edition
https://uxplanet.org/bad-ux-roundup-spotify-edition-50d9ff7be7c7
Semantic Design
https://lukepalmer.wordpress.com/2008/07/18/semantic-design/
My Premonition
https://lukepalmer.wordpress.com/2009/06/17/my-premonition/
How Bridges Work
https://science.howstuffworks.com/engineering/civil/bridge.htm
Dynamicland Radically Rethinks the Computer Interface
https://thenewstack.io/dynamicland-rethinks-computer-interfaces/
Design, Composition and Performance
http://www.infoq.com/presentations/Design-Composition-Performance
Simple Made Easy
https://www.infoq.com/presentations/Simple-Made-Easy
Reversing the Tide of Declining Expectations
https://www.typotalks.com/videos/reversing-the-tide-of-declining-expectations/
Bret Victor - Inventing on Principle
https://vimeo.com/36579366
Choosing Features
https://www.deconstructconf.com/2017/kevin-lynagh-choosing-features
Evan Czaplicki on Storytelling
https://www.deconstructconf.com/2017/evan-czaplicki-on-storytelling
Building composable abstractions
https://www.youtube.com/watch?v=jJIUoaIvD20
Understanding parser combinators
https://fsharpforfunandprofit.com/parser/
Narcissistic Design
https://www.youtube.com/watch?v=LEZv-kQUSi4
Transparency through data
https://www.youtube.com/watch?v=zznwKCifC1A
Why Games Lie to You - The Fallacy of Fairness
https://www.youtube.com/watch?v=-Aq1M6C09qs
Programming Languages and Programming
https://www.youtube.com/watch?v=prIwpKL57dM
The Website Obesity Crisis
http://idlewords.com/talks/website_obesity.htm
Motherfucking Websites
http://motherfuckingwebsite.com
http://bettermotherfuckingwebsite.com
https://evenbettermotherfucking.website
https://bestmotherfucking.website
The Cost of Frameworks
https://aerotwist.com/blog/the-cost-of-frameworks
The viability of JS frameworks on mobile
https://joreteg.com/blog/viability-of-js-frameworks-on-mobile
Service workers explained
https://github.com/slightlyoff/ServiceWorker/blob/master/explainer.md
Service Workers: an Introduction
https://developers.google.com/web/fundamentals/primers/service-workers/
Frameworkless JavaScript
https://muut.com/blog/technology/frameworkless-javascript.html
Riot.js — The 1kb client-side MVP library
https://muut.com/blog/technology/riotjs-the-1kb-mvp-framework.html
https://github.com/HenrikJoreteg/feather-app
Sweep the Sleaze
https://ia.net/know-how/sweep-the-sleaze
Follow-up to “Sweep the Sleaze”
https://ia.net/know-how/sweep-the-sleaze-reactions
Stop Copying Social Code Snippets
http://philipwalton.com/articles/stop-copying-social-code-snippets
Human JavaScript
http://read.humanjavascript.com
Native Web Apps
https://blog.andyet.com/2015/01/22/native-web-apps
https://github.com/filamentgroup/shoestring
Filament Group, Inc.
https://www.filamentgroup.com
WebPagetest - Website Performance and Optimization Test
http://www.webpagetest.org
Introducing Pokedex.org: a progressive webapp for Pokémon fans
http://www.pocketjavascript.com/blog/2015/11/23/introducing-pokedex-org
Instant Loading Web Apps with an Application Shell Architecture
https://developers.google.com/web/updates/2015/11/app-shell
Progressive Web App: A New Way to Experience Mobile
http://web.archive.org/web/20170524194617/http://tech-blog.flipkart.net/2015/11/progressive-web-app
Offline Wikipedia
https://wiki-offline.jakearchibald.com
A Beginner's Guide to Perceived Performance: 4 Ways to Make Your Mobile Site Feel Like a Native App
http://dev.mobify.com/blog/beginners-guide-to-perceived-performance/
Designing an email-only Slack interface
https://kevinlynagh.com/stop-slacking/
Learning From Terminals to Design the Future of User Interfaces
https://brandur.org/interfaces
Pocket-sized JS
https://www.youtube.com/watch?v=okk0BGV9oY0
How to Create a Compelling Character: The Archive
http://www.secretsofstory.com/2017/07/how-to-create-compelling-character.html
Storyteller’s Rulebook #62: Find Unique-But-Universal Details
http://www.secretsofstory.com/2010/12/storytellers-rulebook-62-sometimes.html
Storyteller’s Rulebook #33: Be Unhateable
http://www.secretsofstory.com/2010/06/storytellers-rulebook-32-be-unhateable.html
Storyteller’s Rulebook #11: Sympathetic Doesn't Have To Mean Likable
http://www.secretsofstory.com/2010/04/storytellers-rulebook-11-sympathetic.html
Storyteller’s Rulebook #15: Defying Expectations is Easy, Creating Expectations is Hard
http://www.secretsofstory.com/2010/05/storytellers-rulebook-15-defying.html
How to Build a Scene, Part 5: Tricks and Traps
http://www.secretsofstory.com/2011/05/how-to-build-scene-part-5-tricks-and.html
Storyteller's Rulebook #130: Practice Loving Everybody
http://www.secretsofstory.com/2012/03/did-we-allread-great-scriptshadow.html
Storyteller’s Rulebook #97: Polarize Your Protagonists...
http://www.secretsofstory.com/2011/08/storytellers-rulebook-97-polarize-your.html
Storyteller’s Rulebook #98: ...But Don’t Play Favorites
http://www.secretsofstory.com/2011/08/storytellers-rulebook-98-but-dont-play.html
Sanderson's Laws
https://brandonsanderson.com/sandersons-first-law/
https://brandonsanderson.com/sandersons-second-law/
https://brandonsanderson.com/sandersons-third-law-of-magic/
What can a technologist do about climate change? A personal view.
http://worrydream.com/ClimateChange/
It’s NOT the economy, stupid: Brexit as a story of personal values
http://blogs.lse.ac.uk/politicsandpolicy/personal-values-brexit-vote/
Brexit psychology: cognitive styles and their relationship to nationalistic attitudes
http://blogs.lse.ac.uk/politicsandpolicy/cognitive-styles-and-brexit/
Cultural backlash: the generational gap over Brexit is driven by authoritarian and populist values
http://blogs.lse.ac.uk/brexit/2018/09/04/cultural-backlash-the-generational-gap-over-brexit-is-driven-by-authoritarian-and-populist-values/
Authoritarianism, not social class, is the dividing line between supporting and opposing Donald Trump
http://blogs.lse.ac.uk/usappblog/2016/04/21/authoritarianism-not-social-class-is-the-dividing-line-between-supporting-and-opposing-donald-trump/
Populism is overrated – if there is a threat to democracy, it’s from authoritarian nationalism
http://blogs.lse.ac.uk/europpblog/2017/07/31/populism-is-overrated-if-there-is-a-threat-to-democracy-its-from-authoritarian-nationalism/
Three Kinds of “Conservatism”
https://www.researchgate.net/profile/Karen_Stenner2/publication/274444535_Three_Kinds_of_Conservatism/links/54e3c5a80cf2b2314f5ec477/Three-Kinds-of-Conservatism.pdf
Euroscepticism is rooted in a broader authoritarian worldview that also includes higher levels of nationalism and hostility to ‘outsiders’
http://blogs.lse.ac.uk/eurocrisispress/2013/06/28/euroscepticism-is-rooted-in-a-broader-authoritarian-worldview-that-also-includes-higher-levels-of-nationalism-and-hostility-to-outsiders/
Right-wing authoritarianism
https://en.wikipedia.org/wiki/Right-wing_authoritarianism
Authoritarianism
https://en.wikipedia.org/wiki/Authoritarianism
Globalisation, Brexit and the Transatlantic Alliance
https://institute.global/news/globalisation-brexit-and-transatlantic-alliance
Tony Blair's Speech at the Copenhagen Democracy Summit
https://institute.global/news/tony-blairs-speech-copenhagen-democracy-summit
How the BBC Lost the Plot on Brexit
https://www.nybooks.com/daily/2018/07/12/how-the-bbc-lost-the-plot-on-brexit/
https://twitter.com/shamuskhan/status/1046371146164244480
Self-driving car dilemmas reveal that moral choices are not universal
https://www.nature.com/articles/d41586-018-07135-0
What can a technologist do about climate change? A personal view.
http://worrydream.com/ClimateChange/
Hunter S. Thompson’s Letter on Finding Your Purpose and Living a Meaningful Life
https://www.farnamstreetblog.com/2014/05/hunter-s-thompson-to-hume-logan/
Twelve Virtues of Rationality
http://yudkowsky.net/rational/virtues/
List of cognitive biases
https://www.wikiwand.com/en/List_of_cognitive_biases
A Mathematician's Lament
https://www.maa.org/external_archive/devlin/LockhartsLament.pdf
Kill Math
http://worrydream.com/KillMath/
The Disruption Machine: What the gospel of innovation gets wrong
http://www.newyorker.com/magazine/2014/06/23/the-disruption-machine
Here’s my secret weapon: I read
https://medium.com/the-mission/heres-my-secret-weapon-i-read-a549859d0b6a
Mental models
http://www.defmacro.org/2016/12/22/models.html
Writing well
http://www.defmacro.org/2016/12/22/writing-well.html
RethinkDB: why we failed
http://www.defmacro.org/2017/01/18/why-rethinkdb-failed.html
Making Crash Bandicoot
http://all-things-andy-gavin.com/video-games/making-crash/
The Fermi Paradox
https://waitbutwhy.com/2014/05/fermi-paradox.html
Teach Yourself Programming in Ten Years
https://www.norvig.com/21-days.html
My creations, a new form of life
https://www.ted.com/talks/theo_jansen_creates_new_creatures
https://twitter.com/DrFautley/status/1024227769004306432
Power Laws, Weblogs, and Inequality
http://www.shirky.com/writings/powerlaw_weblog.html
There's more to mathematics than rigour and proofs
https://terrytao.wordpress.com/career-advice/theres-more-to-mathematics-than-rigour-and-proofs/
https://twitter.com/createdbyerica/status/1004476495559966721
https://twitter.com/JoePFerguson/status/1034135933883432962
The Calf-Path
https://www.poets.org/poetsorg/poem/calf-path
Vote with your wallet, not your ad blocker
https://practicaltypography.com/vote-with-your-wallet.html
The infinite-pixel screen
https://practicaltypography.com/the-infinite-pixel-screen.html
https://twitter.com/mollytelfordMRX/status/959823763708588032
Why Games Lie to You - The Fallacy of Fairness
https://www.youtube.com/watch?v=-Aq1M6C09qs
Mailing List Decorum
https://groups.google.com/d/msg/clojure/t0pGIuoyB7I/RQtuuAOhes8J
https://twitter.com/shamuskhan/status/1046371146164244480
https://twitter.com/tragedythyme/status/1049044475857788928
The illustrated guide to a Ph.D.
http://matt.might.net/articles/phd-school-in-pictures/
https://twitter.com/foone/status/1014267515696922624
Self-driving car dilemmas reveal that moral choices are not universal
https://www.nature.com/articles/d41586-018-07135-0
The Alot is Better Than You at Everything
http://hyperboleandahalf.blogspot.com/2010/04/alot-is-better-than-you-at-everything.html
‘Ghost kanji’ lurk in the Japanese lexicon
https://www.japantimes.co.jp/life/2018/10/29/language/ghost-kanji-lurk-japanese-lexicon/
Principles
https://fortheweb.webfoundation.org/principles
How Bridges Work
https://science.howstuffworks.com/engineering/civil/bridge.htm