math
On beauty bare
Wang tiles
Trees and graphs
A tree is a kind of graph, but a graph can be considerably more complex than a tree.
I have reason to believe, which for brevity’s sake I will treat elsewhere, that the most complex class of processes and structures we humans can consciously prescribe, reduces mathematically to a tree. A tree has a top, bottom, left and right. Its branches fan out from the trunk and they don’t intersect with one another. They are discrete, contiguous, identifiable objects which persist across time. Trees are Things.
Software and websites, however, reduce to arbitrarily more complex structures: they are graphs. A graph has no meaningful orientation whatsoever. No sequence, no obvious start or end—at least none that we can intuit. It is better considered not as one Thing, but as a federation of Things, like the brain or a fungus network, or perhaps a composite artifact left behind from an ongoing process, like an ant colony or human city.
Trees and semilattices
The tree of my title is not a green tree with leaves. It is the name of an abstract structure. I shall contrast it with another, more complex abstract structure called a semilattice.
Both the tree and semilattice are ways of thinking about how a large collection of many small systems goes to make up a large and complex system.
A collection of sets forms a semilattice if, and only if, when two overlapping sets belong to the collection, the set of elements common to both also belongs to the collection. That is, if [234] and [345] belong to the collection, then [34] belongs to the collection.
A collection of sets forms a tree if, and only if, for any two sets that belong to the collection either one is wholly contained in the other, or they are wholly disjoint. Every tree is trivially a simple semilattice.
We are concerned with the difference between structures in which no overlap occurs, and those structures in which overlap does occur.
The semilattice is potentially a much more complex and subtle structure than a tree. It is this lack of structural complexity, characteristic of trees, which is crippling our conceptions of the city.
A City Is Not a Tree
An Essay by Christopher Alexander- Strands of life
- Impending destruction
- The right overlap
- The difficulty of designing complexity
- Political chains of influence
Notes on the Synthesis of Form
A Book by Christopher AlexanderVisualizing Data
A Book by William S. ClevelandExploratory Data Analysis
A Book by John TukeyPlus Equals #4
An Article by Rob WeychertOne of the seeds for Plus Equals was planted a few years ago with Incomplete Open Cubes Revisited, my extension of a Sol LeWitt work. I learned a lot about isometric projection from that project, but my affection for the concept didn’t begin there. Whether I’m looking at a Chris Ware illustration or an exploded-view technical drawing of a complex machine, an isometric rendering always stirs something in me.
A brief foray into vectorial semantics
An Article by James SomersOne of the best (and easiest) ways to start making sense of a document is to highlight its “important” words, or the words that appear within that document more often than chance would predict. That’s the idea behind Amazon.com’s “Statistically Improbable Phrases”:
Amazon.com’s Statistically Improbable Phrases, or “SIPs”, are the most distinctive phrases in the text of books in the Search Inside!™ program. To identify SIPs, our computers scan the text of all books in the Search Inside! program. If they find a phrase that occurs a large number of times in a particular book relative to all Search Inside! books, that phrase is a SIP in that book.
tixy.land
A Websitesin(t * x) * cos(t * y)
Creative code golfing.
Rafael Araujo's Golden Ratio
A GalleryBlue Morpho Double Helix & Icosahedron
The Tiling Patterns of Sebastien Truchet and the Topology of Structural Hierarchy
A Research Paper by Cyril Stanley SmithA pattern of tiles illustrated by Douat in 1722.
A translation is given of Truchet's 1704 paper showing that an infinity of patterns can be generated by the assembly of a single half—colored tile in various orientations.
Everything and More
A Book by David Foster WallaceInfoCrystal
A Research PaperThis paper introduces a novel representation, called the InfoCrystal, that can be used as a visualization tool as well as a visual query language to help users search for information. The InfoCrystal visualizes all the possible relationships among N concepts.
A Plea for Lean Software
Software's girth has surpassed its functionality, largely because hardware advances make this possible. The way to streamline software lies in disciplined methodologies and a return to the essentials.
Measured by the number of its features
A primary cause of complexity is that software vendors uncritically adopt almost any feature that users want. Any incompatibility with the original system concept is either ignored or passes unrecognized, which renders the design more complicated and its use more cumbersome. When a system's power is measured by the number of its features, quantity becomes more important than quality. Every new release must offer additional features, even if some don't add functionality.
Essential vs. nice to have
Customers have trouble distinguishing between essential features and those that are just "nice to have." Examples of the latter class: those arbitrarily overlapping windows suggested by the uncritically but widely adopted desktop metaphor; and fancy icons decorating the screen display, such as antique mailboxes and garbage cans that are further enhanced by the visible movement of selected items toward their ultimate destination. These details are cute but not essential, and they have a hidden cost.
/
Increased complexity results in large part from our recent penchant for friendly user interaction. I've already mentioned windows and icons; color, gray-scales, shadows, pop-ups, pictures, and all kinds of gadgets can easily be added.
Dependence is more profitable than education
A customer who pays—in advance—for service contracts is a more stable income source than a customer who has fully mastered a product's use.
Customer dependence is more profitable than customer education.
What I find truly baffling are manuals—hundreds of pages long—that accompany software applications, programming languages, and operating systems. Unmistakably, they signal both a contorted design that lacks clear concepts and an intent to hook customers.
The most rewarding iterations
Initial designs for sophisticated software applications are invariably complicated, even when developed by competent engineers. Truly good solutions emerge after iterative improvements or after redesigns that exploit new insights, and the most rewarding iterations are those that result in program simplifications.
Evolutions of this kind, however, are extremely rare in current software practice—they require time-consuming thought processes that are rarely rewarded. Instead, software inadequacies are typically corrected by quickly conceived additions that invariably result in the well-known bulk.
Never enough time
Time pressure is probably the foremost reason behind the emergence of bulky software. The time pressure that designers endure discourages careful planning. It also discourages improving acceptable solutions; instead, it encourages quickly conceived software additions and corrections. Time pressure gradually corrupts an engineer's standard of quality and perfection. It has a detrimental effect on people as well as products.