Travelling

Above is a picture of the UK weather. Fortunately it cleared up later.

This will be a brief post as I am travelling. The next few will be similarly short, but I will endeavour not to break the chain.

Over the few days we have visited Singapore and are now in the UK. We are off to Ireland shortly. I’ve never visited Ireland so I’m looking forward to it.

Singapore was as always hot and humid. We visited the zoo and the Gardens by the Sea and I enjoyed it very much.

Below is a picture taken somewhere over the ocean. I tried to upload it by means of the plane’s WiFi, but while I could send messages and emails, I couldn’t upload an image.

The first of a few brief posts

As I am travelling, visiting relatives, my next few posts are going to be brief. I’ve flown to Singapore for two days and then on to London. In a day or two we go on to Ireland, which I have never visited.

One interesting moment on the trip was when I was trying to post a photo of the plane’s progress screen to Facebook via the on board WiFi while we were way out over the ocean! While I could post text, I couldn’t get the image to upload.

My photos are mostly not on this device, but I may move some up to post here later. To finish this brief post I will post a picture of a spring time rain shower from the window in my sister’s house. Fortunately the weather hasn’t been too bad so far.

Sinistralism

At one time banks and post offices used to tie down the pen that they provided for people to sign things, such as cheques, with a piece of string or chain to prevent customers from stealing the pens. These days you are more likely to have a bunch of pens (with the bank’s logo) pressed on you.

Anyway, I was always discomforted by these tied down pens as I am left-handed and the string or chain was always fixed to the right of the counter and rarely was long enough for me to easily sign my cheques with left hand. As a result I was cramped up and twisted round as I manoeuvred the cheque book closer to the right hand side.

This is only one of the many times that my sinistralism has left me disadvantaged. Corkscrews and scissors, even power tools, wood screws and nuts and bolts are all designed for the majority who are right-handed. (I believe that the correct term would be dextralist). Can openers are the things that I find most tricky to use.

However, sinistralists living in a dextral world soon learn to use right handed tools, to at least some level of competence. There are tools made specifically for left-handed people and it is quite funny to give one to a right-hander. They don’t have a clue! This is because they have not had to learn to use tools with a sinistral configuration, whereas a sinistral has at least a level of competence with right-handed tools since they are everywhere.

The Universe obviously has a basic chirality or handedness which is a bit odd to say the least. It’s interesting to wonder why chirality exists. Is it just so that we can easily remove corks from bottles of wine? “Thanks, Deity, that just what we needed. Will you take a glass?”

Chirality makes it hard for some creatures. Imagine that you are a mollusc with  a left-coiled shell and all the other mollusc are right-coiled. You’d find partners to be rare. Of course, it can’t make reproduction too difficult or the left-coiled molluscs would become extinct within a generation or so. (That’s probably too simplistic, but let’s not quibble).

Chirality allows us to have streams of traffic travelling both ways on a single road, but I’m sure that Deity would have considered that and arranged for some way that we could duplex our highways. Allowing a way for solid matter to inter-penetrate would be one, but perhaps “both directions” implies chirality anyway and in a non-chiral universe there would only ever be one way.

In some universes (and maybe in this one for all I know) there may be cases of even more complex situations. One reflection of a chiral object changes it into another object that can’t be superimposed on the original object. A second reflection does allow it to be superimposed on the original. Imagine a universe where three or more reflections are need to allow the superimposition! In that universe the motorways and autobahns would need at least three carriageways.

The spin of some sub-atomic particles has an interesting spin characteristic. The linked Wikipedia article says in one place:

However, if s is a half-integer, the values of m are also all half-integers, giving (−1)2m = −1 for all m, and hence upon rotation by 2π the state picks up a minus sign.

Rotation through 2π is a rotation through 360 degrees. So a particle with a spin of ½ turns into its mirror reflection on one full rotation. At least I think that’s what that means. Two full rotations and it is back to its original orientation (or at least, its original spin value).

