Wednesday, 29 August 2012

Characters


(29th August 2012 Signing on at 18:33)

This is something new. I’m going to try writing some descriptions of characters some are real(ish) some are not.

Fionnuala Goggin: The girl in the phone shop. Long blonde hair tied back in a ponytail, piercing blue eyes, light blue uniform shirt and dark blue slacks.

Finbar 1: Short and squat, a powerhouse of a man, with a low forehead topped with a tousled shock of black hair. He has swarthy features to go with his calling. His eyebrows are bushy and meet above his nose, creating a single stroke underlining his brow. He wears a dirty dark blue boiler suit and black steel toe-capped boots. Finbar’s main business is sweeping chimneys but he also does external painting work and works as a volunteer fireman, so perhaps as a sweep he prevents some of the fires he would otherwise have to put out.

Finbar 2: A rotund, unshaved publican wearing a flat cap and round glasses. He is usually seen in a grubby round-neck sweater of indeterminate colour. He has greying brindled hair to match his two wolfhounds. His pub has no till, instead he has a row of plastic tubs containing coins and notes on the back shelf behind the bar. This is the only pub I know which combines the business of a coal-merchant with that of a publican. As a result it is also the only pub I know which has a sticker advertising “Calor Gas” on the mirror behind the spirit optics. I haven’t heard anyone ask for a nip of Calor yet, but maybe someday someone will get that desperate!

Pauline: A large elderly lady with her own little pub. She has a rare gift of getting her customers to talk to one-another. There are no strangers in Pauline’s bar, if they come in strangers they do not remain so for long. She has curly hair which is dyed dark brown. As a result nobody (except for her immediate family) is sure of her age and nobody is impolite enough to ask. She wears a floral dress underneath an apron. As well as running the bar, she sells sacks of potatoes grown on the family farm.

Archie: Tall and lean. Rarely seen with a jacket on during the day. Instead he wears a collarless striped shirt beneath a charcoal grey waistcoat. Across his belly he has a silver watch chain. In one waistcoat pocket is his steel hunter watch, in the other, when it is not clenched between his teeth, is his short stubby pipe. On his head is a dark grey cap. He has a grey boot-brush moustache. He wears his shirt sleeves  rolled up above the elbows showing the muscles of his, still powerful, arms. He wears his trousers short with the turn-ups stopping short of his black, mud-caked boots.

When Archie was a young man he was a farrier.  He was the son of the blacksmith. He used to work stripped to the waist in the forge. In the semi darkness the light of the forge fire reflected on his sweaty torso. That was many years ago. The forge is long gone and Archie hasn’t shoed a horse in fifty years.

Neil: Neil is tall and muscular. He wears a blue nylon boiler suite beneath a shabby, olive-green topcoat. He wears his cap at a jaunty angle. His cheeks are polished and he wears eau-de-cologne.

Willy: Willy is a bear of a man. His huge beard is now streaked with grey, which only intensifies his piratical appearance. He wears a dark Breton seaman’s cap on his head.

Liam: Liam is a big man with a barrel chest. He has greying black hair and big muscular hands. He works as a forester and it is easy to imagine him swinging an axe. He smokes a briar pipe which he fills with fragrant aromatic tobacco.

Len:  A wizened little man. Small built with quick gestures and movements. He is bald except for some tufts of grey above his ears and a little around the dark. His eyes are grey and his eyeballs protrude from their sockets, giving him the appearance of a startled frog. He wears the waistcoat and trousers from a light grey check suit but has never been seen to wear the jacket. He toils away in his garden, still wearing a tie. When gardening he wears leather gardening gloves.

The Doctor: Tall and broad shouldered. His skin has a peculiar complexion, dark olive with an underlying, and surprising, hint of green! The whites of his eyes are bloodshot with an unhealthy looking yellow tint. His hairline is receding increasing the apparent height of his already striking forehead. His hair is completely white, contrasting shockingly with his skin.      

 (Pages 1.5, words 803, signing off at 19:37 ) 

Tuesday, 28 August 2012

