Archive for the ‘Life Musings’ Category

Musings on lecture by Vatican Astronomer

October 28, 2016
cq5dam-web-1280-1280
Vatican Observatory, Arizona (source: goo.gl/cl7EpF)

Jesuit priest and Vatican observatory director Brother Guy J. Consolmagno visited Adelaide in August and gave a public lecture at UniSA.

1442916802171
Guy J. Consolmagno (source: goo.gl/Sxui6h)

I arrived early to have a meal at the Mawson Lakes hotel. Paul Curnow (ASSA vice president) and I spotted each other. He was at a table with a group of people, two of whom wore clerical collars, so I assumed one was Brother Guy. Paul invited me to eat with the group, a mixture of amateur astronomers (ASSA members) and Catholic church members, and in some cases, possibly both.

During dinner I asked Guy about the forthcoming southern edition of his book, Turn Left at Orion. He recently co-authored another book, Would you Baptize an Extraterrestrial? Whatever my pre-conceptions may have been, he seemed smart and witty, hard not to like.

His talk was titled The Heavens Proclaim: Astronomy and the Vatican after a now out of print book. It quickly became clear that he was a very good Science communicator (in 2014 he was recipient of the Carl Sagan Medal for excellence in education and public outreach) and a long-time practitioner of the Scientific Method. He also writes an interesting blog. The talk ranged widely from the Vatican Observatory‘s roots in the Gregorian Calendar reform of 1582 to the work of the Jesuit astronomers at the observatory’s current (and surprising!) location in Arizona.

A number of slides in the talk were devoted to Galileo. Guy admitted that while the whole sordid business was more nuanced than is sometimes realised, the church should not have gone after Galileo in the way it did. Contrast this to Mother Theresa who said she would have sided with the church over Galileo! It should of course be still further admitted that the fact that it took 350 years for the Catholic church to pardon Galileo (not until 1992, and assuming he needed pardoning at all!) of the charge of heresy should be more than a bit embarrassing to the Church. I don’t want to dwell on this here though.
Guy mentioned religion at various points during the talk, quoting scripture a handful of times, citing for example the number of occurrences of “star” in the Bible. He didn’t justify why he thought Christianity and the Catholic denomination in particular was the correct one out of all the possible religions (or none at all). Given the convictions of a substantial part of the audience, I suspect he didn’t feel the need to do so.
He wittily reversed the atheist quip about believing in only one less god than a monotheist, saying that he believed in only one more god than Richard Dawkins; not a valid move of course, but funny.

I wondered whether Guy’s view of the relationship between Science and Religion would align with the late evolutionary biologist Stephen J. Gould’s Non-overlapping Magesteria:

Here, I believe, lies the greatest strength and necessity of NOMA, the nonoverlapping magisteria of science and religion. NOMA permits—indeed enjoins—the prospect of respectful discourse, of constant input from both magisteria toward the common goal of wisdom. If human beings are anything special, we are the creatures that must ponder and talk. Pope John Paul II would surely point out to me that his magisterium has always recognized this distinction, for “in principio, erat verbum”—”In the beginning was the Word.”

In his talk, Guy said that Science brings him closer to God. According to his wikipedia page:

He believes in the need for science and religion to work alongside one another rather than as competing ideologies. In 2006, he said, “Religion needs science to keep it away from superstition and keep it close to reality, to protect it from creationism.”

The relationship Guy espouses seems more strongly aligned with Science than does NOMA, with a focus on preventing religion from going off the rails, yet still it’s clear (and not surprising since he’s a Jesuit priest) that for Guy, religion acts to inspire his relationship with Science.

Guy commented upon Georges Lemaître, the Belgian Catholic priest who published a paper in 1927 titled A homogeneous Universe of constant mass and growing radius accounting for the radial velocity of extragalactic nebulae, and later the idea of a “primeval atom”, making him the father of Big Bang theory. In the paper he proposed a value for the estimated rate of universal expansion subsequently confirmed by Edwin Hubble, now called the Hubble Constant. There’s an argument to be made that it should have been the Lemaître Constant after the less widely published Belgian scientist.

lemaitre

Georges Lemaître (source: goo.gl/BN6EKm)

Although Lemaître may have been sympathetic to the essence of NOMA, he helped to persuade Pope Pius XII to stop making proclamations about the relationship between science and religion, stating that there was neither a connection nor a contradiction between religion and his hypotheses.

During question time at the end of the talk, someone asked Guy how young people could be encouraged not to abandon religion as they learn more about Science. Guy responded by agreeing that adopting a scientific world view doesn’t mean abandoning religion, reiterating that Science brings him closer to God, and suggesting that an atheistic worldview was unnecessary and perhaps even a little further, at least to him and the questioner, not tasteful.

As an atheist and secular humanist, I obviously disagree with this viewpoint. It’s possible to retain a sense of wonder and a hunger for knowledge without the need for a deity.