In the macro world two reflections of an object create an image that can be superimposed on the original. That means that if you look at the reflection of your reflection you see yourself as others see you rather than your mirror image. You are so much more used to seeing your reflection that it can be difficult to comb your hair while looking at a doubly reflected image of yourself.

Chiral objects are not symmetrical. Reflections of symmetrical objects can be superimposed on the original object however (after being moved and turned). Symmetry and asymmetry are part of the fabric of the universe that we live in and I think that having both allows for much more complexity in our universe than would be possible in a universe without the symmetry/asymmetry dichotomy.

One of the great questions of philosophy is “Why does anything exist?” or “Why does something exist rather than nothing?” The real answer to this question is that no one knows and no one is likely to know. I suppose the Deity might if the Deity exists Itself. Given that the universe exists why is does it embody the concept of left and right? Again, no one knows or is likely to know, or so it appears at this time.

One reason may be that if asymmetry did not exist one could probably not travel from A to B. If one started from A to travel to B in a universe without symmetry and hence without asymmetry, and someone else was travelling in the opposite direction then to pass one another the two travellers would have to pass on one side or the other of the other traveller.

It seems to me that the concept of “side” implies the concepts of “left” and “right”. Asymmetry comes in because, to either traveller, one passes to the left or right of the oncoming traveller who passes to the right or left of you. Symmetry comes in because, to pass one another both traveller has to keep to their left or their right to successfully pass one another.

Of course, that is only true for our universe. It is conceivable that a universe could exist where symmetry and asymmetry do not exist, but it is a universe which we would, most likely, be unable to conceive of, except in the broadest terms.

 http://www.gettyimages.com/detail/173800213 

Speed

 Embed from Getty Imageswindow.gie=window.gie||function(c){(gie.q=gie.q||[]).push(c)};gie(function(){gie.widgets.load({id:'c1UIDr9WQip_C9_LIA9UxQ',sig:'OXktcxjMyVfui23vWPLoFqX041Dnl-CHn0myBnP0CEg=',w:'494px',h:'347px',items:'82834193',caption: false ,tld:'com',is360: false })}); 

(Posted late again! Whoops!)

Every time I write my 1,000 words it is a challenge but sometimes it is more of a challenge. As I’ve said before, sometimes I know roughly what I want to include, while other times I pick a topic and go for it. This post is one of the latter.

Speed. Anyone who has been on the Internet since the early days knows about speed. When I hear people complaining about the speed of their connection I quietly laugh as I consider the days of dial-up, and of 2400 baud modems. A megabit download could take half an hour to an hour if the connection held up that long.

As an aside, the “skreee, Kaboinga, boinga, boinga, skeeee…” of a dial up modem connecting induces nostalgia in me, though I’d not go back to those days! Today’s Internet is sometimes called the Information Superhighway. The old dial up Internet was much like a dirt road. With potholes.

When one takes a journey, say from one end of the country to the other, one sets out on local roads, which may or may not be congested, then one travels over the Motorways, or the Interstates, or the Autobahns. Then one travels on the local roads at the far end. Any of these may be congested, but the local roads are most likely to be slower to traverse.

The same is true of the Internet. Your local ISP is equivalent to the local roads at your end of the trip, and the target website or whatever you are connecting to is in their ISP’s local network.

If we delve a little further, it is evident that the copper or fibre that makes up the Internet is not really a factor in the speed of the Internet. Signals in the fibre travel at light speed. Typically this is less than light speed in empty space, but it is close to it. Signals in copper travel slower than this, but still at a significant percentage of the speed of light. (I’d put a link in here, but the subject is complex and I found no clear explanation. YMMV).

The real reasons that fibre is preferred over copper is the huge bandwidth and the much smaller attenuation in fibre cables. Bandwidth is often described in terms of how many lanes a highway has. Obviously the more lanes the more traffic a highway can handle. Attenuation is interesting. It’s as if your car starts out in New York in pristine condition, but deteriorates en route to Los Angeles, until it arrives at its destination looking like a bucket of bolts, if it makes it that far.