Pressure, friction and resistance


(28th August 2012 Signing on at 14:57)
I tried to do something today and I encountered resistance. As it happens I decided to avoid the resistance and do something entirely different which achieved another long term objective. The “thing” and the nature of the “resistance” are not that important, but it got me thinking about resistance in principle. Resistance in this case means resistance to change or to movement. Other similar words are “friction” and “inertia”, which imply a physical, or physics metaphor. Both “friction” and “inertia” will be felt at resistance to movement. You push against something and you can feel it pushing back. It doesn’t move. Friction and inertia are different though. Once you have got movement, then inertia will tend to continue the movement, whereas friction will bring the movement to an end.

Another possibility is that you are dealing with a mechanism which is jammed. Now this is a difficult problem, because from the outside, it is difficult to tell what the cause of the resistance is. If you apply sufficient force to a mechanism which is stiff with friction, then you will get it to move. If you apply increasing force to a mechanism which is jammed or seized then you may eventually cause movement but you may also break the mechanism.

This brings us on to the means of dealing with resistance. There are a number of techniques which can be used, either independently or in combination: the first and most obvious is the one already referred to, steadily increasing force; the second is shock, the classic “hit it with a hammer” (and maybe progressively bigger hammers!); then we have lubrication, adding oil to a mechanism or perhaps mounting an object on rollers; another approach is to “jiggle it”, if there is any movement at all, then “jiggling”, especially rhythmic jiggling, can create opportunities to  exploit both inertia and lubrication; a last  technique (or maybe rather a pair of techniques) is the application of hot and cold with a blowlamp or ice.

Let’s imagine specific cases where I have encountered resistance in the past. One which springs to mind is undoing nuts and bolts which have become seized with corrosion. In addition to the techniques for undoing them described above, I have also used destructive techniques to remove them. The destructive techniques I have used are: splitting the nut with either a nut-splitter or a chisel, cutting the head of the bolt off with a chisel, removing the head of the bolt or the nut by drilling it or grinding it, and of course, everyone’s  favourite; cutting the head of the bolt with an oxy-acetylene cutter! This last one is best suited to relatively large nuts and bolts in relatively exposed situations.

I’m not going to be able to write quite so much today. I have an task I have to start in about ten minutes time, so the “resistance” and the other things I have had to do today have rather got in the way. But this does not matter that much. I have still managed to make some progress with everything and that is something I find encouraging. If resistance does not bring things to a complete halt, then we must still be moving in the right direction. So long as we are moving in the right direction, we will get to the destination in the end providing the movement can be sustained for long enough,

And that made me thing of calculus and differentiation: distance travelled, velocity and acceleration. For a journey we should not expect to maintain the same velocity for the whole of the journey. An ideal journey would start off relatively slowly, accelerate to an efficient cruising velocity and then decelerate to come to rest at the destination. “Come to rest” that’s a nice phrase in the context. It has given me the idea of completing a journey and coming to rest. Most journeys are not ideal, they involve dealing with obstacles with reduce speed by introducing additional resistance and may even bring us to a standstill for a time. A real journey will have to deal with all sorts of things.       

 (Pages 1 plus, words 708, signing off at 15:28 ) 

Monday, 27 August 2012

The grindstone


(27th August 2012 Signing on at 13:32)
OK. Here we go again. This time I don’t really have a starting point. Let’s see what happens. Yesterday, I started to read “Seven Pillars of Wisdom” by TE Lawrence again. I read it the first time many years ago. The copy I have is a rip-off republication of an out-of-copyright edition. I’m not sure which edition it was, but it looks like it is photo-typeset using the old text. The typeface used looks a little old-fashioned. Anyway, it may by more than 20 years since I read it.  My eye was drawn to it on the shelf, so I thought “why not?”  Picking up a recent catchphrase: “I can and I will!”