Guy spoke about the fact that Lemaître understood the importance of allowing the data to speak, to provide evidence in support of (or not) an hypothesis.

In relation to the god hypothesis, that is all an atheist claims.

What I don’t understand is why the god hypothesis is different from any other. Is there supporting evidence for a deity of a particular kind, the god(s) of the Bible, for example? Shouldn’t the Scientific Method be applied here? Does Guy consider this valid? That’s the question I would ask if I spoke with him again, I think.

My only other criticism was the brief mention Guy made about how the Catholic church helps the poor, arguably not appropriate for a talk about astronomy, but not surprising when you accept that it was part lecture, part sermon. I’ve sat through (and given enough in my misguided past) sermons to know one when I hear one. I’ve written more about the relationship between the church and the poor elsewhere.

There’s no doubt that Brother Guy Consolmagno and the other Jesuit astronomers at the Vatican Observatory are doing good Science. In particular, Guy’s research explores connections between meteorites, asteroids, and the evolution of small solar system bodies and he employs the observatory’s 1.8 metre telescope to observe Kuiper Belt objects.

Of course, you need math, science, and a telescope or at least data from someone else’s telescope to do astronomy. You don’t need religion to do astronomy.

To borrow the title of the 2009 Intelligence Squared debate, “is the Catholic Church a force for a good in the world” insofar as astronomy is concerned? It would seem so, but in the end, I can’t help but feel that the Vatican Observatory and its astronomers stand in stark contrast to the Catholic church’s irresponsible prohibitions against contraception, the scandal of child abuse by clergy, and the extravagance of beatification.

Mother Teresa: saint?

September 18, 2016

The September 2016 Richard Dawkin’s Foundation newsletter highlighted an article by Joe Nickell titled: St. [Mother] Teresa and the Miracles Game:

Around the world, the Catholic faithful clamor for their beloved late priest, nun, or other personage to be added to the roster of saints. Pope John Paul II (1920–2005) heard them and lowered the requirement from three verified miracles to two (one for beatification, another for canonization), creating numerous saints and beatifying over 1,300 others—more than had all his predecessors together.

mother-teresa-blog-yaaree-com-1

Source: Mommy dearest, Mother Teresa not so saintly

Mother Teresa’s canonisation (confirmation as a saint) occurred on September 4 after the “necessary” two miracles were “identified”, the first for beatification (in which the Pope declares the dead saint-to-be as being in a state of bliss) in 2003, the second for sainthood.

For the beatification, the case of an Indian tribal woman was selected. Monica Besra claimed to have been cured in 1998 of stomach cancer, in the form of a tubercular tumor, after she placed a locket with a picture of Mother Teresa on her abdomen.

Nickell goes on to say that the doctors treating the woman said the cyst (not tumor) had continued to receive treatment even after the death of Mother Teresa. Mrs Besra’s husband is quoted as saying: “It is much ado about nothing. My wife was cured by the doctors and not by any miracle.” He conceded that his wife “…felt less pain one night when she used the locket, but her pain had been coming and going. Then she went to the doctors, and they cured her.”

Mrs Besra herself still believed in the miracle, while admitting she was treated by doctors in hospital. “I took the medicines they gave me, but the locket gave me complete relief from the pain.” It is of course not outside of the realm of possibility that the placebo effect could account for the pain relief. In any case, it appears that the claim that Mother Teresa cured Mrs Besra, is unfounded.

As a an aside, why do some consider it acceptable to thank God for the honest, hard work of doctors and nurses? The fact is that God can’t lose. If a patient dies, it was His will. If they live, He is praised. If only gods were held to the same account as people…

The second case, the one that took Mother Teresa over the line to sainthood was that of a Brazillian man who had lapsed into a coma due to some kind of brain infection (the details differ with the source). His priest prayed for Mother Teresa to intervene with God, and the man supposedly awoke suddenly as a result. As Nickell points out, it may of course simply be that the treatment he was undergoing was effective, after all.

Again from Nickell:

In both cases “miracle” was defined as it always is in such matters as “medically inexplicable.” The evidence is therefore not positive but negative, resulting in a logical fallacy called argumentum ad ignorantiam “an argument from ignorance”—that is, a lack of knowledge. One cannot draw a conclusion from “we don’t know”—least of all that a miracle (supposedly a supernatural occurrence) was involved.

and

Doctors—including Catholic doctors—should refuse to play the miracles game. If the Church wishes to honor a doctrinaire nun, let it do so without an affront to science and reason.

Miracles, like the existence of gods, should be treated with the same scrutiny as any other phenomenon. As Gregory A. Clark wrote in The Salt Lake Tribune, Sainthood for Mother Teresa exposes the delusion of religion:

Seeking intellectual respect, Pope Francis recently declared that God is not “a magician, with a magic wand.” But as the pope’s canonizing Mother Teresa shows, he’s happy to promote God’s magic when it makes for good PR.

and in response Clarke points out that:

One miracle is as possible — or impossible — as another. Preach that an omnipotent deity can perform miracles, and you also preach that at other times He chooses not to.

Apart from the more well publicised evils, especially of late, the corruption of the Catholic Church is again revealed in a casual disregard of evidence and abuse of logic.

But just suppose for a moment that the idea of sainthood made sense. What kind of a saint is Mother Teresa?

In her 1979 Nobel Peace Prize acceptance speech, Mother Teresa had this to say:

And I feel one thing I want to share with you all, the greatest destroyer of peace today is the cry of the innocent unborn child. For if a mother can murder her own child in her womb, what is left for you and for me to kill each other?

The Catholic News Agency provides the transcript of a 1954 speech by Mother Teresa to the National Prayer Breakfast, some of which is eerily similar to the Nobel Peace Prize speech 25 years later. After similar sermonising about abortion, we see this, also shared as a quote by the Faithful Catholics website:

Once that living love is destroyed by contraception, abortion follows very easily.

It is bit of a stretch to see how the conclusion follows from the premise of either of the statements:

  • if a mother can abort a pregnancy then we are more likely to commit murder.
  • if (some form of) love is destroyed by contraception then abortion easily follows.

Indeed, the nature of the “living love” that is “destroyed by contraception” is unclear and seems vaguely reminiscent of Monty Python’s “every sperm is sacred” song from the Meaning of Life.

To those of a less dogmatic persuasion, there are surely greater “evils” than abortion, as a child affected by the Zika virus attests to.

Preceding this in the 1954 speech we have the following pearl of wisdom:

I know that couples have to plan their family and for that there is natural family planning. The way to plan the family is natural family planning, not contraception. In destroying the power of giving life, through contraception, a husband or wife is doing something to self.

There’s nothing surprising about this stance from the viewpoint of a Catholic worldview of course, but there are well-known problems that can be directly linked to religious sanctions against contraception, e.g. the spread of HIV, poverty, overpopulation.

Arguably, aside from the abuse of children by priests, the command to the faithful not to use contraception is one of the greatest evils of the Catholic Church.

Mother Teresa founded the Missionaries of Charity in 1950. Visitors to the Home for the Dying in Calcutta have reported that patients were placed on basic stretcher beds (indeed, video footage shows this), strong pain relief was rarely used (in a “hospice”, where people are dying in significant pain), so too for antibiotics, and needles were observed being rinsed under running water rather than sterilised. There were also reports of patients who could have recovered with proper treatment not being sent to a hospital, including the case of a 15 year old boy with a kidney infection that went untreated by antibiotics; a transfer to hospital was prevented.

This despite associating with and receiving prizes from shady individuals such as Jean-Claude Duvallier, the right-wing Hatian dictator and amassing funds from corrupt individuals such as Charles Keating, who sent Mother Teresa millions and lent her his private jet when she visited the United States. Instead of creating world-class medical facilities with such funds, the Missionaries of Charity spread to more than 100 countries.

Yet when sick later in life, for example when she required a pacemaker, Mother Teresa herself received top medical care in the West.

Although she and her missionary sisters and volunteers no doubt provided some comfort to the sick and dying, there was a cult-ish element to the work of Mother Teresa. For example, she is quoted as saying:

I think it is very beautiful for the poor to accept their lot, to share it with the passion of Christ. I think the world is being much helped by the suffering of the poor people.

and of telling a terminal cancer patient in extreme pain:

You are suffering like Christ on the cross. So Jesus must be kissing you.

Mother Teresa seemed at least as interested in using the poor and their suffering as an opportunity for conversion to Christianity as anything else, the ultimate point of missionary activity after all.

Watching the short (24 minute) film by Christopher Hitchens, Hell’s angel (YouTube), provides a quick way to revise your pre-conceptions about Teresa of Calcutta.

Coincidentally, a few weeks before the canonisation, I finally made time to listen to the audio version of Hitchen’s book: The Missionary Position: Mother Teresa in Theory and Practice, which provides further insight.

Hitchens visited the Missionaries of Charity in Calcutta and acted as a Devil’s Advocate in the case for her canonisation, giving testimony to the Archdiocese of Washington. As is so often the case, he says it best:

Mother Teresa was not a friend of the poor. She was a friend of poverty. She said that suffering was a gift from God. She spent her life opposing the only known cure for poverty, which is the empowerment of women and the emancipation of them from a livestock version of compulsory reproduction.

LIGO Gravitational Wave detection: the work of many…

February 13, 2016
I think it’s worth noting that 3 of the authors of the LIGO Gravitational Wave detection paper are listed as deceased (two in 2015 and 1 in 2012) and humbling to realise that, especially in a field like cosmology or particle physics, a scientist could spend his or her working life on something like this and never see the sought-after result.
binary-wave
It also emphasises that Science is usually not about a single person working in isolation, but about the work of many people collaborating and competing over a long period of time.
An ABC post about David Blair’s work on this for 40 years further underscores the point.
Congratulations to the hundreds (from the author list alone!) of scientists, engineers, and support people who contributed in some way to the first direct detection of gravitational values 100 years after their prediction from general relativity by Einstein.