Whether or not the packets are transmitted by fibre or copper, the signal must somehow be loaded onto the cable, and this takes significant time. The packet of data is placed into a register on the network connector by the computer and a special chip translates that to a stream of bits on the wire, or pulses of light in the fibre.

 Embed from Getty Imageswindow.gie=window.gie||function(c){(gie.q=gie.q||[]).push(c)};gie(function(){gie.widgets.load({id:'QzrRljKDQjx-8F0UhFUWaQ',sig:'XndlPc_Zib0yNI1zUNvn3l5bGyQd3s8KY3RpkSMbxdQ=',w:'348px',h:'492px',items:'EC4110-001',caption: false ,tld:'com',is360: false })}); 

These pulses then whiz off onto the network. However they don’t travel all the way in one hop. Your computer connects to a modem device that sends the signal to your ISP, where the signals hit a router. This device looks and a whole packet of data, then send it off again towards its destination. It doesn’t get to its destination in one hop, and there may be a dozen or more hops before it gets there.

At the beginning and the end of each and every hop there is a device that grabs the packet of data off the wire, decides where to send it and puts it on another wire. These devices are called ‘routers’, a term which many people will have heard. As you can imagine, each hop adds a delay (or latency) to the packet of data. These delays are quite small but they add up.

So the Information Superhighway doesn’t look that flash after all. Sometimes I wonder how data actually gets through at all. It’s as if there was a multi-lane highway across the country (the world even), but it is studded with interchanges which take significant time to traverse, increasing the time taken for the trip – light would take nanoseconds to get from here to Sydney if we had line of sight, but over the Internet it takes milliseconds.

Satellites are even worse. To reach a geostationary communications satellite and return takes of the order of half a second, an age in computing terms. Of course most communication satellites are lower than that so the delay is not as much as half a second, but it is still significant.

 Embed from Getty Imageswindow.gie=window.gie||function(c){(gie.q=gie.q||[]).push(c)};gie(function(){gie.widgets.load({id:'cWzVPtOUR1BYxcO2IrVDWw',sig:'slkqg42WJLaFjK-0N17wv2jaENNKsajuIdzEhZSbHho=',w:'414px',h:'414px',items:'AA014089',caption: false ,tld:'com',is360: false })}); 

The advent of streaming services has exacerbated the problem. The basic issue is twofold. To use the motorway analogy, there are many more cars on the road and as a result the interchanges are becoming crowded resulting in congestion. In general the motorways themselves are fast and free-flowing, but the interchanges have not caught up.

An ingenious partial solution is to strategically place machines around the world which effectively distribute the stuff that people want to receive, so that the same content is available locally. It’s like taking all the copies of the pictures in a gallery in Los Angeles and storing the copies in New York, Miami, Washington and so on. Rather than having to go all the way to Los Angeles, a New York viewer sees the picture locally.

So the sources of delay to your streaming the latest version of TV shows are many. The first possibility is your own setup. Maybe your network and modem are not up to the task. Secondly there is the telecom network. Tricky stuff happens between you and your ISP which if the province of the telcos. I don’t know the ins and outs of it, but in some cases switching a couple of connection in the roadside cabinet or in the exchange helps.

Then there is your ISP. ISP will be keeping a close eye on the traffic through their part of the network, but the rapid rise of the streaming services has caught them a little bit unawares, and some are scrambling to keep up. Then there is the Internet backbone. It is unlikely that there are issues here. Finally there is the target ISP’s network and the target site’s network and the site itself. Any of these could cause issues, but they are way beyond the control of the end user and his/her ISP.

 Embed from Getty Imageswindow.gie=window.gie||function(c){(gie.q=gie.q||[]).push(c)};gie(function(){gie.widgets.load({id:'0c2v8S7cThBcGQYGlpjRGw',sig:'N2zrUxb9666ogCrZ-_oP75AJam0aystdDtINRdRMNXo=',w:'414px',h:'414px',items:'512545935',caption: false ,tld:'com',is360: false })}); 

