Friday, 29 January 2010

Toxic Drums Newsletter 2 published!

Toxic Drums Newsletter 2 published!

Toxic Drums on Ice
From Toxic Drums point of view today has been productive.  Newsletter 2 was finally produced and issued.  There is little premeditated, thought out and planned here at Toxic Drums.  Things happen more by inspiration or desperation.  There are too many things distracting from the work.  There are too many ideas and half baked plans.  There is the software updates to write and the new applications to get started.  I have far more ideas than I could possibly execute but the difficulty is deciding which will be most useful in the shortest time.  Most of the time things get started and not finished.  But I decided that enough was enough and Toxic Drums will have to survive no matter how polluted the site becomes.  Appropriate though that may be!

It seems Toxic Drums has had a patch of psychological indulgence.  Prior to Newsletter 1 there was quite a lot of atheistic, anti-God, anti-authority, verging on conspiracy theory stuff.  Post Newsletter 1 things seem to have gone a bit mental with cascading oppression, fractal abuse and the double bind.  Things will settle down and crystallize but just at the moment there is a kind of mental chaos that is both uncomfortable and creative.  Maybe I need a spot of transcranial magnetic stimulation to relieve the repression and to allow the creative forces to flow.  The fear with that, of course, is that I will explode.

Monday, 25 January 2010

Delphi 2010

Having bought Delphi 2010 as an upgrade from Delphi 6 I was expecting it to be a vast improvement.  Knowing and loving the product since it was the Turbo Pascal I have seen the changes over the years and the introduction of the Integrated Development Environment under DOS and then with the advent of Windows the virtually sublime Visual Component Library.  I have owned most versions of Delphi up to version 6 and have used Delphi 7 in someone else's office.  I was impressed with the advances in some areas and the debugging in particular.  I had a lot of experience of that because I was working for someone else and having to fix some dire code.  I don't normally have much call for a debugger with my own code.  But the help had become almost helpless.  I rely on the help because my memory is no good.  I have a good conceptual memory and I only have to understand polymorphism once and I've got it but can I recall where the ... well there you go.  I went looking for the override directive and could I find it?  No!  I'm not going to spend all day trying to make this point but it seems that Pascal is being forced into history.  I did eventually get to what I suspect is the best help by searching for Pascal Language Guide but it is seriously lacking in integrity.  I even read a remark in the help somewhere that "Real programmers don't use Pascal."  Whether that was a joke or not I don't know but if it was a joke it wasn't funny.  Pascal is a seriously good high level language.  As far as I understand it the guy who concocted C which later became C++ was basically coding Pascal so that it was unreadable.  The whole idea of a high level language is that it is easier than writing in machine code.  But hackers (as I like to call them) prefer to massage their egos by having code that "looks" really complicated.  It makes them feel cleverer.  But it doesn't help productivity.  And anyway they get away with a lot more bugs because it is nearly impossible to spot them.  Pascal was developed with two main characteristics.  One was that it was a teaching language so it was designed with very clear reserved words like begin and end to mark the beginning and end of a block of code and "English" style commands like for N:=1 to 20 do, and repeat...until  but C has to "shorten" every thing with curly brackets and weird arrangements of symbols.  It is simply not explicit and you have to have a memory for what all the codes mean.  The second significant thing about Pascal is that it is rigidly consistent.  It is fractal in a way.  There are a few simple rules and everything else follows.  It has been thought out very carefully.  But C comes along and starts making exceptions right left and centre.  After a while it is a jumble of special cases.  But back to the Delphi 2010.


I was trying to get the main form that I was designing to tear itself away from the top left corner of the space in which it's container was docked.  Eventually I found, under Tools/Options/Delphi Options/VCL Designer, that you can set "Embedded designer" on or off.  If it is on then the forms you are working with are as a multi document interface and they are stuck to the top left corner of their work space.  If you turn it off you are informed that it will not take effect until you close Delphi and restart it.  Funny but true.  So I did that and it seemed more agreeable until I realised that the form had a "Stay On Top" quality so that when you are editing the code the form is in front of it.  There seems no way to get it behind your work space so you have to minimise it every time you want to edit the code.  I found also that you can do something about the arrangement under View/Desktops.  But although it gives you the option to select the old style "Classic Undocked" (which I was so relieved to discover) it turns out that all the windows are undocked except the form in the corresponding workspace as the text editor.  So it is still stuck in the top left corner of a container.  So the frustration is mounting.  I don't get the "advances" in the code completion either.  Maybe I will understand it one day but at the moment it takes more work to manage the code completion unless of course you don't know how to program in Pascal at all.  That's a thought!  Maybe I could learn C that way.  No - it wouldn't work.


