Most of online communication involves boundaries.

The internet was good for me because it broke down impossible barriers to people I had zero opportunity to get in touch with.

For example, Slack essentially works by allowing users to create lightweight barriers, channels to talk in.

Channels are boundaries, the workspace for channels is a boundary, now Slack has added a new feature to manage crossing the boundary with clients and stakeholders.

It’s fascinating how we envision complete freedom being good, but we need to setup boundaries to be social.

It seems hiding information from others is necessary for social interaction.

I am reading this article about CQRS a software architecture and came across a phrase that stopped my reading.

It was that data should be “persuaded” to go into another table as theresult of a query, especially a join of more than one table.

@This would be essentially taking the projection part of an SQL query and storing it physically somewhere.

This is called a materialized view, something I’ve thought about fo a long time as an essential part of a complete query process.

A view, which is a query stored somewhere that you can ask to return its query…

Template inheritance mimics the object-oriented way of classes inheriting characteristics of a class they extend from.

One advantage of template inheritance is that it allows the development and debugging of views independently of the main website presentation. This makes for a simpler process without the overall layout making it difficult to test individual view templates.

Perhaps the most important advantage of template inheritance is in reducing and managing a large number of templates (that can go into the thousands). Inheritance reduces the number of templates necessary.

It can be surprisingly quicker to use inheritance than to write includes for headers and footers for each page template.



{include header}

{include body}

{include footer}



{extends layout}

Actual body


Actual header

{content of page template}

Actual footer

It supports doing things like this


. views

. layout

. site.template

. pages

. page-one.template

. page-two.template

. page-three.template

Nothing ever fits cleanly into one category.

It helps to place things in one category or another so that we know where to find it later, for example, I drop all articles that are scientific but relevant to computing into the Computing category. I drop things into the Science category I expect to find in the Science category, even if they wobble a bit in being defined only as science.

I need to find things I’m looking for, not create an eternal, perfectly correct categorization of the content.

This shows a difference between a finding aid and a system of…

Tags are good at organizing different perspectives on a collection of things, posts, emails, and the like. Typically, they do nothing for information hiding, the way categories or folders are used to filter a collection. For example, I can create labels in Gmail for Goodreads messages, but I can’t keep them out of my inbox, although if I just want to see Goodreads messages, I can create a Goodreads label.

When the web is truly the web, it will be interesting to see, when the kaleidoscope of services is connected arbitrarily through the web, and people answer the question do I have to do it all myself or can I depend on the network, a question nearly as old as the web.

Slack doesn’t want to be a digital storage company, but storage in the web is a vital part of their service, which demands people working together be able to talk and work on the same content. This is the direction the web has been moving in since the first wiki came out with Content and Talk pages.

I’m convinced that a programming language should not come without a package system and a package manipulation tools.

A modular programming language will necessarily have modules, and a tool to install and prepare a module for use by programs is vital to good programming.

I believe that metadata and metadata tools should be defined along with the language.

The programmer should be able to write metadata about the language and the program just as they write a program.

Object oriented programming can make a program more complex. This is because the goal of OOP and other modern language techniques is to make it easy to change things.

The “small pieces loosely joined” approach maximizes flexibility or the ability to replace software with other software over nearly everything else.

The text keyword label known popularly as the. “hashtag” operates on the same small pieces loosely joined principle when applied to organizing relatively short pieces of text such as blog posts or Twitter posts. Hashtags create unnecessary fragmentation and complexity in a way similar to OOP principles.

The focus of…

I’m not so much interested in finding the absolutely accurate category to place a book or an artifact in. I don’t believe there is one ultimate perfect category for a thing. If we truly need that one ultimately accurate category to find it, then there’s something wrong with the way we catalog things. Every thing should be in a web of connections, which makes it easy to find from many different approaches.

Traditional cataloging holds no interest for, although I admire the heroic struggle of library catalogers and metadata fairies.


Several years ago I explored ideas on different ways people could relate to search. A user can relate to search by looking for something classified by qualities of the thing they are looking for, such as searching a library catalog for a book on a particular subject. This represents the traditional way of cataloging. An item is classified by the attributes of the item itself. Users then search through this subject space for information they are looking for.

It occurred to me, that a user can also relate to search as a person with interests. Instead of worrying about what…

Steve Knoblock

I made happen, creating access to documentary video on American roots culture. Photography is my first love before computers.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store