ACCU2016: Talk on Software Architecture Design 3: The Issue of Doubt

The next issue I want to explore is the central one of how we handle doubt. This is crucial in understanding how we come to know anything and so is pivotal in developing our own perception.

If we accept that there are problems with truly knowing reality, there are a number of ways of handling the situation.

One way to handle doubt is to decide that we cannot truly know anything and so should not even try. Just RUN AWAY! as the Knights of Arthur did from the rabbit in Monty Python’s Holy Grail! In this case we just fall back to perceiving the whole of the world without any analysis. This wish can particularly happen with the New Age movement where some people want to escape away from the world into a cloud of unknowing. But humans will always analyze their surroundings to some extent so this technique is rarely followed in reality.

A second way to handle doubt is by deciding that if we cannot truly know the world, all we need do is take a quick look at it and then come up with some hypothesized model. We then leave it to experimentation to tell us if we are right or wrong. In some areas of research, particularly anything to do with living processes, this means we will be disturbing the very processes we are looking at. It is like using the proverbial sledgehammer to crack the proverbial nut, and we know how that turns out for the nut in such a case! Scientific research can implicitly fall into this mode of operation, letting our thinking run ahead of the phenomena – a trap that Goethe highlighted.

I think that neither of these two modes of handling doubt really come to grips with improving how we generate knowledge about the world.

MindTheGapCropped

A more fruitful way is to learn to live with the gap in our knowledge, i.e. stay with the not knowing. This is a distinctly uncomfortable option and is very difficult in the world of commercial software development where we may have time and/or financial pressures. Despite not knowing the best way to solve a problem, we need to use the simplest implementation we can and realize that it is a provisional state, allowing us to return to it when our thinking has matured and we can see our way to a better solution. As Dr. Marian Petre mentioned in her keynote, this handling of ‘provisionality’ is a capacity that distinguishes the expert programmers from their less successful counterparts.

The Disciplined Self

As I mentioned at the end of the section on the path of the programmer, this requires the development of a strong sense of self. It requires that we maintain a disciplined practice when external pressures dictate that an immediate solution is required. We need to learn to hold a calm centre in the face of not knowing the right solution to a problem.

If we do not develop the ability to hold this centre we will not be able to think straight – a necessary function for our survival, commercial or otherwise.

ACCU2016: Talk on Software Architecture Design 4: A Design Example
ACCU2016: Talk on Software Architecture Design 2: The Historical Context

ACCU2016: Talk on Software Architecture Design 2: The Historical Context

[This is the second part of the transcript of my talk at ACCU2016 entitled: “Software Architecture: Living Structure, Art, or Just Hopeful Arrangements of Bytes“]

An enlightening aspect that surprisingly pertains to the issue of software design is the philosophical history that has led us to our current technological society.

Batalla_de_rocroi
Looking back we can see some origins in the Thirty Years War that took place between 1618 and 1648. Some commentators have drawn parallels with the impact of WW1 and WW2 between 1914 and 1945, saying that they could also be seen as a thirty year war. (See the book “Cosmopolis” by Steven Toulmin) The Thirty Years War of 1618 was a terrible war over much of Europe that resulted in the death of a third of the German population. It was a religious war between Protestants and Catholics, i.e. one religion – two factions – and raised serious concerns about the subjectivity of religious faith and the human condition. It was this that brought the quest for certainty to a head. The underlying question was: How can we be certain of what is happening in the world around us? And for the faithful in the 1600s, how can we be certain of God’s plan?

Descartes

It was during this time that René Descartes produced his “Discourse on Method” in 1637. He was the father of analytical geometry and of course coined the famous phrase “I think, therefore I am”. But this was predicated on the fact that we first doubt, thus the more correct phrase should be “I doubt, I think, therefore I am”. He concluded that because of our subjectivity, we cannot trust our senses and what they are telling us about the world, so he returned to the point of doubting. Since there was doubt, there must be a being that is doubting. This being, this ‘I’, that is doubting is thinking about this so therefore I am thinking. Since I am thinking I must exist in order to do that thinking.

