I believe you are incorrect about the US Army’s percent of the federal budget. Total defense spending (all branches) represents around 15% of the budget.
Ah, great catch! I’m admittedly nowhere near an expert in this regard. I was looking at the US Discretionary spending budget, and mistakenly thought that was representative of the total budget
APL is not so much a model of computation as a new notation for semantics which already exist. The real semantic explanation of APL is set theory and traditional mathematics.
Probably the best deep ground-level explanation of APL is Iverson’s paper “Notation as a tool of thought.” [0]
The bootstrapping explanation you describe sounds a lot like what Paul Graham did in “On Lisp” [1] and in a much more complex fashion, Queinnec in “Lisp in Small Pieces” [2], both highly recommended.
In Zero History, the purpose of the shirt was not to fool the algorithm, but to trip a deep "gentlemen's agreement" between intelligence agencies to make invisible anyone bearing a certain pattern in order to protect the intelligence apparatus.
It will always be difficult to sustainably defeat recognition algorithms and I expect this to be an arms race along the same lines as other counter-surveillance techniques.
Gibson's suggestion that deeply coded and secret exceptions to mass surveillance might be used to protect state actors seems to me a plausible and concerning aspect of these developments.
Some of these aren’t bad. The Goal, for example, is a great book for helping you build intuition about constraints. But by far, the best manufacturing book I’ve read is Factory Physics, but Hopp and Spearman. It rewards study with a mathematical understanding of how value chains work.
Here is a relevant interview with journalist Steven Pearlstein in which he suggests that current conditions only support 7-9 global journalism outlets worldwide, with only 2 or so non-partisan and fact-based, mostly for the upper classes.
> But at that time APL was not running on any computer; and he stoutly insisted that it was unnecessary that it ever run on a computer. It was for him a notation with which he could express algorithmic concepts; and for him at that time, that seemed sufficient.
Indeed. Because both APL and Lisp began as languages for describing computational ideas, it stands to reason that they would be particularly fit relative to languages that evolved under other fitness criteria.
I was intrigued to not the opposition to APL mentioned in the article by Djikstra and others on the basis of a different mental model of computation.
> I am firmly convinced that APL and LISP are related to each other along an important axis of language design and that acquiring simultaneous expertise in both languages is possible and desirable for the beginning student. Were they unified, the set of tasks that succumb to terse, flexible and expressive descriptions will enlarge enormously without overly increasing the intellectual burden on the student over his initial 16 week contact period.
In the context of setting the objectives for education in computer science for general students, I like the idea that the objectives are to (a) understand the limits and potential of computation and (b) achieve fluency in programming such that one can conceive of and describe computational processes for a wide range of tasks.
He explicitly suggests that fluency in using other people’s programs not be an objective. Perhaps this is a bit idealistic since most programming in the wild today consists of glueing together other people’s programs. But it seems like the right objective when possible—-in some ways it is a view of computer science as a liberal art.
There's another link between Lisp and APL in the article:
"Some years back, we had a visit at Carnegie from a person at MIT
whose name I've forgotten. He started to give us a lecture in a
little office about some programming issues in LISP. He went up to
the blackboard and he spoke LISP. Everything he wanted to
describe, he described in terms of parentheses and CONS and CARS
and CDRS. He found himself quite capable of expressing his ideas
in the language in which he programmed. Not once during the half
hour or so that he lectured to us did I see the inevitable block
diagram, the flow charts that show up on the blackboard with
things written in semi-English. He didn't need them. And at the
time I said to myself, "LISP has a very precious character, if
indeed there are some people who can express programming ideas to
other people in the language in which they program.
"I can't do that with ALGOL; never have I been able to do it with ALGOL.
Whenever I've programmed in ALGOL and I've wished to make some
statements about the program I was writing, I was forced to go
outside the language and use English, or mathematics, or some
block diagrams or what-not.
"In APL, I find that to a far greater
degree than any other language that I've used, I can make
statements about the programs that I'm writing, in APL -- actually
not exactly APL, but APL with some nice little extensions that I
dream up at the moment but would never think of implementing. But
by and large, I find that the language allows me to express
myself, in the language, about the things I'm dealing with. I find
that a very precious property of a programming language."
> Joel Moses has been credited with coining the phrase in the 1970s
> APL is like a beautiful diamond – flawless, beautifully symmetrical. But you can't add anything to it. If you try to glue on another diamond, you don't get a bigger diamond. Lisp is like a ball of mud. Add more and it's still a ball of mud – it still looks like Lisp.
> Moses strongly denies this, claiming he instead called Lisp a bean bag because it always returns to its original shape.
APL is a read syntax for point-free function chaining in which the operators have one-character names, and may be juxtaposed without intervening whitespace.
Relative to APL, the interesting matters in Lisp tend to lie on the other side of the AST hill.