A lot of this ranting is so that a) I get to vent my frustration, b) I get to have notes on things I have found like the search for "Pascal Language Guide" and other interesting things I might forget in months to come, and c) so that there may be some useful hints and tips, workarounds and solutions for other people searching the internet.


Anders Hejlsberg was the guy responsible for designing the Visual Component Libray and he made an exceptional job of it.  He was then pirated by Microsoft and designed the .NET framework.  If any of you budding techies out there are wondering why C# ever got invented it is because the .NET environment is written in Pascal with the Visual Component Library and is basically an extension of it.  XML is largely the streaming structure from the VCL.  All down to one very clever man.  But most programmers use C++.  As the comment I noticed referring to "real programmers" not programming in Pascal suggests most people who were going to use .NET are C programmers but it is written in Pascal.  So they invented a middle ground for C programmers and called it C#.  Why not Pascal?  It annoys me.  But that is probably because I have spent so many years programming in Pascal and I am a very slow learner and don't want to learn C.  I have recently got involved with HTML and am shocked by the inconsistencies in that.  Sometimes I think it is a bit like evolution.  It has to have inherent weaknesses otherwise it couldn't evolve.
The Double Bind

An inescapable mind knot that can lead to schizophrenia.

On the surface the double bind seems a simple idea. It's a bit like a reef knot. Two twists and when you pull on one it tightens on itself ensuring a strong bind.

The term "Double Bind" was first coined in the field of psychology by Gregory Bateson in the mid 1950's. It is an important concept and Gregory proposed that it was the cause of schizophrenia. The double bind involves two contradictory demands in a context where questioning the contradiction is impossible or implicitly prohibited.So, for example, a teacher asking why you are late, expects an answer to the assumed situation that you are late. If, however, you point out that you are not late you get told off for being rude. The contradiction exists in the implication that a solution exists in the answering of the question. However, answering the question only asserts that you are late. So if you don't answer the question you are evidently in the wrong and if you do answer the question then you are confirming that you are wrong. To question the question is simply not allowed. Stuffed!The above example is very simple and easy to see. But the double bind is a severe problem when it is deep in the culture and communicated to very young children by the people they depend on for survival. When the parents have learned to survive in a world of double binds they will transmit these complex paradoxes even in their body language.What makes this situation serious is that the child learns how to survive by satisfying the demands and expectations of the parents. It becomes a mechanism of perception. That is to say that the child grows up actually seeing the world in terms of these contradictions. So they actually see a child contradicting a teacher as "rude". They are ensnared by the contradictions and, unless they are fortunate enough to have managed to resolve this dilemma themselves they will behave in a way to support and perpetrate this problem.

More on this at http://www.toxicdrums.com/double-bind.html

Magnetic Morality

Transcranial Magnetic Stimulation (TMS) alters peoples moral judgements!

Inside your brain there is a little area that deals with thinking about how other people think. It's a highly specialised area of the brain and the only area that deals with this particular issue. It is also not used for solving any other types of logical problems.

human brain

This specialised region is called the Right Temporal Parietal Junction and is located just above and behind your right ear. This particular function performed by the brain seems to be exclusively human. And it doesn't function from day one but takes many years to develop this unique skill.

Experiments with children have illustrated that this ability seems to begin developing around 3 to 5 years old. There is the Smarties, pencils and child experiment (Smarties are sweets like M&Ms in a tube) where the child is surprised to find pencils inside the Smartie tube and when the lid is replaced and the child's parent is invited into the room the child, at age 3, will expect the parent to think there are pencils in the tube. This is because there are pencils in the tube and the child isn't able to think of what someone else might think. By the age of 5 a child will predict that the parent will think there are Smarties in the tube and be surprised to find pencils.

This ability to simulate someone else's mind inside your own brain seems to continue developing in sophistication certainly through adolescence. At an early age children will make a moral judgement that someone is wrong to do something naughty but it makes no difference if that person was mistaken. They are still blameable. By the age of 7 children can realise that someone thought they were doing something okay but were mistaken and so are not so blameable.

The rest of this article is on the web site at http://www.toxicdrums.com/magnetic-morality.html

Good and Evil

"The problem of good and evil is that the good people think the evil people are evil and the evil people despise the good people and evil is to be despised. So the good people are evil and the evil people are good and that's why the good people can't figure it out. But the evil people have it sussed thereby proving that the evil people are really the good people and as for the good people... well they're just a nuisance."

If you have that understood then we can continue...see http://www.toxicdrums.com/good-and-evil.html