Speeds on the Internet are phenomenal when compared to the early days. Things are much more complex these days. It is amazing what can be achieved, and those of us who have experienced the early days are less likely to whinge about speed issues as we remember that it was like!

 Embed from Getty Imageswindow.gie=window.gie||function(c){(gie.q=gie.q||[]).push(c)};gie(function(){gie.widgets.load({id:'7qLGH2yuRZRLeBKNCaDvtQ',sig:'CFmevmxJVmXWTyBYO9QIUT1vFydNm0ZFOrnLpIy-vMY=',w:'507px',h:'338px',items:'169267445',caption: false ,tld:'com',is360: false })}); 

Documentation

Documentation. The “D word” to programmers. In an ideal world programs would document themselves, but this is not an ideal world, though some programmers have attempted to write programs to automatically document program for them. I wonder what the documentation is like for such programs?

To be sure if you write a program for yourself and expect that no one else will ever look at it, then documentation, if any, is up to you. I find myself leaving little notes in my code to remind my future self why I coded something in a particular way.

Such informal documentation can be amusing and maybe frustrating at times. When reading someone else’s informal documentation such as “I’m not sure how this works” or “I don’t remember why I did this but it is necessary”. More frequently there will be comments like “Finish this bit later” or the even more cryptic “Fix this bit later”. Why? What is wrong with it? Who knows?

The problem with such informal in code documentation is that you have to think what the person reading the code will want to know at this stage. Add to this the fact that when adding the comments the programmer is probably focussing on what he/she will be coding next, the comments are likely to be terse.

Add to this the fact that code may be changed but the comments often are note. The comment says “increment month number” while the code actually decrements it. Duh! A variable called “end_of_month” is inexplicably used as an index to an array or something.

Anyone who has ever done any programming to a level deeper than the usual beginner’s “Hello World!” program will know that each and every programmer has tricks which they use when coding, and that such tricks get passed from programmer to programmer with the result that a newcomer looking at code may be bamboozled by it. The comments in the code won’t help much.

 Embed from Getty Imageswindow.gie=window.gie||function(c){(gie.q=gie.q||[]).push(c)};gie(function(){gie.widgets.load({id:'R8hhrgf6QGdBn-Ja8cQ4vQ',sig:'hAZmayhCgMrm0JHOc9x42kDtnNuOeNMuglJUcyw68tY=',w:'478px',h:'359px',items:'182181688',caption: false ,tld:'com',is360: false })}); 

Of course such programming tricks may be specific to the programming language used. While the same task may be achieved by similar means at a high level, the lower level of code will be significantly different. While that may seem to impose another barrier to understanding, I’ve found that it is usually reasonably easy to work out what is going on in a program, even if you don’t “speak” that particular language, and the comments may even help!

While internal documentation is hit and miss, external documentation is often even more problematic. If the programmer is forced to write documents about his programs, you will probably find that the external documentation is incomplete, inaccurate or so terse it is of little help in understanding the program.

In my experience each programmer will document his/her programs differently. Programmers like to program so will spend the least possible amount of time on documentation. He/she will only include what he/she thinks is important, and of course, the programmer is employed to program, so he/she might get dragged away to write some code and conveniently forgets to return to the documentation.

If the programmer is at all interested in the documentation, and some are, he/she will no doubt organise it as he/she thinks fit. Using a template or model might help in this respect, but the programmer may add too much detail to the documentation – a flowchart may spread to several pages or more, and such flowcharts be confusing and the source of much frustrated page turning.

Of course there are standards for documentation, but perhaps the best documentation of a program would be to specify the inputs and specify the outputs and then a description of how the one becomes the other at a high level. As I mentioned above a programmer will probably give too much detail of how inputs become outputs.