It’s Darwin Day (actually)

February 11, 2016

Happy Darwin Day 2016!

charles-darwin-evolved-marketing-leader1

Freedom of thought is best promoted by the gradual illumination of men’s minds which follows from the advance of science. (Charles Darwin)

The darwinday.org website has lots of resources about the life and work of Charles Darwin (1809 to 1882) and the Richard Dawkins Foundation has recently added teacher materials.

From so simple a beginning endless forms most beautiful and most wonderful have been, and are being, evolved. (Charles Darwin, Origin of Species)

Meanwhile, let creationism talk itself into oblivion.

It has often and confidently been asserted, that man’s origin can never be known; but ignorance more frequently begets confidence than does knowledge; it is those who know little, and not those who know much, who so positively assert that this or that problem will never be solved by science. (Charles Darwin, The Descent of Man)

 

Back to Future with (g)vi(m)

October 24, 2015

In the 90s I was pretty happy if you sat me down with a C compiler and vi. Any programmer, at least if exposed to a Unix variant of some kind, will know about the sometimes quirky but very powerful editor, vi. At UTAS as a computer systems officer (“jack of all trades, master of none”: coding, soldering, networking, software/hardware installation), I taught vi and other Unix-related topics to academics in short courses; later, as a junior academic, I continued to use it whenever on a Unix system. It may sound a bit sad, but one of the happiest 2 weeks of employment was spent in a portable office (terrapin style) with a DEC VT220 terminal, SunOS (or it may have been Solaris by then) Unix, a C compiler and vi, with which I was tasked to write the core of a student enrolment system at UTAS, still in use for several years after I left.

I also occasionally used emacs and, on pre-OS X Macs, whatever editor the IDE (integrated development environments, although I suspect they weren’t called that at the time) provided, for example: THINK C.

On the Amiga I used an editor that came with AmigaDOS (ED or EDIT was, I think, the name), MicroEMACS, and at least one port of vi. These, especially the fairly minimalist MicroEMACS, were perfectly fine for developing my ACE Amiga BASIC compiler.

I’ve also had a go at writing a simple editor or two, including one for a PICK mainframe email system I developed as an undergraduate project.

Upon finding the need to leave UTAS (due to university funding cuts around 1996) I was offered work with a Tasmanian Internet Service Provider (ISP) as a programmer and sysadmin, when things were just getting started in that area. Being paid to code in C and learning Perl kept me happy for while, although I knew at the start that I’d want something more than to work for an ISP but it was a great opportunity. Best of all I was able to provide employment for one of my former UTAS students there after I left, giving him a start in the game. There, as always, was vi, this time on FreeBSD and BSDi Unix systems.

When I started working for Motorola (and later Freescale Semiconductor) in 1997, I found a fairly even split between use of vi and emacs there (under Solaris), along with a high degree of religious adherence to one or the other, the kind of zeal that still accompanies the adherents of particular programming languages. I’ve always had a fascination for the LISP programming language, so emacs with its in-built LISP interpreter won points on that front, along with specific modes of use in the Motorola/Freescale environment.

These days I’m a bit of a generalist when it comes to both editors and programming languages (C, C++, Java, Python, R etc), although I have my favourites and those less favoured. That’s the subject of another post, I think.

On any given day, I could find myself using vi, emacs, Eclipse, Visual Studio, PyCharm and various other IDEs. On Unix (okay, Linux systems now) or cygwin I have for many years tended to use vi (okay, vim, its now dominant incarnation) for quick editing when I want an editor now and emacs for more complex editing. Despite the power of modern IDEs, they are, like modern operating systems, often slow resource hogs, and tend to leave me a bit cold. At least some of these have emacs and vi modes for their editors. There are other newcomer editors under Windows and Unix that while fine, don’t compel me to want to use them. To be fair to IDEs though, if you need non-trivial source-level debug, they’re hard to beat. Having said that, I’ll still break out a command-line debugger when it’s appropriate.

Now, as a software engineer with CSIRO, especially in Linux high performance compute (HPC) cluster environments coding in C++, I find myself using vi or in particular gvim (“graphical vi improved”) in that context more and more again. Once more I’m really loving its power and simplicity, including tags for source code navigation, split windows, and all the keyboard shortcut goodness that have always made vi fast and productive to work with. Also better from a resource usage point of view on a HPC system.

Maybe this is partly motivated by a nostalgic streak, but mostly arises from a pragmatic approach.

Anyway, sometimes improving on the past is not so easy or at best only incremental.

Double rainbow

August 31, 2015

My wife Karen was in the front yard early this morning and called out to come have at look at this nicely defined (and double) rainbow:


  
As she remarked, the spectrum of colours was really obvious in parts.

