1 of 67

Everything as Compiler

Henry Zhu, @left_pad

links in speaker notes below

2 of 67

3 of 67

Vue as Compiler

4 of 67

epistemology

how do we know?

what can we know?

can we know?

5 of 67

frequency illusion:

once something has been noticed, then every instance of that thing is noticed

6 of 67

7 of 67

8 of 67

9 of 67

We know more than we can tell

― Michael Polanyi

10 of 67

backwards compatibility

11 of 67

babel <-> lebab

12 of 67

Babel as a translator

13 of 67

Conceptual metaphors

also shape the way

we think

14 of 67

time is money

This framework will save me hours

I need to budget my time this sprint

I've invested a lot of time configuring..

15 of 67

I can’t parse what you’re saying

I’m compiling my thoughts

Let’s generate some ideas

understanding as compiling

16 of 67

knowledge as insight,

ways of seeing

17 of 67

learning x to

see the world

through x

to -> from

18 of 67

“bicycles for the mind

19 of 67

Why does this matter?

20 of 67

Why does this matter?

21 of 67

22 of 67

"I believe in Christianity

as I believe that the Sun has risen,

not only because I see it

but because by it, I see everything else"

C.S. Lewis

23 of 67

“Isn’t the whole point to abstract away people?”

24 of 67

Q: Who is behind

the code?

25 of 67

abstraction hides information details

open source hides dependencies

26 of 67

Driving a car

Using a framework

creating it

fixing it

maintaining it

vs.

27 of 67

What can happen in the deferral of responsibility to our tools?

28 of 67

Distance can breed ignorance of the ecosystems and individual animal lives that feed us.

29 of 67

are not the program

results

docs

APIs

types

30 of 67

the map is not the territory

-Alfred Korzybski

31 of 67

are (by themselves), not enough

results

docs

APIs

types

32 of 67

100% test coverage

standards

top companies

open source projects

..

will have bugs

33 of 67

What can we gain by doing things ourselves?

34 of 67

Should we rely on anything? Should we always start from scratch?

Should we trust?

35 of 67

“I think, therefore I am”

  • Mr. Doubt

36 of 67

objectivity

certainty

“best”

“right”

doubt

what are the consequences of seeking..

37 of 67

"The medium

is the

message

massage"

38 of 67

“Technology is neither good nor bad;

nor is it neutral”

-Kranzberg’s First Law

(technology as artifact)

39 of 67

40 of 67

41 of 67

But we can’t “question everything”,

We must think, act, live.. without certainty

42 of 67

"All models are wrong,

but some are useful"

-George Box

43 of 67

“Programming as Theory Building”

(Naur, 1985) - also the N in BNF

44 of 67

what appears to be a more common notion, ..a production of a program and certain other texts.

“open source is code"

Q: What is programming?

45 of 67

What about reading?

“reading is remembering statements”

46 of 67

47 of 67

How else can we think about knowing?

48 of 67

Stages of Cultivation

49 of 67

Stages of (Programming) Cultivation

1: Primitive (intuition, yolo)

2: Mechanical (principles, DRY!!)

3: Artlessness (it depends**)

50 of 67

What are the tradeoffs?

test everything

no awareness of “testing”

51 of 67

52 of 67

A: an activity by which the programmers form a certain kind of insight, mental model

“an essential part of programming is the theory of it”

53 of 67

..could not conceivably be expressed, but is inextricably bound to human beings

people don’t just matter, but are essential

54 of 67

It is the persistent theme of this book that all technologies are extensions of our physical and nervous systems to increase power and speed

55 of 67

"indwelling"

56 of 67

If you put water into a cup, it becomes the cup.

You put water into a bottle and it becomes the bottle. You put it in a teapot, it becomes the teapot..

be water, my friend.

  • Bruce Lee

57 of 67

at the Ise Grand Shrine, Japanese caretakers tear down and rebuild anew every generation. -Dan Wang

think of technology as a living product, which has to be practiced for knowledge even to be maintained at its current level..

58 of 67

During the program life a programmer team possessing its theory remains in active control of the program.

🌱 program life

59 of 67

The death of a program happens when the programmer team possessing its theory is dissolved.

program death

60 of 67

Revival of a program is the rebuilding of its theory by a new programmer team.

“The Life and Death of Great Programs”

61 of 67

programmers are not substitutable “resources

62 of 67

know-that / know-how

reason / experience

dead / living

static / dynamic

artifact / infrastructure

detached / personal

message / medium

what are we dealing with?

63 of 67

Is what we’re dealing with a cat or a toaster?

“city as buildings”

“environment as resources”

“open source as code”

64 of 67

How are we seeing the world?

65 of 67

Be patient toward all that is unsolved in your heart and try to love the questions themselves, like locked rooms and like books that are now written in a very foreign tongue. Do not now seek the answers, which cannot be given you because you would not be able to live them. - Rilke

66 of 67

the point is, to live everything.. Live the questions now. Perhaps then, someday far in the future, you will gradually, without even noticing it, live your way into the answer. -Rilke

67 of 67

2 years!