Documentation tends to “decay” over time, as changes are made to the program and rarely is the documentation revisited, so the users of the program may need to fill in the gaps – “Oh yes, the documentation says that need to provide the data in that format, but in fact that was changed two years ago, and we now need the data in this format”.

The problem is worse if the programmer has moved on and gone to work elsewhere. Programmers tend to focus on the job in hand, to write the program to do the job required and then move on to the next programming task, so such code comments as there are will be written at the time that the programmer is writing them. Such comments are likely notes to the programmer him/herself about the issues at the time that the program is being written.

 Embed from Getty Imageswindow.gie=window.gie||function(c){(gie.q=gie.q||[]).push(c)};gie(function(){gie.widgets.load({id:'SHkPp9oBT-JbDvrr2uCyAg',sig:'Phx8M-eXHBtdJ0svwmFOGlDsffFHFfhxC0JhDiR9OPE=',w:'594px',h:'407px',items:'453714667',caption: false ,tld:'com',is360: false })}); 

So you get comments like “Create the app object” when the programmer wants a way to collect the relevant information about the data he/she is processing. Very often that is all that one gets from the programmer! No indication about why the object is needed or what it comprises. The programmer knows, but he/she doesn’t feel the need to share the information, because he/she doesn’t think about the next person to pick up the code.

I don’t want to give the impression that I think that documentation is a bad thing. I’m just pondering the topic and giving a few ideas on why documentation, as a rule, sucks. As you can imagine, this was sparked by some bad/missing documentation that I was looking for.

Open source software is particularly bad at this as the programmer has an urge to get his program out there and no equal urge to document it. After all, a user can look at the code, can’t he/she? Of he/she could look at the code, but it is tricky to do so for large programs which will probably be split into dozens of smaller ones, and the user has to be at least a passable programmer him/herself to make sense of it. Few users are.

So I go looking for documentation for version 3.2 of something and find only incomplete documentation for version 2.7 of it.  I also know that big changes occurred in the move from the second version of the program to the third undocumented version. Ah well, there’s always the forums. Hopefully there will be others who have gone through the pain of migration from the second version to the third version and who can fill in the gaps in documentation too.

Philosophy and Science

 Embed from Getty Imageswindow.gie=window.gie||function(c){(gie.q=gie.q||[]).push(c)};gie(function(){gie.widgets.load({id:'K4hS3n2NTgBZm1GnxcNHuA',sig:'ioMp-FgTkpct_P6X6VsYFlzr3v_o5R6iZjIEPG03wyk=',w:'414px',h:'414px',items:'150968947',caption: false ,tld:'com',is360: false })}); 

Philosophy can be described, not altogether accurately, as the things that science can’t address. With the modern urge to compartmentalise things, we designate some problems as philosophy and science, and conveniently ignore the fuzzy boundary between the two disciplines.

The ancient Greek philosophers didn’t appear to distinguish much between philosophy and science as such, and the term “Natural Philosophy” described the whole field before the advent of science. The Scientific Revolution of Newton, Leibniz and the rest had the effect of splitting natural philosophy into science and philosophy.

Science is (theoretically at least) build on observations. You can’t seriously believe a theory that contradicts the facts, although there is a get-out clause. You can believe such a theory if you have an explanation as to why it doesn’t fit the facts, which amounts to having an extended theory that includes a bit that contains the explanation for the discrepancy.

Philosophy however, is intended to go beyond the facts. Way beyond the facts. Philosophy asks question for example about the scientific method and why it works, and why it works so well. It asks why things are the way they are and other so called “deep” questions.

 Embed from Getty Imageswindow.gie=window.gie||function(c){(gie.q=gie.q||[]).push(c)};gie(function(){gie.widgets.load({id:'aCTv_FHyR5VEh0B4sSBMXg',sig:'KDikKIDZ5Og2csUn55J6N5q9KHbxA8lgLM8Ve3hNM3E=',w:'430px',h:'399px',items:'453590435',caption: false ,tld:'com',is360: false })}); 