Nice start to the day, followed by a quick ride and dash to the bus.

Primitive cultures

April 29, 2015

In Star Trek: The Voyage Home, Captain Kirk amusingly refers to late 20th century America as a primitive and paranoid culture. The same could be said for many countries then and now, some more than others of course, especially in recent times.

Like many (but not all, that’s for sure) in Australia, I’m saddened and disturbed by today’s executions. In comments about the event I’ve seen people conflate two distinct issues:

  1. The Law
  2. Morality

The (flawed) legal machine that eventually led to the firing squad has nothing to say about morality. There’s no ethical content to be found in The Law. Ethics must come first to inform The Law.

In my view, the death penalty is the sign of a primitive culture or at least some aspects of that culture.

Back in the Star Trek universe, a rare culture might be thought ready to join the club (Federation), but many are thought to be too primitive in one sense or another at a particular point in time.

At the moment, I think of the country in question as being like one of those primitive cultures: not yet ready to join the club due to an inability to see the moral harm of the death penalty and an unwillingness to engage in rational conversation about it. I’m sure there are many individuals in that country who do see the problem which is why it’s important to distinguish a country’s citizens from those who purport to run it.

If we didn’t worship the almighty dollar so much and had the strength of our convictions, we might consider imposing economic sanctions, declaring the country unfit to join the club suggesting: “perhaps one day when you have grown up and apologised for your barbarism, we will consider trading with you again”.

Of course, sanctions are not without harmful effects, at least on ordinary people.

There’s no simple response, but there must be one, and it must be clear.

BASIC’s 50th, early micros, and ACE BASIC for the Amiga

May 4, 2014

I enjoyed reminiscing about BASIC when it recently turned 50, on May 1 2014. I learned more about the events surrounding the creation of Dartmouth BASIC from the Dartmouth web pages and especially from interview videos with co-inventors John Kemeny and Thomas Kurtz. Given my development of ACE BASIC for the Amiga in the mid-90s, the BASIC programming language has a special place in my heart. More about ACE shortly. My first experience with BASIC and programming in general was in 1977, in my second year of high school (Norwood High). Our class marked up a deck of cards (in pencil) with a BASIC program and submitted them to Angle Park Computing Centre. A week or two later I remember receiving a printout of a partial run, showing an ASCII plot of some function (a deceleration curve I think) tantalisingly cut short by an error, the details of which I don’t recall.

At the time I thought that was an interesting experience but set it aside. As I described here, in 1978, the school bought a PDP-11 and installed it in an air-conditioned room complete with a card reader, printer, and terminals. I remember seeing the machine for the first time, gawking in wonder through the glass window in the door to the room. 11_20_console_hirespdp11-software2-r   For the first 6 months most students were only allowed to create card decks rather than using a terminal. At least the turnaround time was less than for Angle Park: you could get your program run’s print-out, correct errors in your card deck and submit it again via the card reader’s hopper.

Apart from a small amount of class-time exposure to the machine, I became a “computer monitor”, assigned on a roster to be there while others used the computer, given a modicum of responsibility for looking after the machine (e.g. card reader or printer problems, booting) but I didn’t learn too much more about the PDP-11 that way.

What really hooked me, was eventually being allowed to use the terminals (pictured at right) and the interactive BASIC programming that entailed. There was plenty of competition for terminal time! One of the first interactive programs I wrote was a simple guess-the-number game in which the user was told whether a guess was less or greater than the number the machine was “thinking” of. It seems trivial now but that experience of interacting with an “artificial intelligence” (as it seemed to me at the time) was intoxicating and this has stayed with me. Some fellow students started playing around with machine language on the PDP-11; that was a little beyond me at the time but an understanding of that level would become important for me later.

In the late ’70s, Tandy had a computer store in Gawler Place, Adelaide. I used to catch a bus into town on Friday nights, pull up a chair at a TRS-80 Model 1 on display and sit there for an hour or two typing in BASIC source code for games from a book; the sales people didn’t seem to mind too much. 🙂