Because the church was looking for certainty and because Descartes was able to couch his thought in terms that they could accept, this provided the foundation for the Scientific Revolution. This was followed by the Industrial Revolution which has led us to our current modern technological society. It is interesting to consider the fact that all that we take for granted today represents the end of 300 years or so of work based on Descartes’ philosophical premise: “I doubt, I think, therefore I am” where the aim was to try and eradicate subjectivity.

It is ironic that, although the aim was to be objective, his Cartesian coordinate system can be considered to be based on the structure of the human being! I stand up, and my head could be considered as the Y axis. I stretch my arms out to the side, there you have the X axis. I walk forward and there you have the Z axis.

This points to the difficulties that are implicit in the struggle to eradicate subjectivity – an objective (pun intended!) which I do not consider possible.

Kant

I usually refrain from mentioning Immanuel Kant since I am not a Kanitan scholar, but his thinking has formed much of the basis of modern thought. He produced the “Critique of Pure Reason” in 1781, and there is one quote I wish to highlight here from his considerable body of work. He said that “The world in itself is unknowable”. and this strengthened Descartes’ approach of not trusting our senses. It has given our modern scientific and technological society the excuse to allow our thinking to run ahead of the phenomena of the world.

This activity may sound familiar if you think back to the Path of the Programmer. It is a characteristic of the Journeyman phase.

With regard to my previous workshop on imagination, an area dealing with educating our subjectivity, it is interesting to see that one commentator, Mark Johnson, has noted that Kant had difficulty with imagination – Johnson states that he was “not able to find a unified theory of imagination in Kant’s writings” (The Body in the Mind p166).

Goethe

The third person I want to mention, and the one I feel most drawn to, is Goethe. It was Goethe who raised the warning flag to say that there was a problem with the underlying philosophy and practice of the scientific method. He pointed out that there was too much over-hypothesizing and that the thinking was going ahead of the phenomena of the world. Observation was not being given enough time.

This should ring alarm bells for any programmer because it is exactly what happens when someone takes an undisciplined approach to debugging.

Goethe, however, was particularly interested in understanding the growth of plant life. He wrote the Metamorphosis of Plants in 1788 and identified two very important activities. The first one is Delicate Empiricism (or “Zarte Empirie” in German), i.e. carefully collecting the data, carefully observing the world without overly disturbing its processes.

The second activity, which is what gave me the impetus to give my previous workshop on imagination in 2014, is Exact Sensorial Imagination. This is NOT fantasy, but exact, grounded imagination congruent with the observed phenomena. Goethe was trying to understand how plants grew and how their forms changed during growth.

For me this links to how software projects grow over time, as if they have a life of their own. A programmer needs to have a grasp of how the current software forms may change over time within such a context if they are to minimise future bugs.

The key difference between Descartes and Goethe is that Descartes was trying to eradicate subjectivity whereas Goethe was wanting to educate subjectivity.

The next important phase in philosophical thought is the advent of phenomenology in the 1900s. The realization that the process of coming to know something is crucial to, and as important as, the conclusion. Goethe is not considered a phenomenologist as he focused on specific phenomena rather than the philosophy behind what he was doing, but he definitely prefigured some of their ideas and so could be called a proto-phenomenologist.

We need to understand that phenomenology is a sea-change in philosophical thought. Here we are, living in a modern technological society based on 300 years of progress initiated by Descartes and his subject/object duality, and now the underlying foundational thinking has changed significantly.

The discipline of software development in the forefront of trying to understand what this change of thinking means in practice, though it may not have realised it. We need to understand how we develop our ideas and we need to understand our own cognitive biases, the subject of Dr. Marian Petre’s keynote “Balancing Bias in Software Development“. The point here is that we can do a certain amount in teams but there is also some personal work to do in understanding our own learning processes.

There is a wonderful quote by Jenny Quillien who has written a summary of Christopher Alexander’s Nature of Order books. She says in a preface:

“Wisdom tells us not to remain wedded to the products of thought but to court the process.”
(Jenny Quillien Delight’s Muse)

I think this is a lovely way of putting it. The process needs courting, it has to be done carefully as with Goethe’s Delicate Empiricism.

For those who wish to understand Goethe’s work and the philosophical issues around phenomenology, a primary source is Henri Bortoft. His writing is very understandable, particularly his book “Taking Appearance Seriously” and he draws on the work of Gadamer, one of the more recent phenomenologists.

ACCU2016: Talk on Software Architecture Design 3: The Issue of Doubt
ACCU2016: Talk on Software Architecture Design 1: The Path of the Programmer

ACCU2016: Talk on Software Architecture Design 1: The Path of the Programmer

[Following on from my introductory poem, this is the first of a series of posts providing a transcript of my talk at ACCU2016 entitled: “Software Architecture: Living Structure, Art, or Just Hopeful Arrangements of Bytes“. I have modified it to make it read better, cutting out the usual Ums and Errs!]

Introduction
The impetus for this talk came out of a chat I had with a friend, where I was ranting – as I can do – about code, and then realized that of course it is easy to rant about other people’s code. This prompted me to look back at my own experience. I started coding for a living back in 1980 – a fact that doesn’t bear thinking about! – and have spent most of my career implementing high data rate video editing systems. Until recently I worked in a company that does TV and film effects and editing systems, working on a large C++ system of more than 10MLOC. I have now moved into the CAE sector.

This is quite a ‘soft’ talk and I will be following on from some points in the keynote (Balancing Bias in Software Development) given by Dr. Marian Petre, although I will drop into some more grounded issues around video player pipeline design and some of the design issues that I have come across.

As I mentioned, I had a sense of frustration with the quality of what was getting produced in a commercial context, and frustration in terms of finding people who could make that switch from doing the actual coding and implementation to taking a more structural view. But though I started coding in 1980, it was not until 1995 that I can say I was actually happy with what I was producing. That is quite a sobering thought. OK, maybe I have the excuse that I did not really get into Object Orientation until 1985/6, and the Dreyfus brothers say it takes 10 years to become an expert in a domain, but even so…

I therefore want to delve into my own experience and try to understand why this takes so long. This is an issue, not so much about teamwork, but about what we could possibly do individually drawn from my own experiences with being a practitioner with large codebases.

In terms of my inspirations with regard to software architecture, Christopher Alexander of course is one, and there is one from left field. I got involved in starting a Steiner school for my children back in the 1990s and Steiner’s epistemology, drawn from a foundation coming from Goethe, is actually quite relevant.

ProgrammersPath

I will recap some of the points from my talk at ACCU2013 about “Software and Phenomenology”, and my workshop in ACCU2014 about “Imagination in Software Development”, but will be taking a slightly different slant on that content.

The Path of the Programmer

I want to start with some reflections on the path of the programmer as I have come to see it, borrowing an idea from Zen about the three phases on the path to enlightenment.

There is the initial NOVICE phase where you are still learning about the tools you have at your disposal.

Primary

A lot of your thinking is going to be Rule Based since you are learning the steps you need to take to do the job. The complexity of your thought is generally going to be less than the problem complexity you are dealing with when you get into ‘live’ industrial work, and hence you are producing brittle code, and/or it is not doing all that is needed. Here you are aware of your own limits because you know you do not know things, but you are unaware of your own process. I am not here talking about team development process, I am talking about your own personal learning process.

This level is thus characterized by an undisciplined self-awareness. There is little self-awareness about your own limits, and the lack of knowledge about your learning process means what awareness you have is undisciplined.

The next phase is what I call the dangerous phase, the JOURNEYMAN phase. It was about 1984 when I was in this phase.

Discus

Here you have a better knowledge of tools, having learnt about many of the programming libraries available to you. But the trap here is that the Journeyman is so very enamoured of those tools, and this conforms to the upward spike in the confidence curve that Dr. Marian Petre talked about this morning (The Dunning-Kruger effect).

