Core computer medium
[ Modified: 2024 Apr 13 ]
1. Introduction
2. Basic paradigms
3. Core use of computers
4. Experience of the computer medium


#1 Introduction

A computer does what a person desires at the mere press of a button, but for most people that is only science fiction (Customize the buttonboard).

No one need be a book author to write a grocery list, nor be a computer programmer to write a computer instruction. Potentially, no one needs any computer programming skills for personalizing beyond computer programs. Though, notes help with gaining familiarity.


Generally, information is telegrammed amongst the components inside a computer, and to other computers. Pulses of significant amounts of electricity and insignificant amounts are the dashes and dots of machine code flowing circuitously.

Similar to a calculator, a computer accepts instructions for managing numbers and words. In essence, memory management is akin to a notepad of paper. Without memory, it would be a basic tool, at most an uncustomizable machine.

There are simply two sets of instructions for a computer:

All interactions with a computer comprise those two purposes: "now" and "later". The memory might be for the screen displaying drawings of text. It might be on another computer.


Most commodity computers barricade their labeled buttonboards behind an unlabeled pointer-box that must be repetitiously lifted, clunked, and slid with gymnastic precision. Ideally, writing in the computer medium would be without an obstacle course entrance, as immediate as writing on paper.

The promotion of literacy encourages sharing knowledge by writing and reading. Personal memory management and communication become possible with the ubiquitous skill of writing when the commodity software permits the buttonboard to function (Interactive curiosity: typing for actions and help).


Unique text editing software often produce unique file types, which make the documents eventually inaccessible when the software is inevitably abandoned by its company. Only plain text documents are accessible with any computer, old or new, commodity or personalized (Organizing and sharing files).

Plain text documents are so versatile that all operating systems and programs are always made from them, although sometimes only their illegible conversion to machine code are ever shared.

Computer networking bridges the gap between discrete computers and their incompatible operating systems, a compatible means of transferring plain text files for reading and editing anywhere (Dual system computing).


The experience of pursuing personal interests is the core of personal disciplines, but is perceived externally or by self-reflection as freedom. That is, the perception of freedom is a side-effect from taking on the responsibility of following through with personal interests.

Opportunity is sometimes mistaken as freedom, as is the lack of molestation or lack of expectation from other people. Like the fantasies of security and privacy, freedom is never taken away because it is only a perception. At most, the daydream of freedom disperses when personal pursuits are disrupted.

The pre-defined instructions of computer programs are what the software developers had time to offer, likely without documentation, and hidden within a cavernous maze of non-personalizable menus. Jumping through hoops or over hurdles provides a false sense of accomplishment, a façade of freedom after the labyrinthine escape.

A "personalizable computer" (...no need to change the world) is extensible beyond its default set of computer instructions and buttons. A person adapts the computer to fit within the current flow of events, such as re-assigning buttons or composing a basic computer instruction instead of computer programming (Flow of the moment).



#2 Basic paradigms



#3 Core use of computers

A relocatable point of focus is required for insertion and removal of information, for correcting, or for rearranging. Storing a specific location of the point of focus allows for instantly returning the point of focus to that location after the point of focus has been moved.

A view of the information allows skimming and perusing. A narrowed portion of the information is presented, and can be designated as the focused area by hiding the remainder of the info before and after the narrowed portion. More than one view enables viewing more than one area of the information, or completely different information.

Storing a layout of views, references to the information shown in the views, and the point of focus within each view allows for restoring that experience later to replace a different layout of views and information.

Any sequence of events, such as typing or actions, can be stored and then later repeated. Therefore, any thing or any state is storable and retrievable.

Information that is stored is presentable. Therefore it is possible to view a list of focus points, a list of layouts of views, or a list of event sequences.



#4 Experience of the computer medium

Errors shouldn't exist. Everything should just resolve. Errors are terrible feedback. Being able to trace the results is likely what really matters. No need for a program to crash or completely freeze, as neither is useful feedback. What would be useful is being able to backtrack in real time through the chain of previous results, just step backwards while the program is in use.

Input types should be transparent. String, character, number, image, audio, etc. No need for any types or type checking. Input is handled when it can be handled, which is all the time because the result can always be nothing. In that way there are no errors. Regardless of the result, either something or nothing, stepping back through the chain of previous results should always be possible. Similar to scrubbing through a video, in that previous results are not necessarily undone so much as travelled.

There is nothing to compile, or rather there is no step for compiling. Instead approaches could be saved and reused. Simply traverse through the saved approach (similar to scrubbing through a video) and change the input along the way to get a different result. Or even change part of the approach along the way.

Instead of "stop, then start back over", the experience would be "pause, then go". Infinite loops would be pausable, not broken. Their results up to that point of pausing could be examined in the same traversable manner, likely as a group of results for that loop. The loop could be unpaused so it could continue where it left off without having to start over. The main concern of inifinite loops is not knowing they are happening, but that concern is the same as not knowing "what" is happening. It's that lack of feedback that should be addressed, the information that "something" is happening, like an activity monitor of some sort.

None of this is about debugging. That's because there'd be no such thing as bugs, hence no debugging. Either it works or it doesn't, either it does what's desired or it doesn't. This is about the actual experience of using a computer for anything at all.



More in:
computer keyboards
operating systems and virtual machines

sharing