When I’d finished year 12 of high school, had started working as a nurse in 1981, and was earning money, I bought a CASIO FX-702P, essentially a calculator with an interface for a cassette recorder (for programs and data and printer that was programmable in BASIC. frontcvr220px-CW-E-frontWithin a year or so, I had a Sinclair ZX-81 connected to my parents’ old HMV black and white TV in the country (where I visited most weekends): a big screen indeed! This odd little machine fired my imagination via its space-age programming manual cover. Adding the 16K RAM expansion pack (shown below at rear) allowed much larger programs to be written compared to the unexpanded 1K machine. ZX81 Programming in BASIC while listening to music like Kraftwerk’s Computer World, with simplistic, German-accented lyrics like these:

I program my home computer. Beam myself into the future.

it somehow seemed that the future was coming fast and that it was going to be overwhelmingly positive. This was a time of innocent joy when nothing was standardised (hardware or operating systems), the term micro-computer was more likely to be used than personal computer, the sterile DOS-based IBM PC “business computer” was barely beginning to emerge and the Macintosh was not yet in sight.

The pages of magazines like Australian Personal Computer and Compute! were filled with BASIC program listings for specific machines just crying out to be adapted to other BASIC dialects. Reading books such as Christopher Evans’ The Mighty Micro (1979) filled me with optimism for the future. Reading Isaac Asimov’s I, Robot and the like fired my imagination, as did TV shows like Dr Who and Blake’s 7. To be honest, all of this was also somewhat of a welcome escape from the daily realities of being a young nurse.

My next machine was a Commodore PET (CBM 4016). Built like a Sherman tank, I added a 5.25″ floppy disk drive (that had cooling problems!) and a dot matrix printer via the PET’s IEEE interface. I happily spent many weekends creating games in BASIC on this computer. I also wrote a version of Eliza-the-psychotherapist that kindled an interest in artificial intelligence and language processing. Occasionally entering the PET’s machine language monitor programming got me thinking more about low-level concepts (processor registers etc). Reading a book called Programming the 6502 by Rodnay Zaks (1981) helped further my understanding. OLYMPUS DIGITAL CAMERA That PET was followed by a VIC-20 and C-64 into the mid-80s both of which I (of course) programmed in BASIC and a bit of hand-assembled 6502/6510 machine code POKEd into obscure areas of memory (such as the cassette buffer, not in use when a 5.25″ floppy disk drive was the secondary storage device). I started to gain some exposure to databases (SuperBase 64), word processors and other programming languages like Pascal. Interfacing with relay boards and sensors was also something I enjoyed using BASIC for with these machines, achieved by POKEing values into and PEEKing values from I/O memory locations. vic20C64_startup_animiert In 1987, after a couple of years going off in various directions, I moved from Adelaide to Tasmania to work as a nurse (in ICU, Recovery etc) where I met my future wife, Karen. I didn’t have any computer with me there because I initially thought I’d only stay for a year or so but ended up staying for a decade. My first computer purchase in Tasmania was an Acorn Electron, little brother to the BBC Micro and programmable in a BBC dialect of BASIC. I also learned a bit of LISP (from a cassette-loaded interpreter) using the Electron. Acorn_Electron_4x3 Commodore_Amiga_500Plus20110501_uae4all_(30-09-2011)_(amiga_500_emu_for_pandora)

By far the most important computer purchase ever for me was a Commodore Amiga 500. I learned so much from that machine, initially programming it in AmigaBASIC and smatterings of machine code, then in C and a handful of other languages. The Amiga’s pre-emptive multi-tasking operating system and state of the art graphics and sound capabilities were fantastic. It was also to this machine that I connected my first hard disk drive. I wrote simple astronomy programs, a simple drawing program for Karen, and created an alarm and security system with infra-red sensors, keypad, strobe light etc. It even woke me (or more likely Karen so she could come to my aid) up if I went for a sleep walk. 🙂 I also used the Amiga and C64 for the pre-Internet Viatel (Australia’s Teletex system), bulletin boards, and Compuserve.

I took a statistics course at UniTas (Launceston) for fun in 1987 and a year or so later had started an Applied Computing degree there. I took a double major in computer science and philosophy. This ultimately lead me away from a career in nursing and onto a software engineering career (after stints as a computer systems officer and a junior academic post-graduation). One of the subjects I took as an undergraduate was “Advanced Programming” in which we wrote a compiler for a subset of Pascal into p-codes (similar to UCSD p-codes and not unlike Java VM bytecodes) rather than assembly or machine code for the native machine (Intel). One outcome is that I became increasingly interested in programming language translation and programming paradigms (especially object oriented, functional, logic and concurrent). Another outcome is that I resolved to take that knowledge and write a compiler for the Amiga for a language that I myself would want to use, not just as an academic exercise.

In October 1991, I started development of ACE BASIC for the Commodore Amiga computer. It was released to testers in March 1992 and made available for public consumption in February 1993. Like the original Dartmouth BASIC, ACE was compiled, unlike many implementations that have been interpreters. ACE was a compiler for the interpreted Microsoft AmigaBASIC that shipped with the Amiga.

This article written for the online Amiga Addicts journal gives some idea of the history and motivations for ACE and here is an interview I gave in 1997 about ACE. Although the instruction set of the Amiga’s 68000 processor was not quite as orthogonal as the PDP-11’s, it was still really nice. ACE compiled BASIC source into peephole optimised 68000 assembly code.

KL_Thomson_TS68000

 

This was assembled to machine code by Charlie Gibbs’ A68K assembler and linked against library code with the Software Distillery’s Blink linker (later I also used PhxAsm and PhxLnk). I wrote 75% of ACE’s runtime libraries in 68000AssemblyLanguageProgramming_2ndEdition68000, later waking up to the idea that C would have been a more productive choice. One upside is that I became quite comfortable working with assembly language. I’ve made use of that comfort in recent years when working with hardware simulator testing (ARM, PowerPC etc) and micro-controller compilers.

A wonderful community of enthusiastic users built up around ACE. I wrote an integrated development environment, and a community member wrote one too (Herbert Breuer’s ACE IDE is shown below).

Another member wrote a “super-optimiser” that rewrote parts of ACE’s generated assembly code to be even faster than I managed with my simple optimisations.

aide HB

ACE was guilty of a criticism by the Dartmouth BASIC co-inventors (John Kemeny and Tom Kurtz) kemeny_and_kurtz_250pxlevelled at many BASICs since their first: of being machine-specific. But then that was the intent for ACE: to make programming the Amiga more approachable to more people, combining the simple abstractions of BASIC with the unique features of the Amiga and the run-time efficiency of a compiled language like C.

Given the Amiga’s demise, around 1996 I moved onto other platforms. I wrote a LISP interpreter for the Newton PDA (also doomed; I can pick ’em!) between 1998 and 2000. That was fun and had a nice small community associated with it, but it didn’t match ACE and its community.

I eventually came to possess PCs, programming them with a smattering of GW-BASIC, quite a lot of Turbo Pascal, some Microsoft Quick C, a little assembly, and Visual BASIC.

When Java appeared in 1996 I greeted it with enthusiasm and have been an advocate of it and the Java Virtual Machine, as a professional and spare-time software developer, on and off ever since. These days I’m more likely to code in Java, C/C++, Python (where once I would have used Perl) or perhaps R rather than a BASIC dialect, none of which denigrates BASIC.

The fact is that BASIC made early microcomputers accessible such that many of us interacted with them in ways more directly than is possible with modern computers (PCs and Macs), despite all their advantages and power. Arguably, we expected less from the machines yet engaged in highly creative relationships with them. Anyone who has spent much time programming will recognise the allure. The interactive nature of these early BASIC machines only added to this.

I agree with the famous Dutch computer scientist Edsger Dijkstra when he says that:

Computing Science is no more about computers than astronomy is about telescopes.

dijkstra

I also sympathise with his declaration that the BASIC statement GOTO could be considered harmful, due to the “spaghetti code” it leads to. But I don’t really agree with his assessment that:

It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.

I heard the same propaganda from a University lecturer. Apparently some us of were able to be “rehabilitated”.  Then again, along with his comments about BASIC, Dijkstra made some unkind comments about other programming languages, including COBOL, Fortran, and APL, for example:

The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense.

With apologies to Grace Murray Hopper, I have more sympathy with this last one. 🙂

archives_hopper

The truth is that all programming languages are crude approximations of the Platonic ideal of bringing together two minds: one artificial, one natural. There are no programming languages about which I can say: there are no improvements possible here, and there are very few languages that make communion with the machine a beautiful experience. All are to be reviled and admired for different qualities. But BASIC, in all its dialects, with all its flaws, and with the benefit of 20/20 hindsight and large gobs of nostalgia, was mostly to be admired and was directly responsible for many of us falling in love with the idea and activity of programming.

programming_languages_tower_of_babel_poster-red3cfd7db90b4be9ab4a803dee3a65b3_wxb_8byvr_512

Viva la BASIC! Happy 50th anniversary!

Shifting gears

July 13, 2013

I have two fond memories concerning my mother and shifting (car) gears.

As a teenager in the passenger seat of my family’s manual Toyota Corolla, if my Mum was driving she would often let me change gears, especially if we were driving down a long road. She would put her foot on the clutch pedal and I would change gears. At the time I thought it was just a bit of fun. Upon reflection as an adult, it has occurred to me that this required a certain amount of trust on her part. That says something important about her.

The second memory involved something we both found pretty funny at the time. I bought a Commodore 4016 (PET) computer in the early 80s. At that time I was about 18 and lived in Adelaide where I was training as a General Nurse going “home” to Mallala (a small farming town less than an hour north of Adelaide) most weekends to spend time with my parents and others in the town. Mum and Dad had moved there when I finished high school. Dad was a Uniting Church minister in Mallala and I usually went to church with them as well (I was still a Christian at the time). So anyway, I bought this Commodore PET in the city, took it to the train station, booked it into freight and sat with it in the freight carriage all the way to Mallala. As an aside, two things are interesting about that:

  1. They let me sit in the freight carriage with my boxed up Commodore PET! Imagine that being allowed today.
  2. The passenger+freight train from Adelaide to Mallala no longer runs and has not for many years. I loved that train. It was called the Bluebird.

At that time Mum had a small Mini as a second car and she met me at the Mallala train station in that car. The PET was built like a Sherman Tank and was in a large box that just fit through the passenger side front (and only) door. The only problem was that we couldn’t get it over onto the back seat so it had to occupy the space between us. The long gear shift stick was unable to be moved with the box in place, so we travelled home in first gear! Luckily it was only a few minutes drive.

That amusing ride home is associated in my mind with the fact that I learned so much from the PET and had fun writing extended-ASCII based games with lots of BASIC PEEK and POKE commands.

Alan Turing: a household name?

November 25, 2012

A hundred years have elapsed since the birth of the mathematician, codebreaker, and father of computer science, Alan Turing.

Due to space restrictions, a drastically shorter version of  what follows appeared on page 16 of the November/December ACS Information Age magazine.

In response to an online petition in the lead-up to the centenary of Alan Turing’s birth, the British PM, Gordon Brown, said in 2009: “Turing was dealt with under the laws of the time, and we can’t put the clock back, his treatment was utterly unfair. On behalf of the British government and all those who live freely thanks to Alan’s work, I am very proud to say: we’re sorry. You deserved so much better.” [1] This statement concerned the appalling treatment Turing received for “gross indecency”, the charge made against him as a homosexual person living in the UK in the mid-20th century. His choices were chemical castration and jail. He chose the former, which affected his concentration and self-esteem, undoubtedly contributing to his apparent suicide via a cyanide-dipped apple in 1954.

It would be an understatement to say that Turing achieved much in his 42 years. He contributed to a fundamental problem in mathematics, in the process becoming the father of computer science prior to the existence of general purpose computing machines. He played a pivotal role in the Second World War as a Bletchley Park cryptanalyst for which he was awarded an OBE, wrote a seminal paper on the modeling of biological growth, worked on pioneering computer projects, and founded the field of Artificial Intelligence (AI).

For anyone in the computing field, Turing’s most important contribution was his 1936 paper “On Computable Numbers” and in particular, the abstraction he described and used to present the halting problem, now known as the Turing Machine, the conceptual essence of a general purpose computer.

Turing was keenly interested in algorithms and applications, independently arriving at the utility of the subroutine library. He wrote and optimised early library routines e.g. for long division, random number generation and investigated numerical analysis problems such as rounding errors. He wrote code relating to number theory for the Manchester computer. He also wrote a chess program that was only simulated on paper due to a lack of computer time being made available.

For those with more pragmatic inclinations, from 1945 to 1951, after his time at Bletchley Park, contemporaneous with ACS founder John Bennett’s work on CSIRAC, Turing was involved with pioneering computer projects including the design of the Automatic Computing Engine (ACE, later built as the Pilot ACE), The Manchester Baby or Small Scale Experimental Machine (SSEM), and the Ferranti Mark I, for which he wrote the Programmer’s Manual in 1951. The Pilot ACE is on display in the London Science Museum. His design frequently changed, was optimal in terms of hardware, but complex to program. Turing said: “In working on the ACE I am more interested in the possibility of producing models of the brain than in the practical applications to computing”. [2]

Early insights into the nature of AI set down in a paper entitled “Computing Machinery and Intelligence”, published in the philosophy journal Mind in 1950, led to his notion of an “Imitation Game”, the now famous “Turing Test”, a means by which to determine whether a questioner is communicating with an entity with human-level AI.

The ACM presents the Turing Award annually to someone who has contributed something that is judged to be of major and lasting importance to the computing science field. One of its recipients, Alan Perlis, in 1966 said: “On what does and will the fame of Turing rest? That he proved a theorem showing that for a general computing device—later dubbed a “Turing Machine”—there existed functions which it could not compute? I doubt it. More likely it rests on the model he invented and employed: his formal mechanism. This model has captured the imagination and mobilized the thoughts of a generation of scientists”.

Arguably, Turing is to Computing as Einstein is to Physics. In 2005, there were celebrations worldwide of Einstein’s “year of miracles”. This year there have been similar celebrations of Turing’s birth 100 years ago. [3] Einstein and E=MC2  are well known, but can the same be said of Turing and his Machine? Is he a household name along with Einstein? Many take for granted the existence of the computer, smart phones, and a myriad other computationally-enabled devices found in virtually every facet of our modern lives. We, as computing professionals, should strive to make better known the work of Turing and his contemporaries, and more generally, the broader history of our field.

I looked into the possibility of an Adelaide cinema screening of the film, CODEBREAKER, about Turing’s life (via TodPix) but received a response to say that there are no plans for a theatrical release in Australia; it was screened on SBS One in June 2012 on a 3 year contract, so perhaps it will be aired again.

Update (November 2013): CODEBREAKER is now available for sale on DVD!

References

  1. http://www.abc.net.au/radionational/programs/scienceshow/alan-turing-e28093-thinker-ahead-of-his-time/4034006
  2. Lavington, S. (ed.), 2012, “Alan Turing and his Contemporaries”, BCS
  3. http://amturing.acm.org/acm_tcc_webcasts.cfm
  4. http://www.turingfilm.com
  5. http://www.turing.org.uk/turing/
  6.  “The ACM Turing Award Lectures: The First Twenty Years”, 1987, ACM Press