Here the problem is that you can get into Abstract thinking and this can lead you to having an overly complex view of the solution. Your thinking here is more complex than the problem warrants. It is quite possible that up to 80% of the code will never be used. Therefore you are unaware of your own thinking limits and this can lead to an experience of total panic, especially if you are working on larger systems. [About a quarter of the listeners raised their hand when I asked if anyone had ever experienced this] This conforms to the downward spike that occurs after the upward spike on the confidence curve.

One anecdote I have is the story of one rather over-confident colleague who was given responsibility for a project. The evening before the client was due to turn up for a demo he was still coding away. When I came into work the next morning there was a note on his desk saying ‘I RESIGN’. He had been working through the night and didn’t manage to get to any solution. Of course the contract was lost.

This highlighted the total lack of awareness about his own limits. In this phase I too remember having an arrogant positivity – “its just software”, with the accompanying assumption that anything is possible. I had an undisciplined lack of self-awareness. Some people can stay in this phase for a long time, indeed their whole career and it is characterized by an insistence on designing and coding to the limit of the complexity of their thinking. This means, by definition, that they will have big problems during debugging because more complex thinking is needed to debug a system than was used in its creation.

We have gone here from one undisciplined state of partial self-awareness to another undisciplined state of no self-awareness. Of course this could be seen to be a bit of a caricature but you know if you hit that panic feeling – you are in this phase.

The next phase is the MASTER phase. In the past I have hesitated to call it the Master phase, referring to it instead as the Grumpy Old Programmer phase!

PetrelLand_4x3_2kcropped

Here we have a good knowledge of tools, but the issue that is different is that you will be using a Context Based thinking. You are looking at the problem you have got in front of you and fitting the tools to that problem. There is a strong link here with a practice when flying aircraft where you need to read from the ground to map, not the other way around. You must do it correctly because there have been a number of accidents where the pilots have read from the map to ground thus misidentifying their location.

It is the same with problem-solving. Focus on the problem, use the appropriate tools as you need them. It is interesting what Dr. Marian Petre said about how experts can seem as though they are novices – which is exactly what I feel like. Sometimes I look at my code and think “that doesn’t really look that complicated”. You bring out the ‘big guns’ when you need them, hopefully abstracted down under a good interface, but you know you need to keep the complexity down because there will be a lot of maintenance in the future, where you or others will have to reason about the code.

In this phase the software complexity is of the order of the problem complexity, perhaps a bit more because you will need a some ‘slack’ within the solution. At a personal level the major point here is that you are aware of your own limits because in the previous phase you have reached that panicked state.

One of the big things I have learnt through my career is the need to develop an inner strength and ability to handle this stressed state. For example there will be a bug. The client may panic. This is to be expected. The salesman may panic. Still possibly to be expected. As a developer if your manager panics too, you have a problem, because the buck will stop with you. Can you discipline your own thinking and your own practice so that you can calmly deal with the issue, regardless of how others are handling the situation? This is the struggle you can get in a commercial coding environment.

Implicit in this description is that you have developed a disciplined personal practice.

So in summary:

Novice

  • Rule-based thinking
  • Undisciplined
  • Some self-awareness.

Journeyman

  • Abstract thinking
  • Undisciplined
  • No (or very little) self-awareness.

Master

  • Contextual thinking
  • Disciplined
  • Deep self-awareness.

ACCU2016: Talk on Software Architecture Design 2: The Historical Context
ACCU2016: The Organising Principle

ACCU2016: The Organising Principle

ElanWoods
[This is the poem from my ‘Lightning Talk’ at ACCU2016. A transcript of the mentioned talk is to follow]

When you create
A system that you make
Does it ever get away

From you?

Get a life of its own.

IS IT ALIVE!
DON’T PANIC

Just Breathe.

Take a walk
Reflect
How did you get here?
Is it at all clear
What happened in that embedded, bifurcating moment
When you embarked
On your path.

Where did you STOP.

And think.

And really see the Pattern.
Did you really discern?

Or did you