One of the questions that Greek philosopher/scientists considered was what everything is made of. Some of them thought that it was made up four elements and some people still do. Democritus had a theory that everything was made up of small indivisible particles, and this atomic theory is a very good explanation of the way things work at a chemical level.

Democritus and his fellow philosopher/scientists had, it is true, some evidence to go and to be fair so did those who preferred the four elements theory, but the idea was more philosophical in nature rather than scientific, I feel. While it was evident that while many substances could be broken down into their components by chemical method, some could not.

So Democritus would have looked at a lump of sulphur, for example, and considered it to be made up of many atoms of sulphur. The competing theory of the four elements however can’t easily explain the irreducible nature of sulphur.

My point here is that while these theories explained some of the properties of matter, the early philosopher/scientists were not too interested in experimentation, so these theories remained philosophical theories. It was not until the Scientific Revolution arrived that these theories were actually tested, albeit indirectly and the science of chemistry took off.

Before that, chemical knowledge was very run by recipes and instructions. Once scientists realised the implications of atomic theory, they could predict chemical reactions and even weigh atoms, or at least assign masses to atoms, and atomic theory moved from philosophy to science.

That’s not such a big change as you might think. Philosophy says “I’ve got some vague ideas about atoms”. Science says “Based on observations, your theory seems good and I can express your vague ideas more concretely in these equations. Things behave as if real atoms exist and that they behave that way”. Science cannot say that things really are that way, or that atoms really exist as such.

Indeed, when scientists took a closer look at these atom things they found some issues. For instance the (relative) masses of the atoms are mostly pretty close to integers. Hydrogen’s mass is about 1, Helium’s is about 4, and Lithium’s is about 7. So far so tidy. But Chlorine’s mass is measured as not being far from 35.5.

This can be resolved if atoms contain constituent particles which cannot be added or removed by chemical reactions. A Chlorine atom behaves as if it were made up of 17 positive particles and 18 or 19 uncharged particles of more or less the same mass. If you measure the average mass of a bunch of Chlorine atoms, it will come out at 35.5 (ish). Problem solved.

Except that it has not been solved. Democritus’s atoms (it means “indivisibles”) are made up of something else. The philosophical problem is still there. If atoms are not indivisible, what are their component particles made of? The current answer seems to be that they are made of little twists of energy and probability. I wouldn’t put money on that being the absolute last word on it though. Some people think that they are made up of vibrating strings.

All through history philosophy has been raising issues without any regard for whether or not the issues can be solved, or even put to the test. Science has been taking issues at the edges of philosophy and bringing some light to them. Philosophy has been taking issues at the edge of science and conjecturing on them. Often such conjectures are taken back by science and moulded into theory again. Very often the philosophers who conjecture are the scientists who theorise, as in famous scientists like Einstein, Schroedinger and Hawking.

The end result is that the realm of philosophy is reduced somewhat in some places and the realm of science is expanded to cover those areas. But the expansion of science suggests new areas for philosophy. To explain some of the features of quantum mechanics some people suggest that there are many “worlds” or universes rather than just the one familiar to us.

This is really in the realm of philosophy as it is, as yet, unsupported by any evidence (that I know of, anyway). There are philosophers/scientists on both sides of the argument so the issue is nowhere near settled and the “many worlds interpretation” of quantum mechanics is only one of many interpretations. The problem is that quantum mechanics is not intuitively understandable.

The “many worlds interpretation” at least so far the Wikipedia article goes, views reality as a many branched tree. This seems unlikely as probabilities are rarely as binary as a branched tree. Probability is a continuum, like space or time, and it is likely that any event is represented on a dimension of space, time, and probability.

I don’t know if such a possibility makes sense in terms of the equations, so that means that I am practising philosophy and not science! Nevertheless, I like the idea.