Eclectic notes for a presentation I gave…
Meme
- Lots of “opinionated frameworks” recently
- Meme lifecycle: meaning won’t last, probably
Opinionated
- Iconoclastic, counter intuitive, even irrational
- Resistance to idealizations, oversimplistic principles, abstractions, first approximations
- Abstractions essential for beginners, but harmful for advanced/realistic cases
- Avoid examples [Dijkstra], unrealistic academic exercises
- Worse is better
Disclaimers/methodology
- Form of the book
- No skills transfer, but provocation: “make them think”
- Metacognition
- Critical theoretic specific kind of negativity
- Performativity
Web (time-) scale
- MVC, SEO, RIA, UI/UX
- CAP, ACID/BASE
- CSS frontiers, why really hard to solve
- REST et al (eg, esp SEO) harmful for UX (RIA)
Ecosystems: packaging
- pip, virtualenv, gems, eggs, deb/APT, bundle, NPM… CPAN ;o)
- Depedencies
- Extend vs use, OOP vs monkey patching
- Reuse, fragile base class
IDE to CLI
- Rails
- vi, Emacs, RISC/CISC, Vim, Sublime
- Scripting (scaffolding, deployment, testing, migrations, SCM…)
- Prof Dijkstra on notations
Node.js
- “The best reason to pay attention to Node.js is the audience that is paying attention to it.”
- Meteor, et al
Shallow vs deep
- Expert systems: deep vs shallow modeling
- Transistors to logic circuits to Von Neuman to compilers to kernels to… distributed (Internet)
- Synchronizers and NICs
- Wrapping (hiding) semaphores in C++
- C++ pointers to methods
- 12 year olds publish “apps”
- “Nobody reads Knuth anymore”
- CMM, UML?
Conway’s Law
- “[…] skeptical of the claim that the reasons the approach isn’t more common are predominantly cultural and intrastructural — debugging large asynchronous applications would seem to be a real challenge […]”
“[…] architectural decision to restrict multiple thread access to C bindings rather than JavaScript — throttling access to experts, at least in theory — interesting.”
…