I’ve just made a discovery. I think I may have found the solution to the keyboard problem I had encountered recently. Up to now I had been “fixing it” by restarting the computer. Just now I tried restarting Word only and, what do you know? Problem fixed! That would seem to suggest that leaving Word on for a long while (like several hours) may not be a good thing to do. It also suggests that somewhere deep inside of the version of Word I have there is some insidious little bug. Not my problem. I expect Microsoft know all about it and can’t be bothered to fix it.

Back to the Seven Pillars: I was struck by some of the language Lawrence uses at the beginning; beautiful, dense, poetic prose. It sounds to me like a man at the end of his tether, which I believe he was.
As well as reading Lawrence, I’ve started another self-help hypnotherapy course. There is nothing quite like working on yourself.

As an aside, were you aware that the idea of “self-help” originated with Samuel Smiles? (here is a link to a free version http://www.gutenberg.org/ebooks/935). Maybe I will add that to my Kindle some time. I have more than enough reading to do at the moment, what with hypnotherapy, sociology and Lawrence!
Still, on we go! I will need to set myself an alarm to stop writing so that I can get tea cooked for the workers returning home. OK. Just done that.

I’ve noticed one or two small changes as a result of the hypnotherapy course I’ve started. I’ve already skip-read the book and I recognise techniques being used. Actually, I have done this course before and I found it helpful last time. If “The Artist’s Way” is for breaking the log-jam of being a “stuck” creative, this is more directed towards achieving a particular goal.
Achieving a goal is challenge. The difficult thing can be to decide on what it is you want to do. I have to confess that I find that difficult from time to time.  Right now I feel like I am ready to make some changes. I feel restless and I feel energy. But what am I going to do? I think I know, and this writing is part of it, but I am going to work on the details of the change for a while. There is a great deal written about carefully crafting the way you phrase the goal for an affirmation. I’m sure many of you will have come across SMART:
  • ·         Specific
  • ·         Measurable
  • ·         Achievable
  • ·         Realistic
  • ·         Timely

And there are several other variations. I am fully in favour of setting the goal in that way, but that is not all. Before I get to the stage of setting the goal (and the inevitable sub-goals which represent milestones along the way) I want to be sure that I have the right goal for me. This needs to be something that I can commit to. Commitment is an important part of the process. However laudable the goal is, if I am not committed to it, then in the end I am likely to make excuses and find a way of wriggling out of it.

What do I mean by commitment? First of all, I need to be doing it for me. Other people may be involved, but the commitment is being made by me, the pain will be felt by me and therefore it needs to be me that makes the commitment. This means that this new goal I am developing is not there just to please other people. If that sounds selfish, then I suppose it is but I’m not going to apologise for that!

Here is an extract from Lawrence, taken out of context, which captures a feeling that I want to use:
We were a self-centred army without parade or gesture, devoted to freedom, the second of man’s creeds, a purpose so ravenous that it devoured all our strength, a hope so transcendent that our earlier ambitions faded in its glare.
I’ve read it. I’ve written it. Quite honestly, I’m not sure I know what it means. Maybe even Lawrence did not really know exactly what it meant. What I want to communicate to myself is emotion. The passage contains some seeds which I feel are important: “self-centred” and “freedom”, I want to be free; and I want the goal to be “ravenous” and “transcendent”. I want this goal to consume me. In the bible the Old Testament repeatedly uses words for sacrifice which are intended to mean “Wholly consumed” (I think the correct Greek rendering is “Holocaust” – holo = whole, caust = fire). That is what I mean.  I what my goal to contain the idea of brightness. (I slipped into editing what I was writing then for just a moment. That is something I do not want to do. I do not want to polish these words. I want to write them. The time for polishing comes later.)

Here is an image: Look back to the Steel-works at Lackenby: imagine that you are standing on the gantry on the West side of the convertor building. This is above the 30 metre level where the convertors are gimballed, but below the 60 metre level where the crane tracks run. Now imagine that one of the vessels has just been blown. Pure oxygen has been blown onto the surface of molten iron. Phosphorus has already been removed from the iron by the Polyseus Plant outside. Here, carbon  has been burnt out of the hot metal from the blast-furnace and the temperature of the mixture in the vessel has risen to approaching 1700 deg C. Imaging the vessel is tilted towards you. Fumes pour from the open mouth of the vessel as the metal and slag are sampled. The vessel remains in the tilted position while the operators await the lab test results and instructions of exactly what quantities of alloy metal and carbon to add. Remember the heat of the metal! Remember looking into the glowing heart of the vessel. The mouth of the vessel is approaching a black body. The surface of the slag is visible in the vessel and through the convection shimmer the hexagonal convection cells are visible on the surface of the slag. The convection currents churn the slag and the metal below it. Remember the heat! Remember the intensity. Remember the brightness in the darkness. Remember the contrast.

I remember polishing metal. Words can be polished like metal. Now is the time for making metal, but the time for polishing will come in the future. Today is a time for creation. Not all that is created will be perfect. Some will not even be good. That is not the point. The point for the time being is to create. The objective of creation is to quieten the inner critic. There will be time to criticise in the future. Shape the stone, first with the gavel, then with the chisel. Knock off all superfluities and then prepare the work for the hands of the more experienced workman.

Polishing! Imagine aluminium freshly polished, buffed with a buffing mop. Imagine metal polished so brightly that it reflects the light. Imagine the different shades you can see when metals are polished brightly: aluminium, stainless steel, carbon steel. Imagine all the different shades.

As well as creating new stuff, I want to tidy old stuff. Each day I am going to make my working environment tidier. Some days the change will be big and some days the change will be small. Today there were some small changes. Tidying will include the physical and the mental environment. Every day I will do some creative work and some tidying. Also each day I will move forward a little and consolidate my position a little. I can and I will!

I do not have to do a lot of everything each day. I can do more of one thing one day, and then more of something else the next. The road is the thing! The journey is the thing! I am establishing habits. Establishing habits can be painful and it can be hard work. Never-the-less the effort is worth it, because once the habits are established, I can use more of my energy on the truly creative.

The process I am undergoing at the present is letting my creativity out. What are the things I want to be doing? I have embryo ideas in mind, but I want to order them and prioritise them. Trying to do too many things at once is counter-productive. It is best to do one thing at a time. It is rarely possible to do one thing exclusively, but if I have one thing which is my priority then that one thing can get my attention.
I like the way that doing the writing is quietening my mind. There is less room for rumination when I am concentrating on writing. Although the writing process is useful at the moment, what I am writing is not as useful as it might be. That will change. As I get more used to writing, as I get back into the habit of writing, I will be able to focus more attention on the content.

Already, I like the fact that I can write continuously. For me it is more productive to split writing into a number of distinct steps. First, plan what I am going to write. At present I am not doing that at all. This is purely stream of consciousness (and therefore, I suppose also free-association in some respects). Second, do the writing. That is what I am doing at the present. That is what I am practising and I am enjoying the process. I am also pleased with the results. I am not editing what I am writing, but even so a great deal of this is coming out in reasonable sentences. At some time in the future I may try doing this step using Dragon. Then, thirdly, there is the editing step. I have spent so much of my life editing things that I tend to interrupt myself to do the editing as I go along. That is what I am going to stop doing.

I look after the quantity. God looks after the quality.

And he does! This is working so much better than I expected. I am going to keep writing until the alarm goes and then copy this text into the blog along with a word count and a number of pages. Based on the three different blogs and other stuff, I must have written more than 5 thousand words today. That is amazing. I time to go. The alarm just went off!

(Pages 3 plus, words 1932, signing off at 15:02 ) 

Saturday, 25 August 2012

Errors – I made a mistake


(25th August 2012 Signing on at 10:54)
In “The Morning Pages” yesterday, I started writing something about errors in computer systems. In this instance I’m thinking about data errors, faults that get saved to the files or the database. This is something which (perhaps unfortunately) I know something about. At the time I wrote it, I thought that it was interesting. I’m going to continue with it here. I’m not referring to what I wrote yesterday, this is written from the start.

At the beginning I suppose that it is useful to define errors for this context and then divide them into groups so that I can write about each group independently. After that (if I can be bothered, or get that far) I can compare and contrast the different groups. The world can be divided into two sorts of people: those who divide it into parts and those who do not!

What is an error? In this context it is a value in the database (let’s assume we are using databases) which is incorrect and causes some kind of problem with subsequent processing. Although for the purposes of “stream of consciousness” I don’t usually use bullets, I am going to here. There are no rules here, so I’m not breaking my non-rule, just moving away from a convention which I have followed up till now. In “error” I am not including those values where a value has been entered into the database which complies with all the rules, but which does not actually match reality. This is an interesting case, which I think I will deal with separately.

What are the possible sources of these errors?
  • ·         Hardware faults: A sector on the disk is damaged, so what is written there is not what is subsequently retrieved.
  • ·         Outside events: External events; power spikes or radiation produce changes to the data as it is recorded.
  • ·         Software errors: A fault in a programme results in something other than what was intended being recorded.
  • ·         Imports: Data has been imported which by-passed normal validation

Let’s look at the errors themselves. What is an initial classification? Some ways of looking at it is to consider how widely you will have to look in order to detect the error, at what level the error could be detected and what you could do to correct the error once it has been detected.

First of all there are errors which occur at the level of the value of a single field, in a single record. Of course all of these may repeated and be caused by any of the root cause sources above. The simplest is where the value in the storage is something which is incompatible with the definition of the field. At its most extreme this should be detected by the operating system or the database manager. One or other of these will throw some kind of exception. Rectification is going to require work at a low level.

Next level up is when the value which is stored in the field is compatible with the definition which is used by the database manager, but is not valid according to the application which is using the data. An example of this is where a database contains an “integer” field which is used to hold an enumerated value (let’s say “1,2,3,4” are valid, but anything else is not). Of course someone will say that the database should be designed with field level validation to prevent this sort of thing. Yes, it probably should (although that introduces its own problems) but many are not.

Supposing such data has got into the database, how will we find out? If we are lucky, then the application will have practiced defensive programming and when the data is encountered something will throw an error. (Pause at 11:21 resumed 11:36) If we are not so luck, then the application “will carry on regardless” and it is quite difficult to know what will happen. Let’s stick with the case that we can understand: the application, or the database or he operating system throws an error which we catch. What do we do then?    

The first thing to do, is get someone who understands the application to identify which module (term used very loosely) is throwing the error and identify what is causing the error to be thrown (if you see what I mean). The objective of this is to find a “pattern” which can be used to identify the offending data. At this stage, we are not really sure whether the problem is “data” or “program”. We could have a piece of faulty data, or we could have a program which is not handling a valid (but possibly unusual) piece of data.

Let’s assume for the time being that what we have is invalid data. This is something that the application should really be rejecting. There are now two things to be done: first, identify how widespread this problem is, and two, identify how the data came to be corrupt in the first place. Both of these objectives are addressed by finding all the records which suffer from this particular problem. This is done by using the “pattern” which describes the offending data to create a query to identify the affected records. Examining these records will tell us a number of things: is the problem widespread? Is there a pattern to the affected records? By pattern, I mean: do they all come from the same place? Are they all in the same state? Are they updated about the same time? The background information accumulated may help us to identify the root cause.

The number of records affected is a vital piece of information. How are we going to fix the values? First of all: Is it possible to infer the correct value? This can be difficult. At this stage it is well worth taking a moment to remember that with any “data correction” we are going to be “changing the record of reality”. If some action is taken which modifies data, then there should be a procedure for keeping a record of what changes were made (This often takes the form of a log in the database).If it is possible to identify “correct” values, then that is the preferred option. The next possible option is to set the data value to some kind of innocuous default, especially one which will prompt for an update the next time the record is opened. The last options are to mark the field or maybe the whole record as faulty.

So much for faults with individual fields; what about faults which need a wider scope to detect them? An example of this is where the values of two or more fields are not compatible. This is usually associated with denormalisation in the database.

Let’s take two cases: simple denormalisation (the same field is repeated in more than one record) and derived attribute (where one attribute summarises other attributes).
Take the first one first. Someone has decided to repeat the same attribute in more than one place. Let’s not argue about whether this should have been done. Someone has decided to do it! First confirm that the values are always supposed to be the same. If they are, which is what I would expect, then the pattern to use for detecting the error, is “where are they different?”

Now the pattern for handing this is pretty much the same as an error in a single field. Find out how many records are affected, examine the affected records looking for any pattern and try and identify the root cause (in my experience, a root cause which is sometimes overlooked is data which has been migrated into the system).

Now the question is “what do we do about it?” Well, obviously (?) correct the root cause. As for correcting the data, is there one of the records which can be regarded as the “master”? For denormalization, there should be. If there isn’t then this indicates a (possibly serious) fault in the application design. If there is, then update the denormalized copy to match the master. Remember that all these data changes which are done outside the application should be logged.

Now let’s look at the case of which represents a derived value. A typical example of this would be where we had a transaction which consisted of individual line items. The transaction record contains an attribute which contains the total value of individual transactions. It might also contain the number of transactions. An error would occur when the total in the “header” did not have the same numerical value as the totals in the individual “line items”.

Before we go any further, it is worth pointing out that there is a special case root cause which may be at work here. That is the possibility of “rounding” or other “arithmetic” related errors.
The pattern to use for (breaking off 12:23, resuming 12:42 after lunch) for detecting this kind of error is that the value calculated from the individual items is not equal to the value in the header record. Now there is another implicit trap here: if we use the database manager to calculate total of individual items, then we are probably not using the same code as the application, so be careful if “rounding” or similar problems are involved.

Having identified the records involved, the next steps are as before: examine the records, identify the root cause and develop a strategy for correcting the affected records. Someone is almost certain to suggest that all totals should equal the sum of their parts. I know I would consider this as a correction strategy, but it may not be correct! Why not? Consider the following two possibilities: that one transaction has been missed from the total; so the total is correct but a transaction is missing, and a record has been saved twice into the individual items table! Both these problems would be insidious, and difficult to fix reliably. Possible strategies for dealing with them involve careful examination of the records and the code doing the work in parallel.
 Now let’s cast the scope wider: are there cases where we have data errors which are even wider spread? Well, obviously we do, but (until I can think of a better way) I would handle them as variants of the “derived attribute” class. The patterns used to detect them become progressively more complicated and correction strategies become harder.

Can “human error” be detected? Possibly it can be detected, but not always reliably. What we would have to do is develop a pattern for what constituted “human error”. This might be supported by other factors which are not specifically related to the data itself like “particular operators”, “particular locations” and “particular times”.  

Now, this is where it gets interesting for me. I’ve come to the end of what I wanted to say, but I want to write more. This is where the free association comes in. The concept of data can be extended to “memory” and system to the mind or data can be extended to dna and system can be extending to living things. Does the speculation above have any validity? I think it does, moreover, in a strange metaphysical kind of way what I am trying to do at the moment is perform exercises which reshape thinking and habit. I want to get into the habit of writing a certain amount at a sitting. I’m very good at planning what I write, but I don’t always get round to doing the actual writing. Here I am forcing myself to perform the act of writing (well typing if you must) with the intent of developing the habit. Repetition is at the heart of all habit. Habit implies repetition and repetition trains habit. What are the factors which determine strength of learning? Primacy, Recency, Repetition and I think there is something else as well. Of course we have to bring in conditioning factors like reward and punishment and triggers as well.

Back to data errors (see what I mean about rambling?) Programs are data too! I can extend the thinking to other forms of data which are not exclusively record based, such as some files and, of course, programs.
Let’s look at files first. What about a word processing file, is it possible to detect (and correct) errors in a word processing file? Well of course it is! I do it all the time, and at least some of the time Word helps me. A very small portion of the time, Word hinders me, but that is another matter. Remember, right now, my objective is to train myself to write a certain amount. I’m good at planning, I’m good at editing but I want to get better at writing.

How do I detect errors in a word processing file? In different ways, at different levels: I use Word to tell me when words are spelled incorrectly. Where a word is underlined red, I can either use Word to tell me what it thinks the correct spelling is, I can look it up in the dictionary or I can completely ignore what Word is telling me. Word and I are working together. Word does the checking, but I am in control. This is similar to the “single field” class of errors which can be found in a database. Of course, we know in advance what the root cause of these errors is: my typing is a bit dodgy, as is my spelling.

A similar, in fact almost identical approach applies when we extend the scope outwards to sentences and paragraphs. This is a more complex situation which does not really have a corresponding level in the database record model. Word contains a model of English grammar. I actually have no idea how good Word’s model of grammar is. I am sure it is better than mine! Where word flags a sentence as “needing its grammar looked at” I can look at what Word suggests. Most of the time I need to make the corrections myself. These can be simple things, like adjusting the ends of sentences, but can be more complex. In either case Word is helping me to write. I am looking at the screen and concentrating on what I am writing. Writing in this way I can write much more quickly.

One of my objectives here is to reach a “Flow state”. That implies that I try and reduce the amount of interruption. After all, almost my definition, interruption interrupts flow!

What Word cannot do is help me with the sense of the sentences or especially the paragraphs. What I write is sense or non-sense because of what I think, not because of the way it is structured.

What about programs? Is it possible to detect errors in a program? Well of course it is, I do it all the time. It is what de-bugging is all about. But what about it the general sense, as data? Here I think we are into more awkward territory. Some kinds of error are detectable. For example, these days syntactic errors are detected by the parsing editors.  If they are not detected during editing, then they are detected immediately by the compiler. Data errors, references to the wrong objects are likewise detected, but what about “the sense”? I am much more doubtful about that. Sense can only be checked by comparing the results of the program with the original specification.

If I extend that idea to writing for entertainment or even technical writing, then I get the idea that there should be a “specification”. Now I suppose ultimately, there is a debate about whether the specification can be right or wrong. I guess it just “is”, in the sense that it exists. For correctness to come into play, we have to have more than one expression of the same idea. In coding this takes the form (or perhaps the forms) of: the specification, the code itself, and the tests. This is the reason why many people argue for using the tests as the specification. Apart from efficiency (why have three artefacts when you only need two?), there is the point that tests are generally expressed more precisely than specifications (at least in coding).

Hmm. I have to be careful that I don’t talk myself round in circles here. I observed something interesting just then. One was in instance where Word could not tell the word I intended to use. Even from context, it did not seem to be able to tell whether “two” or “tow” was the word that I intended to use. Of course to a human reader that sort of typographical error is fairly obvious. It is also a case where over-reliance of a word-processor spell checker can lead you astray if you allow the machine to make corrections itself.
I remember when I used to exploit the features of the terminal hardware so that I could read spelling corrections (“highlighted”) out of context of the rest of the script (which was in normal brightness). That allowed me to work very quickly and accurately. Strange that using a monochrome terminal was sometimes preferable to using a colour terminal.

When I reach the end of the 5th page of text I’m just going to stop. Remember, this is primarily an exercise in training. I’m not deliberately trying to write nonsense but the content is much less important than the activity. There is a reason that I am keeping this stuff, and that is that I want to be able to mine the “free association” aspect in the future. I’m not sure what that will yield but it seems like a potentially interesting experiment. Having the text online means that I may be able to use it in some unexpected and unplanned (at least for the time being) way.

I am going to separate this “rambling” stuff from the “reflective” stuff. I’m not sure I care who reads the ramblings (although I may change my mind) but I feel that I care about the reflection. Today seems to have been quite successful. You may find this strange but I do not expect to read what I have written for quite some time.  

And that seems like quite at appropriate place to end. I’ve produced five pages of ramblings. I started with a topic and then went on from there. For a while I am going to take that approach, but I may develop it in different ways. I expect to experiment with all sorts of different things. One of the things I will probably steer away from is formatting.  Put simply “I don’t care”.  This is about writing, not reading! (stopped at 13:49)