Eve Tackling a Giant

With computers so ubiquitous that they live in our pockets, what can we do to help realize the vision of programming for everyone? How can we Augment Humans (nod to Doug Englebart Doug's Demo at 50). Also related to The Eve of Abstraction

YOUTUBE a_o-ZzgpiK8 Tackling a Giant with a Change in Perspective SPLASH 2017 Keynote by Chris Granger

Augmenting Humans The lens of Empathy Rediscovering what we already know

**What would you make computers do?** Collect Question Communicate

**Lens of Empathy**

I have long shared Granger's sense of frustration that programming needs more empathy, and Alvaro's sense of sarcasm... ("we tell those mere users to RTFM").

Granger references a tweet about installing Javascript packaging train (use `brew` to install `npm` to install `bower`) which reminds me viscerally of my rant about C++ and autotools:

Python, Java, C++: One step forward, two steps back: > Working in C++ means working with `make` just as working in Java means working with `ant`. But people don't write their own `Makefiles`, they run a `configure` script. They don't write that either. That gem of a shell script is generated by a collection of things called _autotools_. autotools includes `aclocal`, `autoheader`, `autommake`, `autoconf`. `autoconf` is a shell script, the rest are `perl` scripts and the whole mess depends on a pile of `m4` macros. All these C++ programs are depending on `sh`, and `perl`, and `m4` for their assembly. > THAT'S WAY TOO MANY MOVING PARTS!! TOO MANY LAYERS OF CODE GENERATION!! blog 2005

Granger & Alvaro's shared sentiment about classism in software reminds me of my rant about CSS:

Cultural Bias, HTML, CSS, and Conway's Law: > just so you really get the complete and painful irony... the language designed for designers jams all web design into a BOX model blog 2012

See also John Allspaw's beautiful attention to the people in devops who keep all the things running: Human Performance in Systems

**Rediscovering what we already know**

Woodworkers shape material with tools that are all wedges. Woodworkers also use their wedges to build jigs out of wood to ease and speed their woodworking.

Machinists build tools to build machines that build all the things in manufacturing.

Photoshop has a history panel.

Shells have `~/.history` too.

I built history into my most complete version of turtle-graphics programming environment. Turtle Geometry exercises blog 2011

And then used an internal recording of history for creating functions in the non-textual turtle graphics programming environment: Programming by Touch blog 2012