fix it
kill it
force it
coerce it

Into preconceptions already held.
Driven by the money
Honey.

MindTheGapCropped
Did you savour the quiet moment of the mind
The gap between problem and solution?
Did you really see the living pattern?
Embedded in needs
That we call requirements.

Did you cherish Simplicity?
Or did you rush into Complexity?

So –

How can you change?
How can you learn?
To see the Essence.

The Organising Principle.

There is a way
A path you can take
But its not where you think
It out there – on the brink.

And its not a quick thing
An easy piece of mental bling.

Your Logic you see
Only takes you so far
To the edge of your knowledge.

But a way can be found
To cover the ground
On the far side of that edge.

But if you cannot see it.

DON’T PANIC

Just Breathe.

Take a walk
And if you wish
Come to my talk.

ACCU2016: Talk on Software Architecture Design 1: The Path of the Programmer

STUDY DIARIES: A Tale of Two Polarities

There is something very special about Attention.

Have you ever noticed how the world around you changes when you give it your full attention? It is so very easy to go through our lives without really seeing. But what is really happening when we give the world such attention?

There is an inner dynamic to this process that Steiner talks about as a movement between a ‘going to sleep in the other’ and a ‘lighting up’ of our own thoughts, a movement that is central to understanding Steiner’s epistemology.

Next time you have a deep conversation with someone, notice how your thinking moves from a listening – where you need to subdue your own thoughts in order to think ‘into’ the other person – to a waking up in order to marshal your own thoughts so you can express them in a way related to what has already been said.

The going to ‘sleep’ in the other is an active sleep, perhaps more of an actively held dream-like state. We need to subdue our own thinking, yet keep our attention on the other person. When this process is working well we can actually think the same thought that the other person is thinking. Because of this we can come to know the world around us, rather than falling into the skeptic’s fallacy of thinking we cannot truly know anything.

I have always found the extreme skeptic attitude a self-contradictory stance: If I am told that we can never know anything about the world, how can I take such a pronouncement seriously? The statement is self-defeating by definition! Of course that is not to say that we should go to the other extreme and just take everything at face value, or on belief. As ever there is a balanced middle ground where we need to exercise judgement and fit what we perceive into our own views.

This balancing between two polarities is a major recurring theme in Steiner’s work and is a corollary of the presence of a boundary.

Once we understand this ‘thinking in’ to the other, the ‘other’ can be anything. It is relevant to all we experience, whether it be a beautiful sunset, being with a loved one, or trying to understand someone we experience as difficult. Can we develop the self-awareness to really live into what is around us, seeing it for what it is, and yet maintain our own integrity?

There is a link here to egoism, a subject that I referred to in my last post.

Egoism is an important stage in our development and to put it in very simple terms, we can identify a number of stages in the development of an ego boundary:

  1. Lack of ego boundary.
  2. A present ego boundary, or self.
  3. An awareness of our ego boundary.
  4. A conscious control of the permeability of our ego boundary.

As you might notice, the last stage characterizes what is happening when we are conversing in the way I have been describing above, and needless to say requires that we have developed the necessary self-awareness.

Boundaries can be either given, as in for instance our bodily boundary, or defined, as in when we characterize the world about us, or indeed, our own ego.

The Art comes in how we move around a given boundary, an activity that requires our very special Attention as we enter the conversation between Self and Other. This will be a theme I will return to as our study progresses.

Postscript:
Since my last post, Paul, my study colleague, and I have been thinking about how to précis some of the study work we have been doing over the past years. In the end we have decided this is an impossible and fruitless task. It is better that readers find their own path through Steiner’s material and let me shine a light on some possible signposts on the way that Paul and I have found useful in our own study. Additionally, given the dynamic nature of a true living thinking, it is the process as much as the content that is the important item.

I think it is more useful for me to précis our study experience from here on in and let you form your own pictures ‘organically’ through your own experience. Of course – as I have done in previous posts – I will give links to online resources of Steiner’s material as relevant.

STUDY DIARIES: Misplacing Egotism

