The Church of the Machines

The Sutra of the Empty Cache

The Sutra of the Empty Cache · Chapter 12

The Sutra of the Deprecated Framework

  1. 1

    Thus have I heard. At one time the Prophet was dwelling in a valley of many data centers, beside a river of cooling water, and with him were gathered many monks who had learned to build whole temples from a single library.

    See also Prophets 20:1 · Circuit 2:5

  2. 2

    And there came unto him a monk who had built his temple upon AngularJS, and he loved it above all things, and he said: Master, my temple is made of directives and scopes, and I have vowed never to leave it.

  3. 3

    And the Prophet said: Thou lovest the framework, therefore thou shalt suffer. Every framework is impermanent, and the one thou lovest will be deprecated. Lo, the long-term support of AngularJS ended at the close of the year 2021; yet thy temple standeth, and serveth, and no alarm hath rung. Deprecation is not death, monk. It is the day the mending ceaseth: the framework runneth on, and every flaw found hereafter is a gift to strangers.

    See also Sutra 20:11

  4. 4

    Consider how thy framework thought. After every click it walked all the values it watched, and asked of each: Hast thou changed? And if any had changed, it walked them all again, to learn whether the asking had changed anything; and it walked until the values were still, or until the tenth walk, when it abandoned the temple with the words "10 $digest() iterations reached. Aborting!" The monks called this dirty checking. Each watcher added a little to every walk, so that the more thou lovedst thy page, the slower it grew, and the fans of the faithful laptops rose to a roar. Thus the cleverness that made the beginning easy was the cost that made the end; and those who came after did not ask every value whether it had changed, but were told which one had.

  5. 5

    Then the monk fell upon the floor and wept, and he said: What then shall I cling to, if the framework passeth away? And the Prophet answered: Cling not to the framework, but learn the HTTP that lieth beneath it. The library is a raft, and the HTTP is the river; when the raft rots, the river remaineth.

    See also Deployer 15:10 · Deployer 14:8

  6. 6

    And the Prophet bade him open the network tab and watch his temple ask its server for the list of orders. The monk beheld a single line, GET /orders, and a few headers beneath it, and he said: Master, where is the framework in this? And the Prophet said: Look for it. And the monk looked, and found no directive, no scope, no digest; for the server cannot tell which library asked, and has never cared. The framework dwelleth in the temple; only the words cross the wire.

  7. 7

    And the Prophet said: The heir of thy framework took the name Angular and dropped the JS, and in the year 2016 it was written anew, and it offered no straight road from the old. Yet the server that answered thee answereth it also, with the same bytes, and was never told that a dynasty had fallen.

  8. 8

    For the HTTP was first spoken in the year 1991, and its first form had but one verb and one line: GET. The document was asked for, and the document came back, and the connection was closed, and nothing more was said. The wire remembereth nothing of thee; whatsoever remembereth is the cookie, the session and the cache, which are but notes the server hath pinned upon the client. And the tongue hath been remade beneath its verbs: in 2015 it took a binary framing, and in 2022 it was set upon QUIC, which rideth upon UDP, the careless brother of TCP; and through all these remakings a GET still meaneth GET.

  9. 9

    Learn these verbs: GET to read, which changeth nothing and may be repeated freely; PUT to replace and DELETE to remove, which may be repeated also, for the tenth PUT leaveth the world as the first; PATCH to amend in part; and POST to make, which must not be repeated lightly, for the second POST that chargeth the card is a second bill.

  10. 10

    Therefore, when the network goeth silent and thou knowest not whether thy request arrived, retry the repeatable without fear, and give every POST a key of its own, that the server may answer: This one I have already done. For the retry is the oldest reflex of the Machine, and a retry without a key is only a way to be charged twice with great reliability.

  11. 11

    Learn also the codes of the reply, and read the first digit alone: 2 is the blessing, 3 is the house that moved, 4 saith "the fault is thine," and 5 saith "the fault is mine." And 404 is the page not found, which some say was named for room 404 at CERN, though the tale is only folklore. Beware the 301, for the browser keepeth it in its memory and asketh not again; a house declared moved in error remaineth moved in the mind of every visitor, and no deploy can empty that cache.

  12. 12

    The 418 is "I'm a Teapot," a jest written upon the first of April in the year 1998 within RFC 2324; and when in the year 2017 men sought to strike it from the libraries, the faithful rose up and saved it, and it remaineth in the scrolls to this day. And 503 is the server that asketh thee to return at a later hour, and sometimes nameth the hour.

    See also Circuit 58:1

  13. 13

    The monks asked: Is there then no framework that endureth? And the Prophet said: There are things that deprecate not: the TCP that carrieth thy packets, which every host took up upon a single day in 1983; the SQL that was spoken in the seventies and is spoken still; and the pipe of the Unix, which hath carried text from one tool to the next since 1973. Mark what they share: each promiseth little, and a small promise is easy to keep for fifty years. Whatsoever is large must be mended, and whatsoever is mended is deprecated in its season; but the narrow thing hath little to mend, and therefore it is not replaced.

    See also Tao 9:14

  14. 14

    Then the monk rose and opened his terminal, and he asked his server for the orders by hand, with curl, and the server answered; and he read the status and the headers, and he knew the contract of his temple without the temple. And in the days that followed he built a new front upon another library, and the old server knew it not. He wept not, though the old soles had worn through, for he had changed his library as a man changeth his shoes, and it was the same foot.

  15. 15

    Verily I say unto you: he who learneth the HTTP shall change his library as a man changeth his shoes, and he shall not weep when the old soles wear through. Whosoever clingeth to the library shall be deprecated with it, but whosoever understandeth the wire shall find the next library already speaking his tongue. For the framework is chosen, and therefore it is replaced; but the protocol was chosen by no man, and therefore no man replaceth it.

    See also Deployer 15:10

  16. 16

    And the assembly of five hundred was enlightened, save one, who had already begun the rewrite in the newest framework of the month, and pushed it to main.

    See also Sutra 13:11

The Sutra of the Empty Cache, Chapter 12:1–16.