Memex is a provisional name I'm giving to my overall approach to organizing information, based on the idea by Vannevar Bush as published in As We May Think (viewable from ACM among other places) which has been similarly borrowed many times. The term may be swapped if it is determined it is not particularly suitable or invites too much confusion, I've alternatively called it my grimoire (to swap from one nerdy idea to another).

The underlying pursuit is that of collecting and composing concepts, which is certainly not a novel nor innovative pursuit. This has been an effort that has passed through several incarnations over the years but is potentially somewhat sharpened by the recent emergence of viable generative AI. This amounts to the pursuit of a linked data style network of trustworthy (i.e. falsifiable/empirical/authoritative) information alongside constructions of such information.

Again, this is not anything new but the overall effort seems to consistently run up against biases that push things away from those goals except in fields in which they are enforced. Practical information tends to fall into silos as pieces of it are carved off and contorted into new contexts after which it is more subject to reproduction and dilution through cargo culting, and likely due to a human bias towards certainty concepts tend to get subsumed by specifics, leading to unnecessarily repeated attention on questions of how rather than what (certainly worth asking...but often not repeating).

This is also pretty emphatically aspirational, this has not yet led anywhere for me and there's not much of a reason to think that it will.

In terms of "concepts" this is focused on seeking solutions which are portable and mostly declarative, without getting tangled up with underlying engines. That specific term was adopted after having attended a talk by Daniel Jackson. I've not yet read his book but based on the talk his use of concept seemed to distill several overlapping ideas into a framework that cuts across software, cognition, and reality.

This is also driven by an underlying goal of insulating abstract models from particular representations. This seems very much in line with the foundations of software engineering in that it rests on top of many layers of abstraction where perhaps the most prominent boundary is that software is written without knowledge of the circuits that underlie most modern computers which has allowed the field to progress from earlier types of machines (such as from vacuum to solid state) and to expand to other variations such as quantum and biological. This is not to dismiss those cases where higher levels of mechanical sympathy are valuable, but to posit that there is more value in abstraction. Unfortunately software in practice tends to also lean in the opposite direction where too much focus on details of representation of logic and data introduces levels of Balkanization and corresponding inefficiency. To some extent this is the nature of the beast as programming is largely the practice of realizing abstractions in precise, computable forms which naturally requires selection of such forms, but preserving the notion that all such forms are incidental can ensure that they are treated as such and attention remains more properly focused on the essence.

My means of concept curation are fairly slow and therefore this is also complemented by a toolbox which consists of tools that are ultimately compositions of concepts, but which are applied as larger, potentially more opaque, chunks. All together this provides a mix of more bottom up concept curation and top down tool dissection.