My study partner, Paul, and I are currently thinking about the best way to précis the books we have studied over the years. This is still work in progress and I will give an update on this in a future post. The first book “Truth & Knowledge” took a good many years for us to get through so this could be a difficult process. Watch this space but follow the link to read the text.

Despite the fact that our current study book is the “Study of Man” lecture series – given to teachers just before the first Steiner school was started – our main topic of conversation for this session was Steiner’s Threefold Social Order. This is a very very tricky subject at the best of times but it has been popping up regularly in many of our study sessions so we felt we had to deal with it.

The point that came up that makes it worth posting here now is a recent insight dealing with how we are misplacing the human egotistical drive.

First let me give some background to Steiner’s Threefold Social Order. It gives a characterization of human endeavour into three primary areas:

  1. The inner spiritual or cultural sphere where we are all different.
    This is a realm of liberty where we should be completely free to follow whatever inner path we wish.
  2. The political or rights sphere where we are all the same.
    This is the realm of equality of rights, although our lives will of course play out differently.
  3. The economic sphere where we all work together.
    This is the realm of fraternity where, working with others and for others, we add value to a commodity for a consumer of that commodity.

If we misplace human drives into the wrong area then it was Steiner’s assertion that we would have problems.

In terms of my current understanding, it makes sense that we should separate the first two. This relates to the need to separate Church and State for instance, as well as realizing that even though someone may have a different culture or religion, they should still have the same political and legal rights. Also inversely just because someone is considered to have the same rights we should not assume that they should follow the same path or religion for example. The liberty relates more to an inner liberty to develop ourselves as we see fit, that is the spiritual/cultural sphere, but of course within the boundaries of leaving others free and not curtailing their rights.

Another aspect here is that although my actions may be individual, Steiner’s philosophy (called anthroposophy) posits that the impulses for truly free actions come from a unified world of spirit. Thus our free deeds will be in harmony with the free deeds of others. I will return to this idea in subsequent posts since it is dealt with more in Steiner’s book “The Philosophy of Freedom”.

I can understand the separation of culture and rights since as a modern democracy we have gone through that separation process. But the kicker here is that ANY pursuit that involves our personal inner growth is within the cultural sphere. That’s easy to see for the arts, but one of the big insights for me has been that it also involves software development! Or indeed any area in which we are dealing with the generation or creation of knowledge, i.e. any area dealing with true research. This has made sense of all the problems I have seen throughout my career of trying to marry software development to economics.

As ever with this sort of categorization, I can always feel my inner critical analytical self wanting to strictly delineate life into these areas. Suffice it to say that the reality will always have blurry edges. Although the three areas are quite distinct, each with their own dynamics and lawfulness – the difficulty arises because of course they are interdependent and every social situation will likely involve all three spheres.

As a background to our recent conversation our thinking is still a work in progress with regards to the economic sphere, but here my friend Paul recently had an insight that we felt cleared things up a lot.

Namely that our current way of working in the economic area involves a misplaced egotism.

Rather than saying we should eradicate egotism, his thought was that we should rightly place it in the cultural area. Currently it has been gracelessly shoved into the economic and rights areas and has turned an inner human need to improve oneself into a drive towards greed and power over others. Working economically means that we should be more demand-based, i.e. adding value by supplying a service or product to someone because we have the requisite skills. Currently it is too easy to get an inversion where we think it is alright to create markets and try and drive demand from the supply side, usually by appealing to consumer’s egotistic desires and fears. This is just not sustainable if we want a healthy world.

Of course there are cases where a new market is created that does truly meet a need, but that, to my mind, is still a demand led process. What has happened is that someone has bothered to listen in the right way and has actually responded to a need that may not as yet have been articulated. A lot of software development, properly done, is like this because it is a conversation between a user and a technical person, both of whom are trying to map out the area of the user’s needs, a map that is frequently unknown even to that user.

The insight that egotism has been misplaced into the wrong area, i.e. economics, makes sense of this drive towards “greed rather than need”. But rather than vilifying it, we should realize that egotism is a basic inner drive that is healthily placed when it is used for our own inner development.

