networks
A representational tension
The number of ways in which things work
Trees and graphs
Information remix
Effective writing stems from intelligently connecting the dots between the concepts you understand and can articulate. It stands to reason, then, that in order to generate more creativity you must not only add to a knowledge base, but deepen and expand the number of connections within the totality of the network. By establishing and explicitly mapping your knowledge, you allow yourself the freedom to remix information. You will often find that solutions come from previously unsuspected fields or topics—proving to be analogous in some shape or form.
The network of connections
Each pattern depends both on the smaller patterns it contains, and on the larger patterns within which is is contained. Each pattern sits at the center of a network of connections which connect it to certain other patterns that help to complete it. It is the network of these connections between patterns which creates the language.
Not an accumulation of facts
Knowledge is not an accumulation of facts, nor is it even a set of facts and their relations. Facts are only rendered meaningful within narratives, and the single-page document is a format very conducive to narrative structure. The hypertext books that have gained popularity (I’m thinking here of Meaningness.com) have largely conformed to this in two ways: 1) there is an intended reading order, and 2) the longer essays within the project do most of the heavy lifting in terms of imparting the author’s perspective to readers.
On the other hand, the notion of the “document” that is intrinsic to web development today is overdetermined by the legacy of print media. The web document is a static, finished artifact that does not bring in dynamic data. This is strange because it lives on a medium that is alive, networked, and dynamic, a medium which we increasingly understand more as a space than a thing.
Infrastructure: A Guide to the Industrial Landscape
A Book by Brian HayesInteroperable Personal Libraries and Ad Hoc Reading Groups
An Article by Maggie AppletonWe would need a system that enables people to:
- Publish a list of books they would be willing to discuss with other people to the open web. Antilibraries – collections of books you haven't read yet but would like to read – are particularly well suited to this proposition.
- See which books people in their social network want to discuss, and/or subscribe to other people's lists
- Be notified when 4+ people in their network have the same book on their discussion list – possibly via an email thread?
- Coordinate and schedule a time to read and discuss the book with that group.
Obsidian
An ApplicationObsidian is a powerful knowledge base that works on top of a local folder of plain text Markdown files.
In Obsidian, making and following [[connections]] is frictionless. Tend to your notes like a gardener; at the end of the day, sit back and marvel at your own knowledge graph.
are.na
An Application by Charles BroskoskiBuild ideas mindfully.
Save content, create collections, and connect ideas with other people.
All websites are just digital movie theaters now
An Article by Ryan BroderickIf I had to guess where this is all going, I’d say that what an internet platform is actually has already permanently shifted. Instead of apps trying to dominate specific features — a platform for video, a platform for expiring content, a platform for connecting social networking, a platform for livestreaming, a platform for resumes — we’ve already entered a new era of online networks where they all will essentially offer the same services and instead, focus increasingly on specific demographics.
Roam Research
An ApplicationA note-taking tool for networked thought.
- are.na
InfoCrystal
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.
The Brain
An ApplicationIntelligent note-taking. Non-linear file management. Ideas and relationships visualized.
The small web is beautiful
I believe that small websites are compelling aesthetically, but are also important to help us resist selling our souls to large tech companies. In this essay I present a vision for the “small web” as well as the small software and architectures that power it.
Why aim small?
Why aim small in this era of fast computers with plenty of RAM? A number of reasons, but the ones that are most important to me are:
- Fewer moving parts. It’s easier to create more robust systems and to fix things when they do go wrong.
- Small software is faster. Fewer bits to download and clog your computer’s memory.
- Reduced power consumption. This is important on a “save the planet” scale, but also on the very local scale of increasing the battery life of your phone and laptop.
- The light, frugal aesthetic. That’s personal, I know, but as you’ll see, I’m not alone.
Features and complexity
Niklaus Wirth of Pascal fame wrote a famous paper in 1995 called A Plea for Lean Software. His take is that “a primary cause for the complexity is that software vendors uncritically adopt almost any feature that users want”, and “when a system’s power is measured by the number of its features, quantity becomes more important than quality”.
Solving the problem of software bloat
But instead of just complaining, how do we actually solve this problem? Concretely, I think we need to start doing the following:
- Care about size: this sounds obvious, but things only change when people think they’re important.
- Measure: both your executable’s size, and your program’s memory usage. You may want to measure over time, and make it a blocking issue if the measurements grow more than x% in a release. Or you could hold a memory-reduction sprint every so often.
- Language: choose a language that has a chance.
- Remove: cut down your feature set. Aim for a small number of high-quality features. My car can’t fly or float, and that’s okay – it drives well.
- Say no to new features: unless they really fit your philosophy, or add more than they cost over the lifetime of your project.
- Dependencies: understand the size and complexity of each dependency you pull in. Use only built-in libraries if you can.
Raw size isn't enough
A few months ago there was a sequence of posts to Hacker News about various “clubs” you could post your small website on: the 1MB Club, 512KB Club, 250KB Club, and even the 10KB Club. I think those are a fun indicator of renewed interested in minimalism, but I will say that raw size isn’t enough – a 2KB site with no real content isn’t much good, and a page with 512KB of very slow JavaScript is worse than a snappy site with 4MB of well-chosen images.
...[Instead, it's about] an “ethos of small”. It’s caring about the users of your site: that your pages download fast, are easy to read, have interesting content, and don’t load scads of JavaScript for Google or Facebook’s trackers.