HXA7241 (logo)

abstract tentacly things

NOTES

some short notes on a limited range of subjects

This is a blog-alternative: a series of informal notes of various smaller ideas.

The most common topic is thinking, in an abstract way, about software engineering. The update rate is, on average, every 1 or 2 weeks.

Feed icon subscribe

There is only one program

(permalink: note 2010-03-02T21:57)

Software tends toward a continual global ecosystem

Since software is ever-changeable it has no final form, and so its design process never really ends: it is continual. And since software is freely communicable it has no real location, and so the design process is dispersed: it is global. Code is shared across versions and projects world-wide. What are apparently separate projects are really only sub-branches of the whole: software is very much a single interconnected system. Other engineerings may have a global view, but with software its very material is, and there is nothing else.

Both of these features are rather special: design is essentially about responding to requirements and building on components – to do these so quickly and widely approaches its ideal. Software can be designed more completely than almost anything. Hence, design for sofware – the tasks, knowledge, techniques – is potentially much larger and more complex than its forebears.

There is a further special characteristic that might be even more important, yet hardly used: full reflexivity. Software can modify everything about itself. This is a significant departure from other engineerings. And it leads beyond design – deliberate prediction and control – to autonomous development. Though we currently lack the knowledge to guide software evolving itself, it is where software can perhaps become not only a single whole, but an ecosystem – like its natural digital progenitor: DNA. What that will mean is interesting to ponder . . .

archive

2010-02-21T11:00 - The simple rule of why copyright is now broken
Internet benefit is inversely related to copyright strength.
2010-02-15T21:41 - An outline map of software development
A way of dividing up and placing the parts of software development, in terms of other established fields.
2010-02-09T20:01 - Keeping your new ideas secret is probably wrong
A simple rational demonstration.
2010-02-01T20:38 - The illusion in up-front design
There is an illusion in the idea of up-front design in software (that is, code arrangement, not algorithm), that makes it seem more plausible than it really is.
2010-01-22T20:23 - The essential weakness at the core of Google search
. . . and a related problem in user-moderated comment systems.
2010-01-13T19:17 - Paying For Information, Asymmetrically
The most reasonable way to pay for information is right in front of us.
2009-11-16T19:12 - Software Engineering Materialism
It is good to think of software engineering as ‘the design of structures in a special abstract material’.
2009-11-10T21:54 - The morality of copying: a simple Kantian evaluation
A simple, solid argument for the moral goodness of copying.
2009-10-25T21:23 - Vitruvius - 'Firmitas, Utilitas, Venustas' - In Software
Vitruvius' ancient principles of architecture can be used to view software.
2009-10-19T20:52 - Genome Versus Programming Language
Genomes have an extra means of code expression/expansion compared to artificial software.
2009-08-31T20:06 - Genomes As Software
A genome is a digital object, and the way it works as a system may be significantly like software.
2009-08-06T11:42 - A Comment On ‘A Conversation with Alan Kay’
An observation on an interesting software development analogy.
2009-05-23T10:24 - ‘Software Design’ Is Not Design
Software engineering should not be obsessed with representation.
2009-05-12T17:48 - The Missing Principle Of Programming Languages
Languages should support data/computation mechanics (mostly known as performance evaluation/analysis).
2009-05-05T11:32 - The Third Principle Of Programming Languages
A main driver of language design must be the extended design process.
2009-04-26T21:36 - Better HTML fragment referencing, and RDFa
A look at the relation of HTML fragment identifiers and the joining of the GGG with the WWW.
2009-04-19T10:43 - Why Data-‘Piracy’ Is Morally Good
An ethical way to understand and deal with intellectual monopoly and data-'piracy'.
2009-04-10T16:36 - Philosophy Of Software Development
A proposal for a philosophy of software development.
2009-04-07T12:28 - Structured Object-Oriented Programming
Inconclusive consideration of Structured Programming and Object-Orientation.
2009-03-25T17:09 - Determinate Knowledge In Software Engineering
A brief overview of software engineering's principal parts.
2009-03-14T17:38 - The Problem With More Web JavaScript
An extra abstraction might be now needed for web-app engineering.
2009-02-26T11:14 - Logical Structure And Software Architecture
A brief adumbration of software architecture and its underlying realm.
2009-02-19T15:18 - Software ‘Mass-Production’
A quick formulation of mass-production for software.
2009-02-18T09:34 - Software Development In A Nutshell
An attempt at a minimal 'well-founded' or 'historically-informed' conception of software development.
Feed icon 2010-03-02