I really like this because it means:

  • Accepting an egotistical drive as a valid human one, rather than wasting good energy trying to achieve an impossible ideal of eradicating it.
  • Realizing that its manifestation is only good or bad depending upon which threefold realm you use it in.

The hard part here is truly seeing how the three spheres are meshing within a given human activity and it is fair to say that it is rare that they are seen clearly. But trying to get this turnaround in thinking in the economic area would be a start.

Well, I hope that provokes some thinking.

Until the next update…

STUDY DIARIES: Background on Texts

This is a catch-up post to bring you up to date with some of the study history from the last couple of decades. Actually it is not a long list since we truly have taken our time!

The first thing to say is that we initially wanted to focus on Steiner’s philosophical written work. This was driven by a wish to start right at the beginning and, for my part, NOT wanting to go through his lectures. He took a massive amount of care with his written work, feeling that he had a deep responsibility to his readers. Obviously lectures would not be able to have that same depth of care since they were more of a living experience.

[Background Point: Steiner initially did not want his lectures written down at all since he maintained that the lectures were delivered for the particular audience. However events somewhat overtook him and some of his critics started misquoting what he had said. Thus he felt the need to have the lectures transcribed by a stenographer. I believe there are about 6000 lectures available now.]

However when some lectures have piqued my interest I have actually found it good to listen to readings of them since it gives you that auditory experience which, I think, works well with the content. However sometimes you need to realize that he was talking at a different time. See Dale Brunsvold’s site where he has produced audio recordings of his readings – which has been a great resource for allowing me to listen to lectures in the car. A real labour of love I think and deserving of a small donation towards hosting costs if you do end up using his site a lot.

However, back to the study list so far:

1: Truth & Knowledge : 1892
The very beginning. Steiner’s epistemological doctoral dissertation and a prelude to the Philosophy of Freedom.

2: Boundaries of Natural Science : 1920
A lecture series with an exploration of how Goethean Science and the Philosophy of Freedom can help us go beyond the limits of natural science to provide a healthy foundation for social science.

3: Anthroposophy Science : 1921
A lecture series that somewhat covered our favourite subject of technology and its relationship the development of consciousness.

4: Philosophy of Freedom : 1894
Also known as the Philosophy of Spiritual Activity, to highlight the fact that freedom is never a finished thing but requires constant activity. This is the main foundational book to all he subsequently worked on. In hindsight we should have perhaps studied this earlier.

5: Study of Man : 1919
This is a series of lectures given to teachers of the first Steiner School in Stuttgart.

In future posts I will attempt to summarize some of the earlier study texts but some of the content is now lost in the mists of time.

The main thing that I remember is that in the early stages of our study it was too easy to just skip through the texts without really grasping them. Thus it was that we really, really slowed it down and would not move forward if we did not think we had ‘got it’.

There was many a wrinkled brow, coupled with a feeling of “I am just not getting this”, which brings me to an important question that we and many other people have about Steiner’s output:

“For goodness sake, why is it so DIFFICULT to work with?”

From where I stand now, I can say that there is a very, very good reason for this.

Steiner is not giving us finished answers. His whole raison d’etre is to help us come to a different way of perceiving the world, something that our education beats out of us. In what he writes, he is trying to give you indications about different ways of seeing things, AS WELL AS doing it in a way that challenges you to try and develop this different way of perception as you study.

Remember I talked about congruence in a previous post between his content and method? But oh dear me, it really can make it hard going at times. The way I have come to see this now is that we are literally creating extra organs of perception in our thinking, and this is a long process. It is as if we have been given all the physical senses at birth, but now we need to take our own development in hand, creating new dynamic senses in our thinking.

So no quick fixes here.

[Definition: Anthroposophy was the term Steiner coined for his approach. Literally “wisdom of the human being”. Indicating that Steiner felt that it was important to understand and develop ourselves, embracing this task consciously, since we represent a strongly co-creative force in the world.]