tag:blogger.com,1999:blog-158938242024-03-13T11:22:00.132+00:00Paul Trafford's blogA personal blog for Paul Trafford.Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.comBlogger178125tag:blogger.com,1999:blog-15893824.post-66156035494372342572022-10-07T15:55:00.004+01:002022-10-07T15:58:17.222+01:00ptworld.net renewed for the Sigala project<p>My first foray into Internet consultancy was in 1998, under the guise of PT Internet, but it was short-lived as I took up a full-time post a few months later. However, wanting to maintain some online foothold, I bought the domain ptworld.net. I naively assumed that a .net domain could denote an association with any kind of Internet services, whereas, at the time, it was intended for organisations involved in networking infrastructure or Internet Service Providers. However, after a few years, with the proliferation of top-level domains, such a specific association faded away and I eventually got round to create a website, but sadly it became quite neglected until this year ...</p><div class="separator" style="clear: both; text-align: center;"><a href="https://ptworld.net/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img alt="ptworld.net home page (part) - depicting banner image (Doha's Corniche) and introductory text and links" border="0" data-original-height="726" data-original-width="877" height="331" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLsN02eCgK6p30rO-X-TMM7CuTfoTmvBo5xCyQhntFeur-OMRSaPP1JPYhJ8ykUCYG2wyeHQomIuchzL18IheIcu3csXOduJbwHyU27auURlY8P5FScg7zibJrG0MGkC83QSgONLjtmumR0Rk-3yJVy4K7a-Dp1Jc2U8M-deUzDFe2MtijGw/w400-h331/ptworld_net-homepage_2022-10-07.png" width="400" /></a></div><br /><p>After months of preparation, I’m pleased (and relieved) to have launched <a href="https://ptworld.net/" target="_blank">a renewed website</a>, up-to-date and providing extensive coverage of what I’m about – especially in terms of <a href="https://ptworld.net/research/index.html" target="_blank">research</a> and software development, and my experience. The site’s navigation reflects the interdisciplinary nature; hyperlinks are used liberally to allow ease of movement between the more theoretical research topics concerning <a href="https://ptworld.net/research/buddhist-ethics/index.html" target="_blank">Buddhist ethics</a> to more practical perspectives such as <a href="https://ptworld.net/research/mind/cognitive-interventions/index.html" target="_blank">cognitive interventions</a> using thinking routines. Regarding <a href="https://ptworld.net/research/index.html" target="_blank">software development</a>, I try to take a historical perspective when solving problems, which I incorporate also in my <a href="https://ptworld.net/portfolio/index.html" target="_blank">portfolio</a>. Alternatively, connections on a given themes may be explored via the tags or the use of the search facility. </p><p>The banner image is a photograph I took whilst living in Doha. It depicts the Corniche, with promotional slogans in English and Arabic. The complete set (in English) is ‘Think’, ‘Realize’ and ‘Achieve’ — remember that Arabic is read from right to left. Certainly, they have already achieved a great deal for a small state and the World Cup is arriving very soon. It serves partly as a prompt to myself to persevere and keep the dream alive, as it were. I’m not so good at self-promotion, but at this juncture the website is primarily an invitation to help nurture <a href="https://ptworld.net/about/business/index.html" target="_blank">a viable business</a> to support <a href="https://ptworld.net/projects/sigala/index.html" target="_blank">Sigala</a>, a project that I have <a href="https://research.siga.la/" target="_blank">researched extensively</a>. The project needs to convincingly answer the question of why it’s a good investment. How can the trusted network be leveraged to generate income ... ?</p><p>In terms of roadmap, there remains the need for a proof of concept. Whilst I’ve established that <a href="https://paultrafford.blogspot.com/2022/02/notes-on-symfony-5-fast-track.html" target="_blank">Symfony is capable of delivering prototypes</a>, I have found that consolidating all the project strands has been quite an undertaking and have not yet progressed this. It may be better for someone else to do the coding, so with that in mind my next step will be to create mockups. </p><p>Another reason for the delay has been a detour, which led to a mini project in itself to address the problem of delivering a faster and more secure public-facing website. You may notice with the ptworld.net site, that URLs typically end in ‘index.html’, which means they are static pages, with no processing overhead from scripts or database queries to deliver the content. All being well, you should notice that translates to faster page loads in your web browser. The software responsible for delivering such pages – the result of this mini project – is <a href="https://ptworld.net/projects/software/makestaticsite/" target="_blank">MakeStaticSite</a>, a set of Bash shell scripts released under the AGPL license, invoking popular GNU tools such as <a href="https://www.gnu.org/software/wget/" target="_blank">wget</a> and <a href="https://rsync.samba.org/" target="_blank">rsync</a> to generate and deploy with various options a static site. It’s an age-old problem, but my focus has been on deploying live sites rather than creating archives, and is aimed especially at converting sites made in <a href="https://wordpress.org/" target="_blank">WordPress</a>, though it works generally with any site accessible via http. </p><p>Many developers consider WordPress retro, old or out of date, and prefer more modern approaches that are unconstrained by such a monolithic architecture and thus replete with possibilities. But whether <a href="https://snipcart.com/blog/headless-wordpress" target="_blank">making WordPress headless</a> or dispensing with WordPress altogether, it is <a href="https://snipcart.com/blog/headless-wordpress#when-to-use-headless-wordpress-or-not-" target="_blank">acknowledged that it carries with it a significant technical overhead</a> for development and maintenance. I doubt that many individuals and small organisations are concerned about the constraints of themes; they will be happy enough if there’s a nice-looking result that clearly conveys the nature of their activities and will reach the intended audience. WordPress already satisfies their needs, so for them, at least, MakeStaticSite can allow this to continue whilst providing the additional benefit of delivering a safer and faster public-facing site. </p><p>MakeStaticSite is already quite functional and I can see many possible improvements, but I need to move on as time is really limited. If only I had a good and capable team at my disposal ... </p><p><br /></p><p><br /></p><p><br /></p>Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0tag:blogger.com,1999:blog-15893824.post-65027874886139135762022-02-19T18:39:00.002+00:002022-02-23T15:03:49.713+00:00Notes on Symfony 5: The Fast Track<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://symfony.com/images/promos/book/symfony5-book-cover.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Symfony 5: The Fast Track (front cover)" border="0" data-original-height="600" data-original-width="398" height="400" src="https://symfony.com/images/promos/book/symfony5-book-cover.png" title="Symfony 5: The Fast Track" width="265" /></a></div><br />With the development phase for <a href="https://research.siga.la" target="_blank">the Sigala project</a> just starting, I’ve been looking to facilitate the swift delivery of a functional proof of concept using a mature PHP framework with many basic components provided in a well-structured way. Enter <a href="https://symfony.com/" target="_blank">Symfony</a>, which I first heard about in around 2015 whilst taking baby steps in <a href="https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller" target="_blank">MVC</a> by adopting <a href="https://twig.symfony.com/" target="_blank">Twig</a> templates with my own interpretation of models and controllers. Then, last autumn, I dipped my toes in the water with an <a href="https://www.youtube.com/watch?v=Bo0guUbL5uo" target="_blank">accessible YouTube tutorial</a> delivered by Mohammed Kaabi for <a href="https://freeCodeCamp.org">freeCodeCamp.org</a>. <p></p><p>Now, to really see what it’s capable of and to bring me up to speed, I’ve worked my way through version 5 of <a href="https://symfony.com/book" target="_blank">Symfony: The Fast Track</a>, the official Symfony book by Fabien Potencier, its founder, released under a <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank">Creative Commons </a><a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank">CC BY-NC-SA 4.0</a> <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank">license</a> through the generosity of supporters. The sentiments expressed in <a href="https://symfony.com/doc/current/the-fast-track/en/0-intro.html" target="_blank">the book’s introduction</a> fit well with my intentions,</p><p></p><blockquote><p>The book describes the creation of an application, from scratch to production. ... Best practices won't be respected all the time. But we are going to touch on almost every aspect of a modern Symfony project.</p><p>While starting to work on this book, the very first thing I did was code the final application. I was impressed with the result and the velocity I was able to sustain while adding features, with very little effort.</p></blockquote><p></p><p>That ability to add in features quickly is just what I’m looking for as I try things out, somewhat like working with a maquette. That's the theory.</p><div><div>So, in this post, I share personal notes and views from following the book in coding from start to finish a conference guestbook. I make reference to <a href=" https://symfony.com/doc/5.2/the-fast-track/en/index.html" target="_blank">version 5.2</a> which was originally released in February 2021 and the book’s latest version until ten days ago (9 February 2022) when it was updated to support the latest Symfony releases (5.4 and 6.0, as of writing). Furthermore, it looks like the book is becoming core to the project; the updates to keep it current are welcome, particularly for 5.4, which comes with <a href="https://symfony.com/releases/5.4" target="_blank">long-term support</a>. However, in my case it was too late to switch. Actually, from a quick glance, there don’t appear to be that many changes so far – there is helpfully more explanatory text, but as far as the code is concerned, it’s mainly a case of updating it to work in the latest versions.</div><div> </div><div>I’ve selected a few themes from the many that the book introduces:</div><div><br /></div><div><a href="#setup">Project setup</a> | <a href="#code">Code</a> | <a href="#workflow">Workflows</a> | <a href="#UX">User experience</a></div><div><br /></div><div>Afterwards, I offer some <a href="#evaluation">evaluation</a>.</div><div><br /></div><div>(I’ll refer to the author as ‘Fabien’, which seems to be the norm; I trust that he doesn’t mind.) </div></div><a id="setup"></a><h2 style="text-align: left;">Project Setup</h2><div>There is a lot to set up. It’s not until the <a href="https://symfony.com/doc/5.2/the-fast-track/en/8-doctrine.html#creating-entity-classes" target="_blank">creation of entity classes in chapter 8</a>, that we have some PHP coding! This may be routine for a professional full-stack developer, but for a novice or someone who is more narrowly focused on programming it may be off-putting. I’ve heard it said that if you write a book about mathematics for the general public then you can expect the readership to halve every time you introduce a new equation. I think something similar may apply in any tutorial-style work about software development for newcomers where various tools and services are required.</div><div><br /></div><div><h3 style="text-align: left;">Work Environment</h3><div>The checklist for this book (which Fabien has naturally automated with a <span style="font-family: monospace;">symfony</span> command!) presents quite a high bar. After installing a few packages and libraries, I managed to ‘tick the box’ for all the required components, though I didn’t stick with Docker, as I shall explain later. Also, I immediately diverged on a few of the recommended items. The main one was the database engine – I switched from PostgreSQL, which I last used in 2008, to MariaDB, as that (or MySQL) is what I have been habitually using for my projects. And I think of PHP and MySQL as forming a harmonious relationship ever since <a href="https://web.archive.org/web/20000815062815/http://zend.com/zend/hof/widenius.php" target="_blank">Monty Widenius collaborated with Rasmus Lerdorf</a> in the 1990s</div><div><br /></div><div><blockquote>The first time Widenius met a PHP developer was when he saw Rasmus Lerdorf speak at an open-source conference. When Lerdorf explained how persistent connections were handled, "I thought it was unnecessary to open a new connection for each user," said Widenius, so I asked him "If I added some changes to MySQL would it help?" When the answer was yes, Widenius modified MySQL and the problem was solved on both ends.</blockquote></div><div> </div><div>Even so, I realized that I was taking a risk as there are differences in SQL syntax and Postgres has some features that MySQL lacks. In the event, whilst I needed to tweak some SQL statements, I didn’t observe any lack of required functionality.</div><div><br /></div><div>For the IDE, I used <a href="https://netbeans.apache.org/" target="_blank">NetBeans</a>, which is free and well-established; I’ve used it for most of my recent projects. My main grumble is that the IDE is unusable when it carries out the initial background scanning of projects that include many third-party libraries (as is the case here), but the benefit is that it subsequently knows where they all are and how to access them. Some configuration is needed to deal with other performance issues – such as adding these libraries, together with <span style="font-family: monospace; font-size: medium;">var/</span> folder to the search exemptions. Once dealt with, I found NetBeans worked well, but I’m aware that some other IDEs, including <a href="https://code.visualstudio.com/" target="_blank">Visual Studio Code</a>, offer more fluent working with PHP.</div><div><br /></div><div><div>I did not try <a href="https://symfony.com/cloud/" target="_blank">Symfony Cloud</a> – whilst its promotion is understandable, as an individual learner I'm not much motivated to use it, especially as the free trial period is only 7 days. However, for a company employee, it may well be appropriate. Fortunately, its omission doesn’t obstruct the book’s flow. Among the <a href="https://symfony.com/doc/current/deployment.html" target="_blank">other deployment options</a>, <a href="https://deployer.org/" target="_blank">Deployer</a> appeals to me more, but again, not necessary at this stage.</div><div><br /></div><h3 style="text-align: left;">Docker and MariaDB</h3><div><div>My only prior experience of <a href="https://www.docker.com/" target="_blank">Docker</a> was to evaluate some machine vision software by Oxford University’s <a href="https://www.robots.ox.ac.uk/~vgg/" target="_blank">Visual Geometry group</a>, which used it as a distribution mechanism. Their software required a number of specialist components, which would be quite an effort to install one by one. However, in this instance, to use Docker, essentially a Linux VM for a single database instance with hardly any data, seemed overkill; I guess my view is that it's 'horses for courses.'</div><div><br /></div><div>Despite my reservations, I went along with Docker and set up an instance of MariaDB. Fortunately, Docker Compose is obliging:</div></div><div><br /></div><div><span style="background-color: #f0f0f0; color: #444444; font-family: monospace; white-space: pre;"><span style="font-size: medium;">$ ./bin/console make:docker:database</span></span></div><div><br /></div></div></div><div>This asks which database engine to use, including MariaDB, and then creates the <span style="font-family: monospace; font-size: medium;">docker-compose.yaml</span> file accordingly.</div><div><br /></div><div><div>For Postgres, there is a nice command where environment variables are picked up, so there’s no need to remember credentials or port number, but for MySQL or MariaDB support is <a href="https://github.com/symfony/cli/issues/422" target="_blank">yet to be added</a>, So, I set up manually by modifying <span style="font-family: monospace; font-size: medium;">doctrine-compose.yaml</span>:</div></div><div><br /></div><div><div><br /></div><div><span style="background-color: white; font-size: medium;"><span style="color: #444444; font-family: monospace; white-space: pre;">version: </span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'3.7'</span><span style="color: #444444; font-family: monospace; white-space: pre;">
services:
database:
image: </span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'mariadb:latest'</span><span style="color: #444444; font-family: monospace; white-space: pre;">
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: main
ports:
</span><span style="color: #444444; font-family: monospace; white-space: pre;"> - </span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'3306:53074'</span></span></div><div><br /></div><div><br /></div></div><div>With port forwarding established, I could duly administer the database from my machine as though it were local. I then configured <a href="https://www.phpmyadmin.net/" target="_blank">phpMyAdmin</a> to allow Web admin, by adding a few lines to <span style="font-family: monospace; font-size: medium;">config.inc.php</span>:</div><div><br /></div><div><span style="background-color: white; font-size: medium;"><span class="hljs-comment" style="color: #888888; font-family: monospace; white-space: pre;">/**
* Second server
*/</span><span style="color: #444444; font-family: monospace; white-space: pre;">
</span><span class="hljs-variable" style="color: #bc6060; font-family: monospace; white-space: pre;">$i</span><span style="color: #444444; font-family: monospace; white-space: pre;">++;
</span><span class="hljs-comment" style="color: #888888; font-family: monospace; white-space: pre;">/* Authentication type */</span><span style="color: #444444; font-family: monospace; white-space: pre;">
</span><span class="hljs-variable" style="color: #bc6060; font-family: monospace; white-space: pre;">$cfg</span><span style="color: #444444; font-family: monospace; white-space: pre;">[</span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'Servers'</span><span style="color: #444444; font-family: monospace; white-space: pre;">][</span><span class="hljs-variable" style="color: #bc6060; font-family: monospace; white-space: pre;">$i</span><span style="color: #444444; font-family: monospace; white-space: pre;">][</span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'auth_type'</span><span style="color: #444444; font-family: monospace; white-space: pre;">] = </span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'cookie'</span><span style="color: #444444; font-family: monospace; white-space: pre;">;
</span><span class="hljs-comment" style="color: #888888; font-family: monospace; white-space: pre;">/* Server parameters */</span><span style="color: #444444; font-family: monospace; white-space: pre;">
</span><span class="hljs-variable" style="color: #bc6060; font-family: monospace; white-space: pre;">$cfg</span><span style="color: #444444; font-family: monospace; white-space: pre;">[</span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'Servers'</span><span style="color: #444444; font-family: monospace; white-space: pre;">][</span><span class="hljs-variable" style="color: #bc6060; font-family: monospace; white-space: pre;">$i</span><span style="color: #444444; font-family: monospace; white-space: pre;">][</span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'host'</span><span style="color: #444444; font-family: monospace; white-space: pre;">] = </span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'127.0.0.1'</span><span style="color: #444444; font-family: monospace; white-space: pre;">;
</span><span class="hljs-variable" style="color: #bc6060; font-family: monospace; white-space: pre;">$cfg</span><span style="color: #444444; font-family: monospace; white-space: pre;">[</span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'Servers'</span><span style="color: #444444; font-family: monospace; white-space: pre;">][</span><span class="hljs-variable" style="color: #bc6060; font-family: monospace; white-space: pre;">$i</span><span style="color: #444444; font-family: monospace; white-space: pre;">][</span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'port'</span><span style="color: #444444; font-family: monospace; white-space: pre;">] = </span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'53074'</span><span style="color: #444444; font-family: monospace; white-space: pre;">;
</span><span class="hljs-variable" style="color: #bc6060; font-family: monospace; white-space: pre;">$cfg</span><span style="color: #444444; font-family: monospace; white-space: pre;">[</span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'Servers'</span><span style="color: #444444; font-family: monospace; white-space: pre;">][</span><span class="hljs-variable" style="color: #bc6060; font-family: monospace; white-space: pre;">$i</span><span style="color: #444444; font-family: monospace; white-space: pre;">][</span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'compress'</span><span style="color: #444444; font-family: monospace; white-space: pre;">] = </span><span class="hljs-literal" style="color: #78a960; font-family: monospace; white-space: pre;">false</span><span style="color: #444444; font-family: monospace; white-space: pre;">;
</span><span class="hljs-variable" style="color: #bc6060; font-family: monospace; white-space: pre;">$cfg</span><span style="color: #444444; font-family: monospace; white-space: pre;">[</span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'Servers'</span><span style="color: #444444; font-family: monospace; white-space: pre;">][</span><span class="hljs-variable" style="color: #bc6060; font-family: monospace; white-space: pre;">$i</span><span style="color: #444444; font-family: monospace; white-space: pre;">][</span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'AllowNoPassword'</span><span style="color: #444444; font-family: monospace; white-space: pre;">] = </span><span class="hljs-literal" style="color: #78a960; font-family: monospace; white-space: pre;">false</span><span style="color: #444444; font-family: monospace; white-space: pre;">;</span></span></div><div><br /></div><div>The port, which is randomized, needs to be set each time Docker is restarted. </div><div><br /></div><div><h3 style="text-align: left;">Abandonment of Docker</h3><div>Whilst on Chapter 14, I was no longer able to connect to the database instance on the Docker Container because the port forwarding changed and seemed to only allow internal access. After trying a few things, I gave up trying to fix the problem, launched a CLI terminal from the Docker Dashboard and dumped the database to a file, </div></div><div><br /></div><div><span style="background-color: #f0f0f0; font-family: monospace; white-space: pre;"><span style="color: #444444; font-size: medium;"># mysql -u root -p -h 127.0.0.1 main > /tmp/main.sql</span></span></div><div><br /></div><div>I then copied the file from the container (guestbook_database_1) onto the local filesystem:</div><div><br /></div><div><span style="background-color: #f0f0f0; color: #444444; font-family: monospace; font-size: medium; white-space: pre;">$ docker cp guestbook_database_1:/tmp/main.sql .</span></div><div><br /></div><div>Then, I set up a fresh database locally and imported the dump. Now that Docker files wouldn’t be used, I edited <span style="font-family: courier;">env.local</span> to include (on one line):</div><div><br /></div><div><span style="font-size: medium;"><span style="background-color: #f0f0f0; color: #444444; font-family: monospace; white-space: pre;">DATABASE_URL=</span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">"mysql://fasttrack:password@127.0.0.1:3306/
guestbook?serverVersion=10.6.4-MariaDB - Homebrew"</span></span></div><div> </div><div>From that point on, I happily continued with the local MariaDB instance.</div><div><br /></div><div><h3 style="text-align: left;">SQL Tweaks</h3><div>With much of the SQL being created through the Symfony <a href="https://symfony.com/bundles/SymfonyMakerBundle/current/index.html" target="_blank">MakerBundle</a>, I didn’t have to make many changes to the SQL. However, there were usually tweaks to be made wherever Fabien had manually modified [Postgres] SQL after running <span style="font-family: monospace; font-size: medium;">make:migration</span>. </div><div><br /></div><h4 style="text-align: left;">13.2: <a href="https://symfony.com/doc/5.2/the-fast-track/en/13-lifecycle.html#adding-slugs-to-conferences" target="_blank">Adding Slugs to Conferences</a></h4><div>Manual changes to deal with the issue of existing entries getting a null value.</div></div><div><br /></div><div><span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> $this->addSql(</span><span class="phpstringcolor" style="background-color: white; box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;">'ALTER TABLE conference ADD slug VARCHAR(255)'</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">);</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> $this->addSql(</span><span class="phpstringcolor" style="background-color: white; box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;">"UPDATE conference SET slug=CONCAT(LOWER(city), '-', year)"</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">);</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: #d9ead3;"><span style="font-family: Consolas, Menlo, monospace;"> $this->addSql(</span><span class="phpstringcolor" style="box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;">'ALTER TABLE conference MODIFY slug VARCHAR(255) NOT NULL'</span><span style="font-family: Consolas, Menlo, monospace;">);</span></span></span></div><div><br /></div><h4 style="text-align: left;">15.3 <a href="https://symfony.com/doc/5.2/the-fast-track/en/15-security.html#creating-an-admin" target="_blank">Creating an Admin</a></h4><div>Rather than run a fairly long query at the command line, I used phpMyAdmin. Log in and select the guestbook database and then the admin table. Select the [SQL] tab along the top and then [INSERT] tab under the text area window. It automatically generates a sample that includes id, but since it is auto-incrementing, we don’t need to define it. Thus, we can remove that field and copy & paste in our encoded password that was generated from the command line, something like:</div><div><br /></div><div><span style="background-color: #eeeeee;"><span style="font-size: medium;"><span style="color: #444444; font-family: monospace; white-space: pre;">INSERT INTO `admin`(`username`, `roles`, `password`)
VALUES (</span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'admin'</span><span style="color: #444444; font-family: monospace; white-space: pre;">,</span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'["ROLE_ADMIN"]'</span><span style="color: #444444; font-family: monospace; white-space: pre;">,</span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">'$argon2id$v=19$m=65536,t=4,p=<<i>hash</i>>'</span><span style="color: #444444; font-family: monospace; white-space: pre;">)</span></span></span><span style="background-color: #f0f0f0; color: #444444; font-family: monospace; white-space: pre;">
</span></div><div><br /></div><h4 style="text-align: left;">18.1 <a href="https://symfony.com/doc/5.2/the-fast-track/en/18-async.html#flagging-comments" target="_blank">Flagging Comments</a> </h4><div>This section introduces a state for comments: submitted, spam, and published and adds the state property to the Comment class. For MySQL, the SQL for setting all comments to have the default published:</div><div><br /></div><div><span style="background-color: #d9ead3; font-size: medium;"><span style="color: #444444; font-family: monospace; white-space: pre;">+ </span><span class="hljs-keyword" style="color: #444444; font-family: monospace; font-weight: 700; white-space: pre;">$this</span><span style="color: #444444; font-family: monospace; white-space: pre;">->addSql(ALTER TABLE comment MODIFY state VARCHAR(</span><span class="hljs-number" style="color: #880000; font-family: monospace; white-space: pre;">255</span><span style="color: #444444; font-family: monospace; white-space: pre;">) NOT </span><span class="hljs-literal" style="font-family: monospace; white-space: pre;"><span style="color: #38761d;">NULL</span></span><span style="color: #444444; font-family: monospace; white-space: pre;"> </span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">');</span></span></div><div><br /></div><h4 style="text-align: left;">18.5 <a href="https://symfony.com/doc/5.2/the-fast-track/en/18-async.html#going-async-for-real" target="_blank">Going Async for Real</a> </h4><div>This is just an observation, no SQL code changes. Fabien remarks: “Behind the scenes, Symfony uses the PostgreSQL builtin, performant, scalable, and transactional pub/sub system (LISTEN/NOTIFY).” That sounds like a sales pitch, perhaps USP, for PostgreSQL; a quick lookup seems to show that MariaDB doesn’t have an equivalent to LISTEN/NOTIFY. I don’t really know the significance. All I can say is that I didn’t notice any issues in database transactions (messages seemed to get passed between application and database as expected).</div><div><br /></div><a id="code"></a><h2 style="text-align: left;">Code</h2><div>I’m not well-qualified to judge here (I’ve never done code reviews for others), but Fabien's code seems polished, concise and precise. Apart from the book’s narrative, it’s generally uncommented. So, as a relative newcomer to Symfony, I found myself having to look up various sources for elucidation. Fortunately, the <a href="https://symfony.com/doc/current/index.html" target="_blank">documentation</a> provides excellent coverage and the video tutorials provide very helpful explanation.</div><div><br /></div><div>I encountered some issues as I went along, some of which were probably due to my not following instructions correctly, but I’ll mention the main ones I had in case others encounter the same problems.</div><div><br /></div><h3 style="text-align: left;">Dependency Issues</h3><div>I had a few of these along the way, both in <span style="font-family: monospace; font-size: medium;">composer</span> and <span style="font-family: monospace; font-size: medium;">yarn</span>. The first arose when installing the profiler:</div><div><br /></div><div><span style="font-size: medium;"><span style="background-color: #f0f0f0; color: #444444; font-family: monospace; white-space: pre;">$ symfony composer req profiler --dev
Warning </span><span class="hljs-keyword" style="color: #444444; font-family: monospace; font-weight: 700; white-space: pre;">from</span><span style="background-color: #f0f0f0; color: #444444; font-family: monospace; white-space: pre;"> https:</span><span class="hljs-comment" style="color: #888888; font-family: monospace; white-space: pre;">//flex.symfony.com/versions.json: You are using an
outdated version of Flex, please run:
composer update symfony/flex</span><span style="background-color: #f0f0f0; color: #444444; font-family: monospace; white-space: pre;">
Using version ^</span><span class="hljs-number" style="color: #880000; font-family: monospace; white-space: pre;">1.0</span><span style="background-color: #f0f0f0; color: #444444; font-family: monospace; white-space: pre;"> </span><span class="hljs-keyword" style="color: #444444; font-family: monospace; font-weight: 700; white-space: pre;">for</span><span style="background-color: #f0f0f0; color: #444444; font-family: monospace; white-space: pre;"> symfony/profiler-pack</span></span></div><div><br /></div><div>To solve this, I ended up modifying <span style="font-family: courier;">composer.json</span>, replacing “5.2.*” with:</div><div><br /></div><div><span style="background-color: white; font-size: medium;"><span style="color: #444444; font-family: monospace; white-space: pre;"> </span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">"require-dev"</span><span style="color: #444444; font-family: monospace; white-space: pre;">: {
</span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">"symfony/stopwatch"</span><span style="color: #444444; font-family: monospace; white-space: pre;">: </span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">">=5.2"</span><span style="color: #444444; font-family: monospace; white-space: pre;">,
</span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">"symfony/web-profiler-bundle"</span><span style="color: #444444; font-family: monospace; white-space: pre;">: </span><span class="hljs-string" style="color: #880000; font-family: monospace; white-space: pre;">"5.2.*"</span><span style="color: #444444; font-family: monospace; white-space: pre;">
},</span></span></div><div><br /></div><div>(I should have compared by checking out from the official repo.)</div><div><br /></div><div>However, I wasn’t clear about what I was doing. So, it would be helpful to have some guidance on how to deal with these issues – I’m sure that with experience they are resolved much more easily.</div><div><br /></div><h3 style="text-align: left;">Not null constraint on Creating Comments</h3><div>In Chapter 9, just before the section ‘<a href="https://symfony.com/doc/current/the-fast-track/en/9-backend.html#customizing-easyadmin" target="_blank">Customizing EasyAdmin</a>’, the text invites the reader to add some comments. But it’s not yet possible because there’s no reference to conferences in the user interface. When trying to submit a comment by hitting the [Create] button we get an error: </div><div><br /></div><div><span style="font-family: monospace; font-size: medium;">An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'conference_id' cannot be null.</span></div><div><br /></div><div>From the profiler ‘Logs’ tab, we can see that Doctrine tried to insert a null value into this field, but a not null condition is specified in the <span style="font-family: monospace;">Comment</span> entity:</div><div><br /></div><div><span style="font-size: x-small;"><span class="commentcolor" style="background-color: white; box-sizing: inherit; color: green; font-family: Consolas, Menlo, monospace;">/**<br style="box-sizing: inherit;" /> * @ORM\ManyToOne(targetEntity=Conference::class, inversedBy="comments")<br style="box-sizing: inherit;" /> * @ORM\JoinColumn(nullable=false)<br style="box-sizing: inherit;" /> */</span><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">private</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> $conference;</span></span></div><div><br /></div><div>This condition was originally set when we ran make:entity for the conference field.</div><div><br /></div><div>To take account of the Conference, we need some mechanism to link the comment with the relevant conference and that should be made by the person writing the comment. The <span style="font-family: monospace; font-size: medium;">configureFields()</span> method in <span style="font-family: monospace; font-size: medium;">CommentCrudController.php</span> is amenable and EasyAdmin can list the conferences in a drop-down. The following solution prepends the conference column to the <span style="font-family: monospace; font-size: medium;">configureFields()</span> method:</div><div><br /></div><div><span style="background-color: white; font-family: Consolas, Menlo, monospace;">$fields = parent::configureFields($pageName);</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> array_unshift($fields, AssociationField::</span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">new</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">(</span><span class="phpstringcolor" style="background-color: white; box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;">'conference'</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">));</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">return</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> $fields;</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">)</span></div><div> </div><div>The issue was already reported and this is just a variant of the <a href="https://github.com/symfony/symfony-docs/issues/15252" target="_blank">solution offered there</a>, though I don’t yet see it in the latest edition of the book.</div><div><br /></div><h3 style="text-align: left;">Coding Variations</h3><div>In a few cases, I used slightly different code to achieve the same result. For example, in Chapter 10.3: Using Twig in a Controller, I drew on Kaabi’s tutorial for a simpler rendering of the template in the <span style="font-family: monospace; font-size: medium;">index()</span> function. In the case of extending AbstractController, we don’t need to explicitly reference Twig. We can just refer to the instance of the conferenceRepository, using <a href="https://symfony.com/doc/5.2/templates.html#rendering-templates" target="_blank">a technique explained in the documentation</a>.</div><div><br /></div><div><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">class</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> ConferenceController </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">extends</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> AbstractController {</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="commentcolor" style="background-color: white; box-sizing: inherit; color: green; font-family: Consolas, Menlo, monospace;">#[Route('/', name: 'homepage')]<br style="box-sizing: inherit;" /></span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">public</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">function</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> index(ConferenceRepository $conferenceRepository): Response {</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">return</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">new</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> Response($this->render(</span><span class="phpstringcolor" style="background-color: white; box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;">'conference/index.html.twig'</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">, [</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpstringcolor" style="background-color: white; box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;">'conferences'</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> => $conferenceRepository->findAll(),</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> ])->getContent());</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> }</span></div><div><br /></div><div>(The <span style="font-family: monospace; font-size: medium;">getContent()</span> method just returns the content of a response, an alternative to using <span style="font-family: monospace; font-size: medium;">RenderView()</span>.)</div><div><br /></div><a id="workflow"></a><h2 style="text-align: left;">Workflows: State Machines</h2><div>The treatment of workflows, particularly the section on their <a href="https://symfony.com/doc/current/the-fast-track/en/19-workflow.html#describing-workflows" target="_blank">description</a>, sparked my interest in its direct connection with state machines and their formal representation in Petri Nets. When using formal description techniques, we can take advantage of mathematical methods that add rigour to tasks of verification (that processes are behaving correctly) and validation (that we are designing the right processes). In my <a href="https://eprints.kingston.ac.uk/id/eprint/20609/" target="_blank">PhD</a>, I used process algebra (LOTOS) and temporal logic as the formalisms to study safety-critical systems. My present interest is in [human] safety properties in the design of social media – not just protection from physical harm, but mental harm. Taking a Buddhist model, this is protection across the <i><a href="https://www.accesstoinsight.org/lib/study/khandha.html" target="_blank">khandhas</a></i> – form (body) together with feelings, perceptions, mental formations and consciousness (mind). It's a topic that requires a separate blog post.</div><div><br /></div><h3 style="text-align: left;">User Notifications</h3><div>On a practical note, workflows underpin <a href="https://symfony.com/doc/5.2/the-fast-track/en/25-notifier.html" target="_blank">user notifications</a>, where we have the one instance where (in <a href="https://symfony.com/doc/5.2/the-fast-track/en/25-notifier.html#notifying-users-by-email">25.5</a>) the reader is invited to write their own code. As the last task of the main website construction, users are to be notified when their submission is approved. There are probably many ways to achieve this. I’ll share an attempt here using a workflow-oriented method.</div><div><br /></div><div>This first step is to create a template with a basic acceptance message<span style="font-size: medium;">, <span style="font-family: monospace;">comment_accepted.html.twig</span></span></div><div><br /></div><div><span style="background-color: white; font-family: Consolas, Menlo, monospace;">{% </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">extends</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpstringcolor" style="background-color: white; box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;">'@email/default/notification/body.html.twig'</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> %}</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">{% block content %}</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> <p>Dear {{ comment.author }},</p></span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> <p>Your comment (copied below) has been accepted!</p></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> <p></span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> {{ comment.text }}</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </p></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> <p>Thank you for </span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">your contribution.</p></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">{% endblock %}</span></div><div><br /></div><div>Thus far, notifications have been used only for admins. The message is sent via:</div><div><br /></div><div><span style="background-color: white; font-family: Consolas, Menlo, monospace;">$this->notifier->send(</span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">new</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> CommentReviewNotification($comment), ...$this->notifier->getAdminRecipients());</span></div><div><br /></div><div>The second parameter of the <span style="font-family: monospace; font-size: medium;">send()</span> method has to be of type <span style="font-family: monospace; font-size: medium;">Symfony\Component\Notifier\Recipient\RecipientInterface</span></div><div><br /></div><div>We have to interact with a class that implements <span style="font-family: monospace; font-size: medium;">RecipientInterface</span> – directly or as an extension, etc., or possibly create such an implementation or extension ourselves. Symfony’s documentation on Notifiers helpfully gives us the answer in the section on <a href="https://symfony.com/doc/current/notifier.html#creating-sending-notifications" target="_blank">creating & sending notifications</a>.</div><div><br /></div><div>In <span style="font-family: monospace; font-size: medium;">InvoiceController.php</span>, the key line is:</div><div><br /></div><div><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> $notifier->send($notification, $recipient);</span></div><div><br /></div><div>So, in <span style="font-family: monospace; font-size: medium;">CommentMessageHandler.php</span> we include the Recipient class, </div><div><br /></div><div><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">use</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> Symfony\Component\Notifier\Recipient\Recipient;</span></div><div><br /></div><div>And instead of <span style="font-family: monospace; font-size: medium;">...$this->notifier->getAdminRecipients()</span> use <span style="font-family: monospace; font-size: medium;">$comment->getEmail()</span> for the email address submitted in the comment. Then we might we anticipate defining a new class, <span style="font-family: monospace; font-size: medium;">CommentAcceptedNotification</span>, to return a different message output. </div><div><br /></div><div>However, instead of having separate classes for different comment-related notifications, we can fold the code into one, by augmenting <span style="font-family: monospace; font-size: medium;">CommentReviewNotification</span> with further methods and properties.</div><div><br /></div><div>So, immediately after </div><div><br /></div><div><span style="background-color: white; font-family: Consolas, Menlo, monospace;">$this->workflow->apply($comment,</span><span class="phpstringcolor" style="background-color: white; box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;">'optimize'</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">);</span></div><div><br /></div><div>insert:</div><div><br /></div><div><span style="background-color: white; font-family: Consolas, Menlo, monospace;">$this->notifier->send(</span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">new</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> CommentAcceptedNotification($comment), </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">new</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> Recipient($comment->getEmail()));</span></div><div><br /></div><div>Furthermore, we can determine what notifications to send based on the workflow, which has been defined to support comments. We do this by reviewing <span style="font-family: monospace; font-size: medium;">config/packages/workflow.yaml</span> and its corresponding state transition diagram:</div><div><br /></div><div><br /></div><div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgjj9E65ad2gfKVfWtXCxwGkr-G1deE7ikknT672y2_g0OPJuyRaGfY3X7z-2zBCHXZ4vj-SOqPc4tkrpo-DpYxXnexKJKwdhUYekDl5QGW0Q5QHDWvOUt2zpPGAJH2PJZ3-zrwBfk5vZUttTmRuNBLrWcFyTnB3bIXcf4XvMeGfCHLIDLYNQ=s761" style="margin-left: 1em; margin-right: 1em;"><img alt="State transition diagram for complete workflow (Graphviz output)" border="0" data-original-height="360" data-original-width="761" height="189" src="https://blogger.googleusercontent.com/img/a/AVvXsEgjj9E65ad2gfKVfWtXCxwGkr-G1deE7ikknT672y2_g0OPJuyRaGfY3X7z-2zBCHXZ4vj-SOqPc4tkrpo-DpYxXnexKJKwdhUYekDl5QGW0Q5QHDWvOUt2zpPGAJH2PJZ3-zrwBfk5vZUttTmRuNBLrWcFyTnB3bIXcf4XvMeGfCHLIDLYNQ=w400-h189" title="Workflow state transition diagram (Graphviz)" width="400" /></a></div><br /><br /></div><div>We can choose rules based on places and/or transitions. The book has based rules only on transitions, but here I think it’s better to start with places, which are unique, whereas in general transitions might not be so. </div><div><br /></div><div>For this exercise, we just want to add the case where the place (<span style="font-family: monospace; font-size: medium;">state</span>) = <span style="font-family: monospace; font-size: medium;">published</span>.</div><div><br /></div><div>The getters and setters are already there in <span style="font-family: monospace;"><span style="font-size: medium;">App\Entity\Comment</span>.</span> </div><div><br /></div><div><span class="commentcolor" style="background-color: white; box-sizing: inherit; color: green; font-family: Consolas, Menlo, monospace;">/**<br style="box-sizing: inherit;" /> * @ORM\Column(type="string", length=255, options={"default": "submitted"})<br style="box-sizing: inherit;" /> */</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">private</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> $state = </span><span class="phpstringcolor" style="background-color: white; box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;">'submitted'</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">;</span></div><div> </div><div>and</div><div><br /></div><div><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;"> public</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">function</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> getState(): ?string</span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> {</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">return</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> $this->state;</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> }</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">public</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">function</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> setState(?string $state): self</span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> {</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> $this->state = $state;</span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">return</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> $this;</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> }</span></div><div><br /></div><div>So, we update <span style="font-family: monospace; font-size: medium;">CommentReviewNotification</span> to determine the current place with</div><div><br /></div><div><span style="background-color: white; font-family: Consolas, Menlo, monospace;">$place = $this->comment->getState();</span></div><div><br /></div><div>And add a map from states to templates. Thus we ended up with the following for the class <span style="font-family: monospace; font-size: medium;">CommentReviewNotification</span></div><div><br /></div><div><span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">class</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> CommentReviewNotification </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">extends</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> Notification </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">implements</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> EmailNotificationInterface</span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">{</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">private</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> $comment;</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">private</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> $place;</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">public</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">const</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> NOTIFICATION_TEMPLATE_MAP = [</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpstringcolor" style="background-color: white; box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;">'potential_spam'</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> => </span><span class="phpstringcolor" style="background-color: white; box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;">'emails/comment_notification.html.twig'</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">,</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpstringcolor" style="background-color: white; box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;">'ham'</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> => </span><span class="phpstringcolor" style="background-color: white; box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;">'emails/comment_notification.html.twig'</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">,</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpstringcolor" style="background-color: white; box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;">'published'</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> => </span><span class="phpstringcolor" style="background-color: white; box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;">'emails/comment_accepted.html.twig'</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> ];</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">public</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">function</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> __construct(Comment $comment)</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> {</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> $this->comment = $comment;</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> parent::__construct(</span><span class="phpstringcolor" style="background-color: white; box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;">'New comment posted'</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">);</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> }</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">public</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">function</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> asEmailMessage(EmailRecipientInterface $recipient, string $transport = null): ?EmailMessage</span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> {</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> $place = $this->comment->getState();</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">if</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> (</span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">isset</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">(self::NOTIFICATION_TEMPLATE_MAP[$place])) {</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> $notification_template = self::NOTIFICATION_TEMPLATE_MAP[$place];</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> } </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">else</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> {</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> $notification_template = </span><span class="phpstringcolor" style="background-color: white; box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;">'emails/comment_notification.html.twig'</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">; </span><span class="commentcolor" style="background-color: white; box-sizing: inherit; color: green; font-family: Consolas, Menlo, monospace;">// should be a different template to cover other states (or we're lost!)<br style="box-sizing: inherit;" /></span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> }</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> $message = EmailMessage::fromNotification($this, $recipient, $transport);</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> $message->getMessage()</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> ->htmlTemplate($notification_template)</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> ->context([</span><span class="phpstringcolor" style="background-color: white; box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;">'comment'</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> => $this->comment])</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> ->importance(Notification::IMPORTANCE_LOW)</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> ;</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="phpkeywordcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">return</span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> $message;</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> }</span><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="font-family: Consolas, Menlo, monospace;"><span style="background-color: white;"><i><span style="font-size: xx-small;"> ...</span> </i></span></span></span></div><div><span><br style="background-color: white; box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="box-sizing: inherit;"><span class="phpnumbercolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">}</span></span></div><div><br /></div><div>Whilst quite a neat solution, I think it would be more consistent to put this logic in <span style="font-family: monospace; font-size: medium;">CommentMessageHandler.php</span>, along with the conditionals for transitions, where, again, I think using places might be better.</div><div><br /></div><a id="UX"></a><h2 style="text-align: left;">User Experience</h2><div>In more recent projects, I’ve observed a continual shift towards the frontend, to user experience. Mindful of its importance, what do we observe from this book? Not so much. The treatment is a bit lightweight.</div><div><br /></div><h3 style="text-align: left;">User Interface</h3><div>Whereas Kaabi <a href="https://youtu.be/Bo0guUbL5uo?t=3532" target="_blank">introduced Bootstrap</a> almost immediately after outputting just the main heading in a template, here, it’s not until <a href="https://symfony.com/doc/5.2/the-fast-track/en/22-encore.html" target="_blank">chapter 22</a>, after coding much of the application logic, that Fabien shows how to style the user interface. There’s no discussion of how the templates have been designed – you just download them and are encouraged to “Have a look at the templates, you might learn a trick or two about Twig.” That’s it!</div><div><br /></div><div>For Symfony, I can see why it’s not a high priority – what’s of greater relevance for a framework like this is the way integration is performed in Webpack. I sympathise with this view, but I think the book could be quite a bit more popular if greater attention were given to this area. And the information I seek might be readily available – I would have particularly welcomed more pointers to illustrate the work of the <a href="https://symfony.com/doc/current/frontend/ux.html" target="_blank">UX initiative</a> (see also its <a href="https://symfony.com/blog/new-in-symfony-the-ux-initiative-a-new-javascript-ecosystem-for-symfony" target="_blank">rationale</a>). As it stands, it’s probably where I feel there are the most question marks. </div><div><br /></div><div>At least, with the <a href="https://symfony.com/doc/5.2/the-fast-track/en/27-spa.html" target="_blank">SPA</a>, styling was introduced before data was fetched. </div><div><br /></div><div>Incidentally, in the text encountered few display issues, e.g. in <a href="https://symfony.com/doc/5.2/the-fast-track/en/27-spa.html#creating-the-spa-main-template" target="_blank">creating the SPA main template</a>, my browser does not render the code listing for <span style="font-family: monospace; font-size: medium;">src/app.js</span> correctly. The <span style="font-family: monospace; font-size: medium;"><div></span> tag around ‘Hello world!’ has disappeared and the code to render should be:</div><div><br /></div><div><span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">render(</span><span class="tagnamecolor" style="box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;"><span class="tagcolor" style="box-sizing: inherit; color: mediumblue;"><</span>App<span class="attributecolor" style="box-sizing: inherit; color: red;"> /</span><span class="tagcolor" style="box-sizing: inherit; color: mediumblue;">></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">, document.getElementById('app'));</span></span></div><div><br /></div><h3 style="text-align: left;">Internationalization (i18n)</h3><div>I’m glad this section was included, not least because it helped clarify a standard approach to delivering localized content. Previously, I using <a href="https://www.php.net/manual/en/book.gettext.php" target="_blank">Gettext</a> for a bilingual (English LTR/Arabic RTL) collections intranet for the Qatar Museums Authority, with the ability to toggle the locale on any page. Most of the work for the translations was carried out by a Syrian colleague, who translated every inventory field that could be displayed. </div><div><br /></div><div>In the conference guestbook, I added a Thai version (notice the <a href="https://en.wikipedia.org/wiki/Thai_solar_calendar#Months" target="_blank">months notation</a> in the date):</div></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjOvsIDJZUg6PinpzhGGmr8Cuxxydvp6bfjqRcyogXR-I03j78K83jtlRsquTYQ-MGCwMz9P-vPr5Si-5DCllVSRSU1xXKjCaMieh9OkewYjhI5nabzNTn2Gh7a_iz6nz3smhGWSl80XH-euNm3NMuRQ9PpEyEWItxsqvuQ0EVSt7b09aNBxg=s1066" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="509" data-original-width="1066" height="191" src="https://blogger.googleusercontent.com/img/a/AVvXsEjOvsIDJZUg6PinpzhGGmr8Cuxxydvp6bfjqRcyogXR-I03j78K83jtlRsquTYQ-MGCwMz9P-vPr5Si-5DCllVSRSU1xXKjCaMieh9OkewYjhI5nabzNTn2Gh7a_iz6nz3smhGWSl80XH-euNm3NMuRQ9PpEyEWItxsqvuQ0EVSt7b09aNBxg=w400-h191" width="400" /></a></div><br /><div><br /></div><div>As it stands, entering translations for RTL languages will not change the direction of page contents. To quickly (and lazily) see the effect, I generated a translation file for Arabic with the following additional translation unit:</div><div><div><br /></div><div><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="tagnamecolor" style="box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;"><span class="tagcolor" style="box-sizing: inherit; color: mediumblue;"><</span>trans-unit<span class="attributecolor" style="box-sizing: inherit; color: red;"> id<span class="attributevaluecolor" style="box-sizing: inherit; color: mediumblue;">="7654321"</span> resname<span class="attributevaluecolor" style="box-sizing: inherit; color: mediumblue;">="LTR"</span></span><span class="tagcolor" style="box-sizing: inherit; color: mediumblue;">></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"></span><br style="box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="tagnamecolor" style="box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;"><span class="tagcolor" style="box-sizing: inherit; color: mediumblue;"><</span>source<span class="tagcolor" style="box-sizing: inherit; color: mediumblue;">></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">LTR</span><span class="tagnamecolor" style="box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;"><span class="tagcolor" style="box-sizing: inherit; color: mediumblue;"><</span>/source<span class="tagcolor" style="box-sizing: inherit; color: mediumblue;">></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"></span><br style="box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="tagnamecolor" style="box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;"><span class="tagcolor" style="box-sizing: inherit; color: mediumblue;"><</span>target<span class="tagcolor" style="box-sizing: inherit; color: mediumblue;">></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;">RTL</span><span class="tagnamecolor" style="box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;"><span class="tagcolor" style="box-sizing: inherit; color: mediumblue;"><</span>/target<span class="tagcolor" style="box-sizing: inherit; color: mediumblue;">></span></span><span style="background-color: white; font-family: Consolas, Menlo, monospace;"></span><br style="box-sizing: inherit; font-family: Consolas, Menlo, monospace;" /><span style="background-color: white; font-family: Consolas, Menlo, monospace;"> </span><span class="tagnamecolor" style="box-sizing: inherit; color: brown; font-family: Consolas, Menlo, monospace;"><span class="tagcolor" style="box-sizing: inherit; color: mediumblue;"><</span>/trans-unit<span class="tagcolor" style="box-sizing: inherit; color: mediumblue;">></span></span></div><div><br /></div><div>Then edited the <span style="font-family: monospace; font-size: medium;"><html></span> tag in <span style="font-family: monospace; font-size: medium;">base.html.twig</span>:</div><div><br /></div><div><span class="tagcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;"><</span><span style="background-color: white; color: brown; font-family: Consolas, Menlo, monospace;">html</span><span class="attributecolor" style="background-color: white; box-sizing: inherit; color: red; font-family: Consolas, Menlo, monospace;"> lang<span class="attributevaluecolor" style="box-sizing: inherit; color: mediumblue;">="<span class="angularstatementcolor" style="box-sizing: inherit; color: red;">{{ app.request.locale }}</span>"</span> dir<span class="attributevaluecolor" style="box-sizing: inherit; color: mediumblue;">="<span class="angularstatementcolor" style="box-sizing: inherit; color: red;">{{ 'LTR'|trans }}</span>"</span></span><span class="tagcolor" style="background-color: white; box-sizing: inherit; color: mediumblue; font-family: Consolas, Menlo, monospace;">></span></div><div><br /></div><div>The result is:</div></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjUKMZD1ZHyfAkMIygKe75AlBNVSqXITPqk5vrLOQkFnutx9jtqIkyzL3I12zhygCEl_IIMFid5ukwQ5y7Xp9bgKQhteS9jC7HjKCXv5SdKT1k0lOa78ahHK-q0mYgdxFUhw7GawZFKjz-rBXrGxo93mojpueu8RNrYPjci4JS1lI4GbxnYuQ=s1054" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="462" data-original-width="1054" height="175" src="https://blogger.googleusercontent.com/img/a/AVvXsEjUKMZD1ZHyfAkMIygKe75AlBNVSqXITPqk5vrLOQkFnutx9jtqIkyzL3I12zhygCEl_IIMFid5ukwQ5y7Xp9bgKQhteS9jC7HjKCXv5SdKT1k0lOa78ahHK-q0mYgdxFUhw7GawZFKjz-rBXrGxo93mojpueu8RNrYPjci4JS1lI4GbxnYuQ=w400-h175" width="400" /></a></div><br /><div>It makes the key adjustment for the page as a whole, but some blocks are still styled left-to-right. </div><div><div><br /></div><div>It would also be useful to indicate how to implement i18n on the SPA. </div><div><br /></div><div>One further remark, about providing the book itself in different languages. Up until this version, 5.2, it <a href="https://web.archive.org/web/20211109192140/https://symfony.com/book" target="_blank">was available in more than a dozen languages</a>, including Arabic. It's evidently been a huge amount of work and going forward will be hard to maintain and so far I see only European languages for the current versions. But perhaps automated translation is now mature enough to facilitate? Whereas 10-15 years ago, the results could be a bit comical, they have in recent years improved considerably. Symfony provides <a href="https://symfony.com/doc/current/translation.html#translation-providers" target="_blank">integration with third-party providers</a> (perhaps <a href="https://www.deepl.com/en/docs-api/" target="_blank">DeepL</a> be added to the list?) which can offer a very useful starting point. Furthermore, the language of programming is probably more consistent than the average text.</div><div><br /></div><h3 style="text-align: left;">Pondering Deployment</h3><div>When to use? At first glance, it seems natural to just deliver <span style="font-family: monospace; font-size: medium;">website.com/fr/</span> to French-language speakers or <span style="font-family: monospace; font-size: medium;">website.com/es-AR/</span> to inhabitants of Argentina. However, it is not always appropriate to view a website in your own locale if, for example, you are learning another language and want to read local news in other countries. Many people are of mixed ethnicity and multilingual – it is quite common for children of immigrant families to speak the language of the host country at school, but their mother tongue at home. This suggests there should be flexibility in switching between languages. </div><div><br /></div><div>This seems to be tacitly recognised on the Web when you first visit a site and get a popup saying ‘You are viewing this page in <i><locale></i>, but [based on your IP address] you are viewing from <<i>country Y</i>>. Do you want to view in your own locale? More generally, I’d like to push beyond the mechanical translations to cultural translations – how to more authentically support online the process of introducing oneself, which can vary considerably between cultures? </div><div><br /></div><a id="evaluation"></a><h2 style="text-align: left;">Evaluation</h2><div>The book is well-written and conveys convincingly the tremendous achievement of the Symfony project. It’s really a showcase rather than a tutorial, yet is very instructive. With its lean and concise descriptions, the book covers an extraordinary amount of ground – the order in which new material is introduced builds on previous matter and leaves nothing to waste. </div><div><br /></div><div>It took me weeks to work my way through, but a lot of that is down to my lack of familiarity with various components that many will already be using on a regular basis, including third-party services such as Akismet and Slack (I think using the API unlocked the 30-day trial of premium features). I feel it’s worth the effort, especially as I’ve learnt a lot about the framework’s potential with useful pointers about implementation, which is the main reason I took on the book in the first place. It has considerable capacity to support the development of complex applications in an efficient and manageable way, leaving me with the impression that this really is a robust platform.</div><div><br /></div><div>Somewhat unusually for an introductory book to a language or framework, it provides significant coverage of topics relating to production systems – their monitoring and efficient delivery. I’m not yet at the stage where I need to concern myself with these matters, but this ‘systems thinking’ shows foresight and experience of running systems for real; it’s very welcome. Furthermore, they are placed in the text in such a way that much of the material can be skipped (I have not yet read through the last three chapters). Whilst I originally decided to use Symfony for its provision of many components, I have been greatly impressed by what I’ve seen, so I think it is a serious candidate for delivering the software at every stage, right through to production and ‘business as usual’.</div><div><br /></div><div>Whilst I followed the instructions from the Website, I purchased a printed (PDF) version to support the work (and I did enjoy the family artwork!). One suggestion. In return for payment, it would have been nice to have added a sample month’s subscription to symfonycasts.com, to support further in-depth exploration.</div><div><br /></div><div>Fabien continues to be very active in Symfony’s further development and promotion (see, for example, his responses in a live <a href="https://hashnode.com/post/i-am-fabien-potencier-creator-of-symfony-php-framework-ask-me-anything-cjrgm6vpu00azufs1ayr4h86m" target="_blank">Q&A from Feb.2019</a>. The community supporting the project also appears well-engaged, which all bodes well for the future.</div><div><br /></div><div><br /></div><div><br /></div></div><div><br /></div><div><br /></div><div><br /></div>
Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0tag:blogger.com,1999:blog-15893824.post-39981981291646379212022-01-15T17:23:00.005+00:002022-01-30T11:30:02.952+00:00Bourdieu and Social Capital: Methodological Challenges<p style="text-align: left;"><span style="font-size: x-small;">[Updates<br />16/1/2022: In the title, I replaced 'disciplinary' with 'methodological' as there might be a misreading of the former's meaning; <br />17/1/2022: confirmed Frisinghelli and Schulteis as curators</span><span style="font-size: small;">]</span></p><p style="text-align: left;">There have for several years been frequent media reports about the various harms caused by large social media enterprises, particularly Facebook. In spite of the alarm having been raised, occasionally by senior figures such as Sean Parker <a href="https://www.axios.com/sean-parker-unloads-on-facebook-2508036343.html" target="_blank">who warned of its effects on the brain</a>, the businesses have kept on rolling and continue to do so in the face of <a href="https://www.oireachtas.ie/en/debates/debate/joint_committee_on_enterprise_trade_and_employment/2021-05-12/2" target="_blank">horrifying testimony</a> divulged by content moderators. In response, Facebook typically claims that the millions they have invested in research into the impact of well-being demonstrates a generally positive impact. Even if they were to pour billions more into their research, they would arguably reach the same conclusion. Why? Not because of a deliberate policy to evade, but because their research into well-being is based on ‘social capital’, a vaguely defined concept with flaky interpretations. </p><p>I had started drafting a section on this for <a href="http://research.siga.la/presentation-at-virtues-in-the-digital-world-conference/index.html" target="_blank">my Jubilee Centre paper</a> on virtues in the digital world. I wanted to highlight the considerable influence of this term, though the paper is mainly concerned with cognitive interventions to protect one’s awareness. I eventually omitted discussion of social capital because the paper was getting lengthy; I felt the need to include quite a bit of preparatory material to an audience unfamiliar with the Buddhist approach I was adopting.</p><h3 style="text-align: left;">Investigating the Origins of a Notion</h3><p>So I introduce my thinking on social capital here, initially recapitulating the concern around academic notions, which I first expressed in <a href="https://www.academia.edu/4363832/Supporting_Kaly%C4%81%E1%B9%87amittat%C4%81_Online_New_Architectures_for_Sustainable_Social_Networking" target="_blank">a paper on sustainable social networking architectures</a> I gave in 2010 (see bottom of first page), and then, in revised form, in Buddhism and Computing (chapter 5), which I largely quote here.</p><p>When delving into this, the first problem I came across was the lack of a standard definition, though a certain underlying pattern may be discerned in how systems have been built so far and it carries great significance. I am particularly grateful to <a href="https://sociology.princeton.edu/people/alejandro-portes-phd" target="_blank">Professor Alejandro Portes</a>, former President of the American Sociological Association, for providing a very useful (and intelligible to me, a non-sociologist) historical overview in <a href="https://www.annualreviews.org/doi/abs/10.1146/annurev.soc.24.1.1" target="_blank"><i>Social Capital: Its Origins and Applications in Modern Sociology</i></a>. Portes observed that its sense has broadened from pertaining fundamentally to the individual and their family kinships – rooted in the foundational work of nineteenth century sociologists, particularly Émile Durkheim – to larger-scale social integration. He credits its first systematic treatment to Pierre Bourdieu, who defined it (for an individual) as </p><blockquote><p>the aggregate of the actual or potential resources which are linked to possession of a durable network of more or less institutionalised relationships of mutual acquaintance or recognition – or in other words, to membership in a group…</p></blockquote><p>(<a href=" https://www.socialcapitalgateway.org/sites/socialcapitalgateway.org/files/data/paper/2016/10/18/rbasicsbourdieu1986-theformsofcapital.pdf" target="_blank"><i>The Forms of Capital</i></a>, page 21, or page 247 in <a href="https://www.socialcapitalgateway.org/content/paper/bourdieu-p-1986-forms-capital-richardson-j-handbook-theory-and-research-sociology-educ , published in 1986" target="_blank">Handbook of Theory and Research for the Sociology of Education</a> (Richardson JG, editor).)</p><p>Portes illustrates how the research, whilst aspiring to social cohesion, has in fact given rise to many theories that appear equally to allow both positive and negative networks. The latter include “exclusion of outsiders, excess claims on group members, restrictions on individual freedoms, and downward leveling norms” (page 15). With definitions being vague or ambiguous, he observes that the personal concept of ‘social capital’ based on kinship relationships has gradually evolved to become more impersonal and more generalised.</p><p>Indeed, Bourdieu’s definition could be satisfied by many kinds of entities, including federated Internet-based software services, i.e., the systems in which the social capital is being established online. Whilst these services are like the close-fitting manifestations or shadows of human activity, they should not be equated with human relationships themselves – if you get to know someone by email, it is evidenced by a record of correspondence; but if you then meet in person, you do not need that record or email itself to continue developing the friendship.</p><p>The system logs are heavily identified with human activity, and with the interpersonal relationships themselves. Whilst this readily enables quantification and basic usage figures as garnered for analytics, much of the analysis needs careful interpretation and further in-depth enquiry, for which self-responses to a shopping list of questions are surely inadequate. It is thus unsurprising that the findings with regard to well-being are very mixed, even in the interpretation of identical data, giving the tech companies a great deal of wiggle room to convince (delude?) themselves that their systems really are conducive to well-being.</p><div><div>How then can we reach definite and meaningful conclusions about what is really of value? Let’s return to Bourdieu’s work. The quote above is actually a translation from the French: </div><blockquote><div>Le capital social est l’ensemble des ressources actuelles ou potentielles qui sont liées à la possession d’un réseau durable de relations plus ou moins institutionnalisées d’interconnaissance et d’inter-reconnaissance, ou, en d’autres termes, à l’appartenance à un groupe …</div></blockquote><div><br /></div><div>The original was published six years earlier as <a href="https://www.persee.fr/doc/arss_0335-5322_1980_num_31_1_2069" target="_blank"><i>Le capital social: notes provisoires</i></a> (Social Capital: Provisional Notes), which appeared in Actes de la Recherche en Sciences Sociales. 1980 Jan;31(1):2–3. </div><div><br /></div><div>In strictly linguistic terms, the translation may be straightforward. However, the context of the definition is important, especially so with Bourdieu, because the interdisciplinary nature of his work is rooted in ethnography. </div><div> </div><h3 style="text-align: left;">Images d’Algérie: An Exhibition of Ethnographic Photography</h3><div>Bourdieu, born in 1930, was conscripted to the French army in 1955 and deployed to Algeria later that year, during the country’s growing struggles for independence from French colonial rule. He became increasingly disillusioned by the incongruity of the imposed European culture and sympathetic to the cause of self-determination. After being reassigned to a clerical role and meeting local scholars, he remained in the country during most of <a href="https://en.wikipedia.org/wiki/Algerian_War" target="_blank">the war</a>, affording himself a rare opportunity to understand the local society <i>in situ</i>. It was during this period, spurred on by a desire to constructively channel his feelings of resentment, that he undertook ethnographic work, particularly of the Kabyle people of Berber ethnicity, using photography as a tool. </div><div><br /></div><div>This was a formational period for Bourdieu, very influential, according Goodman and Silverstein, in terms of his <a href="https://digitalcommons.unl.edu/cgi/viewcontent.cgi?article=1017&context=unpresssamples" target="_blank">cultivation of the relationship between theory and ethnography</a>. I think this is very evident in a retrospective exhibition of about 150 ‘reunited’ photographs of his fieldwork, ‘PIERRE BOURDIEU: Images d’Algérie’ – une affinité élective’ (PIERRE BOURDIEU: Images of Algeria – Elective Affinities), hosted by the Chateau de Tours, 16 June 2012 – 4 November 2013. It was <a href="https://jeudepaume.org/evenement/pierre-bourdieu-images-dalgerie-une-affinite-elective/" target="_blank">featured in Jeu de Paume</a> (magazine)</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://jeudepaume.org/mediateque/pierre-bourdieu-images-dalgerie-une-affinite-elective/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="513" data-original-width="381" height="513" src="https://jeudepaume.org/wp-content/uploads/2021/04/DE-Bourdieu.jpg" width="381" /></a></div><br /><div><div>The introduction to the exhibition reads:</div><div><br /></div><blockquote><div>“The exhibition "Pierre Bourdieu. Images of Algeria" shows the photographic works of Pierre Bourdieu, taken during his fieldwork between 1958 and 1961, in the period of the war of liberation in Algeria. The exhibition places these photographic documents in the context of Bourdieu's ethnographic and sociological studies of that time. Bourdieu's pioneering field research, which is here supplemented by his own photographs, provides an insight into the development of his sociological tenets. In addition to illuminating the evolution of his work, the photographs are also impressive documents of social history, which — even after five decades — have lost none of their immediacy and relevance.”</div></blockquote><div> </div><div>The exhibition has indeed special relevance because it was proposed by Bourdieu towards the end of his career, reaffirming the importance of the ethnographic work 35-40 years after he had carried it out. Bourdieu asserted, “You have to see the photos to have a better understanding.” In <a href="https://vimeo.com/156384502" target="_blank">an enlightening ten-minute documentary</a>, the curators, Christine Frisinghelli (Camera Austria, Graz) and Franz Schulteis (Fondation Bourdieu / University of Geneva), relate that when people came to see them, they’d keep “coming back to the same photo a dozen times, finding a dozen different things”.</div><div><br /></div><div>The pictures open up access to a foreign culture and are furthermore linked to texts written by Bourdieu; reading the texts enables a better understanding of the photos, so they are mutually enhancing. For example, a series of photos featuring a village – the cottages and daily activities of the inhabitants – were really about social gatherings. In one photo, a group of children are collecting water from a fountain. This is significant because it was traditionally the role of women to act as water gatherers, but now women couldn’t leave the home anymore; it was considered a matter of honour that “women didn’t wander about unaccompanied in public and didn’t meet with foreigners”. So, they were disempowered, but this requires knowing the history. This kind of observation contributed to the empirical basis for the <a href="https://en.wikipedia.org/wiki/Pierre_Bourdieu#Reconciling_the_objective_(field)_and_the_subjective_(habitus)" target="_blank">theory of <i>habitus</i></a> that Bourdieu developed, specifically to internal views in social culture, whereby in the face of external colonisers, the locals applied a certain self-constraint in response.</div><div><br /></div><div>What I find striking is the sympathetic nature of the processes by which these discoveries came about; for Bourdieu the use of photography was a means to express to people, “I am interested in you and your life, in your circumstances.” I think this disposition helped him understand, as reported by the curators, that observation and reflection change your outlook on life, allowing you to gain a deeper focus. In that very inclination, we have already a close linkage between subjective and objective, which, was central to his ideas of <i>habitus</i>. (Incidentally, I would have liked to have asked Bourdieu why is it that in some cultures people sit cross-legged, but not in others.)</div><div><br /></div><div>A catalogue accompanied the exhibition, under the same title, <a href="https://www.actes-sud.fr/node/11050" target="_blank">Images d'Algérie: Une affinité elective</a>. An <a href="https://www.amazon.fr/gp/customer-reviews/R34SVHRPOY9OQJ/" rel="nofollow">insightful blog post</a> in the Amazon reviews section highlights the interconnectedness and complementarity in the diachronic process of photography and writing. The work subsequently appeared in English translation, as <a href="https://cup.columbia.edu/book/picturing-algeria/9780231148436" target="_blank">Picturing Algeria</a>.</div><div> </div><h3 style="text-align: left;">Power as Capacity</h3><div>In the light of Bourdieu’s fieldwork, social capital can obviously be seen in terms of empowerment. In English, ‘power’ is all too readily associated with politics, but – despite his considerable interest in power relations – that wasn’t necessarily the root intention for Bourdieu. As the narrative accompanying the photography exhibition indicates, he was working somewhat like an archaeologist, identifying and peeling off the incongruent layers of European colonial culture to allow the native culture to breathe again. </div><div><br /></div><div>This perspective is confirmed in Notes Provisoires, which he wrote twenty years later, discussing how social capital is developed in a group context. In explaining the durable aspect of social capital, Bourdieu makes particular use of the word <i>le pouvoir</i> (‘power’):</div><blockquote><div>… grâce à ce capital collectivement possédé, un pouvoir sans rapport avec son apport personnel, chaque agent participe du capital collectif, symbolisé par le nom de la famille ou de la lignée, mais en proportion directe de son apport, c’est-à-dire dans la mesure où ses actions, ses paroles, sa personne font honneur au groupe</div></blockquote><div> </div><div>Google Translate renders this (with my minor corrections) as:</div><blockquote><div>… then thanks to this collectively owned capital, a power unrelated to their personal contribution, each agent participates in the collective capital, symbolized by the name of the family or lineage, but in direct proportion to his contribution, that is to say to the extent that his actions, words, and person honour the group</div></blockquote><div> </div><div>This is very much about agency. When learning French in secondary school in the 1980s, thanks to one of my teachers, I became more aware that it has this sense of ‘capability’ or ‘capacity’; my contemporaneous Collins Robert English-French/French-English dictionary (a reprint of the 1st edition, 1979) gives as the noun’s first entry:</div><div><br /></div></div></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><div><div><div style="text-align: left;"><b>pouvoir</b> (faculté) (gén) power; (capacité) ability, capacity; (Phys, gén: propriété). <b>avoir le ~ de faire</b> to have the power <i>ou</i> ability to do; <b>il a le ~ de se faire des amis partout</b> he has the ability to make friends everywhere; <b>il a un extraordinaire ~ d’éloquence/de conviction</b> he has remarkable <i>ou</i> exceptional powers of oratory/persuasion;<b> ce n’est pas en mon ~ </b>it is not within <i>ou</i> in my power; it is beyond my power; <b>il n’est pas en son ~ de vous aider</b> it is beyond <i>ou</i> it does not lie within his powers to help you;<b> il fera tout ce qui est en son ~ </b>he will do everything (that is) in his power <i>ou</i> all that can possibly be done; <b>~ couvrant/éclairant</b> covering/lighting power; <b>~ absorbant</b> absorption power, absorption factor.</div></div></div></blockquote><div><div><div><br /></div><div>That entry says quite a lot about one’s capacity to form relationships. It’s really important (in my view). Taking <i>le pouvoir</i> as a natural capacity to do things, in a society where even simple daily activities are constrained, the meaning is inevitably coloured, so that one has to struggle to have what should be naturally-given <i>pouvoir</i>. Hence the ‘power relations’ and the political overtones, especially those of control, which came to preoccupy Bourdieu so deeply and for which he perceived a deficit in sociological theories that he sought to remedy. Nevertheless, I perceive that Bourdieu maintains the primary sense of <i>pouvoir</i>, as given in Collins-Robert; it should be borne in mind that it relates to human agency, which, I believe, is fundamental to our sense of freedom and ability to grow. Just as luminosity is primarily defined by the sun and not by clouds, so <i>pouvoir</i> as capacity should precede the sense of power and authority, which are more properly conveyed by another term I learnt as a child, <i>la puissance</i>.</div><div><br /></div><div>Yet, that meaning seems to have been supplanted by what Collins-Robert gives as the second sense (<i>autorité</i>). Now, in the Collins dictionary, we have as <a href="https://www.collinsdictionary.com/dictionary/french-english/pouvoir" target="_blank">the primary definition</a>:</div><div><br /></div></div></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><div><div><div style="text-align: left;">(= <i>influence</i>, <i>autorité</i>) power </div></div></div></blockquote><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><div><div><div style="text-align: left;"><i>Le Premier ministre a beaucoup de pouvoir</i>. The prime minister has a lot of power.</div></div></div></blockquote><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><div><div><div><i>avoir pouvoir de faire</i> (= <i>autorisation</i>) to have the authority to do ⧫ to have authority to do; (= <i>droit</i>) to have the right to do</div></div></div></blockquote><div><div><div><br /></div><div>The meaning seems to have become the equivalent of the English word, ‘power’. Quite a change! A result of globalisation, perhaps?</div></div><div> </div><h3 style="text-align: left;">Lost in Translation?</h3><div>As his influence grew, Bourdieu became troubled that his ideas were being widely misinterpreted; their cultural translation to the English-speaking world was proving particularly problematic. In a lecture delivered in French at the University of California, San Diego, in March of 1986, reproduced in Pierre Bourdieu, Choses dites (Paris, Editions de Minuit, 1987, pp. 147-166, and translated from the French by Loic J. D. Wacquant), he opened with (<b>emphasis</b> mine):</div><blockquote><div>I would like, within the limits of a lecture, to try and present the theoretical principles which are at the base of the research whose results are presented in my book Distinction (Bourdieu 1984a), <b>and draw out those of its theoretical implications that are most likely to elude its readers, particularly here in the United States, due to the differences between our respective cultural and scholarly traditions</b></div></blockquote><div> </div><div>A couple of paragraphs later he determined:</div><blockquote><div>I think that it is particularly necessary <b>to set the record straight</b> here: indeed, the hazards of translation are such that, for instance, my book Reproduction in Education, Society and Culture (Bourdieu and Passeron 1977) is well known, which will lead certain commentators…</div></blockquote><div> </div><div>As a disciplinary outsider, it’s not practical for me to work through his large output, in the original or in translation, which is why the exhibition catalogue is so valuable. Another entry point is <i>Choses dites</i>, one of the main compendia of Bourdieu’s work, in which he tries to reassess and clarify. Not having it to hand, I’ve consulted <a href="https://journals.sagepub.com/doi/abs/10.1111/j.1467-954X.1989.tb00035.x?journalCode=sora" target="_blank">an extended review</a> by Dick McCleary, whose own <a href="https://www.legacy.com/us/obituaries/qctimes/name/dick-mccleary-obituary?id=6747156" target="_blank">life appears well-travelled</a>.</div><div><br /></div><div>But I have to admit I don’t feel much wiser. That may be due to my denseness or the lack of clarity on the part of the reviewer, but I suspect that it’s more the verbal expressions, where definitions are imprecise and wrapped up in very involved discourse (a different world from my background of mathematics). For example, having watched and listened to the ethnographic photography exhibition, I feel I have a tentative understanding of <i>habitus</i>, at least in a very simple form, but when I turn to McCleary’s account, in which he quotes verbatim from (Bourdieu, <i>Outline of A Theory of Practice</i>, p. 124), it’s another matter. </div><blockquote><div>In the more general sense it has in the 'symbolic economy' which has been Bourdieu's chief concern, capital consists in the power to control and use the means and social mechanisms required for cultural production to shape perception and understanding in accordance with the shapers' views and interests. The differential distribution of all forms of capital among agents and groups of agents determines their position in the social space of dominant and dominated classes. Their position in turn determines their <i>habitus</i> – the 'system of durable, transposable dispositions, structured structures predisposed to function as structuring structures [which constitutes] the socially informed body, with its tastes and distastes, its compulsions and repulsions … '</div></blockquote><div> </div><div>I find the basic notion of capital straightforward enough, but the subsequent expression rambling and nebulous. Such material is evidently difficult to elucidate, but I feel there’s too much wrapped up together. It needs unpacking, a proper separation of concerns.</div><div><br /></div><div>Returning to our original focus of social networking sites, this lack of clarity and succinctness very likely underlies problems with the definition of [social] capital and its current application to the online context. However, the content also provides important guidance that should inform solutions. In The Forms of Capital, Bourdieu adds a footnote to the definition of social capital (<b>emphasis</b> own).</div><blockquote><div>Here too the notion of cultural capital did not spring from pure theoretical work, still less from an analogical extension of economic concepts. It arose from the need to identify the principle of social effects which, although they can be seen clearly at the level of singular agents—<b>where statistical inquiry inevitably operates</b>—cannot be reduced to the set of properties individually possessed by a given agent.</div></blockquote><div><br />I would reinforce what Bourdieu is intimating and assert that the notions he puts forward can barely be understood without attending to the practical context over an extended period; the visuals informed his analysis deeply after due reflection. It confirms for me that it is unrealistic to think that one can gain more than a shallow insight into social capital generated by people’s online activities through usage analytics and surveys alone. </div><div><br /></div><div>We are left then with only the more obvious manifestations, as with the political activities, which have very marked patterns online. Unfortunately, these are well-known for having fostered ills ranging from addiction to division and hatred (hateful speech), leading to mounting experiences of dissatisfaction, i.e., of negative capital, with perceived <a href="https://www.theguardian.com/technology/2018/jul/07/facebook-notes-from-a-scandal-investigative-operations-team-iot-rohingya-myanmar-cambodia-press" target="_blank">powers of corruption and nefarious control</a>. The promotion of social capital by the big tech companies then seems ironic given that the main driver for Bourdieu’s research was the struggles of the Algerian people against French colonialism – an oppressive regime or system that artificially constrains, diminishing real autonomy and agency. </div><div><br /></div><div>With the notions of social capital are so vague and diluted, it is difficult to go beyond the broad-brush macro analyses with its ham-fisted metrics such as page impressions, ‘likes’ and so on. We are unlikely to build a compassionate society by these means, which is why we need fresh insights and radically new solutions. We need <i>metta</i>, not Meta …</div><div> </div><div><h3 style="text-align: left;">Glimpses of a Buddhist Response</h3><div>Bourdieu has demonstrated that both the subjective and objective are needed for a proper understanding of <i>habitus</i>. In that regard, Bourdieu discusses the senses; continuing with McCleary’s quote above, </div><div><br /></div><blockquote><div>the socially informed body, with its tastes and distastes, its compulsions and repulsions, with, in a word, all its senses not only the traditional five senses, but also the sense of necessity and the sense of duty, the sense of direction and the sense of reality, the sense of balance and the sense of beauty, common sense and the sense of the sacred, tactical sense and the sense of responsibility, business sense and the sense of propriety, the sense of humour and the sense of absurdity, moral sense and the sense of practicality, and so on'.</div></blockquote><div><br /></div><div>The five physical senses (eye and sights, ear and sounds, tongue and tastes, body and tactile objects, nose and smells) are extended by a list that relate to perceptions, sensitivities and more general views – to properly encompass social capital, one needs deep understanding of the subjective human experience and inclinations, motivating cognitive science, which is central to <a href="https://www.academia.edu/52610494/Cultivating_s%C4%ABla_Online_the_use_of_Cognitive_Interventions_in_Systems_Design" target="_blank">my recent paper</a>.</div><div><br /></div><div>From a Buddhist perspective, to the five sense bases and sense organs is added the sixth sense of mind (<i>mano</i>) and mental objects (<i>dhamm</i><i>ā</i>), which together comprise the <i>saḷāyatana</i>. The list may then be approached in terms of conditioned states – the five <i>khandhas</i> (‘heaps’) of form, feelings, perceptions, mental formations and consciousness – and as dependently arisen processes mediated through the senses: with contact through a sense, feeling arises and consciousness of that. From feelings, arise perceptions, which in turn condition and are conditioned by mental formations. These mental formations constitute the <i>habitus</i>, but our interest is not so much in the detail of these formations, but rather in the ethical quality of associated actions in body, speech in mind – for these are the determinants of wellbeing. Are they pure or impure? </div><div><br /></div><blockquote><div>“What is good, what is bad? What is right, what wrong? What ought I to do or not to do? What, when I have done it, will be for a long time my sorrow ... or my happiness?”</div></blockquote><div><br /></div><div>(from <a href="http://www.suttas.com/dn-30-lakkhana-sutta-the-marks-of-a-great-man.html" target="_blank">Lakkhaņa Sutta</a> [DN 30; iii:157] )</div><div><br /></div><div>A foundation for the moral sense that Bourdieu identified is termed <i>sīla</i> (moral virtue), which is typically grouped in a threefold mode of practice – <i><a href="https://www.accesstoinsight.org/lib/authors/various/wheel367.html" target="_blank">dāna</a></i> (generosity), <i><a href="https://www.accesstoinsight.org/ptf/dhamma/sila/index.html" target="_blank">sīla</a></i> and <i><a href="https://www.accesstoinsight.org/ptf/dhamma/sacca/sacca4/samma-samadhi/index.html" target="_blank">samādhi</a></i> (mental concentration). So, a Buddhist approach to social capital concerns the cultivation of these three.</div><div><br /></div><div>Buddhist teachings do take account of the social context, particularly in the understanding of human relationships. The <i>pouvoir</i> to form relationships is expounded in the <a href="https://www.accesstoinsight.org/tipitaka/dn/dn.31.0.nara.html" target="_blank">Sigalovāda Sutta</a>. It covers the various kinds of relationships that Bourdieu mentions, but the value is in becoming a more virtuous position. Accordingly, this forms the <a href="http://research.siga.la/research/relationships/a-multi-dimensional-model-from-the-advice-to-sigala/index.html" target="_blank">basis of my architecture for Sigala SNS</a>. It is underpinned by agency, for which in Buddhism is characterised as an autonomous person who can exercise six qualities – initiation, effort, exertion, steadfastness, perseverance and endeavouring, as described in the <a href="https://www.accesstoinsight.org/tipitaka/an/an06/an06.038.niza.html" target="_blank">Attakārī Sutta</a> (teachings on the self-doer).</div><div><br /></div><div>The Buddha also described another kind of capital, <i>spiritual capital</i> – <i><a href="https://www.accesstoinsight.org/lib/study/merit.html" target="_blank">puñña</a></i> (merit), which deserves its own blog post. It too can translate into economic gain through <i>karma-vipaka</i> (karmic fruits), but regarded spiritually, it is able to create conditions to support deliverance from <i>Samsara</i>.</div><div><br /></div><div>For now, I need to return to the work of another Frenchman, Fabien Potencier, as I try to familiarise myself with <a href="https://symfony.com/doc/current/the-fast-track/en/index.html" target="_blank">Symfony: The Fast Track</a> so as to code <a href="http://research.siga.la/work-commences-on-proof-of-concept/index.html" target="_blank">a proof of concept for Sigala</a>.</div><div><br /></div></div></div>Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0tag:blogger.com,1999:blog-15893824.post-77708170660515047112021-12-24T12:58:00.007+00:002022-01-05T20:53:11.546+00:00Season's Greetings <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh5qT_85S2w-2RcyGYJX9liiPQ1T_S8BRPdTik1focyq-FPFCRoimWE5rVxroEGXFZuTeH5GChh3YkodqCxPRckXygCTUYmu5bxbYB4LLsWfBURJ1oUu-IpOZybpdHf8d0VY-GI6HWuvRz27YSw0tR3ki3Rgx2tjMzepv7lQ1O_a2AyBDvRjA=s1512" style="margin-left: 1em; margin-right: 1em;"><img alt="Indirect Signs of Presence, Wytham (artwork + seasonal photo edit)" border="0" data-original-height="1512" data-original-width="1008" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEh5qT_85S2w-2RcyGYJX9liiPQ1T_S8BRPdTik1focyq-FPFCRoimWE5rVxroEGXFZuTeH5GChh3YkodqCxPRckXygCTUYmu5bxbYB4LLsWfBURJ1oUu-IpOZybpdHf8d0VY-GI6HWuvRz27YSw0tR3ki3Rgx2tjMzepv7lQ1O_a2AyBDvRjA=w426-h640" title="Season's Greetings" width="426" /></a></div><br /><p>A few weeks ago, whilst wandering back through Wytham Woods, I came across a piece of artwork suspended among the trees. Composed of rattan balls, it reminded me of the game <i>takraw</i>, which one of my Thai cousins used to play barefoot. The work is designed by the artist <a href="https://oxfordphotographers.org/HermeetG" target="_blank">Hermeet Gill</a> and called ‘<a href="https://www.wythamwoods.ox.ac.uk/article/beneath-the-surface" target="_blank">Beneath the Surface</a>’, commissioned as part of the <a href="https://www.wythamwoods.ox.ac.uk/article/indirect-signs-of-presence-0#/" target="_blank">Indirect Signs of Presence</a> programme. The spheres, which represent pollen grains, were woven by basketmaker <a href="https://basketmakersassociation.org.uk/2021/11/08/exhibition-in-wytham-woods-indirect-signs-of-presence-beneath-the-surface/" target="_blank">Greet Blom, Andy Goodwin and Charlotte Holmes of the Basketmakers’ Association</a>.</p><p>As I looked up I was struck by the sense of depth – cells in 3-dimensional space extending into the sky. I took a quick snap and filed it away, not thinking much about it, but as Christmas approached I recalled the spheres and they reminded me of baubles. The colours in my photo were predominantly dark, so I experimented by taking a negative. The trees and shadows inverted to near white, conveying the sense of snowy borders. For a festive touch I just added a little decorative colour (variously hued transparent discs). </p><p>A nature-inspired Happy Christmas!</p><p><br /></p>Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0tag:blogger.com,1999:blog-15893824.post-66007727926195498402021-05-03T15:51:00.004+01:002021-05-04T09:43:19.449+01:00Now available: Buddhism and Computing<p>(Subtitle: A milestone is but a beginning)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://ptworld.net/images/BandC/buddhism_and_computing.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="Buddhism and Computing: front cover" border="0" data-original-height="800" data-original-width="500" height="640" src="https://ptworld.net/images/BandC/buddhism_and_computing.jpg" title="Buddhism and Computing: front cover" width="400" /></a></div><br /><p>I’m pleased to announce that <b>Buddhism and Computing: How to Flourish in the Age of Algorithms</b> has been released and is <a href="https://mudpiebooks.com/books-authors/buddhism-and-computing/" target="_blank">now available</a>.</p><p>The book marks the culmination of investigations spanning more than a decade, focused on the design of technology that benefits humanity in the long-term. The enquiries have been primarily from the perspective of Buddhist ethics, but are substantially interdisciplinary, brought together in a way that I hope will foster much-needed dialogue involving everyone.</p><p>In that spirit, I'm pleased that the Daily Alternative have published <a href="https://www.thealternative.org.uk/dailyalternative/2021/5/1/buddhism-and-computing-paul-trafford" target="_blank">an introductory piece</a>. <br /></p><p>I very much welcome feedback – comments, reviews, emails, etc. Please spread the word!</p><p>Thank you.</p><p>- Paul</p><div><br /></div>Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0tag:blogger.com,1999:blog-15893824.post-35997672981315304782021-04-10T18:14:00.009+01:002021-10-02T12:00:55.143+01:00Adventures in the Read/Write Web<p><span style="font-size: x-small;">[This is an article about my explorations of the Internet, particularly some of the tools and applications I've used and developed to foster collaboration and enable broad participation in the 'read/write' Web. It has involved various experiments with software and hence is quite technical in nature. Sorry if it's difficult to understand, but I'm happy to try to explain and clarify.<br />Updated 2 October 2021 with a section on static and offline search</span><span style="font-size: small;">]</span></p><p>I became acquainted with the Internet at the third time (and university) of asking. My first hint came in 1988, as a maths undergraduate at Southampton University. A friend studying computer science showed me pages and pages of dot matrix printout that he had received by electronic mail from his friend at Warwick University. I was unmoved. The second hint came in 1991, as a maths postgrad at Glasgow University, when another student shared with me the joys of e-mail with friends from abroad, pointing to her computer terminal. Again, I passed.</p><p>Two years later, in 1993, as a PhD student in computer science at Kingston University, the Internet was intrinsic to my research and it was then that I dived in; I soon became immersed in e-mail, <a href="https://en.wikipedia.org/wiki/Usenet," target="_blank">Usenet</a> <a href="https://en.wikipedia.org/wiki/Gopher_(protocol)" target="_blank">Gopher</a>, and another service that seemed to be taking the world by storm, the World Wide Web (or, simply, ‘the Web’). </p><p>At that time, I shared a research lab with students from various other disciplines, including Maria Winnett, who <a href="https://eprints.kingston.ac.uk/id/eprint/20591/" target="_blank">specialised in Computer-Supported Cooperative Work</a> (CSCW). Although I did not know it at the time, these kinds of initiatives were just further iterations of ongoing efforts over the decades, as exemplified by Douglas Engelbart’s ‘Mother of All Demos’ given in 1968 (<a href="https://www.youtube.com/watch?v=B6rKUf9DWRI " target="_blank">in brief</a> / <a href="https://www.youtube.com/watch?v=yJDv-zdhzMY" target="_blank">in full</a>), and later <a href="https://www.youtube.com/watch?v=sG3PWet8fDk" target="_blank">reflected on</a>, inspired in turn by Vannevar Bush’s essay of the '40s “<a href="https://www.dougengelbart.org/archives/artifacts/annotated-As-We-May-Think-withcredits.pdf" target="_blank">As We May Think</a>”. Furthermore, these approaches would, perhaps unconsciously, influence some of my own work.</p><p>Tim Berners-Lee had conceived and implemented the Web only a few years before. A core part of his vision was that the Web should be read/write; the first browser was thus a browser-editor, called <a href="https://www.w3.org/People/Berners-Lee/WorldWideWeb.html" target="_blank">WorldWideWeb</a>. Whilst most of the ingredients were in place — the http protocol, HTML, Web browser and httpd server — some aspects were not complete. For instance, his editor could only ‘write’ to local files; the HTTP PUT request method was yet to be devised (more about this later …)</p><p>I first explored the Web using <a href="https://en.wikipedia.org/wiki/Mosaic_(web_browser)" target="_blank">NCSA Mosaic</a>, which I also used to take some baby steps in authoring my first HTML markup using its <a href="https://www.desy.de/web/mosaic/d2-annotations.html" target="_blank">Personal Annotations</a> feature. I then started contributing to departmental pages and I was on my way, but my usage was conventional and most of my attention was on my own research.</p><h3 style="text-align: left;">OSS Wisdom and Easy Web Editing</h3><div><div>Whilst I had been using Unix (Solaris) for my research, I wasn’t really cognisant of free and open source software until I started preparing for my first full time job in 1998 at the University of Derby. I took over the technical development of <i><a href="https://web.archive.org/web/19981205184318/http://www.multifaithnet.org/" target="_blank">MultiFaithNet</a></i>, an online gateway to religious resources. The site was needing a new home; I was asked to set up and maintain a new server, of which I had zero experience. Faced with a dwindling budget, I bought a book on RedHat 5.1, a distribution of the Linux operating system, and installed it on my home computer off the accompanying cover CD. I acquainted myself with the main components, including the Apache httpd web server, CGI/Perl and regular expressions. PHP and MySQL came a bit later. </div><div><br /></div><div>The site contained a mixture of informational content and community-oriented facilities. The project team maintained editorial control with some pages retaining the same structure, but being revised on a fairly frequent basis. Team members really wanted something as easy to use as a word processor without having to know HTML or worry about the technicalities of uploading to a server. Netscape anticipated such demand with <a href="https://en.wikipedia.org/wiki/Netscape_Composer" target="_blank">Netscape Composer</a>, which added editing facilities to its <a href="https://en.wikipedia.org/wiki/Netscape_Navigator" target="_blank">Navigator</a> browser. It provided a WYSIWYG interface, making it amenable to all my colleagues, who were not concerned with the underlying HTML that it generated.</div><div><br /></div><div>There remained the problem of how to enable an easy means to upload edited files to the server. I found a solution thanks to the introduction of the PUT request method, in the <a href="https://tools.ietf.org/html/rfc2616#section-9.6" target="_blank">HTTP/1.1 specification</a> of the international Web standards. Such a facility had been missing when Sir Tim was first editing web pages using WorldWideWeb (they could only be updated locally under the file URI scheme). The <a href="http://www.apacheweek.com/features/put" target="_blank">provision of PUT</a> was a pivotal step in opening up the read/write web and, on the client side, support was quickly added to Netscape Composer. </div><div><br /></div><div>Accordingly, I followed the guidance and implemented support for PUT request method on the server. However, as the Apache Week article intimates, it came with risks and soon become deprecated, so I secured it with various measures, as per the article, with IP address restrictions for good measure. </div></div><div> </div><div><h3 style="text-align: left;">Annotations in CritLink</h3><div><i>MultiFaithNet</i> was a platform for dialogue and engagement. To support this paradigm in the technology infrastructure, I explored web annotations and came across <a href="http://zesty.ca/crit/" target="_blank">CritLink</a> (and the wider toolset, CritSuite), a <a href="https://foresight.org/WebEnhance/" target="_blank">project of the Foresight Institute</a> developed by Ka-Ping Yee. It used a proxy server approach to add comments non-invasively with a rich feature set, including bi-directional links, that are not supported in the Web.</div><div><br /></div><div>I quickly felt it had a lot of potential to support collaborative working, and downloaded and installed it on MFN with the aim of encouraging internal use to begin with. I also contacted Ka-Ping Yee to give some encouragement, suggesting that he present his work in the field of CSCW. Perhaps already having this in mind, he duly <a href="http://zesty.ca/pubs/cscw-2002-crit.pdf " target="_blank">delivered a paper</a>. As I started speculating about what lessons might be learnt about free and open source software, I mentioned CritSuite in <a href="https://www.chezpaul.org.uk/interfth/osswisdom.html" target="_blank">Open Sources: A Higher Consciousness in Software Development</a>, a paper I gave at an unusual conference, <a href="https://www.chezpaul.org.uk/interfth/birdofheaven.html" target="_blank">To Catch the Bird of Heaven</a>, which hosted various perspectives on wisdom.</div><div><br /></div><div>However, these initiatives subsequently came to a halt as funding for the <i>MultiFaithNet</i> project dried up and I needed to find other employment. The uptake of CritSuite failed to gain critical mass, partly because of lack of resources (reflected in the Crit.org server often struggling with poor performance) and partly because some rivals took some of the limelight. However, of probably greater bearing was that larger organisations took exception to having anyone provide ‘frank’ comments, which they regarded like graffiti. There was no moderation (apart from the facility to comment on comments). Nevertheless, among those willing to give CritLink a try, it gained <a href="http://sohodojo.com/onetblog/2005/03/05/remembering-critlink-and-critsuite-for-shared-linkingtagging/" target="_blank">considerable respect</a>.</div><div><br /></div><div><h3 style="text-align: left;">NetWedit: A WYSIWYG Web editing widget</h3><div>Today, it’s fairly easy for anyone to create and maintain their own websites. Probably the majority of web content is written and updated through web forms, much of it in content management systems such as WordPress, which accounts a large proportion of all web sites. It was designed as a blogging platform, as such a major step to read/write web according to Sir Tim, when <a href="http://news.bbc.co.uk/1/hi/technology/4132752.stm" target="_blank">interviewed by Mark Lawson for the BBC</a> in 2005.</div><div><br /></div><div>Blogging consists not only of jotting down one’s thoughts, as in a manuscript, but presenting it as a Web document. A key enabler, usually powered by JavaScript, is the WYSIWYG editing box. It is now taken for granted, but twenty years ago, Web editing wasn’t so amenable. Whilst there were sporadic attempts to realize <i>in situ</i> editing via the browser’s own client, as I had explored with HTTP PUT, the normal procedure for updating websites was more convoluted. Typically, an author would write copy and send it to someone with technical skills to prepare a web version on their PC using an authoring tool such as <a href="https://en.wikipedia.org/wiki/Adobe_Dreamweaver" target="_blank">Dreamweaver</a> or else hand code the HTML and CSS. Then the files were transferred in a separate process via ftp and finally reviewed by the original author.</div><div><br /></div><div>However, by the turn of the century, database-driven content management systems (CMS) were already emerging, where it was no longer a matter of editing individual pages, but instances of data that were supplied to templates. Some CMS had large numbers of users who each needed to maintained a few paragraphs and update them whenever they liked. I was faced with such a situation after I had moved down to Oxford to join the <a href="https://web.archive.org/web/20000815062812/http://www.hcu.ox.ac.uk/" target="_blank">Humanities Computing Unit</a>: as part of an online teaching resources database system, theologians needed a simple way to edit some content through the web-based. </div><div><br /></div><div>With necessity being the mother of invention, I released my first open source contribution in 2001 under LGPL – I’m not a great fan of 'infective' licenses. :-/ It was a rich text editing widget called <a href="https://web.archive.org/web/20011205040442/http://users.ox.ac.uk/~pault/netwedit/index.html" target="_blank">NetWedit</a>, designed for Netscape Navigator (version 4, upwards) and also supported by Mozilla0.9+, and IE4+ (Windows only). It gained some exposure in HEI after its inclusion in Paul Browning’s <a href="https://web.archive.org/web/20011215155245/http://www.bris.ac.uk/ISC/cms/ttw.html" target="_blank">TTW WYSIWYG Editor Widgets list</a>. Apart from the Java solutions, all the other entries on the list would only work on one operating system or in one browser; NetWedit was possibly the world’s first non-Java-based cross-browser solution, albeit not fully cross-platform. </div></div></div><div><h4 style="text-align: left;">Implementation</h4><div>I was not a JavaScript guru, so I chose the path of least resistance, targeting the <a href="https://www.w3schools.com/tags/tag_textarea.asp" target="_blank">textarea</a> HTML input area, which is generally used as a form element for more substantial amounts of text. For users to make dynamic updates without server-side scripting, I figured that I needed editing to take place in a pop-up window, whilst storing the HTML source in the textarea box of the parent window. I realised that dealing with user interactions, especially changes to content, would be a complex process, so I settled on a workflow process whereby the user would type text (without markup) in the boxes and then press a button to launch a pop-up, in which to then carry out the markup (formatting, links, etc.). So, it’s more accurate to say that NetWedit is a <i>markup</i> tool.</div><div><br /></div><div>Once I had figured this approach, the implementation was quite neat. The code consisted of a single JavaScript library file. When loaded on a given page, any number of form textarea elements could be enabled for WYSIWYG markup. Here’s an extract from a sample page with two editable areas.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://ptworld.net/images/web/netwedit/example1_src_editor1_extract.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="NetWedit example 1" border="0" data-original-height="282" data-original-width="800" height="141" src="https://ptworld.net/images/web/netwedit/example1_src_editor1_extract.jpg" width="400" /></a></div><br /><div>To the left you can see a bit of text followed by a couple of textarea boxes in a Web form. These boxes are actually the HTML source views. Normally with rich text editors, we see either the source view or the rich text view, not both, but a feature of NetWedit is that you can see both side by side. It’s thus a handy instructional tool.</div><div><br /></div><div>I’ve pressed the <b>[Markup 1]</b> button to launch a markup window. In fact, launching the window itself already showed the use of the <span style="font-family: courier;"><p></span> tag.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://ptworld.net/images/web/netwedit/example1_src_editor2_extract.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="NetWedit example 2" border="0" data-original-height="252" data-original-width="800" height="126" src="https://ptworld.net/images/web/netwedit/example1_src_editor2_extract.jpg" width="400" /></a></div><br /><div>Any markup applied in the popup was instantly reflected in the source windows, thereby offering interesting possibilities to learn the markup. Thus, highlighting the word, ‘sample’, and pressing the <b>[U]</b> button is instantly reflected as follows:</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://ptworld.net/images/web/netwedit/example1_src_editor3_extract.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="NetWedit example 3" border="0" data-original-height="258" data-original-width="800" height="129" src="https://ptworld.net/images/web/netwedit/example1_src_editor3_extract.jpg" width="400" /></a></div><br /><div>As mentioned above, this ‘editor’ didn’t actually allow edits to the text itself - these had to be done in the source textarea.</div><h4 style="text-align: left;">Visual Shenanigans</h4><div>Subject to the <a href="http://www.piclist.com/techref/language/java/script/NS4_Obj.pdf" target="_blank">Document Object Model</a> at that time, there was only one method to capture user-selected text, <a href="https://www.oreilly.com/library/view/javascript-the-definitive/0596000480/re196.html" target="_blank"><b>document.getSelection()</b></a>, which returned a string. Later <a href="https://developer.mozilla.org/en-US/docs/Web/API/Document/getSelection" target="_blank">revisions</a>, returned an object and allowed one to determine exactly where in the DOM the selection was made. However, here there was no immediate method to locate its whereabouts - if you selected ‘the’, which ‘the’ was it? There was nothing more granular.</div><div><br /></div><div>I got round the limitation by using a kind of visual deception through (an abuse of) CSS, inspired by WordPerfect’s ‘<a href="https://en.wikipedia.org/wiki/WordPerfect#Reveal_codes" target="_blank">reveal codes</a>’. Using the <span style="font-family: courier;"><span></span> tag, I inserted a unique sequence of characters after the first character of each word, hidden by a CSS setting of zero display width. When selecting the intended word, <b>getselection()</b> would include the invisible characters, so that when it came to identifying a particular instance of a word, the system was actually searching for a unique word. </div><div><br /></div><div>All is revealed by viewing the frame source for the text being marked up:</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://ptworld.net/images/web/netwedit/example2_src_editor4.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="NetWedit example 4" border="0" data-original-height="284" data-original-width="741" height="153" src="https://ptworld.net/images/web/netwedit/example2_src_editor4.jpg" width="400" /></a></div><br /><div>Behold the generated code in its marked-up glory! Note especially the fragment, <span style="font-family: courier;"><b>t<span class=hidden>|7|</span>o</b></span>,</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://ptworld.net/images/web/netwedit/example2_src_editor5.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="NetWedit example 5" border="0" data-original-height="538" data-original-width="649" height="332" src="https://ptworld.net/images/web/netwedit/example2_src_editor5.jpg" width="400" /></a></div><br /><div>But none of this formatting was applied to the source, so only the intended markup, <span style="font-family: courier;"><b>to</b></span>, was retained:</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://ptworld.net/images/web/netwedit/example2_src_editor3_extract.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="NetWedit example 6" border="0" data-original-height="256" data-original-width="800" height="128" src="https://ptworld.net/images/web/netwedit/example2_src_editor3_extract.jpg" width="400" /></a></div><br /><div><br /></div><div>The widget was successfully deployed in the <a href="https://web.archive.org/web/20020604011623/http://resources.theology.ox.ac.uk/" target="_blank">Theology Faculty Teaching Resources</a> site, where Faculty could maintain their own profiles – research interests and publications. It was considered simple to use and was all that was needed at that time. </div><div><br /></div><div>I also received quite a bit of response to the release of the software, especially in the first year or two, when it was tried in custom web-based content management systems (WordPress wasn’t released until 2003). I even wondered about deploying it in CritSuite to make it easier to make granular text selections. However, as browser support became more comprehensive, more sophisticated solutions such as <a href="https://en.wikipedia.org/wiki/CKEditor " target="_blank">FCKEditor</a> came along (also in 2003), and I knew I would have to take a back seat, though I did try to up my game with <a href="https://web.archive.org/web/20070513022334/http://users.ox.ac.uk/~pault/rtwedit/" target="_blank">RTWedit</a>. </div><div><br /></div><div>Alas, my editing widgets don’t work in any modern browsers, because the method I used was superseded, though I guess it’s just a matter of working out what the new methods are (and hopefully, there’s no new security constraint). However, it's still possible to see NetWedit, as released in 2001, working on Windows 10: download Netscape 9 from <a href="http://www.oldversion.com/windows/netscape/" target="_blank">an archive</a> and then launch Navigator and load the <a href="http://web.archive.org/web/20011205040442/http://users.ox.ac.uk/~pault/netwedit/index.html" target="_blank">page from the Wayback machine</a> (under plain http).</div></div><div><br /></div><div><h3 style="text-align: left;">The Aesthetics of XML editing via XSLT</h3><div>The problem with HTML is that it became increasingly about presentation, despite being in fact <a href="https://www.w3.org/MarkUp/html3/HTMLandSGML.html" target="_blank">a special instance of SGML</a>, designed for documents in general and their semantics (think about how to encode Shakespeare!) This fact was emphasized by colleague in the HCU, especially by its Director, <a href="https://en.wikipedia.org/wiki/Lou_Burnard" target="_blank">Lou Burnard</a>, and his expert assistant, <a href="https://en.wikipedia.org/wiki/Sebastian_Rahtz" target="_blank">Sebastian Rahtz</a>. These were authorities <a href="https://link.springer.com/article/10.1007/BF01830315" target="_blank">on semantic markup</a> and had a great influence on web developments at OUCS. </div><div><br /></div><div>I discovered this when working on <a href="https://web.archive.org/web/20070721031641/http://acdt.oucs.ox.ac.uk/acdt/projects/detail.php?proj_id=1999d" target="_blank">Interactive Audio Comprehension Materials</a> (IACM), a web-based system to train students in various modern languages by listening to passages and answering questions to check their understanding. The data – passage content and multimedia timings – was stored entirely in XML. With Sebastian's help, another team member, Paul Groves, had already developed a delivery system using Perl’s XML:Sablotron, but now the Faculty wanted to add a web-based editing system. </div><div><br /></div><div>So I devised a system that took user’s web form input and turned it into <a href="https://web.archive.org/web/20051110075058/http://users.ox.ac.uk/~pault/iacm/slides/slides.html" target="_blank">custom XSLT to transform the XML to XML</a>. As I later <a href="https://paultrafford.blogspot.com/2006/04/structure-and-flow-example-in-xml.html" target="_blank">reflected</a>, it had the nice aesthetic property of being amenable to recording not only changes to data, but how those changes were made. I showed this solution to Sebastian, who was intrigued and, characteristically, almost immediately wondered whether it could handle more complex scenarios. But a need didn’t arise.</div></div><div> </div><div><h4 style="text-align: left;">Ingredients for Innovation and Collaboration</h4><div>OUCS was a very collaborative environment; it helped that almost everyone had a certain level of technical competence and many were experts in their field, so exchanges were fruitful. Everything was available in-house – from R&D to hosting and administration, which facilitated greater exploration and faster turnarounds.</div><div><br /></div><div>The department was prepared to experiment and take risks, which yielded a lot of innovation. In particular, Sebastian <a href="http://projects.oucs.ox.ac.uk/teiweb/Members/2001-Pisa/Talks/rahtz-teiweb.xml?ID=body.1_div.1" target="_blank">architected the OUCS web site based on TEI XML</a>. It meant all staff having to learn TEI, which required some effort, but at least that could author content using an editor of their choice, ranging from <a href="https://en.wikipedia.org/wiki/Vi" target="_blank">vi</a> to <a href="https://xmetal.com/" target="_blank">XMetaL</a>. However, once the documents were written, the system effortlessly delivering HTML, PDF and many other documents <a href="http://projects.oucs.ox.ac.uk/teiweb/Members/2001-Pisa/Talks/rahtz-teiweb.xml?ID=body.1_div.28" target="_blank">using Apache Axkit</a>.</div><div><br /></div><div>OUCS is now <a href="https://web.archive.org/web/20130831034609/http://www.oucs.ox.ac.uk/internal/history/" target="_blank">history</a>, along with many of the processes, systems and services that were developed. Nowadays, the content and presentation of departmental websites are more managed and controlled. The presentation is more visual, yet the result seems to me to be increased homogeneity, not only in look and feel, but in the kind of content. It reads well because it’s edited for a general audience, yet it feels intellectually less exciting, lacking some freshness and spontaneity.</div><div><br /></div><div>Nevertheless, aware of cycles in development, I remain optimistic as upward spirals are always possible. Looking at annotations, among the <a href="https://en.wikipedia.org/wiki/Web_annotation" target="_blank">various initiatives</a>, it looks like <a href="http://Hypothes.is" target="_blank">Hypothes.is</a> is gaining traction and keeping the spirit of collaboration of the early pioneers. There are still some good prospects for a truly read/write Web.</div><div><br /></div><div><h3 style="text-align: left;">Offline Search for Content Management Systems</h3><div>Core to ‘read’ing the web is search, another facet we can delve into.</div><div><br /></div><div>Again in 2001, I became involved in the development of a multimedia Chinese language learning system, featuring a range of interactive exercises. It was implemented as a website driven by CGI/Perl. I was asked to ‘put it on a CD’, with the option to support further updates to its contents. I eventually delivered a production system, with admin facilities, that output <a href="http://www.ctcfl.ox.ac.uk/Chinese/index.html" target="_blank">a static site</a> according to a specified folder hierarchy. There was, however, one wish that I never got round to fulfilling – a search function. The most promising cross-platform solutions available at the time were mainly based on Java, but I couldn’t manage to incorporate them.</div><div><br /></div><div>Almost twenty years later, 2020, I am using WordPress and have almost the same requirement – I wish to generate a static version of a WP site that I can search offline. Surely, there’s a nice plugin available? </div><div><br /></div><div>I duly wandered over to <a href="http://wordpress.org/plugins " target="_blank">WordPress plugins directory</a>. After a while, it became evident that the search facilities that were available required some server infrastructure, whether that was the use of a third party service like <a href="https://wordpress.org/plugins/wp-search-with-algolia/" target="_blank">Algolia</a> or some experimental <a href="https://www.getshifter.io/announcing-wp-serverless-search-a-new-kind-of-site-search-plugin-for-wordpress/" rel="nofollow">‘serverless’ solution</a>, All of these, whether ‘scriptless’ or otherwise, still require server infrastructure, even if the site itself is fully static. They are no use for a searching a static site on a memory stick when you have no Internet.</div><div><br /></div><div>Looking for something that I might (legally) adapt for my purposes, I found <a href="https://wordpress.org/plugins/wp-static-search/" rel="nofollow">WP Static Search</a>, a plugin that looked far more promising, being built on an established JavaScript package, Lunr.js. Again, the author is a developer who is working with this kind of technology in commercial applications and it turned out that it had some bugs; and the author hasn’t yet responded to suggested fixes. Even so, I could make these changes myself by forking the repository on Github. </div><div><br /></div><div>After applying the fixes, I then tackled the requirement to make this work offline (without reference to any server). The key to this was to take account of the JavaScript security model’s restriction on loading files – basically, any file like a search index cannot be loaded in the usual way. So, the index had to be incorporated in the library itself, in one of the JavaScript files. Thus, I modified the index-builder to write the index inside lunr-index.js itself. I’ve published the modified code on GitHub: <a href="https://github.com/paultraf/wp-static-search" target="_blank">https://github.com/paultraf/wp-static-search</a> . You can go ahead and download the master zip, but then rename it wp-static-search.zip before installing in WordPress.</div><div> </div><div>It’s rudimentary, but it works. I use it for the <a href="https://research.siga.la/" target="_blank">Sigala Research</a> site, in conjunction with wget, which creates the static version for me. </div></div></div><div><br /></div><div><br /></div><p></p>Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com2tag:blogger.com,1999:blog-15893824.post-80950545275777287642021-03-26T09:39:00.005+00:002021-03-26T09:44:48.574+00:00Press release: Buddhism and Computing<div>I am pleased to share the press release for <b>Buddhism and Computing: How to Flourish in the </b><b>Age of Algorithms</b> (<a href="https://mudpiebooks.com/" target="_blank">Mud Pie Books</a>), which will be published on 1 May. </div><div><br /></div><div><a href="https://ptworld.net/download/dhamma/Buddhism_And_Computing_Press_Release_05.03.21.pdf" target="_blank">Download the PDF file</a> (or click on the image below).</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://ptworld.net/download/dhamma/Buddhism_And_Computing_Press_Release_05.03.21.pdf" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="907" data-original-width="683" height="400" src="https://1.bp.blogspot.com/-aDQloHC8KFk/YF2rGwVqorI/AAAAAAAABIg/wZr19GkNyd0owWXYqw0SIj5t5KkrJXCKwCLcBGAsYHQ/w302-h400/Buddhism_And_Computing_Press_Release_05.03.21.jpg" width="302" /></a></div><br /><div><br /></div><div>A few notes are available in <a href="https://paultrafford.blogspot.com/2020/12/forthcoming-book-buddhism-and-computing.html">a previous blog post</a>. More to follow.</div><div><br /></div><div><br /></div>Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0tag:blogger.com,1999:blog-15893824.post-24431298485528818122021-01-18T16:00:00.002+00:002021-01-18T16:19:32.639+00:00Commitment to Research for Human Flourishing<p>
In March 2011 Japan suffered a catastrophe with a massive earthquake off its
East coast. A chain of events led to the Fukushima nuclear power plan disaster
with the release of massive amounts of toxic radiation. I visited Tokyo a few
months later, in July, when the city's population seemed subdued and fearful in a similar way to how many people have been with the Covid-19 pandemic.
</p>
<p>I was hosted by
<a href="https://www.univ.gakushuin.ac.jp/eco/en/education/professor/list/man/shirota.html" target="_blank">Professor Yukari Shirota at Gakushuin University</a>. In response to what happened, Professor Shirota made an emphatic statement,
which I paraphrase: “Japan does not have much in the way of natural resources,
only human resources. I therefore commit my life to research.”
</p>
<p>Research is
fundamental to human resourcefulness and is an activity that I would like to
develop more effectively. Whilst research is a natural aptitude and I’ve long
nurtured an interdisciplinary approach, I have only a very limited publication
record despite having spent decades in academia; to earn a living I have served
mainly in a technical support capacity. I originate ideas quite easily, some expressed on this blog, but I have found it
exceedingly difficult to gain traction for them.
</p>
<p>Reasoning that I needed to
devote more time to my endeavours, in July 2020 I decided not to accept an offer
a 12-month contract extension to my post as Digital Projects Officer at the
History of Science Museum (HSM). Instead, I would work full-time on my research activities.
However, I shall retain a connection following the award by Museum of the
(unpaid) position of Honorary Research Fellow, which was approved by the Board
of Visitors at their meeting last November.
</p>
<p>There are several strands to my
research that might benefit HSM. The most immediate concerns any digital
aspects, particularly online communications, an area I have explored for a while
and about which I will touch on below. There are other, broader aspects. In
2024 the Museum will be celebrating the centenary of its founding and I’ve
already outlined some
<a href="https://paultrafford.blogspot.com/2019/12/a-vision-for-history-of-science-museum.html">visionary ideas</a>. I may take the opportunity to expand on them.
</p>
<p>A number of my research strands
have concerned aspect of science and religion, a broad theme whose
historical development took a major turn in the 17th century, the century in
which the original Ashmolean Museum was founded. The building now houses HSM, but it is still formally referred to as the ‘Old Ashmolean’. This was a period that saw the rapid rise of rationality; indeed, we
denote this period as the Age of Reason. The consequences have been
far-reaching, most especially in the increasing emphasis on materiality, which
has pervaded notions of science and research in general.
</p>
<p>I talk briefly about
that development in
<a href="https://paultrafford.blogspot.com/2020/12/forthcoming-book-buddhism-and-computing.html">Buddhism and Computing</a>, the first tangible fruit of my research. A contribution to the ‘Mud Pie
Slices’ series, it offers more than a slice of my thoughts from the past decade
on critical issues around computer-based technology, particularly as manifest on
the Internet. It has been a considerable challenge to squeeze in a wide
range of topics without undermining the overall flow, but the issues are urgent
and I wish to facilitate better access to them.
</p>
<p>Buddhism and Computing
summarises and ties together some of the main strands of my ideas in response to
challenges facing humanity, concerning the freedom to think and act
autonomously, the quality of awareness and so on. I conceived the <a href="https://siga.la" target="_blank">Sigala project</a> in sustainable online social networking as the primary deliverable in
response to these challenges, but until recently I kept my research notes in
local documents. I have now set up a website for the main body of research,
<a href="https://research.siga.la/" target="_blank">research.siga.la</a>.</p>
<p>Thus
far the part-time efforts of one person, it has large gaps, is rough around the
edges, out of date in details, lacks marketing (Why so few images? Where’s the
explainer video? Etc.), yet it seeks to offer a coherent and humane vision.
I’m hoping that once word gets around, the thesis will gain acceptance and the
presentation strengthen, and so on.</p>
<p>For me the process started in November
2007 when I started to reflect on
<a href="https://web.archive.org/web/20120608142212/http://www.educause.edu/blog/pault/OnFriendsandotherassociations/167285" target="_blank">what friendship truly means and how best to support it online</a>. Initially, I conceived this in educational terms, but very quickly saw that
its scope was universal.</p>
<p>Having been introduced to the Internet in the early
‘90s in the context of research, I have been strongly averse to the way the
Internet, particularly the Web, has been commercialised. Browsing the Web today with its numerous interruptions, whether for legal consents or advertising, do not make for an aesthetic experience. Furthermore, changes in search indices and results generation, favours organisations, particularly corporates, and has diminished the voice of individuals; all told, it has
generally become harder to find high quality and truly diverse materials. </p><p>Nevertheless, we need viable economic models and I see great
potential in applying the work of <a href="https://sites.google.com/site/avoffer/avneroffer" target="_blank">Avner Offer</a>, who recognised a spectrum from
the gift to the market in his theory of the 'economy of regard'. I’d like to <a href="https://research.siga.la/research/the-economics-of-sigala-sns/index.html" target="_blank">incorporate this in Sigala</a>.</p>
<p>I will elaborate on the substance of the project in future blog posts. For
now, I just mention in passing that the website is a kind of knowledge base,
whose process is ongoing. As
<a href="https://research.siga.la/about/website/index.html" target="_blank">explained</a>, I author and manage the content on my laptop at home using a locally
installed WordPress, a web content management system whose popularity is due in
no small part to the fact that it is open source software.</p>
<p>Using this setup has
yielded the first technical fruit. Running to a few dozen pages, the site is not
large or complex, but there is a lot of text, so it may take some while to
browse to find something specific. So, as with most websites, a search facility
is provided. However, I’ve taken an existing search plugin, <a href="https://wordpress.org/plugins/wp-static-search/" target="_blank">WP Static Search</a>, and modified it to work offline, i.e. without an Internet connection or web
server. I’m only an occasional coder, but have uploaded
<a href="https://github.com/paultraf/wp-static-search" target="_blank">my changes to Github</a>
and submitted a pull request. This means you can download the entire site onto a
memory stick and browse and search it there. (Just one tip: when downloading the
zip file from Github, the plugin folder should be renamed back to
‘wp-static-search’ before deployment.)</p>
<p>However the research proceeds, I shall always be looking for opportunities to innovate!</p><p><br /></p>
Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0tag:blogger.com,1999:blog-15893824.post-89246747973235607002021-01-12T12:26:00.000+00:002021-01-12T12:26:09.212+00:00To a Clearer, Brighter New Year<p>I’ve been hearing repeatedly, in reference to the globe's present situation, “the darkest hour of the night comes just before the dawn”, a saying that is centuries old, first printed in a work of Thomas Fuller, <a href="https://archive.org/details/apisgahsightpal00fullgoog" target="_blank">A Pisgah Sight Of Palestine And The Confines Thereof</a> (search for 'dawneth'). It is felt especially by those experiencing midwinter in the Northern hemisphere. Yet, the natural environment always provides illumination – we just have to be sensitive to it.</p><p>Over Christmas I had the good fortune to be at the family home in Worcestershire and went for several walks in the local countryside. The sun came out one day and there was snow the next, which I captured in two pairs of ‘before’ and ‘after’ photos taken in the morning, about 24 hours apart.</p><p>The first pair shows a view of <a href="https://en.wikipedia.org/wiki/Wychbury_Hill" target="_blank">Wychbury Hill</a> from Broome.</p><p><a data-flickr-embed="true" href="https://www.flickr.com/photos/paultraf/50771425192/in/photostream/" title="View of Wychbury from Broome (sunny version)"><img alt="View of Wychbury from Broome (sunny version)" height="300" src="https://live.staticflickr.com/65535/50771425192_108da2896c_w.jpg" width="400" /></a><script async="" charset="utf-8" src="//embedr.flickr.com/assets/client-code.js"></script><br />
<a data-flickr-embed="true" href="https://www.flickr.com/photos/paultraf/50771309506/in/photostream/" title="View of Wychbury from Broome (snowy version)"><img alt="View of Wychbury from Broome (snowy version)" height="300" src="https://live.staticflickr.com/65535/50771309506_b75c1a7703_w.jpg" width="400" /></a><script async="" charset="utf-8" src="//embedr.flickr.com/assets/client-code.js"></script></p>
<p>The second was taken further along the lane, near <a href="https://historicengland.org.uk/images-books/photos/item/IOE01/16142/18" target="_blank">Red Hall Farmhouse</a>.</p><p><a data-flickr-embed="true" href="https://www.flickr.com/photos/paultraf/50771309636/in/photostream/" title="Broome, near Red Hall Farm (sunny version)"><img alt="Broome, near Red Hall Farm (sunny version)" height="300" src="https://live.staticflickr.com/65535/50771309636_c1f1544f8c_w.jpg" width="400" /></a><script async="" charset="utf-8" src="//embedr.flickr.com/assets/client-code.js"></script><br /><a data-flickr-embed="true" href="https://www.flickr.com/photos/paultraf/50771424822/in/photostream/" title="Broome, near Red Hall Farm (snowy version)"><img alt="Broome, near Red Hall Farm (snowy version)" height="300" src="https://live.staticflickr.com/65535/50771424822_b2878b5591_w.jpg" width="400" /></a><script async="" charset="utf-8" src="//embedr.flickr.com/assets/client-code.js"></script></p>
<p>Sometimes daylight hides and snow reveals features of the landscape by what it doesn’t cover.</p><p>Trees especially refract light. On another walk, I wandered to Churchill via Stakenbridge in the mid-afternoon when already the sun was starting to set.</p><p>Coming through a small wood, the sun was beckoning ahead, lighting up patches of foliage – reds, yellows and greens.</p><p><a data-flickr-embed="true" href="https://www.flickr.com/photos/paultraf/50783496026/in/photostream/" title="Woodland, Churchill"><img alt="Woodland, Churchill" height="300" src="https://live.staticflickr.com/65535/50783496026_aec94a2c8e_w.jpg" width="400" /></a><script async="" charset="utf-8" src="//embedr.flickr.com/assets/client-code.js"></script><br /><a data-flickr-embed="true" href="https://www.flickr.com/photos/paultraf/50783496376/in/photostream/" title="Woodland, Churchill"><img alt="Woodland, Churchill" height="300" src="https://live.staticflickr.com/65535/50783496376_729a1c60fb_w.jpg" width="400" /></a><script async="" charset="utf-8" src="//embedr.flickr.com/assets/client-code.js"></script></p><p>Having lived for two years in Qatar, where natural freshwater resources are very scarce, I find Britain’s landscapes strikingly verdant by comparison with a lot of colour.</p><p><a data-flickr-embed="true" href="https://www.flickr.com/photos/paultraf/50783495301/in/photostream/" title="Woodland, Churchill"><img alt="Woodland, Churchill" height="300" src="https://live.staticflickr.com/65535/50783495301_d92db0d67d_w.jpg" width="400" /></a><script async="" charset="utf-8" src="//embedr.flickr.com/assets/client-code.js"></script><br /></p><p>Proceeding on the footpath, another lighting effect was evident – in mist:</p><p><a data-flickr-embed="true" href="https://www.flickr.com/photos/paultraf/50782732778/in/photostream/" title="IMG_0081"><img alt="IMG_0081" height="300" src="https://live.staticflickr.com/65535/50782732778_27f0c81585_w.jpg" width="400" /></a><script async="" charset="utf-8" src="//embedr.flickr.com/assets/client-code.js"></script><br /><a data-flickr-embed="true" href="https://www.flickr.com/photos/paultraf/50783494601/in/photostream/" title="IMG_0083"><img alt="IMG_0083" height="300" src="https://live.staticflickr.com/65535/50783494601_ddea818fb3_w.jpg" width="400" /></a><script async="" charset="utf-8" src="//embedr.flickr.com/assets/client-code.js"></script></p><p>And finally, the sun set, the last glimmers cast across a pond</p><p><a data-flickr-embed="true" href="https://www.flickr.com/photos/paultraf/50783598302/in/photostream/" title="IMG_0093"><img alt="IMG_0093" height="500" src="https://live.staticflickr.com/65535/50783598302_43530b4468.jpg" width="375" /></a><script async="" charset="utf-8" src="//embedr.flickr.com/assets/client-code.js"></script><br /></p><p>(a temporary view due to a vehicle crashing into a fence).</p><p><br /></p><p>Yet the weather was set to change again. Temperatures fell, the clouds cleared, revealing a fairy-tale landscape. On New Year’s Eve <a href="https://www.harvingtonhall.co.uk" target="_blank">Harvington Hall</a> and its environs were looking splendid.</p><p><a data-flickr-embed="true" href="https://www.flickr.com/photos/paultraf/50783493341/in/photostream/" title="Harvington Hall"><img src="https://live.staticflickr.com/65535/50783493341_612f8d80ed_w.jpg" width="400" height="300" alt="Harvington Hall"></a><script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"></script></p><p>Being closed to the public at this time merely added to the magical atmosphere of this moated Elizabethan manor house.</p><p><a data-flickr-embed="true" href="https://www.flickr.com/photos/paultraf/50782730703/in/photostream/" title="Harvington Hall"><img src="https://live.staticflickr.com/65535/50782730703_5a35371c36_w.jpg" width="400" height="300" alt="Harvington Hall"></a><script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"></script></p><p>There are, though, some residents happily offering to greet visitors:</p><p><a data-flickr-embed="true" href="https://www.flickr.com/photos/paultraf/50782730493/in/photostream/" title="Harvington Hall"><img src="https://live.staticflickr.com/65535/50782730493_35d7c81281.jpg" width="375" height="500" alt="Harvington Hall"></a><script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"></script></p><p>Perhaps more spectacular than the snow was the hoar frost.</p><p><a data-flickr-embed="true" href="https://www.flickr.com/photos/paultraf/50783595892/in/photostream/" title="Hoar Frost on a Tree"><img src="https://live.staticflickr.com/65535/50783595892_cefb35f214.jpg" width="375" height="500" alt="Hoar Frost on a Tree"></a><script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"></script><br /><a data-flickr-embed="true" href="https://www.flickr.com/photos/paultraf/50782730203/in/photostream/" title="Hoar Frost on a Tree"><img src="https://live.staticflickr.com/65535/50782730203_9f5d9ced83.jpg" width="375" height="500" alt="Hoar Frost on a Tree"></a><script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"></script><br /><a data-flickr-embed="true" href="https://www.flickr.com/photos/paultraf/50783491856/in/photostream/" title="Hoar Frost on a Tree"><img src="https://live.staticflickr.com/65535/50783491856_1e43639632_w.jpg" width="400" height="300" alt="Hoar Frost on a Tree"></a><script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"></script></p><p>I’m evidently fascinated by trees! These images link to full-sized versions, where you can zoom in to see the frost more closely.</p><p>Just a little way down the slope there is another pond, where I took another snap of a tree with light being refracted.</p><p><a data-flickr-embed="true" href="https://www.flickr.com/photos/paultraf/50783489431/in/photostream/" title="Harvington"><img src="https://live.staticflickr.com/65535/50783489431_5305099917.jpg" width="375" height="500" alt="Harvington"></a><script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"></script><br /></p><p>I’ll finish with a framed image; reflections depend on light.</p><p><a data-flickr-embed="true" href="https://www.flickr.com/photos/paultraf/50783594632/in/photostream/" title="Harvington Hall"><img src="https://live.staticflickr.com/65535/50783594632_1c51a2b976.jpg" width="375" height="500" alt="Harvington Hall"></a><script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"></script></p><p><a href="https://flickr.com/photos/paultraf/" target="_blank">Further photos</a> on Flickr.</p><p>Wishing everyone a clearer, brighter New Year!</p>
Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com5tag:blogger.com,1999:blog-15893824.post-17216291922042596652020-12-04T10:58:00.004+00:002021-01-10T12:12:20.734+00:00Forthcoming book: Buddhism and Computing<p>During the past decade and a half, I have explored a range of topics on this blog relating to Buddhist theory and current practice (e.g., on <a href="/2018/08/pause-for-thought-use-of-interventions.html" target="_blank">interventions</a>). I’m pleased to report that many of these ideas and strands of thought have been distilled in a forthcoming book, Buddhism and Computing, which will be published by <a href="https://mudpiebooks.com/contact-form/" target="_blank">Mud Pie Books</a> on 1 May 2021 (pandemic permitting). </p><p>Its chapters are:</p><p><span style="font-family: verdana;"> Prologue<br /> 1 Numbers and Computation<br /> 2 Buddhist Ethics<br /> 3 Computers and Intelligence<br /> 4 Modelling Mind and Processes<br /> 5 Designing Sustainable Social Networks<br /> 6 Ensuring Online Safety<br /> 7 Are We Here Yet?<br /> Epilogue</span></p><p>Being just a small volume, there isn’t space for a comprehensive introduction to Buddhism, but I have tried to provide some of the basics (a great exercise in being concise!). The application to computing draws on my background in mathematics, computer science and IT. </p><p>We are faced with many concerns about the potential impact of machines and AI for the future of humanity. They are widely reported in the media, but the responses tend to be focused on particular issues and get immersed in technical and legal details. So, as a start, we need to create the cognitive space to delve more deeply into the nature of human agency and well-being. Then we are in a better position to evaluate AI and other advanced technologies. Everyone should be involved in this process.</p><p>The book will be a contribution to the 'Mud Pie Slices' series, where readers can explore many interesting and sometimes unexpected connections that Buddhism offers. To be informed about Buddhism and Computing and other forthcoming titles, please subscribe to the <a href="https://mudpiebooks.com/contact-form/" target="_blank">Mud Pie mailing list</a>. (Note that after submitting your details through the form, you should receive an email asking for confirmation.)</p><p>Several interesting titles are already being lined up…</p><div><br /></div>Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com2tag:blogger.com,1999:blog-15893824.post-29596195321321901412020-09-14T19:46:00.005+01:002020-09-18T10:56:08.046+01:00Schlich and Schauberger: The Contrasting Fortunes of Two Distinguished Foresters <p><span style="font-size: x-small;">[Updated on 15 Sept '20 to insert a photo, transcription and translation of Schlich's memorial stone and again on 18 Sept with updates concerning information on Wikipedia.]</span></p><p><br /></p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://upload.wikimedia.org/wikipedia/commons/thumb/9/91/Sir_William_Schlich01.jpg/180px-Sir_William_Schlich01.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="180" src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/91/Sir_William_Schlich01.jpg/180px-Sir_William_Schlich01.jpg" /></a><a href="https://1.bp.blogspot.com/-o-lynP427r8/X1-ysow1V6I/AAAAAAAABBs/Mlk5hFMFcew8RpCT1jamCj2VX3Q91gR9QCLcBGAsYHQ/s240/Viktor_Schauberger-180x240.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="180" src="https://1.bp.blogspot.com/-o-lynP427r8/X1-ysow1V6I/AAAAAAAABBs/Mlk5hFMFcew8RpCT1jamCj2VX3Q91gR9QCLcBGAsYHQ/s0/Viktor_Schauberger-180x240.jpg" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><b>Sir William Schlich (left) and Viktor Schauberger (right)</b></div><p><br /></p><h3 style="text-align: left;">Forestry Science</h3><p>Earlier this month I met up with a former colleague, who gave me a guided tour of Bagley Wood, entering it from his back garden. In millennia gone by it was part of a continuous stretch of forestry that incorporated what we now call Wytham Woods. Nowadays both are conserved for research purposes and have University connections: <a href="https://www.sjc.ox.ac.uk/discover/news/silver-medal-bagley-wood-duke-cornwall-award/" target="_blank">Bagley Wood has for centuries been owned by St John’s College</a>, whilst <a href="https://www.wythamwoods.ox.ac.uk/" target="_blank">Wytham Woods was bequeathed to the University</a> in the early 1940s. </p><p>This has helped them retain evidence of their historic ancestry, which is important as environmental concerns continue to grow. In Bagley, I was shown oak trees of various ages and how they are in close alignment with the paths; the ancient ones, many hundreds of years old with their wide trunks, tend to have collapsed, losing their original shape. Furthermore, such woods are being systematically mapped in detail, revealing the extent of ancient woodland, for instance a <a href="https://www.researchgate.net/figure/Study-site-location-in-the-UK-and-map-of-Wytham-Woods-showing-woodland-types-location-of_fig1_45146656" target="_blank">study site map</a> for Wytham Woods. </p><p>As we trundled along, we then came across a memorial stone in Latin, dedicated to Wilhelm Schlich (1840-1925), who decades later is <a href="https://blog.biodiversitylibrary.org/2020/07/wilhelm-philip-daniel-schlich.html" target="_blank">described as the founder of forestry science</a>. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/--T4g6VxA7BI/X2EDHZhCdSI/AAAAAAAABB4/tDxVcdnQxDw1MH6ZiTYu-x-HzRD8xSdYwCLcBGAsYHQ/s16000/William%2BSchilck%2Bmemorial-adjust-medium.jpg" target="_blank"><img alt="Memorial stone for Sir William Schlich, Bagley Wood" border="0" data-original-height="1008" data-original-width="756" height="640" src="https://1.bp.blogspot.com/--T4g6VxA7BI/X2EDHZhCdSI/AAAAAAAABB4/tDxVcdnQxDw1MH6ZiTYu-x-HzRD8xSdYwCLcBGAsYHQ/w480-h640/William%2BSchilck%2Bmemorial-adjust-medium.jpg" title="Memorial stone for Sir William Schlich, Bagley Wood" width="480" /></a></div><br /><p>Latin transcription:</p><blockquote>In Memoriam Gulielmi Schlich MDCCCXL – MCMXXV Scholae Silviculturae apud Oxoniensis fundatoris et in commemorationem itineris sui ponendae adfuerunt publicis Germaniae silvarum curatoribus viri delecti tum primum publice in Britanniam missi. Quarto die mensis Aprilis anno MCML. </blockquote><p>My attempt at translation (suggested improvements welcome, else <i>caveat lector</i>!)</p><blockquote><i>In Memory of William Schlich (1840 – 1925), the Founder of the School of Silviculture (Forestry) at Oxford and in commemoration of his journey that led to its establishment; he was initially selected from German forest wardens to enter British service. [Erected] 4th April 1950.</i></blockquote><p>By applying scientific methods to the cultivation, management, preservation and utilisation of forests, he has influenced generations of forestry specialists and in turn had a major impact on our landscapes today. It is probably in large part thanks to him that visitors are able to enjoy the conservation woods in this locality; I especially value their presence as many of my ideas have surface in <a href="https://www.flickr.com/search/?user_id=64771032%40N00&view_all=1&text=wytham" target="_blank">my wanderings</a> through Wytham Woods. </p><p>Yet Schlich’s family did not have any background in forestry; it was an interest he developed himself whilst at university. Having initially studied mathematics and mechanical engineering, he was inspired to pursue forestry studies by Gustav Heyer, who lectured in the subject. Schlich’s professional career subsequently flourished <a href="https://en.wikipedia.org/wiki/Wilhelm_Philipp_Daniel_Schlich#Biography" target="_blank">in the service of the British Imperial Indian Forestry Service</a>. </p><p>In basic terms, the impetus came from the need to support the economic prosperity of a colonial power with the management and supply of timber stocks. However, in conducting his work, he developed his appreciation of sustainability and a sense of how forests contribute to general well-being. It is evident in his magnum opus, the five-volume <a href="https://www.biodiversitylibrary.org/bibliography/16487#/summary" target="_blank">Manual of Forestry</a>: in Volume 1, concerning forest policy, Schlich starts his introduction with a definition of a ‘forest’, taking account of both natural ‘primeval’ forests and cultivated ‘economic’ forests. His discussion of the utility of forests (Part 1, Chapter 1) is likewise broad, partitioning it into ‘direct utility’ and ‘indirect utility’; the former treating economic necessity, the latter embracing broader environmental considerations such as temperature and moisture together with factors of well-being (‘hygiene, aesthetics and ethics’).</p><p>Schlich recognizes that forests generally create moister climes than exposed land, “On the whole, there can be no doubt that forests preserve humidity to a considerable extent”, more so at altitude, though they also consume water (p.16). Schlich then goes on to describe mechanical effect of forests, how the water is retained by forests:</p><blockquote>Of the rain falling over a forest, close on one-fourth is intercepted by the crowns of the trees, and the other ¾ fall upon a layer of humus which possesses a great capacity of absorbing water and of retaining it for a time.<br /><br />Some of that water evaporates from the soil covering, but the greater part penetrates into the soil; some of it is taken up by the roots, and the balance becomes available for the feeding of springs. In this manner well-preserved forests have a decided effect upon the sustained flow of springs.</blockquote><p>He goes on to relate that the absorption of water by forests reduces the flood level. He describes many about other health benefits of forests, particularly their release of oxygen into the air and the general absence of pollution, making them beneficial for visitors.</p><p>Whilst Schlich describes some of the general effects from the absorption of water in relation to the physical environment and human well-being, he does not (from my cursory reading) appear to say anything about the water itself, its chemical composition, how this might change during the lifecycle, and what this means for the planet and humanity. Generally speaking, water is treated as a collective mass, an aggregate resource. For a deeper exploration, we need another voice …</p><h3 style="text-align: left;">Forests and Water</h3><p>In 1885, the year Schlich moved to England to take up the pioneering post of Professor of Forestry at the Royal Indian Engineering College, there was to emerge someone else who was to take a deep interest in forests, Viktor Schauberger. He was born near Linz in Upper Austria into a family that had been foresters for many generations, their motto being <i>Fidus in Silvis Silentibus</i> “Faithful to the Silent Forests” – reflecting a deep awareness of Nature’s harmony, where there is sound, but not noise. </p><p>Thus Schauberger became absorbed in forestry from a very early age. From early childhood he developed an acute sensitivity to the silvan environment, immersing himself in its embrace, observing and reflecting, especially on water, for hours at a time, heeding well his mother’s advice,</p><blockquote>If occasionally life is really hard, and you don't know where to turn, go to a stream and listen to its music. Then everything will be alright again. <br /><div style="text-align: right;">[<span style="font-size: x-small;">Olof Alexandersson trans.</span>]</div></blockquote><p>Schauberger was encouraged by his parents to pursue higher education studies, but he refused after seeing how his elder siblings had lost much of their intuition; in his view, their minds had become perverted by that formal academic environment. Instead he trained as a forest warden. </p><p>By observing first hand and developing his intuition, he saw how Nature works in balance, especially in the properties of water and its relationship to the forests. He came to understand how nutrients are ingested in water cycles – when rainfall sinks deep into the ground it absorbs important minerals vital for life before it rises up again, emerging in springs or otherwise re-entering circulation. This he called the full water cycle. On the other hand, with deforestation, the soil bakes and cannot absorb the water, so it runs off, not only leading to flooding, but failing to absorb the minerals. To Schauberger such water was seriously depleted, it lacked the nutrients of life. </p><p>Based on his understanding of the energetic properties of water, particularly how this is affected by temperature variations, centred around 4 degrees C (water at rest, where energy is greatest), he was able to design and engineer a log flume that led to commissions for other flumes in several countries, one of which was filmed in <a href="https://www.youtube.com/watch?v=QWsUGpKfP8A" target="_blank">a 1930 documentary</a>. </p><p>His successes earned him the nickname, the 'water magician' and his reputation grew. However, whilst this provided funding for valuable research, unfortunately, as he ruefully reflected, he had successfully contributed to deforestation. From as early as the 1920s, he could clearly foresee the environmental crises that we are experiencing today, moving him to co-found Grüne Front (Green Front), the first environmental movement in Austria, the precursor to <a href="http://pks.or.at/en/introduction/" target="_blank">the Pythagoras Kepler System</a>. </p><p>Schauberger went on to develop many theories and wrote copiously on a vast array of topics, going beyond water cycles and filtration to jet propulsion, especially utilising his understanding of balancing forces and spiral vortices. He also was very ‘hands on’, producing many working prototypes, but many of these were appropriated by competing (and often unscrupulous) interests. As to his written output, he only produced materials in German and using his own unconventional terminology with little interest in translation to contemporary scientific terminology. It’s not surprising then that, unlike Schlich, you won’t hear about Schauberger in lectures or be able to read his work in university libraries. In fact, he only published one fairly small book, which had the discouraging title, <a href="https://www.amazon.co.uk/Unsere-sinnlose-Arbeit/dp/3902262001/ref=cm_cr_arp_d_product_top?ie=UTF8" target="_blank">Unsere sinnlose Arbeit</a> (later released in English as ‘Our Senseless Toil’). </p><p>Fortunately, there are a number of publications that describe his ideas (with greater optimism); much has been translated into English, for which we are indebted especially to Olof Alexandersson and Callum Coats, who spent many years with the Schauberger family, reading, digesting, understanding and translating many of his documents. </p><p>Coats wrote a succinct introduction for Nexus Magazine in three parts, entitled, <a href="https://nexusmagazine.com/?s=Schauberger&v=6b8fd1e964bd" target="_blank">Who was Viktor Schauberger?</a> (1996). Coats has also authored more substantial works, including perhaps the most comprehensive guide, <a href="https://www.amazon.co.uk/Living-Energies-Schaubergers-Brilliant-Explained/dp/0717133079/" target="_blank">Living Energies</a>. To gain a taste, you can see some of his lectures on YouTube. One series was recorded on film in 1985, as Sacred Living Geometry - The Enlightened Environmental Theories of Viktor Schauberger - <a href="https://vimeo.com/157345508" target="_blank">part 1</a> and <a href="https://vimeo.com/157346012" target="_blank">part 2</a>. More recently, he presented <a href="https://www.youtube.com/watch?v=OFqCo5h1Qxk" target="_blank">at the 2008 Nexus conference</a>. </p><p><br /></p><h3 style="text-align: left;">Legacies</h3><p>Today the name of Sir Wilhelm Schlich is very much associated with the advancement of modern forestry practices; he is recognised as a pivotal figure, not only in British forestry, but across the world as a result of Britain’s historical colonial connections. This is manifest in the <a href="https://www.eforester.org/Main/Community/Awards%20Folder/Sir_William_Schlich_Memorial_Award.aspx" target="_blank">Sir William Schlich Memorial Award</a> and the <a href="https://www.cif-ifc.org/schlich-memorial-prize/" target="_blank">Schlich Memorial Prize</a>.</p><p>Meanwhile, Viktor Schauberger remains a fringe figure. It's evident in his treatment on Wikipedia: he is at least listed in the <a href="https://en.wikipedia.org/wiki/Forester" target="_blank">Forester page</a>, but the <a href="https://en.wikipedia.org/wiki/Viktor_Schauberger" target="_blank">his own entry</a> is insubstantial, whilst the associated <a href="https://en.wikipedia.org/wiki/Talk:Viktor_Schauberger" target="_blank">Talk page</a> is huge and contains much ridicule. I don't think the handling of his reputation would have disturbed Schauberger for he knew the forests deeply and all that sustained them. But he was concerned about humanity's treatment of the natural world. It led him to make a prediction that is eerily prescient: unless we learn how to work in sympathy with Nature and support its proper functioning rather that going against it to exploit our world, we will surely destroy ourselves. </p><p>In his work on water cycles, at least, Schauberger appears to be far more in the consciousness of environmentalists: compare a Google search for the following (just remove the [] brackets): ["water cycle" schlich] and ["water cycle" schauberger]. You will find hardly any matches for Schlich, but many for Schauberger – many are commentaries by environmentalists.</p><p>And there is further recognition from engineers and scientists from a range of discplines, some working on flood management, others on more speculative areas. This is well summarised in <a href="https://www.youtube.com/watch?v=yXPrLGUGZsw" target="_blank">a film</a> that has the same title as Schauberger’s, motto “Comprehend and copy nature”.</p><p><!--iframe width="400" height="225" src="https://www.youtube.com/embed/yXPrLGUGZsw" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe--><br /></p><p>A few years ago whilst paying a visit to Wytham Village Stores I came across a group of three postgrads. I got chatting with one of them and asked about his research. He explained that he was involved in <a href="https://www.water.ox.ac.uk/oxford-flood-alleviation-scheme-evaluated/" target="_blank">flood alleviation in the Oxford area</a>, specifically the bypass channel to reduce the load on the flood plains. </p><p>I asked him whether he had visited Wytham Woods and he confessed he wasn’t really interested in them! His response confirms my feeling that more people would really benefit from learning about the work of both Schlich and Schauberger.</p><div><br /></div>Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0tag:blogger.com,1999:blog-15893824.post-44240820446706456742020-04-12T19:34:00.002+01:002020-04-17T16:38:13.830+01:00Commentarial Illumination on the Karaṇīya Mettā Sutta<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: left;">
<span style="font-size: x-small;">[13/4/20: Expanded the final comments with a bit more reflection]<br /> </span></div>
<h3 style="text-align: left;">
Introduction</h3>
The Karaṇīya Mettā Sutta is a cherished teaching of the Buddha on loving-kindness, always worth reflecting on, but perhaps more so than ever in the present coronavirus situation. It's usually recited in translation at meetings of a local Dhamma group. We use the <a href="https://www.accesstoinsight.org/tipitaka/kn/snp/snp.1.08.amar.html" target="_blank">version produced by the Sangha at Wat Amaravati</a>, but have been aware for some while that there are alternative translations. So in this post I shall explore a few of the differences and make reference to commentarial literature to see if this can elucidate.<br />
<h4 style="text-align: left;">
Canonical references </h4>
This teaching appears in the Sutta Nipāta of the Khuddaka Nikāya, the fifth nikāya of the Pali canon. The Sutta Nipāta has five chapters; the Mettā Sutta appears in the first, the Uragavagga (Chapter on the Serpent). My main reference source for the Pali original is <a href="https://www.accesstoinsight.org/tipitaka/sltp/Sn_utf8.html#v.143" target="_blank">the Pali Text Society (PTS) edition</a>. Hence the reference is Sn 1.8 PTS: Sn 143-152. However, note that there are variants among other editions.<br />
<div>
<h4 style="text-align: left;">
Role or Purpose of the Sutta</h4>
<div>
<i>Karaṇīya</i> means ‘that ought to be done’; hence ‘Karaṇīya Mettā’ is the <i>mettā</i> that needs to be cultivated. The sutta is one of several <i>parittas</i> (others include the <a href="https://www.accesstoinsight.org/tipitaka/kn/snp/snp.2.04.nara.html" target="_blank">Mahamangala Sutta</a> and the <a href="https://www.accesstoinsight.org/tipitaka/kn/snp/snp.2.01.piya.html" target="_blank">Ratana Sutta</a>) chanted as a protection – here the cultivation of <i>mettā</i>, a universal virtue, attracts the outward protection of <i>devas</i>. However, it’s also, perhaps primarily, aimed at being an inner protection – of one’s practice.</div>
<div>
<br /></div>
<div>
Bhikkhu Bodhi has given <a href="https://bodhimonastery.org/sutta-nipata.html" target="_blank">lectures on these and other teachings in the Sutta Nipata</a>, available from Bodhi monastery.</div>
<h4 style="text-align: left;">
Sutta Translations</h4>
<div>
Wat Amaravati’s <a href="https://www.accesstoinsight.org/tipitaka/kn/snp/snp.1.08.amar.html" target="_blank">translation into English on Access To Insight</a> sits alongside others offered by Ven. Ñanamoli, Ven. Buddharakkhita, Ven. Piyadassi and Ven. Thanissaro. <a href="http://www.leighb.com/mettasuttas.htm" target="_blank">Many others have been collated by Leigh Brasington</a>, including Bhikkhu Bodhi’s translation (need to scroll to the right to view many of them).</div>
<div>
<br /></div>
<div>
Seeing some significant differences in the translations, we may look to the Paramatthajotikā, the Commentary to the Sutta Nipāta, to see what light it may shed. Hence I have used as my main reference Bhikkhu Bodhi’s translation and analysis, <a href="https://wisdomexperience.org/product/suttanipata/" target="_blank">The Suttanipāta: An Ancient Collection of the Buddha’s Discourses Together with Its Commentaries</a>. (Other translations are available.)</div>
<div>
<br /></div>
<div>
To help clarify further, I look at some particular phrases of the original Pali and make use of the <a href="http://www.palitext.com/" target="_blank">Pali Text Society (PTS)</a> Pali-English dictionary, which I have in a single printed volume, but it’s also conveniently available as a searchable index from the University of Chicago's <a href="https://dsalsrv04.uchicago.edu/dictionaries/pali/" target="_blank">Digital Dictionaries of Asia</a> and as part of the <a href="https://www.digitalpalireader.online/" target="_blank">Digital Pali Reader</a>.</div>
<div>
<br /></div>
<div>
<h3 style="text-align: left;">
Notes on the Sutta Nipāta</h3>
<div>
Just a few notes, with reference mainly to Bhikkhu Bodhi’s introduction to his translation of the commnetary. First, what is the significance of this division of material in the canon? </div>
<div>
<br /></div>
<div>
The PTS Pali-English dictionary states the <a href="https://dsalsrv04.uchicago.edu/cgi-bin/app/pali_query.py?qs=Nip%C4%81ta&searchhws=yes" target="_blank">definition of <i>nipāta</i></a> as ‘falling (down)’ – as in <i>udabindunipātena</i>, a drop of water falling down, Dh. 121; when prefixed by <i>diṭṭhi</i> it means <i>'</i> a glance'<i> </i>(as in another commentarial reference, VvA 279, the Vimanavatthu Atthakatha being Dhammapala’s commentary on stories of the Vimāna, the Sixth Book of the Sutta Pitaka). It makes me think of the expression, ‘at a glance’, as in “the Buddha’s teachings at a glance…”, which suggests a flavour, a sample. The Paramatthajotikā seems to indicate that; it opens by saying that “it is so designated because it was recited by compiling suitable suttas from here and there.” So the <i>suttanipāta</i> is simply a ‘section’ (compilation) of suttas and because it's not arranged in the same deliberate way as other books, I think of ‘cross section’ as in a cross section of society. </div>
<div>
<br /></div>
<div>
The contents appear to be a mixture of old and new – Bhikkhu Bodhi relates that of the five chapters, the Atthakavagga and the <i>pucchās</i> of the Parayanavagga are extremely old because they are quoted in the Samyutta Nikāya and the Anguttara Nikāya “and evidently existed as collections in their own right before they were integrated into the Sutta Nipāta.” He further considers that it’s an anthology that “spans several phases of Buddhist literary activity”, reflecting that its eventual form shows systematic re-arrangement from its original smaller core. Bodhi cites N.A. Jayawickrama for the most thorough attempt to explain the formation of the Sutta Nipāta; Jayawickrama indicates that the Mahamangala Sutta and the Mettā Sutta are younger than the Atthakavagga and the Parayanavagga, but still predate Emperor Asoka. (Among the youngest he takes the Ratana Sutta.)</div>
<div>
</div>
<div>
Furthermore, Bhikkhu Bodhi notes that the Sutta Nipāta appears to be unique to the Theravāda school, which I find surprising.</div>
</div>
<div>
<h4 style="text-align: left;">
Commentarial Background</h4>
<div>
There is much to be learnt in Bhikkhu Bodhi’s discussion of the commentary – its sources, purpose and other useful contextualisation. For now, I only glean some basic facets.</div>
<div>
<br /></div>
<div>
The commentary to the Khuddaka Nikāya (‘Collection of smaller texts’), the Fifth Book of the Pali Canon is called Paramatthajotikā (<i>paramattha</i> means ‘ultimate sense’, whilst <i>jotikā</i> means ‘explanation, commentary’ derived from <i>jotaka</i>, which means ‘illuminating, making light; explaining’). It is non-canonical and was probably compiled in the fifth century CE by Buddhaghosa. Somewhat confusingly, the commentary of the Sutta Nipāta specifically is also called Paramatthajotikā, so in this context it has the suffix ‘II’ and abbreviated as Pj II. Here, as we are only interested in the one sutta, when we refer to Paramatthajotikā we mean this latter commentary.</div>
<div>
<br /></div>
<div>
The Paramatthajotikā provides background context to the suttas as well as detailed explanations of the texts. To give some indication of their extent, Bodhi’s translation of the Sutta Nipāta occupies fewer than 200 pages, whereas that of the commentary amounts to just under 1000 pages. Likewise, the Mettā Sutta is quite short, but its commentary runs in translation to 20 pages,.</div>
<div>
<br /></div>
<div>
It starts with the following background story: it is said that a group of monks, each having received some instruction from the Buddha, had requested venturing elsewhere for the rains retreat. The request granted, they arrived in unfamiliar territory at the foot of the Himalayas and were welcomed by local villagers, who made <i>kuṭīs</i> (meditation huts) for them, including beds and chairs. </div>
<div>
<br /></div>
<div>
So the monks prepared themselves to settle. However, their arrival (and radiance from practice) had displaced the local tree sprites [<i>rukkha devata </i>(‘Earth-bound devas’)?], who were displeased and attacked the bhikkhus through various senses with fearsome visions, sounds, and bad odours until they were so disturbed they had to leave. Frightened, the monks went to the Buddha for help, seeking somewhere else to stay. The Buddha indicated they should go back, instructing them in the Mettā Sutta as an antidote for their fear, but also as a meditation subject, indicating that it could help them eliminate the ‘influxes’ (<i>āsavas</i>, I assume). The monks duly returned, recited the sutta, developed the practice, and the sprites, feeling the <i>mettā</i>, were won over and became benevolent to them.</div>
<div>
<br /></div>
<div>
Incidentally, the area is described as blue-green, so it could be in a region known for <a href="https://www.gemporia.com/en-gb/learning-library/gemstone/tibetan%20turquoise%20gemstone/" target="_blank">Tibetan Turquoise Gemstone</a>.<br />
<br />
<br /></div>
</div>
<div>
<h3 style="text-align: left;">
Brief Observations on the Commentary</h3>
<div>
Here I make reference to Bodhi’s translation, pp. 565 -584.</div>
<div>
<br /></div>
<div>
It’s the first time I recall having read a sutta commentary from start to finish; previously I had looked up occasional references, but never read a commentary in its entirety. </div>
<div>
<br /></div>
<div>
Bodhi informs us that the first two and a half verses are aimed at the conduct of the forest dwellers (i.e. monks). The commentary expands on the text to show how it includes instructions on the upholding of the Pāṭimokkha, the monastic rules of training – hence what should be done and what should not be done.</div>
<div>
<br /></div>
<div>
However, Bodhi comments “under the heading of the forest dweller, he has also spoken for all those who have learned a meditation subject and wish to dwell thus." The Buddha instructs on the development of advanced meditation practice – which is the arguably the real import of the verses – exhorting the practitioners to keep <i>mettā</i> in mind in all four standard postures. With the words “May all beings be happy and secure”, he begins to discuss loving-kindness both as a protective device for dispelling the peril from those deities and as a meditative subject for attaining <i>jhāna</i> to be used as the basis for insight.</div>
<div>
<br /></div>
<div>
<div>
The commentary concludes:</div>
<blockquote class="tr_bq">
Having developed loving-kindness as they were taught, those bhikkhus took it as a basis, aroused insight, and within that three-month period all attained arahantship, the foremost fruit. They then held the great Pavarana ceremony in purity…</blockquote>
</div>
<div>
<br /></div>
<div>
In terms of style, I note:</div>
<div>
<ul style="text-align: left;">
<li>The commentary is exegesis, i.e. a scholarly critical analysis of the text drawing on various sources and looking at the structure of the text and then its meaning. So, I imagine Buddhaghosa in a large library with various accounts at his disposal, mainly provided by monastic colleagues. </li>
<li>So this is not a definitive account, but rather one than reads like: “One account says, whilst another says…” Likewise, in terms of the text, a number of alternative explanations are offered, some with extensive details </li>
</ul>
</div>
<div>
<h3>
Some Phrases</h3>
</div>
<div>
Now we examine a few points of difference or refinements in translation between Bhikkhu Bodhi and Amaravati (abbreviated by ‘B’ and ‘A’ respectively) and ask: What light do the commentaries shed on the meaning of these particular phrases? As this is a very popular sutta, there is much discussion, even on how to do the translation; there’s <a href="https://discourse.suttacentral.net/t/metta-sutta-translation-issues/6170" target="_blank">an interesting thread on Sutta Central</a>.)</div>
<div>
<br /></div>
<div>
<div>
<span style="background-color: #d9ead3;">143. <i>yaṃ taṃ santaṃ padaṃ abhisamecca</i></span></div>
<div>
<span style="background-color: #d9ead3;">A: And who knows the path of peace</span></div>
<div>
<span style="background-color: #d9ead3;">[later versions replace ‘knows’ by ‘seeks’]</span></div>
<div>
<span style="background-color: #d9ead3;">B: [One] Having made the breakthrough to that peaceful state</span></div>
<div>
<br /></div>
<div>
<i>abhisamecca</i> comes from <i><a href="https://dsalsrv04.uchicago.edu/cgi-bin/app/pali_query.py?qs=Abhisam%C4%81gacchati&searchhws=yes" target="_blank">abhisamāgacchati</a></i>, which the PTS dictionary defines as ‘to come to (understand) completely, to grasp fully, to master’.</div>
<div>
<br /></div>
<div>
The commentary explains that this is concerning one who wishes to really know that breakthrough to that peaceful state which is <i>nibbāna</i> – whether they have only an aspiration or already possess some mundane understanding and not yet achieved it. So Bodhi’s translation appears to be correct, but it sounds less elegant, but substituting ‘seeks’ for ‘knows’ loses the sense of knowing that is in the text. </div>
<div>
<br /></div>
<div>
Given that the recitation is for those who have yet to reach <i>nibbāna</i> and as I like the rhythm of the first, I think it may suffice to insert a few words: </div>
<div>
<br /></div>
<div>
>> ‘And who would [come to] fully know that state of peace:’</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<span style="background-color: #d9ead3;">143. <i>sūvaco cassa</i></span></div>
<div>
<span style="background-color: #d9ead3;">A: “Straightforward and gentle in speech”</span></div>
<div>
<span style="background-color: #d9ead3;">B: “Amenable to advice”</span></div>
<div>
<br /></div>
<div>
[PTS offers for <i>suvaca</i>: 'gentle speech', but also 'obedient; meek; compliant' (see <a href="https://dsalsrv04.uchicago.edu/cgi-bin/app/pali_query.py?qs=Subbaca&searchhws=yes" target="_blank"><i>subbaca</i></a>); the <i>ū</i> is just an alternative to <i>u</i>]</div>
<div>
<br /></div>
<div>
The commentary explains that this means they welcome and encourage criticism based on observation from the wise, so Bodhi’s interpretation again appears correct, especially as the commentary makes clear that this revolves around monastic instruction.</div>
<div>
<br /></div>
<div>
But it’s simpler and more generally appealing to say: “easy to speak to” </div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<span style="background-color: #d9ead3;">144. <i>appagabbho kul-esva-nanu-giddho</i></span></div>
<div>
<span style="background-color: #d9ead3;">A: “Not proud or demanding in nature”</span></div>
<div>
<span style="background-color: #d9ead3;">B: “courteous, without greed when among families”</span></div>
<div>
<br /></div>
<div>
The commentary explains that this instruction concerns the monks' almsrounds, specifically when they enter people’s homes. It means not becoming attached to their concerns, nor being covetous for requisites. It makes sense in the monastic context, but for the general reader it’s cumbersome and potentially confusing for householders. In coming up with some alternative, we need to convey the sense that the monastics mustn’t become lax or allow themselves to become spoilt by enthusiastic lay supporters, but try to come up with some other expression. I like the word 'demanding', so wonder about:</div>
<div>
<br /></div>
<div>
>> Not demanding of hospitality.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<span style="background-color: #d9ead3;">146. <i>Ye keci pāṇa bhūtatthi</i> </span></div>
<div>
<span style="background-color: #d9ead3; text-size-adjust: auto; white-space: nowrap;"><span style="font-family: -webkit-standard;"><i>tasā vā thāvarā vā ...</i></span></span></div>
<div>
<span style="background-color: #d9ead3;"><br /></span></div>
<div>
<div>
<span style="background-color: #d9ead3;">Whatever living beings … </span></div>
<div>
<span style="background-color: #d9ead3;">A: Whether they are weak or strong...</span></div>
<div>
<span style="background-color: #d9ead3;">B: Whether frail or firm...</span></div>
</div>
<div>
<div>
<br /></div>
<div>
The translations are comparable, but I wasn't sure of the meanings. The commentary explains:</div>
<div>
<ul style="text-align: left;">
<li>Frail: those that tremble (or thirst), i.e. those with craving and fear – arahants are those who stand firm</li>
</ul>
<div>
A bit further down we have the terms .</div>
<ul style="text-align: left;">
<li><i>avidūre </i>(‘near’): those beings dwelling within one’s body / vicinity / monastery … world sphere</li>
<li><i>dūre </i>(‘far’): those beings dwelling outside one’s body …</li>
</ul>
<div>
Those are relatively straightforward alternative explanations. More complex ones are offered for <i>bhūta</i> (‘born’) and <i>sambhavesī</i> (‘to be born’). One interpretation is:</div>
</div>
<div>
<ul style="text-align: left;">
<li>‘those born’ = “those who have come to be”, but won’t be reborn, i.e. arahats</li>
<li>‘those to be born’ = those who will be reborn, i.e. not arahats; </li>
</ul>
Another one reads:</div>
<div>
<ul>
<li>‘those born’ = “those who have emerged" (and similarly for 3 other modes of birth such as spontaneously arising beings</li>
<li>‘those to be born' = those who have yet to emerge from womb or shell.</li>
</ul>
</div>
</div>
<div>
<br /></div>
<div>
<div>
<span style="background-color: #d9ead3;"><span style="caret-color: rgb(0, 0, 0); font-family: -webkit-standard; text-size-adjust: auto; white-space: nowrap;">146. <i>Dīghā vā ye mahantā vā</i></span><br style="caret-color: rgb(0, 0, 0); font-family: -webkit-standard; text-size-adjust: auto; white-space: nowrap;" /><span style="caret-color: rgb(0, 0, 0); font-family: -webkit-standard; font-style: italic; text-size-adjust: auto; white-space: nowrap;">majjhamā rassakāṇukathūlā,</span></span></div>
<div>
<span style="background-color: #d9ead3;"><br /></span></div>
</div>
<div>
<span style="background-color: #d9ead3;">A: The great or the mighty, medium, short or small</span></div>
<div>
<span style="background-color: #d9ead3;">B: Those that are long or those that are large, middling, short, fine or gross</span></div>
<div>
<br /></div>
<div>
The commentary indicates that the last characteristic ('small' or 'fine') mean too subtle to be discerned with the physical eye. Small conveys a sense of dimension, but some beings may be quite voluminous, but may have subtle bodies, so escape detection, so Bodhi is again more accurate with what he writes. As I like the rhythm of Amaravati's translation, I suggest:</div>
<div>
<br /></div>
<div>
>> The great or the mighty, medium, short, fine or gross </div>
<div>
<br /></div>
<div>
<div>
<span style="background-color: #d9ead3;">149. <i>niyaṃ puttaṃ āyusā ekaputtam</i></span></div>
<div>
<span style="background-color: #d9ead3;">A: “Her child, her only child”</span></div>
<div>
<span style="background-color: #d9ead3;">B: “Her son, her only son.”</span></div>
<div>
<br /></div>
<div>
<div>
Bhikkhu Bodhi generally gives a more literal translation, reflecting the views of the society, but Amaravati's still valid according to the Pali and makes perfect sense.</div>
</div>
</div>
<div>
<br /></div>
<div>
<span style="background-color: #d9ead3;">150. <i>asambādhaṃ a-veraṃ-asapattaṃ</i>.</span></div>
<div>
<span style="background-color: #d9ead3;">A: “Freed from hatred and ill-will”</span></div>
<div>
<span style="background-color: #d9ead3;">B: “without enmity, without adversaries”</span></div>
<div>
<br /></div>
<div>
The commentary explains ‘without adversaries’ as “the absence of hostile persons; for a person who dwells in loving-kindness is dear to humans, dear to non-humans and there is no one hostile to him.”</div>
<div>
<div>
<br /></div>
</div>
<div>
There is wonderful ambiguity; it seems that <i>asapattaṃ</i> has both meanings, i.e. by being friendly, one harbours no ill feelings and at the same time receives none. 'Free from ill-will' covers both senses and could stand alone. The first translation sounds natural, so I choose to stick to it.</div>
<div>
<br /></div>
<div>
<span style="background-color: #d9ead3;">152. <i>Diṭṭhiñ ca anupagamma</i> ... <i>nahi jātu gabbhaseyyaṃ punaretīti</i></span></div>
<div>
<span style="background-color: #d9ead3;">A: “By not holding to fixed views… [one] is not born again into this world”</span></div>
<div>
<span style="background-color: #d9ead3;">B: “Not taking up any views …one never comes back into the bed of a womb.”</span></div>
<div>
<br /></div>
<div>
<div>
The Pali for <i>anupagamma</i> breaks down to <i>an-upa-gamma</i>, hence not resting (or holding) on views. I''m not sure about the insertion of 'fixed', but the qualification makes sense from the commentary, which explains that it means to have a proper detached view of <i>nāmarūpa</i> (name and form, i.e. the <i>khandas</i>). For the last clause, Bodhi's translation is again the literally correct one and I think it may be better to follow this, hence:</div>
</div>
<div>
<br /></div>
<div>
>> [one] is not born again into the womb.”</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
The Sutta Central discussion thread raises a further issue concerning lines where there seems to be agreement, but the translation is actually wrong.</div>
<div>
<br /></div>
<div>
One case that I’m persuaded by is to change:</div>
<div>
<br /></div>
<div>
<span style="background-color: #d9ead3;">148. <i>Na paro paraṃ nikubbetha</i></span></div>
<div>
<span style="background-color: #d9ead3;">“Let none deceive another”</span></div>
<div>
<span style="background-color: #d9ead3;">to</span></div>
<div>
<span style="background-color: #d9ead3;">“Let none put down another”</span></div>
<div>
<br /></div>
<div>
The <i>nikubbetha</i> is from <i>nikaroti</i> [Sk. <i>nikaroti</i>, <i>ni</i>+<i>karoti</i>] and the <a href="https://dsalsrv04.uchicago.edu/cgi-bin/app/pali_query.py?qs=Nikaroti&searchhws=yes" target="_blank">PTS defines this</a> as “to bring down, humiliate, to deceive, cheat”. </div>
<div>
<br /></div>
<div>
Just by reasoning that when not practising <i>mettā</i>, there is separative tendencies come to the fore; there is usually comparison that leads to differentiation and dislike, hence people put down (and look down on) others. The sense of deception doesn’t make sense in the context of the story.</div>
</div>
</div>
<div>
<div>
<br /></div>
<h3 style="text-align: left;">
Final Comments</h3>
<div>
I've found the commentary provided by the Paramatthajotikā on the Metta Suttā informative; knowing the background to a teaching certainly helps to draw out some of the meaning. In his translation, Bhikkhu Bodhi has been once again exceedingly helpful to make this more accessible and I start to get a feel for how the commentarial tradition has become firmly established in Buddhist lands.<br />
<br />
Buddhaghosa’s ability to analyse and categorise, epitomised in the Abhidhamma, is evident here. Yet one may cultivate <i>mettā</i> very simply and describe it simply too: like the sun emerging from a cloud it radiates brightly in every direction.</div>
<div>
<br /></div>
<div>
The Buddha taught that our object of meditation must be kept within "this fathom-long body". If we, as it were, put the sun inside ourselves and it becomes our sun, then we should know its centre and hence our centre. Furthermore, we might imagine that for it to shine to maximum effect, the body should become transparent, crystalline. </div>
<div>
<br /></div>
<div>
One doesn’t have to be Buddhist to practice. In my walks in the locality, I’ve often come across a man called Felix, whom I regard as a modern day <i>sramana</i> (wanderer). Appearing calm and content within himself, he is articulate about his own spiritual outlook on life developed over the years. He said to me that if one radiates happiness and friendliness, people will almost invariably respond positively. It’s <i>mettā</i> that he is describing and he practices well.<br />
<br />
Whilst I've learnt from the accuracy of Bhikkhu Bodhi's more literal translation, it's the rhythm and quality of naturalness that I especially appreciate in the Amaravati Sangha's rendering, so I think I will stick with that version for now.</div>
<div>
<br /></div>
<div>
<div>
Finally, as a wonderful manifestation of the sutta's universality, Ven. Dhammarakkhita has provided <a href="https://suttacentral.net/snp1.8/ar/dhammarakkhita" target="_blank">a translation into Arabic</a>. </div>
<div>
<br /></div>
<div>
<br /></div>
</div>
</div>
<div>
<br /></div>
</div>
</div>
Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0tag:blogger.com,1999:blog-15893824.post-1109143523253753662020-01-03T18:31:00.002+00:002020-01-05T21:42:52.133+00:00Universitas and communitas at university museums<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: x-small;">Updated 5/1/2020: I've reverted most of this to draft status as I ponder further...</span><br />
<br />
In recent decades the public-facing role of university museums has greatly increased. Expectations are for this to keep growing. At the same time, as part of the university, they have certain obligations; they need to fulfil the purpose of such an institution and to respect the wishes of founders and donors. So in this follow-up post to my <a href="https://paultrafford.blogspot.com/2019/12/a-vision-for-history-of-science-museum.html" target="_blank">vision for the History of Science Museum in Oxford</a>, I wish to reflect on what role a university museum might have with respect to members of the public and systems of belief, and how it might continue to develop and flourish whilst being true to its roots. As before, they’re just my personal views, not necessarily those of the Museum or the University.<br />
<br />
The early stages of Oxford’s medieval formation were characterised by <i>universitas</i>, a Latin term used for a gathering or community of scholars in higher education, who were training in holy orders, for the religious life. The word is properly contextualised in the phrase, <i>universitas magistrorum et scholarium</i>, and <a href="https://www.etymonline.com/search?q=universitas" target="_blank">connotes the whole, or entire</a>. This holistic approach to learning has been a core foundation sustaining the academic institution for some 800 years.<br />
<br />
At the heart of its operation is <i>communitas</i>, another Latin word, which may be defined [from <a href="https://www.etymonline.com/word/community" target="_blank">etymonline's entry for 'community</a>'] as "community, society, fellowship, friendly intercourse; courtesy, condescension, affability," a deep sense of collegiality, a community in spirit, not just in form. These general principles foster an ethos, which is more than any of the individual terms. The word commonly used today is ’community’, but it tends to be materialised with reference to a particular group, where the inevitable question is, ”Which community?” followed by “What about <i>that</i> community?”...<br />
<br />
<br />
<br />
<br /></div>
Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0tag:blogger.com,1999:blog-15893824.post-22997857035181766902019-12-19T21:04:00.000+00:002019-12-19T21:04:02.707+00:00On Channel 3 TV's production of Si Phaendin - Sirinya’s Thailand<div dir="ltr" style="text-align: left;" trbidi="on">
Four Reigns, Tulachandra’s translation of M.R. Kukrit Pramoj’s classic Si Phaendin (Thai สี่แผ่นดิน), provides many <a href="https://paultrafford.blogspot.com/2018/02/a-review-of-four-reigns-by-mr-kukrit.html" target="_blank">interesting avenues of Thai culture to explore</a>.<br />
<br />
Reading the novel naturally conjures up particular mental images of the various scenes. As someone from overseas, one wonders, “How realistic are my impressions? What do Thais make of their past?” So, I was delighted to come across a couple of TV productions on YouTube, particularly one by Channel 3 TV. Despite its length and the fact that there are no English subtitles, I became quite absorbed and then thought it might help a few learners of Thai language (and anyone else who is curious) if I introduce a few scenes, point to the corresponding pages in the book, and offer a bit of commentary. <br />
<br />
So I'm pleased to say that at the kind invitation of Sirinya Pakditawan, I’ve written <a href="https://www.sirinyas-thailand.de/2019/12/17/channel-3-tvs-production-of-si-phaendin-four-reigns-part-i-by-paul-trafford/" target="_blank">a guest post</a> for <a href="https://www.sirinyas-thailand.de/" target="_blank">Sirinya's Thailand</a>, her blog featuring a wide range of illuminating and colourful articles on Thai culture and traditions. <br />
<br /></div>
Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0tag:blogger.com,1999:blog-15893824.post-31252824457307209692019-12-01T21:07:00.002+00:002021-07-15T11:08:56.429+01:00A Vision for the History of Science Museum<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: x-small;">[Updated 21/12/19 with a reference under 'Validation' to Einstein's Blackboard,<br />
23/12 added a note about the Steampunk exhibition,<br />
27/12 added references to work of Stafford Beer and the Viable Systems Model<br />14/1/20 added a photo of IBM Q and a paragraph on a VR time machine, </span><br />
<span style="font-size: x-small;">9/2/20 inserted a paragraph on <i>how to be small</i> - with thanks to Prof. Jim Bennett,</span><br />
<span style="font-size: x-small;">17/4/20 added a brief mention of Covid-19 to illustrate 'history in the making'<br />plus a few other minor changes.<br />15/7/21 added material contributions as part of History in the Making]</span><br />
<br />
<br />
Apart from two years in Doha, I’ve been working at the History of Science Museum in Oxford since 2009. With <a href="https://hsm.ox.ac.uk/history-museum" target="_blank">the prospect of its centenary in 2024</a>, I have been nurturing some thoughts about what it might become. They’re just my personal views, not necessarily those of the Museum or the University. (To put this in perspective, my job title is Digital Projects Officer - I'm not a board member, senior manager, curator or collections specialist.)<br />
<br />
One of the main challenges is to properly accommodate such a wide range of scientific instruments, whose breadth should be readily apparent in the <a href="https://hsm.ox.ac.uk/collections-areas" target="_blank">collection areas</a>. I favour larger premises and a few years ago pondered the conversion of the Osney Power Station, whose generous space and impressive architecture seemed to offer stunning possibilities - of bringing together the history of science, the latest developments in science and innovation, and community engagement, apprenticeships and so on. Furthermore, the building itself had played an important role as the <a href="https://www.soue.org.uk/about/depthistory.html" target="_blank">Southwell Laboratory, used by the Department of Engineering Science</a>. It even had a wind tunnel. However, with the <a href="https://www.sbs.ox.ac.uk/news/said-business-school-granted-planning-permission-development-osney-power-station" target="_blank">future of that building now determined</a>, how might we accommodate such elements in the existing Grade I listed building on Broad Street?<br />
<br />
<h3 style="text-align: left;">
Themes</h3>
Currently, many museums are working on themes, inspired by the Rijksmuseum Boerhaave, which was elected <a href="https://rijksmuseumboerhaave.nl/emya-2019/" target="_blank">European Museum of the Year 2019</a>. Our collections are as broad, but our space is less, so we need fewer themes whose titles are more abstract, which we might call 'meta themes'. Abstract terminology, if meaningful and used well, can be immediately intriguing and prompt interest and enquiry, as with notions of architecture at the <a href="http://www.um.u-tokyo.ac.jp/" target="_blank">University Museum, Tokyo</a>.<br />
<br />
Accordingly, I would like to propose three new themes, though most of my deliberations have been only on the first:<br />
<br />
<ol style="text-align: left;">
<li>'<b>History in the Making</b>': the main thrust of this is to keep in touch with current research and development, especially across the University's science departments. An obvious example is Covid-19, the deadly novel coronavirus strain that has brought much of the world into lockdown. At Oxford there are hundreds of people involved in specialist endeavours to understand and treat the virus. Whilst the media are focused on the immediate medical emergency, still many others are looking at the wider impact on society, which surely benefits from a historical perspective.<br /><br />So imagine a circulatory system continually supplying information on the latest research, coming together at the Museum, and being distilled for public consumption, assisted by AI, and then feeding responses back to the respective departments. It was <a href="https://nqit.ox.ac.uk/person/dr-rupesh-srivastava" target="_blank">Rupesh Srivastava at NQIT</a> whom I first heard use this phrase, when he suggested bringing into focus current research, whose discoveries are already entering history books - in his case relating to quantum computing.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-a7sLDSpmTI8/Xh4UP7-k5lI/AAAAAAAAA6A/gMJX8eO8FuMZNDNniUKrBK2Ivbnp2KU-gCLcBGAsYHQ/s1600/IBM_Q.JPG" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1536" data-original-width="1152" height="400" src="https://1.bp.blogspot.com/-a7sLDSpmTI8/Xh4UP7-k5lI/AAAAAAAAA6A/gMJX8eO8FuMZNDNniUKrBK2Ivbnp2KU-gCLcBGAsYHQ/s400/IBM_Q.JPG" width="300" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">IBM Q quantum computer on display at Oxford University's Beecroft <br />
building (Department of Physics) reception area, June 2018</td></tr>
</tbody></table> <br />The title is open to many interpretations, allowing us to use any number of scholarly methods, such as Philosophy of Science, to analyse the conditions and processes that support ingenuity and innovation, whilst also looking at the implications for society as a whole. Also 'making' is a very relevant word because we are a museum of scientific instruments, all of which have makers and a process of production, along with various other provenance. It should appeal especially to loyal members of the <a href="https://www.hsm.ox.ac.uk/mailing-list" target="_blank">Rete mailing list</a>.<br /><br />Furthermore, the Museum's collections can benefit directly in terms of the material culture. The processes that feed information about research can include inventory details – not just the objects used in the experiments, but also their functions, the processes in which they are involved and their environmental properties, including indications of hazards. An ontology can be developed and refined on an ongoing basis. This will enable the Museum and other interested parties to see at a glance what departments and teams are engaged in, the materials they are using, the processes planned and underway. Fresh insights may be gained in high-level considerations of the processes intrinsic to scientific research. <br /><br />Stock control will be incorporated into the system (think about order fulfilment in online shopping), so we know the shelf life of equipment, when it is due to be replaced and the on-site movements. This will have many practical benefits. As breakthroughs are made, the Museum will already know what’s involved and be able to anticipate what equipment and samples will be reaching end of life and thus be in a position to enquire about possible accessions. There will be no need to be reactive and make hasty decisions if, for example, recycling people phone up and say, “We’ve got this… are you interested?”<br /><br />This theme will also be great for launch day as it will itself mark history in the making. It should also be chosen on a date of astronomical significance. How about Wednesday 20 March 2024, the spring equinox, an expression of being in balance?<br /><br />Location: the entrance to the Museum, currently the Entrance Gallery on the first floor, as it's the nearest contact to the outside world. Many metaphors apply such as 'keeping in touch’, encountering the surface and then as you move into the building, you go back in time and deeper into the foundations of the subject matter. It would sit well with the shop, which is usually near the entrance, offering a bright welcome and a fond farewell. (In the process of thinking afresh, we can also become more mindful of why things are laid out the way they are.)</li>
<li>'<b>Voyages of Discovery: Inner and Outer Worlds</b>': Again, laden with multiple meanings, this covers scientific 'voyages' as in theories, methods, experiments, etc., and the physical voyages that used these instruments. 'Inner and outer' allows equipment to range from microscopes to telescopes. Going beyond equipment, there are more symbolic meanings concerned with other kinds of investigations, such as what it means to be human and the nature of ‘science’ across history and cultures (the inner voyage into mind, soul, etc.).<br />
<br />
In this connection, we may explore the popular theme of science and religion. Established religions are already being engaged in dialogue through the <a href="https://www.ianramseycentre.info/" target="_blank">Ian Ramsey Centre for Science and Religion</a>, but many people regard themselves as spiritual and do not relate to organised religion. They may be interested in psychic phenomena, angels, telepathy, near-death experiences, and so on. The Museum does have some relevant objects, so I feel there is a need to learn from another organisation, whose roots lie in the work of <a href="https://en.wikipedia.org/wiki/Alister_Hardy" target="_blank">Sir Alister Hardy</a>, who had a distinguished career as a marine biologist. However, he also had a deep interest in spiritual phenomena, establishing the Religious Experience Research Unit, which built up a database of reports from individuals who had these kinds of experiences. It's now the Alister Hardy Trust and Religious Experience Research Centre, which recently celebrated <a href="https://www.studyspiritualexperiences.org/news/aht-50th-anniversary-celebrations-saturday-19-october-2019-in-oxford" target="_blank">its 50th anniversary</a>.<br />
<br />
In a short biography of Sir Alister for issue 67 of De Numine, its journal, Ben Korgen writes that after his retirement that:<br />
<br />
“<i>If Hardy had been less well known, his colleagues might have brushed this off as just another hobby or as a topic for casual conversation. Hardy was different. He was a world renowned scientist, he had been knighted, and as the Linacre Professor of Zoology at Oxford, had become an influential spokesman for the life sciences</i>.”<br />
<br />
Coincidentally, the Director of the Museum is a Fellow of Linacre College. Why not develop the Linacre connection further?<br />
<br />
Location: Basement Gallery, the bowels of the museum - plumbing the innermost depths!<br />
</li>
<li>'<b>Knowledge as Art</b>': Aesthetics, works of beauty using precise methods, fine materials, embellished and sublime, often with reverence to the divine. A bridge between science and art that's not confined to any one particular period (e.g. medieval astrolabes or Renaissance globes), but is evident throughout history. Arguably the most successful exhibition we’ve ever had in engaging and enthusing the public was inspired by the Victorians: <a href="http://www.mhs.ox.ac.uk/exhibits/steampunk/" target="_blank">Steampunk</a> saw people queueing around the block.<br />
<br />
This theme may be developed with special attention to the physical-digital spaces.<br />
<br />
Location: Top Gallery, the lightest and airiest space, as befits celestial aspirations.<br />
</li>
<li>‘<b>Experimental zone</b>’: a fundamentally immersive digital environment in which to explore our digital collections or recreate scientific experiments, incorporating enhanced 3D and kinaesthetic experiences. Not a core theme, it serves to support the others individually and as a whole. <br /><br />Although I'm not a big fan of virtual reality (VR), it might be a fitting place to install a VR time machine in which one takes a seat and, as in H.G. Wells' novel, play the part of a <i>Time Traveller</i>, particularly as this space presently houses <a href="http://www.mhs.ox.ac.uk/collections/imu-search-page/results/?querytype=field&TitInventoryNo=&TitMainTitle=&CreDateCreated=&CrePrimaryInscriptions=&CreProvenance=&CreSubjectClassification_tab=&TitCollectionGroup_tab=Beeson+Collection&CreBriefDescription=&PhyMaterial_tab=&TitAccessionNo=&ObjectType=&search=Search&thumbnails=on" target="_blank">Cyril Beeson's horological collection</a>. As one turns back the clock, scenes unfold gradually, giving witness to the Museum's remarkably varied history over the centuries: its spaces - as laboratory, teaching space, etc. - and its protagonists, such as Elias Ashmole, the founder, its scientists, curators and other occupants. Plenty of scope for interaction.<br />
<br />
Location: Beeson Room</li>
</ol>
<h4 style="text-align: left;">
Validation</h4>
For the themes to be well-grounded, an audit of the collections is needed to ascertain relative strengths and weaknesses – there may be some surprises!<br />
<br />
Consistent with our primary responsibility of preservation, once we’ve come up with a set of themes, we may test their coverage by seeing if it accommodates each of our <a href="https://hsm.ox.ac.uk/past-exhibitions-and-displays" target="_blank">past exhibitions and displays</a>. It should in particular encompass objects featured in the audio guide. So, for example, we may test against the most popular of these, which is consistently (according to Front of House) <a href="http://www.mhs.ox.ac.uk/object/inv/44725" target="_blank">Einstein's Blackboard</a>, and we see that it's readily satisfied by applying 'Voyages of Discovery: Inner and Outer Worlds' - the mathematical equations represent the expansion of the universe, measuring both density and distance.<br />
<br />
The blackboard is arguably our 'unique selling point' (USP). It was even a catalyst for <a href="https://www.mhs.ox.ac.uk/blackboard/" target="_blank">its own exhibition</a>.<br />
<br />
<h3 style="text-align: left;">
Development of the Themes and Sustainability</h3>
Themes must also be sustainable - not only financially, but also in terms of being properly embedded in the University's wider functioning. So the science departments should be involved, especially in co-creating 'History in the Making'. Taking the cue from the Boerhaave, Museum staff can visit each department and invite their views on what they'd like to see at the Museum, how they may be assisted in reaching various audiences, the kinds of programmes that might be done together.<br />
<br />
Having conversed with the science departments, other subject disciplines can be brought in, shaped overall by the discipline of '<a href="https://en.wikipedia.org/wiki/History_of_science" target="_blank">history of science</a>' and the set of values (to be agreed) - I'm certainly not a specialist in this field! To help with manageability, a special project could be set up to devise new kinds of processes, working towards a kind of evolutionary cycle such that any new initiative will be seamlessly incorporated with supporting materials, ready for further analysis so as to enhance our existing state of understanding.<br />
<br />
This leads to broader organisational considerations and arguably the greatest challenge: long-term economic viability. So it’s perhaps here where we might expect the most radical transformation. In that spirit, I suggest that ideas of circulation and cycles should be likened to a responsive living organism and the inter-relatedness of its organs. It prompts me to recall a conversation with the late Alfred Crabtree, FIProdE, an engineer and management consultant, who introduced me to the field of management cybernetics. He lent me his copy of Stafford Beer’s <a href="https://www.wiley.com/en-gb/Brain+of+the+Firm,+2nd+Edition-p-9780471948391" target="_blank">Brain of the Firm</a>, a seminal work that proposes the <a href="https://en.wikipedia.org/wiki/Viable_system_model" target="_blank">Viable Systems Model</a> for organisational design, with the ability to continually adapt to environments they cannot fully control.<br />
<br />
There’s a nice <a href="http://metaphorum.org/viable-system-model" target="_blank">explanation provided by Metaphorum</a>, an open society that seeks to further these ideas. We can see that the model consists of a number of inter-operating subsystems that exhibit a set of characteristics vital for sustainability. According to this model, the operational subsystem comprises largely autonomous operational units, which applied to our scenario of ‘history in the making’ would include what we might call ‘input streams’ from each science department providing resources. HSM management would foster the ethos, coordinate and ensure harmony between the respective components: one of the subsystems is in fact devoted to ensuring working together in symbiotic relationships, internally and externally.<br />
<br />
There is also emphasis on balance, which readily applies to curation, where there is a need to ensure consistency of the information and fairness in interpretation. It also applies at higher organisational level: to be feasible the model has to be properly representative of all parties, particularly for the science departments, which may mean that the model has to scale up to the University. (It might be interesting to use the VSM to assess the highly devolved organisational structures that have evolved over the centuries compared with the more centralised modern ones.)<br />
<br />
In terms of the relationship with other heritage institutions, the museums sector, I am pondering thoughts offered by <a href="https://blogs.mhs.ox.ac.uk/insidemhs/9/" target="_blank">Professor Jim Bennett, former Director of the Museum</a> on <i>how to be small</i>. Being small places importance on being different, of doing our own thing, and risking something original (as he articulated in an <a href="https://www.youtube.com/watch?v=5i9ZX10iM64" target="_blank">interview about the Steampunk exhibition</a>). When other museums copy the idea we know it's been successful, but even if it doesn't work out then we can learn from our mistakes and move on. It motivates being more distinctive and experimental, like a laboratory -
with the obvious historical
allusions to the building's earlier usage - that generates ideas for the sector. I see it as a kind of
<i>museological maquette</i>, where various creative ideas are tried out on a small scale without being onerous. It would apply not just to the Experimental Zone, which would seem a natural fit, but to the Museum as a whole.<br />
<br />
On a ‘revolutionary’ note, Stafford Beer was invited in the early 1970s to apply cybernetics to Chilean society, resulting in Project Cybersyn, <a href="https://www.theguardian.com/technology/2003/sep/08/sciencenews.chile" target="_blank">an attempt to implant an electronic "nervous system"</a>. Whilst that particular project was abruptly terminated, the appeal to biological systems was echoed by Bill Gates in his promotion of a ‘<a href="https://en.wikipedia.org/wiki/Digital_nervous_system" target="_blank">digital nervous system</a>’ in the late 1990s. This ecosystem permeated the entire Microsoft global business and evidently was immensely successful.<br />
<br />
<br />
Whatever the vision and themes to realize that vision, their fulfilment will need clarity and considerable synergy. It is in many ways an architectural challenge of the mind, where the designs are to support an intellectual apparatus where the development of scientific knowledge is treated as a whole, operating in a continuum across the full spectrum of human history.<br />
<div>
<br /></div>
<div>
<br /></div>
</div>
Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com3tag:blogger.com,1999:blog-15893824.post-57534424619572191272019-05-26T22:27:00.000+01:002019-07-06T21:23:06.333+01:00Aspects of nibbāna from a lecture by Bhikkhu Bodhi (1979)<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: x-small;">[31 May 2019] </span><span style="font-size: x-small;">Updated </span><span style="font-size: x-small;">to try to clarify opening sentences.</span><br />
<span style="font-size: x-small;">[6 July 2019] Added an early version of the fable about the fish and the turtle.</span><br />
<br />
In my exploration of intuition, I became fascinated by <a href="https://paultrafford.blogspot.com/2019/05/on-intuition-in-life-and-work-of.html" target="_blank">its role in Srinivasa Ramanujan's work in mathematics</a>; he developed it in his spiritual practice with utmost commitment, which was rewarded by extraordinary discoveries. Accounts of his animation philosophical discussions addressed the Absolute in Brahmanism, as the ultimate source for his results, thereby endowing a very positive outlook.<br />
<br />
In Buddhism, there is the term <i><a href="https://dsalsrv04.uchicago.edu/cgi-bin/app/pali_query.py?qs=Nibb%C4%81na&searchhws=yes" target="_blank">nibbāna</a></i>, which literally means 'without fuel [of craving]', and at first glance seems quite the opposite perspective, but its attainment may likewise be viewed positively as a transcendent state with supreme qualities - in which the Buddha is, for instance, 'Well-gone' and 'Knower of the worlds' (see e.g. the daily chant, <i><a href="http://buddhism.lib.ntu.edu.tw/BDLM/lesson/pali/reading/vanda3.htm" target="_blank">iti pi so</a></i>).<br />
<br />
It can be a wonderful perspective to reflect on, to turn the mind to 'the deathless', especially when the path becomes difficult with its various obstacles. So here I've transcribed a portion of a talk by <a href="https://bodhimonastery.org/ven-bhikkhu-bodhi.html" target="_blank">Ven. Bhikkhu Bodhi</a>, a most distinguished scholar monk, responsible for many authoritative translations, particularly for <a href="https://www.google.com/search?ls=en&q=site:bps.lk+%22bhikkhu+bodhi%22" target="_blank">the Buddhist Publication Society</a> and <a href="https://www.wisdompubs.org/author/bhikkhu-bodhi" target="_blank">Wisdom Publications</a>. Bhikkhu Bodhi originally delivered this presentation as Lecture No. 6: <i>nibbāna</i> from a series in autumn 1979 at the <a href="http://www.buddhistvihara.com/" target="_blank">Washington Buddhist Vihara</a> and then, at the request of Bhante Gunaratna, recorded the series in the summer of 1981 for distribution on tape, which were subsequently digitised and the <a href="https://bodhimonastery.org/the-buddhas-teaching-as-it-is.html" target="_blank">audio made available online by Bodhi Monastery</a>.<br />
<br />
This lecture has since been <a href="https://web.archive.org/web/20021006043700/http://www.beyondthenet.net/dhamma/nibbana.html" target="_blank">summarised</a> and appeared in various places, sometimes with further editing, e.g. at <a href="http://wisdomquarterly.blogspot.com/2010/10/all-about-nirvana.html" target="_blank">Wisdom Quarterly</a>, and portions have been frequently quoted, e.g. on <a href="https://dhammawheel.com/viewtopic.php?t=23597" target="_blank">Dhamma Wheel</a>. But the summary paraphrases, omits some passages and contains some slight changes in meaning. Whilst it makes the presentation more suitable for print, it still lacks references that were missing from the original lecture audio, though in his talk Bhikkhu Bodhi mentions a list of terms, which I guess was originally part of a handout that might have included the references. So I decided to carry out a transcription of a chunk of about 20 minutes, and to make explicit as many of these references as I can, with links to translations, where available, by Bhikkhu Bodhi.<br />
<br />
<><><><br />
<br />
In his Dhamma talk, Bhikkhu Bodhi opens with the <i>vandana</i>, homage to the Buddha, by chanting "<i>Namo tassa bhagavato arahato samma sambuddhasa</i>”, as part of the customary <a href="https://inthewordsofbuddha.wordpress.com/2013/12/22/namo-tassa-bhagavato-arahato-samma-sambuddhassa/" target="_blank">veneration</a>. Then, briefly, he introduces this talk in the context of the series, by saying that so far the previous talks have dealt primarily with the problem of suffering, but suffering is only the starting point, and the truth of suffering represents the negative side. In this talk and the following one he deals with the positive side, the third and fourth Noble Truth.<br />
<br />
However, before doing so he reminds his listeners that we have to know about suffering to give us a reason to seek liberation and <i>urgently</i>, hence using the imagery of escaping a house on fire, the fire representing greed, hatred and delusion fuelled by flames of craving.<br />
<br />
We now join shortly before the 12 minute mark, where Bhikkhu Bodhi relates this to <i>nibbāna</i>, discussing the psychological dimension. (My insertions are generally <span style="color: #274e13;">in green</span> inside square brackets [].)<br />
<br />
<h3 style="text-align: left;">
Transcription</h3>
[11.40] “The word <i>nirvana</i> [Sanskrit] or <i>nibbāna</i> [Pali] literally means 'the going out or extinguishing of a flame'. And thus used figuratively by the Buddha, it means the extinguishing of the flame of craving, the extinguishing of the fires of greed, hatred and delusion. The Pali writers also take the word to have the meaning of 'escape from the forest', that is escape from the forest of craving, or from the forest of Samsaric becoming. The state of <i>nibbāna</i> is the ultimate goal of the Buddhist path, the end and the transformation of the entire practice.<br />
<br />
The Buddha says that just as the waters of a river plunge into the ocean and merge with the ocean, so the spiritual path, the Noble Eightfold Path, plunges into <i>nibbāna</i> and merges with <i>nibbāna</i>.<br />
[<span style="color: #274e13;">This might combine multiple references; the idea is expressed in slightly different words in the Daruka-khandha Sutta (the Simile of the Great Log), <a href="https://www.accesstoinsight.org/tipitaka/sn/sn35/sn35.200.than.html" target="_blank">SN 35:200 (241) </a>and the wording is from the Rādhasaṃyutta of the Saṃyutta Nikāya, SN 23:1(1), where the Venerable Rādha asks a series of incremental questions, finally concerning <i>nibbāna</i>, to which the Buddha states “the holy life is merged in <i>nibbāna</i>, its consummation is <i>nibbāna</i>, its culmination is <i>nibbāna</i>."</span>]<br />
<br />
Now when we try to talk about <i>nibbāna</i>, we immediately come up against the problem that <i>nibbāna</i> is said to be “beyond the range of speech and language”, [<span style="color: #274e13;"><i>atakkāvacara</i> – beyond logical reasoning</span>]. <i>nibbāna</i> is a supermundane state, a reality which is to be seen, realized and experienced, not a concept to be conceptualised or an idea to be discussed. Ultimately, <i>nibbāna</i> should be experienced and realized. However, to make known the nature of <i>nibbāna</i>, we have to resort to words, we have to speak about it and therefore this lecture becomes possible. If we were to really give a very direct communication of the nature of <i>nibbāna</i>, we just have to stop the lecture at this point, but then those who are listening would be disappointed. So therefore I shall have to go on to speak, to fill up the rest of the tape.<br />
<h4 style="text-align: left;">
<i>nibbāna</i> is an existing reality</h4>
Now the question comes up as to the nature of <i>nibbāna</i> and especially the question is asked: Does <i>nibbāna</i> signify only the extinction of the defilements and liberation from <i>samsara</i> or does it signify some reality existing in itself? According to the Theravada School of Buddhism, which I see to be solidly grounded in the actual word of the Buddha, <i>nibbāna</i> is not only the destruction of defilements and the ending of <i>samsara</i> but an actually existing reality, a reality which is transcendent to all the realms of phenomenal existence, to the entire empirical world of mundane experience.<br />
<br />
There are certain reasons which can be offered in support of this view. Here I don't wish to burden anybody with dry scholarship, but a look at the texts, at the suttas spoken by the Buddha, can help clarify for us our idea of what <i>nibbāna</i> is. (This part might be a little bit dry, a little bit at times difficult to follow, but I ask the listeners to try to follow it, even if they have to repeat the tape.)<br />
<br />
In the suttas we find that there are certain key words that the Buddha uses to designate existing realities. These you can call 'ontological terms', terms with an existential meaning. These key terms are the words <a href="https://dsalsrv04.uchicago.edu/cgi-bin/app/pali_query.py?qs=Dhamma&searchhws=yes" target="_blank"><i>dhamma</i></a>, <a href="https://dsalsrv04.uchicago.edu/cgi-bin/app/pali_query.py?qs=Ayatana&searchhws=yes" target="_blank"><i>āyatana</i></a>, <a href="https://dsalsrv04.uchicago.edu/cgi-bin/app/pali_query.py?qs=Dh%C4%81tu&searchhws=yes" target="_blank"><i>dhātu</i></a>, <a href="https://dsalsrv04.uchicago.edu/cgi-bin/app/pali_query.py?qs=pada&searchhws=yes&matchtype=exact" target="_blank"><i>pada</i></a> and <a href="https://dsalsrv04.uchicago.edu/cgi-bin/app/pali_query.py?qs=Sacca&searchhws=yes&matchtype=exact" target="_blank"><i>sacca</i></a>. (The words are given on the list of Pali terms.)<br />
<br />
We'll explain these words briefly and then show how each of them is applied to <i>nibbāna</i>. First we'll take the word '<i>dhamma</i>'. We have dealt with this word and some of its more common meanings, such as 'the teaching of the Buddha', as 'the truth made known by the Buddha', and as 'the path that leads to the realization of truth.'<br />
<br />
But this word '<i>dhamma</i>' also has a more philosophical meaning. The word '<i>dhamma</i>' signifies the basic actuality, the existing realities, those things which bear their own natures independent of our thinking, of our conceptual processing of them. The <i>dhammas</i> are distinguished from conceptual entities – those things which do not exist in fact, but only as ideas or notions in the mind. Now all the <i>dhammas</i>, the actual existences, are divided into two basic groups: the conditioned and the unconditioned, <i>sankhata</i> and <i>asankhata</i>. A conditioned <i>dhamma</i> is an actuality which has come into being through causes and conditions, something which arises through the working of various conditions. The conditioned <i>dhammas</i> include all the phenomena with which we are ordinarily familiar. These all fall into the five aggregates. So any conditioned <i>dhamma</i> is either a material form, a feeling, a perception, a mental formation or an act of consciousness. <br />
<br />
Now all the conditioned <i>dhammas</i> go through three phases of becoming. First there's the phase of arising [<i><span style="color: #274e13;">uppāda</span></i>], then finally a phase of falling away, cessation [<i><span style="color: #274e13;">vaya</span></i>], and in between the two there's a phase called <i>ṭhitassa aññathatta</i>, that is, the changing of that which stands, the transformation of that which persists, that is, while the conditioned <i>dhamma</i> lasts, while it persists, it undergoes constant change. It doesn't remain static, but it undergoes transformation. It's in a ceaseless process of becoming. So the conditioned <i>dhamma</i> has these three phases: arising, transformation, and falling away.<br />
<br />
Now in contrast to all of the conditioned <i>dhammas</i>, there is the class of the unconditioned, which is much simpler. It contains only one actuality, that is: <i>nibbāna</i>. In contrast to the conditioned, the unconditioned is not produced by causes and conditions. And then, in contrast to the conditioned, the unconditioned has the three opposite marks, that is: it has no arising, it has no falling away, and it undergoes no transformation.<br />
<br />
And the Buddha speaks distinctly of <i>nibbāna</i> as a <i>dhamma</i>. He calls it 'the supreme dhamma', the '<i><a href="https://dsalsrv04.uchicago.edu/cgi-bin/app/pali_query.py?qs=Uttama&searchhws=yes" target="_blank">uttamaŋ</a> dhamma</i>'. And in one sutta he says, “Of all <i>dhammas</i>, conditioned and unconditioned, the most excellent <i>dhamma</i>, the supreme <i>dhamma</i>, is <i>nibbāna</i>.” <span style="text-align: right;">[</span><span style="color: #274e13; text-align: right;">Anguttara Nikaya, Sutta <a href="https://suttacentral.net/an4.34/en/bodhi" target="_blank">4:34: Confidence</a></span><span style="text-align: right;">] </span>So <i>nibbāna</i> is definitely referred to by this key ontological term of Buddhism, the word, <i>dhamma</i>.<br />
<div style="text-align: right;">
<br /></div>
[<span style="color: #274e13;">There is also:</span><br />
<span style="color: #274e13;">“To whatever extent there are phenomena conditioned or unconditioned, dispassion is declared the foremost among them, that is, the crushing of pride, the removal of thirst, … , the destruction of craving, dispassion, cessation, <i>nibbāna</i>.” </span><br />
<div style="text-align: right;">
<span style="color: #274e13;">Ratana Sutta, <a href="https://www.accesstoinsight.org/tipitaka/kn/snp/snp.2.01.piya.html" target="_blank">Sn 2.1</a></span>]</div>
<br />
Another important ontological term used by the Buddha is <i>āyatana</i>. This word usually means 'realm', 'plane', or 'sphere'. For example, the Buddha speaks about the different planes of existence as <i>āyatanas</i> and he also speaks about the six sense faculties as the six <i>āyatanas</i>. In a famous passage from the text, the Udāna, the Buddha also speaks about <i>nibbāna</i> as an <i>āyatana</i>. He says,<br />
<br />
“Monks, there is a realm (<i>atti tadāyatanaṃ</i>) where there is neither earth, water, heat or air, neither the sphere of infinite space, the sphere of infinite consciousness, the sphere of nothingness, or the sphere of neither perception or non-perception [that is the four formless realms]. There is neither this world nor any other world, neither sun nor moon. This I call 'neither arising, nor passing away, neither standing still, nor being born, nor dying.' There is neither foothold there, nor development, nor any basis. This is the end of suffering.”<br />
<div style="text-align: right;">
[<a href="https://www.accesstoinsight.org/tipitaka/kn/ud/ud.8.01.irel.html" target="_blank">Udana 8.1</a>]</div>
<br />
So we see then in this passage the Buddha speaks of <i>nibbāna</i> as an <i>āyatana</i>, a realm or sphere. It is a sphere where there is nothing at all that corresponds to our world of mundane common experience and therefore it has to be described entirely by way of negatives, as the negation of all finite properties.<br />
<br />
Another word frequently used in the Buddha's discourses is the word '<i>dhātu</i>'. This word most often means 'element'. Thus the Buddha speaks of the four <i>dhātus</i>, the four material elements: earth, water, heat and air. At other times he speaks of 18 elements: the six sense organs, the six sense objects and the six kinds of consciousness. But the Buddha also speaks of another <i>dhātu</i>, another element. He calls this the <i>amata dhātu</i>, that is the deathless element and this deathless element is <i>nibbāna</i>.<br />
<br />
Thus in one sutta he speaks about a monk who has reached the highest level in the development of insight, where he is seeing all of the five aggregates as impermanent, as <i>dukkha</i>, and as insubstantial. Then, when he reaches the climax of insight, his mind suddenly turns away from all conditioned <i>dhammas</i> and he says that he focuses his mind upon the deathless element and that with his mind focused on the deathless element he reaches the destruction of the defilements. [<a href="https://suttacentral.net/mn64/en/bodhi" target="_blank">MN 64: Mahamalunkyaputta Sutta</a>]<br />
<br />
In another sutta, the Buddha speaks of the <i>nibbāna dhātu</i>, the element of <i>nibbāna</i>. And he compares it to an ocean. He says that just as the great ocean remains at the same level no matter how much water pours into it from the rivers, it remains at the same height, without increase or decrease, so the <i>nibbāna</i> element remains the same no matter whether many or few people attain <i>nibbāna</i>. If many people attain <i>nibbāna</i>, the <i>nibbāna</i> element doesn't grow fuller; if few attain, the <i>nibbāna</i> element doesn't become diminished. [<span style="color: #274e13;">Pahārāda Sutta, <a href="https://suttacentral.net/an8.19/en/bodhi" target="_blank">AN 8.19</a>, clause (5).</span>]<br />
<br />
And the Buddha speaks quite concretely about seeing <i>nibbāna</i>, the deathless element, almost as though it were the object of an act of vision. <br />
<br />
In another sutta he speaks of it as something that can be experienced by the body, an experience that's so vivid, so concrete and real that it can be described as 'touching the deathless element with one's own body'. [<span style="color: #274e13;">Cunda Sutta, <a href="https://www.accesstoinsight.org/tipitaka/an/an06/an06.046.than.html" target="_blank">AN 6.46</a></span>]<br />
<br />
The Buddha also speaks about <i>nibbāna</i> as a <i>pada</i>. The word '<i>pada</i>' means 'a state', and the Buddha calls <i>nibbāna</i> the <i>amatapada</i>, 'the deathless state'. Thus he states in the Dhammapada, “Better than living a hundred years without seeing the deathless state is living one day seeing the deathless state.”<br />
[<a href="https://www.accesstoinsight.org/tipitaka/kn/dhp/dhp.08.budd.html" target="_blank">Dhammapada 114</a>]<br />
<br />
Another word used in the texts is <i>sacca</i>. This word means 'truth', not 'truth' as a statement, but truth as reality, as an existing reality. There's a passage where the Buddha says, “That which the ignorant take to be true, that the Noble Ones, the Ariyans, know to be false. That which the Ariyans know to be true, that the ignorant regard as false. That which is of an imperishable nature, that is <i>nibbāna</i>, and that is the truth known by the Ariyans.”<br />
[<span style="color: #274e13;">Perhaps this paraphrases verses in the Dvayatānupassanā sutta (Observation of Dualities), <a href="https://suttacentral.net/snp3.12/en/sujato" target="_blank">Sn 3.12</a></span>].<br />
<br />
So here in this passage that which the ignorant take to be truth, to be real, is a self, an ego entity and this the Ariyans know to be false since through their insight they have realized that all phenomena are without a self, that they're all insubstantial. And that which the Noble Ones know to be truth, that is <i>nibbāna</i>, and this the ignorant take to be false, an imaginary thing or a vain notion. But the Noble Ones, the Ariyans, have seen <i>nibbāna</i>, they've known through direct experience that it is real, the one ultimate reality that's imperishable. <br />
<br />
In another sutta, the Buddha says, “That which has a perishable nature, that is false, but that which is of an imperishable nature [<i><span style="color: #274e13;">accutapada</span></i>], namely <i>nibbāna</i>, that is truth. And then he says in the same sutta that this is the supreme noble truth, <i>nibbāna</i>, which is of an imperishable nature. [ref. ???]<br />
<br />
So all of these textual sources, put together, I think, very clearly establish the view that <i>nibbāna</i> is an actual reality and not the mere destruction of defilements, the cessation of existence. <br />
<br />
Then there's also another famous passage, which, I think, also makes the matter very definitely clear. This is the passage in the Udāna, where the Buddha says, addressing the monks:<br />
<br />
“Monks, there is an unborn, an unoriginated, an uncreated, an unconditioned. If there were not this unborn, unoriginated, uncreated, unconditioned, there would be no escape possible from the world of the born, the originated, the created, and conditioned. However, since there is an unborn, unoriginated, uncreated, unconditioned, therefore escape is possible from the world of the born, the originated, the created, the conditioned.<br />
<div style="text-align: right;">
[<span style="color: #274e13;">Nibbāna Sutta: Parinibbāna <a href="https://www.accesstoinsight.org/tipitaka/kn/ud/ud.8.03.irel.html" target="_blank">Ud. 8.3</a></span>]</div>
<br />
The Buddha here is saying that if there were no unconditioned reality, there would be no escape possible from the round of birth and death. The round of birth and death would go on forever; there would be no way at all to put an end to it. But the Buddha adds the positive counterpart to it. He says that there is, that there already exists an unborn, unoriginated, uncreated, unconditioned and therefore it is possible for the mind to know the unconditioned, to realize the unconditioned and by realizing the unconditioned to destroy the ignorance and craving which hold us in bondage, and thereby make an end to the round of becoming and reach deliverance from birth and death, deliverance from the world of the born, originated, created, and conditioned. <br />
<br />
Now since <i>nibbāna</i> is the precondition for this liberation to take place, since <i>nibbāna</i> must exist for it to be known and for liberation to take place, therefore it is evident that <i>nibbāna</i> cannot simply be reduced to the destruction of the defilements and liberation from the round. Those events are conditioned events, they occur in time, while <i>nibbāna</i> is unconditioned, without any origination, timeless.<br />
<h4 style="text-align: left;">
Is nibbāna conditioned by its path?</h4>
Now one particular problem that's sometimes raised over the statement that <i>nibbāna</i> is unconditioned. It's said that it seems contradictory to say that <i>nibbāna</i> is unconditioned and yet by practising the path you attain <i>nibbāna</i>. Doesn't this seem to make <i>nibbāna</i> something that's conditioned by the practice of the path, something that's produced by the path? Doesn't <i>nibbāna</i> become an effect, something not unconditioned, not causeless?<br />
<br />
Here the contradiction is only apparent: <i>nibbāna</i> itself – we have to make a distinction between <i>nibbāna</i> itself and the attainment of <i>nibbāna</i> – <i>nibbāna</i> itself is unproduced, unoriginated, it's always existent. But by following the path, by reaching Enlightenment, you realize <i>nibbāna</i>. By practising the path you don't bring <i>nibbāna</i> into existence, but rather you discover something already existing, something always present. We can say the attainment of <i>nibbāna</i>, the realization of <i>nibbāna</i>, is produced by the practice of the path. But this doesn't mean that <i>nibbāna</i> itself is brought into being by the path.<br />
<br />
We can illustrate this by an analogy. The city of New York is presently existing and there are highways leading into New York from all over the country. By driving along the highway you can reach New York and enter the city. We can't say that New York itself is produced by travelling along the highway. Rather, the highway gives us entrance to New York; by travelling along the highway we can enter New York. Similarly, the path leads to <i>nibbāna</i>; by following the path you reach Enlightenment and that brings the realization of <i>nibbāna</i>, but <i>nibbāna</i> itself is not created by the path."<br />
<br />
[31:00]<br />
END of transcription.<br />
<br />
Bhikkhu Bodhi then proceeds to consider some of the terms and expressions used in the text as designations for <i>nibbāna</i>. He also includes a nice story of a turtle and a fish (at about [34:00]) to indicate that <i>nibbāna</i> is not annihilation or non-existence. I can't find any canonical reference. It seems to be a version of a fable, originally presented in English by Bhikkhu Silacara in his book <i>The Four Noble Truths</i>, one of <a href="https://archive.org/details/pampletsbuddhism00unknuoft/page/n8">a series on Buddhism</a> (at archive.org) published in 1922. I reproduce it here:<br />
<blockquote class="tr_bq">
Once upon a time there was a fish. And just be cause it was a fish, it had lived all its life in the water and knew nothing whatever about anything else but water. And one day as it swam about the pond where all its days had been spent, it happened to meet a turtle of its acquaintance who had just come back from a little excursion on the land.<br /> "Good day, Mr. Turtle" said the fish; "I have not seen you for a long time. Where have you been?"<br /> "Oh!" said the turtle, "I've just been for a little trip on dry land."<br /> "On dry land!" exclaimed the fish. "What do you mean by on dry land? There is no 'dry land'. I never met such a thing. Dry land is nothing."<br /> "Well," said the turtle good-naturedly, "if you want to think so, of course you may; there's no one can hinder you. But that's where I've been, all the same."<br /> "O come," said the fish, "try to talk sense. Just tell me now: what is this land of yours like? Is it at all wet?"<br /> "No, it is not wet," said the turtle.<br /> "Is it nice and fresh and cold?" asked the fish.<br /> "No, it is not nice and fresh and cold," the turtle replied.<br /> "Is it clear, so that light can come through it?"<br /> "No, it is not clear; light cannot come through it."<br /> "Is it soft and yielding so that I could move my fins about in it and push my nose through it?"<br /> "No, it is not soft and yielding; you could not swim in it."<br /> "Does it move or flow in streams?"<br /> "No, it neither moves nor flows in streams."<br /> "Does it ever rise up into waves, then, with white foam on them? asked the fish, becoming just a little impatient at this string of "Noes".<br /> "No," replied the turtle truthfully, "it never rises up into waves that I have seen."<br /> "There now!" exclaimed the fish triumphantly. "Didn't I tell you that this land of yours was just nothing? 1 have just asked, and you have answered me that it is neither wet nor cool, nor clear nor soft, and that it doesn't flow in streams nor rise up into waves. And if it isn t a single one of these things and can t do any of these things, what else is it but nothing ? Don't tell me!"<br /> "Well, well," said the turtle, "if you are determined to think that dry land is nothing, I suppose you must just go on thinking so. But anyone who knows what is water and what is land would say you were just a very silly fish, for you think that anything you have never known, just because you have never known it, is therefore nothing."<br />And with that the turtle turned away and, leaving the fish behind in its little pond of water, set out on another excursion over the land that was "nothing".</blockquote>
<br />
<h3 style="text-align: left;">
Reflections</h3>
I personally find these accounts of the positive aspects of <i>nibbāna</i>, as presented by Bhikkhu Bodhi, very inspiring. And there's the prospect of more not just in the Pali canon; comparative analysis of Theravadin and Mahayana canons, which are derived from different schools, have each undergone different editorial processes involving revisions and omissions, and may well yield further examples.<br />
<br />
Some scholars and practitioners, particularly Theravadins in the West, express a very minimal characterisation of <i>nibbāna</i> as the culmination of a process to eradicate defilements and uproot craving; they may say that all that subjectively remains on completion of the Path is experience. They're not motivated to hear and even show antipathy to hearing more than that and argue that it would be a distraction. I sense that underlying this resistance are perspectives confining <i>attā</i> and <i>anatttā</i> to the <i>khandhas</i>. But the texts contain pointers beyond the <i>khandhas</i>; I have found, as did the Pali scholar, I. B. Horner, that this topic really merits <a href="https://paultrafford.blogspot.com/2018/06/atta-and-anatta-part-one.html" target="_blank">further exploration</a>.<br />
<br />
I feel there is an imperative to explore these topics in the context of artificial intelligence, especially the 'strong AI hypothesis'. I've been exploring aspects of <i>nibbāna</i> motivated by the wish to articulate the distinctness of human beings from machines. Humans have the potential to attain to <i>nibbāna</i>, which is the source of ultimate wisdom, but machines, being conditioned, do not. However, that distinction is hard to draw without a clear sense of transcendence being communicated in a constructive way.<br />
<br />
<div>
<br /></div>
</div>
Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com1tag:blogger.com,1999:blog-15893824.post-61489938673682251122019-05-11T15:48:00.002+01:002019-12-14T21:18:07.737+00:00On Intuition in the Life and Work of Ramanujan<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<img border="0" data-original-height="479" data-original-width="349" src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/c1/Srinivasa_Ramanujan_-_OPC_-_1.jpg/350px-Srinivasa_Ramanujan_-_OPC_-_1.jpg" /></div>
<div style="text-align: center;">
<a href="https://en.wikipedia.org/wiki/Srinivasa_Ramanujan#/media/File:Srinivasa_Ramanujan_-_OPC_-_1.jpg" target="_blank">Portrait photo of Srinivasa Ramanujan in England</a></div>
<br />
<br />
These past few weeks I have been engrossed in reading about <a href="https://en.wikipedia.org/wiki/Srinivasa_Ramanujan">Srinivasa Ramanujan</a> (1887-1920), the brilliant mathematician from South India whose prolific work in number theory lit up the academic world from the early 20th century onwards.<br />
<br />
In my <a href="https://paultrafford.blogspot.com/2019/04/sharing-some-research-in-number-theory.html" target="_blank">studies</a> in this subject I had heard the name, seen references, but didn't use his work. Even though he's famous in the mathematical world and in India, I wasn't minded to give much attention until I happened to chat over lunch with <a href="http://www.thomasbewley.com/" target="_blank">Thomas Bewley</a>, who described his experiences of playing <a href="https://en.wikipedia.org/wiki/H._F._Baker" target="_blank">Prof. H. F. Baker</a> in the film, <a href="https://www.imdb.com/title/tt0787524/" target="_blank">The Man Who Knew Infinity</a>. I promptly ordered a DVD and enjoyed watching the film, so I then ordered the <a href="http://www.robertkanigel.com/the_man_who_knew_infinity__a_life_of_the_genius_ramanujan_58016.htm" target="_blank">substantial biography</a> of the same name by Robert Kanigel.<br />
<br />
I'm writing this having just finished Kanigel's book. It's extensively researched and very detailed, covering Ramanujan's life and work; whilst aimed at the general reader, quite a lot of mathematical material has been presented, in a generally convincing way – Kanigel is numerate (he has a degree in mechanical engineering) and he has evidently spent considerable time grappling with the material in conversation with scholars.<br />
<br />
I particularly like the way he shows how the relevancy of Ramanujan's work and various applications has ebbed and flowed; in his early years he struggled to make known his findings, but gradually some friends and associates tried to help promote his cause until they were able to tap into the British colonial networks. Eventually there arose opportunity to write to the scholars at Trinity College, Cambridge, Britains' foremost centre for mathematical research. Even then, Ramanujan had to keep persevering until he succeeded at the third attempt when <a href="https://www.cam.ac.uk/research/discussion/opinion-the-man-who-taught-infinity-how-gh-hardy-tamed-srinivasa-ramanujans-genius" target="_blank">his genius was recognised by Hardy</a>, who nurtured Ramanujan's talent by instilling the rigours of proof and dissemination of the various results. After Ramanujan's passing, Hardy continued to promote his cause through papers and continued reference. Subsequent decades saw changing foci, but recently his work has become of great significance – his “mock theta functions” have been integral to the development of <a href="https://www.ams.org/notices/201011/rtx101101441p.pdf" target="_blank">mock modular forms</a>, which are now used in astrophysics, even to model singularities (<a href="https://www.newscientist.com/article/mg21628904-200-mathematical-proof-reveals-magic-of-ramanujans-genius/" target="_blank">black holes, etc.</a>).<br />
<br />
Personally, I might like to explore his work in partition functions (having a natural interest in combinatorics). However, I am mainly interested at the moment in Ramanujan's spirituality, what we might learn about intuition. Kanigel attempts to explore this area, knowing full well that members of the public like especially to know about how a human being can navigate the vicarious aspects of life and its innumerable obstacles, triumphing over adversity – the indomitable spirit. Kanigel dutifully delves into this with cultural sensitivity – undertaking fieldwork in the foreign lands and cultures of the British Isles and India. Through the information he gathers from interviewees, Kanigel recreates at some length daily scenes in which Ramanujan lived and breathed mathematics - in <a href="https://en.wikipedia.org/wiki/Kumbakonam" target="_blank">Kumbakonam</a>, his home town, and in various other places such as <a href="https://en.wikipedia.org/wiki/Triplicane" target="_blank">Triplicane</a> (now Tiruvallikkeni) (with its historical sites such as the <a href="http://www.sriparthasarathytemple.tnhrce.in/index.html" target="_blank">Arulmigu Sri Parthasarathyswamy Temple</a>), and other areas in the then Madras Presidency (now Tamil Nadu).<br />
<br />
Even in a volume as extensively researched as this, the whys and wherefores as to Ramanujan's mathematical discoveries can't be fully explained when it seeks to explicate an entire life story and indicate especially its mathematical import today. Even so it's noticeable that whilst Kanigel appears comfortable explaining material facts, he finds it exceedingly difficult to fathom Ramanujan's spiritual inspiration. Hence overall he writes sympathetically, but when it comes to religious aspects, he doesn't have much to say, and even occasionally strikes an incredulous tone.<br />
<br />
For example, referring to a gathering that developed into philosophical discussion he writes (pp. 31-2):<br />
<blockquote class="tr_bq">
Another time, when he was twenty-one, he showed up at the house of a teacher, got drawn into conversation, and soon was expatiating on the ties he saw between God, zero, and infinity - keeping everyone spellbound till two in the morning. It was that way often for Ramanujan. Losing himself in philosophical and mystical monologues, he'd make bizarre, fanciful leaps of the imagination that his friends did not understand but found fascinating anyway. So absorbed would they become that later all they could recall was the penetrating set of his eyes.</blockquote>
<br />
I don't suppose Ramanujan felt lost; if anything, he was finding deeper relationships in what the author describes as "bizarre" and "fanciful". Whilst it might have been tantalising to his audience, at the same time the culture readily accepted this kind of expression.<br />
<br />
In another chapter Kanigel writes (p.66):<br />
<blockquote class="tr_bq">
Later, in England, Ramanujan would build a theory of reality around Zero and Infinity, though his friends never quite figured out what he was getting at. Zero, it seemed, represented Absolute Reality. Infinity, or ∞, was the myriad manifestations of that Reality. Their mathematical product, ∞ x 0, was not one number, but all numbers, each of which corresponded to individual acts of creation. </blockquote>
<br />
Kanigel's tone conveys shades of incredulity, but these kinds of views are taken seriously in many parts of the world. At least in recent centuries, they seem to be more naturally appealing to Asians – from all over, whether the South, South-East, Far East, or the North. So I'm interested to read accounts from their perspective, particularly Indian interpretations – how do they interpret Ramanujan today?<br />
<br />
As Ramanujan is a national hero, there's no shortage of material, a fair amount being helpfully referenced in Kanigel's book. Arriving as a newcomer, I try to find, where possible, sources with first-hand accounts, ideally published by authorities who have some historical connection. My starting point has been <a href="https://www.imsc.res.in/~rao/ramanujan/contentindex.html" target="_blank">a broad selection</a> made available by <a href="https://www.imsc.res.in/" target="_blank">The Institute of Mathematical Sciences</a> in Tamil Nadu, a national research centre.<br />
<br />
<a href="https://www.imsc.res.in/~rao/ramanujan/bookindex.html" target="_blank">A section on books</a> lists five volumes, including Kanigel's. Among the others, I've been looking at 'Ramanujan - The Man And The Mathematician' by S. R. Ranganathan, part of Great Thinkers of India Series, published by Asia Publishing House in 1967. The publisher is still registered, based in Mumbai, but I can find no website for it. <a href="https://en.wikipedia.org/wiki/S._R._Ranganathan" target="_blank">Dr Ranganathan</a> was a mathematician and library information professional in India; an endowment in his name is associated with another publishing company, Ess Ess Publications limited, and copies of the book are readily available from them. (But it's also not hard to find a free version online.)<br />
<br />
This book records some accounts by those who knew and met with Ramanujan. One of the respondents is Dr. Mahalanobis, who was there in the late night discussion that Kanigel refers to. He recalls:<br />
<blockquote class="tr_bq">
He sometimes spoke of “zero” as the symbol of the Absolute (Nirguna-Brahmam) of the extreme monistic school of Hindu philosophy, that is, the reality to which no qualities can be attributed, which cannot be defined or described by words, and which is completely beyond the reach of the human mind. According to Ramanujan, the appropriate symbol was the number “zero”, which is the absolute negation of all attributes. He looked on the number “infinity” as the totality of all possibilities, which was capable of becoming manifest in reality and which was inexhaustible. </blockquote>
<div style="text-align: right;">
(MN Reminiscences of Dr P C Mahalanobis FRS, <br />
Member of the Planning Commission of India: MP1, p.82)</div>
<br />
Ramanujan starts with that philosophical position and then gives it mathematical expression, based on numerical properties that can exhibit the transcendent qualities. These are not just made up fancifully, but rather there are references to a philosophical school. <a href="https://en.wikipedia.org/wiki/Para_Brahman" target="_blank">Nirguna-Brahmam (or Para Brahman)</a> is described in Hindu texts as the highest spiritual state, the formless Brahman, specifically in the sense of being absent of Maya, illusion. It's a core belief in the Advaita Vedanta tradition.<br />
<br />
Mahalanobis continued:<br />
<blockquote class="tr_bq">
According to Ramanujan, the product of infinity and zero would supply the whole set of finite numbers. Each act of creation, as far as I could understand, could be symbolised as a particular product of infinity and zero, and from each such product would emerge a particular individual of which the appropriate symbol was a particular finite number. I have put down what I remember of his views. I do not know the exact implication. </blockquote>
<br />
Whilst Mahalanobis lacked understanding of the finer points, he could gain a general sense of what lay behind Ramanujan's words – there was valid and useful communication. If they had been completely incomprehensible, then Ramanujan probably would not have sustained interest for so long. Perhaps more significant still as an indication of the importance of this spiritual view, was the following reflection:<br />
<blockquote class="tr_bq">
He seemed to have been perhaps emotionally more interested in his philosophical ideas than in his mathematical work. He spoke with such enthusiasm about the philosophical questions that sometimes I felt he would have been better pleased to have succeeded in establishing his philosophical theories than in supplying rigorous proofs of his mathematical conjectures.</blockquote>
<br />
This is a significant passage as it points to how important to him was his underlying spirituality of which mathematics was an expressions. I think we see the deleterious effects of denying him support for this spirituality when Kanigel describes how to many Ramanujan appeared a much-changed man on his return to India in 1919. Mentally and emotionally he was a different person: whereas previously he was full of fun and sociable in small groups, on his return he appeared withdrawn and angry. It seems England was able to support his mathematics, but it came at the price of his Brahmin caste (at least for those who did not allow any exemptions to <i>Samudrolanghana</i>, the offence of crossing the sea) and his wellbeing. There are areas that the book perhaps understates this sacrifice – which was more than the decline in his physical health. Yet Ramanujan foresaw his own death (“I won't reach 35 years of age”), so the speculation around what might have been regarding alternative life paths and treatments of his tuberculosis should be set against that.<br />
<br />
In modern times, we can still find views from India, especially religious teachers, who can give some indications of Ramanujan's spirituality. Even though they might not have any formal background in mathematics and may lack rigorous language, they can express the 'inner voice', as it were. For example, in his talk at SRCC College, available in a YouTube video, entitled <a href="https://www.youtube.com/watch?v=kKHXGvyM3js" target="_blank">The Secret of Ramanujan's Genius</a>, Sadhguru likens deities or, more specifically, <i>murtis</i> (forms) to energetic machines that are able to enhance particular faculties; unlike mechanical devices, such machines don't have moving parts, are easy to maintain, and are available all day and every day. Ramanujan knew how to use the <i>murti</i> known as the goddess or deity Namagiri to receive mathematical insights and he seemed to be working continuously. In the short excerpt, it's not explained how one cultivates practice of utilising these <i>murtis</i>, but in India it is typically through yogic or meditative training, and, as for most yogis, Sadhguru gives instruction in these, such as <a href="https://www.youtube.com/watch?v=KxgD9En6Vso" target="_blank">Isha Kriya</a>.<br />
<br />
Another perspective is shared in a presentation on teachings by Sri Aurobindo & The Mother: the quality of beauty is highlighted in a post where Sandeep, the author, asks: <a href="https://auromere.wordpress.com/2014/02/16/where-does-mathematics-come-from/" target="_blank">Where does Mathematics come from?</a> According to teachings in this tradition, having some correlation to the energetic machines, it as though humans have inner beacons of light that can be directed towards specific arts; an agile mind can shine the light in different directions. But here, this longer article also emphasizes development (I'd choose the word <i><a href="https://en.wikipedia.org/wiki/Bhavana" target="_blank">bhavana</a></i>) of the capacity of attention and concentration. Other posts on that informative site, including one that <a href="https://auromere.wordpress.com/2012/12/07/comparing-roger-penrose-and-sri-aurobindo-on-the-mind/#comments" target="_blank">considers some views of Roger Penrose</a>, describe how a prerequisite is knowing how to bring the mind into stillness (once the mind is at a standstill one can move easily in any direction); bringing the mind to a standstill is key to allowing novel ideas to arise.<br />
<br />
From my own Buddhist perspective, I would highlight that Ramanujan's superlative ability can only come through sustained <i>kusala karma</i> (skilful intentional actions), usually over many lifetimes. In this way he would have generated <i>puñña</i> (merit), a kind of energetic fuel that with continued cultivation crystallizes as <i>paramis</i> (perfections) – <i>puñña</i> gives you the capacity to achieve, <i>paramis</i> enable that capacity to be readily and instantly available. Perhaps Ramanujan refrained strictly from intoxicants leading to great clarity and receptivity of mind – certainly even in such a foreign environment he practised strictly as a Brahmin, so he retained that quality of mind seeking perfection.<br />
<div>
<br /></div>
<br />
<br /></div>
Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0tag:blogger.com,1999:blog-15893824.post-6925430603450697142019-04-26T10:19:00.000+01:002019-04-26T10:19:27.602+01:00Sharing some research in number theory<div dir="ltr" style="text-align: left;" trbidi="on">
I have been exploring the life of Srinivasa Ramanujan, the brilliant Indian mathematician whose efforts in number theory from about a century ago are still captivating mathematicians today. Reading about him in <i><a href="http://www.robertkanigel.com/the_man_who_knew_infinity__a_life_of_the_genius_ramanujan_58016.htm" target="_blank">The Man Who Knew Infinity</a></i>, Robert Kanigel's detailed biography, has prompted me to revisit the little bit of research in algebraic number theory that I undertook at the University of Glasgow. <br />
<br />
Under the direction of Professor Robert (“Bob”) Odoni, I submitted a thesis, <i>Norms of Ideals in Direct Sums of Number Fields and Applications to the Circulants Problem of Olga Taussky-Todd</i>, in April 1992. Its originality was due to my supervisor; I barely understood the material and for various reasons felt that I couldn't continue towards a doctorate, but I wrote up what I had for a Master's and in September I duly underwent the viva with the external examiner, Dr. Stephen Wilson from Durham University. Years later, I feel that I should in some way honour the memory of <a href="https://www.cambridge.org/core/journals/glasgow-mathematical-journal/article/robert-winston-keith-odoni-19472002/0995B807A5C48FC8CB9D0B856A76A9EB" target="_blank">Prof. Odoni</a> by making the <a href="https://www.academia.edu/38889879/Norms_of_ideals_in_direct_sums_of_number_fields_and_applications_to_the_circulants_problem_of_Olga_Taussky-Todd" target="_blank">thesis available as a PDF file</a> on Academia.<br />
<br />
Taussky-Todd, who originally posed the problem about <a href="https://en.wikipedia.org/wiki/Circulant_matrix" target="_blank">circulant matrices</a>, was a versatile mathematician who explored many branches; in <a href="http://www-history.mcs.st-and.ac.uk/Biographies/Taussky-Todd.html" target="_blank">a long and productive life</a> her output was considerable. She initially studied chemistry because that her father was director of a vinegar factory, but then she switched to mathematics. There is a parallel with Prof. Odoni, whose initial undergraduate studies were in chemistry, but he was not satisfied with the kinds of questions the subject addressed and so he turned to mathematics and never looked back. I'm pleased to know that his contributions have been largely preserved in various papers, collated in <a href="https://www.researchgate.net/scientific-contributions/2079945930_R_W_K_Odoni" target="_blank">a ResearchGate profile</a>.<br />
<br />
My thesis includes half a dozen references to Prof. Odoni's work (I have PDF versions that I'm happy to share). He encouraged collaboration in research in many ways; when speaking of publications, I remember him praising in particular the <a href="https://www.impan.pl/" target="_blank">Institute of Mathematics of the Polish Academy of Sciences</a>, which is reflected in several of the listed publications. All the papers he submitted there have been digitised and are being shared freely, reflecting this kind of openness. <br />
<br />
On a technical note, I prepared the thesis using (plain) <a href="https://ctan.org/" target="_blank">TeX</a> on an Atari ST, using <a href="http://texteditors.org/cgi-bin/wiki.pl?GNOME" target="_blank">GNOME</a> as a text editor. I stored the files on a PC-compatible floppy and eventually transferred them off this obsolescent storage medium. The sources I found a few weeks ago were from the time of the original submission, so they did not include any corrections. Fortunately I still had these in the form of handwritten notes, which I could duly incorporate into the TeX sources. And, wonderfully, on installing TeX years later I could still compile them to generate a DVI file and thence the PDF! The final task was to modify the PDF to draw some straight lines to complete a couple of diagrams, which I achieved with <a href="http://www.pdfill.com/free_pdf_editor.html" target="_blank">PDFill</a>.<br />
<br />
As to why I'm reading about life of Ramanujan, I'm currently investigating the role of intuition in maths and computing for a little book I'm writing.<br />
<br />
</div>
Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0tag:blogger.com,1999:blog-15893824.post-31786818380830626312019-01-10T20:46:00.002+00:002022-02-19T12:29:46.314+00:00A Rare Opportunity: On ‘Buddhism and Pali’<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
There's a new book that I'd like to introduce:<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><span style="margin-left: auto; margin-right: auto;"><a href="https://mudpiebooks.com/buddhism-and-pali/" target="_blank"><img alt="Buddhism and Pali (front cover)" border="0" width="380" height="609" src="https://mudpiebooks.com/wp-content/uploads/buddhismandpali-960.jpg" title="Buddhism and Pali (front cover)" /></a></span></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Cover for 'Buddhism and Pali' (from mudpiebooks.com)</td></tr>
</tbody></table>
<br />
A little over 10 years ago I had the good fortune to study under Professor Richard Gombrich at the <a href="http://paultrafford.blogspot.com/2008/08/notes-from-ocbs-pali-summer-school-08.html">OCBS Pali Summer School of 2008</a>. I subsequently used the knowledge gained to read and translate from the Pali some passages in the Theravada Buddhist canon as part of my <a href="http://paultrafford.blogspot.com/2010/01/masters-dissertation-on-buddhism-on.html">Master’s thesis</a>. So, I was pleased to see the publication of Prof. Gombrich’s latest book, <a href="https://mudpiebooks.com/buddhism-and-pali/" target="_blank"><b>Buddhism and Pali</b></a>.<br />
<br />
In this post I offer some thoughts about the material - they're more <i>ad hoc</i> responses to some ideas put forth than a book review because I’m not qualified to assess the finer points of linguistics.<br />
<br />
<h3 style="text-align: left;">
Introduction</h3>
The title of this post is quoted from page 8 of Gombrich’s ‘Buddhism and Pali’, where the author indicates why, despite being somewhat sceptical about its appeal to members of the public, he decided to go ahead and write this small volume: he sees its potential to raise awareness about the far-reaching significance of Pali. I think he went ahead because he is a believer! That is, he truly believes in the importance of the Buddha as a historical figure, in the value of his teachings, particularly for the depth of the philosophy, and in the necessity of knowing Pali as the means to properly access that knowledge and interpret it accurately.<br />
<br />
I remember maybe 20 years ago hearing about the Jesus Seminar and its efforts to determine the historicity of Jesus and what could be reliably attributed to him. It seems that in recent years this kind of approach has been attempted in respect of the Buddha Gotama, leading to similar results, where some academics deny that the canonical texts can be attributed to the Buddha himself and hence cast all kinds of doubt on the material. As someone who is interested in Buddhist texts primarily as a practitioner, I’ve always felt that these kinds of scholarly views are rooted in a kind of hindrance, specifically sceptical doubt (Pali: <i><a href="https://dsalsrv04.uchicago.edu/cgi-bin/app/pali_query.py?qs=vicikicch%C4%81&searchhws=yes" target="_blank">vicikicchā</a> </i>- for the definition, I'm linking through to an online edition of the <a href="http://www.palitext.com/" target="_blank">Pali Text Society</a>'s Pali-English dictionary).<br />
<br />
So I naturally welcomed this new book, which constructs an argument, mainly linguistic, but backed up by cultural, historical and other observations, that shows how Pali could in fact be the language the Buddha actually used in his teachings across a vast swathe of what we now refer to as India. As a scholar specialising in Indo-Aryan languages over his long career, Gombrich is sensitive to various issues that need to be addressed, especially concerning matters such as the integrity of texts and their preservation.<br />
<br />
The book itself comprises four chapters and I’ll briefly introduce them and pick up on points I found interesting.<br />
<br />
<h3 style="text-align: left;">
1. Pali in History</h3>
In the first chapter, Gombrich sets the scene, indicating the current use of Pali in the canon of the Theravada School of Buddhism, how it was essentially a language of recitation used by monks and nuns to maintain the teachings. He then traces its linguistic history back to a few centuries BCE, showing in particular how it relates to Sanskrit. The book is concise and succinct, making it easy to digest and follow the lines of thought. Thus, we have a nice overview of the history of the Buddha, the geography of India and the modes of usage of Pali, especially among monastics. Then the ancestry of Pali is outlined in three steps, altogether covering a single page. So it’s a kind of primer, with some footnotes provided for further exploration.<br />
<br />
Being condensed, many points are made only briefly. One of the first to catch my eye was that the word <i>phāsa</i> (p.11), which means ‘language’, was originally attached to ‘Pāli’ . The same word has been brought into Thai (<i>phāsa</i> is rendered as ภาษา, hence ภาษาไทย). In fact, Thai has incorporated many such ‘loan words’ from Pali and Sanskrit, but also from many other languages (its <a href="https://en.wikipedia.org/wiki/Thai_language" target="_blank">influences are complex</a>)!<br />
<br />
The transmission of the Buddha’s teachings was initially an oral tradition, only later written down, typically on palm leaves. We may take writing for granted now, but (I didn't see this mentioned by Gombrich) one doesn’t have to go back very far to find practitioners who did not make use of written texts. For example, the founder of Wat Phra Dhammakaya on the outskirts of Bangkok was an illiterate nun, <a href="https://en.wikipedia.org/wiki/Chandra_Khonnokyoong" target="_blank">Khun Yay Upasika Chandra Khonnokyoong</a>.<br />
<br />
It's remarkable that the texts have been handed down over the centuries with hardly any corruption. Gombrich uses his philological expertise to cleverly argue how Pali has been preserved and evolved for a variety of pragmatic and conventional reasons, usually under the influence of Sanskrit, but used in a distinct way; its distinction arising because it is an artifice - a vehicle for transmission that needs careful memorisation, but also reflects adaptation to local environments. He makes the argument easier to follow by comparison with the use of the English language, which he furnishes with examples.<br />
<br />
In passing, he also makes the point that the teachings tell us that all this is subject to impermanence and will eventually perish. From a professional perspective, as another aside, I wonder about the digital context, where we can easily replicate data in the Cloud and ensure integrity using checksums. Well, checksums are themselves subject to bit rot (corruption) and according to Buddhist cosmology our world and many realms above eventually get destroyed, so that would include all the data centres in the Cloud and in clouds!<br />
<br />
I find conservative Gombrich’s statement that “as far as we know” Theravada Buddhism was confined in its first millennium to India and Sri Lanka (p. 22): I am persuaded by the thesis proposed by Lewis Lancaster in <a href="https://vimeo.com/43581226" target="_blank">the Maritime Buddhism Project</a> that traders carried religious practices across South and South-East Asia much earlier (e.g., across the Bay of Bengal, the Andaman Sea, through the Malacca Strait, and up to the South China Sea). Collaborative research is ongoing to form an <a href="http://ecai.org/projects/MaritimeBuddhism.html" target="_blank">electronic atlas</a>. Whilst the picture is patchy, there is significant archaeological evidence - for example, in Thailand, <a href="https://journals.lib.washington.edu/index.php/BIPPA/article/download/12266/11874" target="_blank">as reported by Suchandra and Lipi Ghosh</a>, excavations have unearthed objects with Buddhist inscriptions (in Pali or Hybrid Pali and Sanskrit) dated to the Dvāravatī period that have strong associations with the sea: such as amulets, carried by seafaring merchants to ensure a safe voyage and even images of Buddha Dipankara calming the waves. I also asked my uncle, Sean Trafford, who spent his working life at sea, much of it in and around SE Asia, and he found the thesis credible.<br />
<br />
Perhaps the first intimation I received of such early connections for Thailand was a visit to Phra Pathom Chedi in 1988, which I subsequently wrote about as <a href="http://www.chezpaul.org.uk/buddhism/articles/chedi.htm" target="_blank">one of my first articles</a> on the Web. A <a href="https://www.budsas.org/ebud/ebdha307.htm" target="_blank">traditional overview of how Buddhism came to Thailand</a> was compiled by Ven. Dr. Saddhatissa There is, of course, a large gap between the time of Emperor Ashoka and the mid first millennium C.E., but it’s narrowing - see e.g. Stephen A. Murphy and Miriam T. Stark’s <a href="https://www.academia.edu/31537802/Introduction_Transitions_from_late_prehistory_to_early_historic_periods_in_mainland_Southeast_Asia_c._early_to_mid-first_millennium_CE" target="_blank">introduction to period transitions</a>. (Coincidentally, one of my cousins has just started her first year as an undergraduate in the Faculty of Archaeology at Silapakorn University, so I may get to hear about further developments!)<br />
<br />
<h3 style="text-align: left;">
2. The Linguistic Character of Pali</h3>
<div>
<div>
The second chapter - on ‘The Linguistic Character of Pali’ - is the most technical. It contains material that is second nature to the author, so it’s both easy for him to spell out and difficult for him to gauge how accessible it might be for the reader. For anyone who has made an initial attempt to learn the language it’s a useful refresher of the main concepts, but others may well observe the guidance, thoughtfully inserted, to just read some of the more general remarks.</div>
<div>
<br /></div>
<div>
These include the use of verse, which I tend not to give much attention to, even though I frequently come across them in sutta study; although the texts are largely prose, verses do feature. My appreciation and understanding of verse is limited, but some while ago I became keen to learn the meaning of a daily chant called 'A Buddha Prayer Song', so eventually I produced <a href="https://paultrafford.blogspot.com/2013/03/a-buddha-prayer-song-translated.html" target="_blank">a translation, aided by Thai friends</a>. It was an example of prosody, so I was pleased to learn more about the metrical structure of such verse. </div>
</div>
<div>
<br /></div>
<h3 style="text-align: left;">
3. Pali Prose Style</h3>
<div>
<div>
In the third chapter - on ‘Pali Prose Style’ - Gombrich discusses how its style was especially shaped by the oral tradition. He also explores the question of how the oral transmission has been so efficient, with some corroboration from neuroscience and illustrations from other disciplines such as music. There are practical strategies indicated for memorisation such as the division of labour and Gombrich indicates how the Buddhist Councils have helped ensure their preservation.</div>
<div>
<br /></div>
<div>
He goes on to use a linguistic argument based on an incremental style of prose, where words are successively augmented - in length and meaning. When considered from the view of the practice, we find that the experience is often of gradual development, gradual evolution and progression, so to record this it is fitting to choose words that reflect this in structure and meaning. This insight helps in the validation of texts, i.e. there is scope for validation through practice. This is particularly the case when undertaking a practice with a sequence of steps, as exemplified by the <a href="https://www.accesstoinsight.org/tipitaka/sltp/MN_I_utf8.html#pts.145" target="_blank">Ratha-vinita Sutta</a> (<a href="https://www.accesstoinsight.org/tipitaka/mn/mn.024.than.html)" target="_blank">Relay Chariots</a>, translation by Thanissaro Bhikkhu).</div>
<div>
<br /></div>
<div>
Gombrich takes as an example (pp. 57-61) the homage (<i>vandanā</i>) in the <i><b>iti pi so</b></i> formula, which is a standard recitation in <a href="http://www.buddhanet.net/pali_chant.htm" target="_blank">Pali chanting</a>. I think it’s an ambitious choice because it’s very condensed with meaning at mundane and supramundane levels, but I think through meticulous analysis he arrives at a sensible interpretation, showing the value of a proper understanding of Pali - it makes rational sense.</div>
<div>
<br /></div>
<div>
However, the scholarly method follows a particular intellectual discipline, so the result is often carefully couched and sometimes speculative; perhaps its deeper meaning cannot be convincingly made by linguistics alone. In particular, whilst Gombrich also makes the important point that the text carries with it an injunction, of ‘ought’, scholarship doesn’t necessarily bring about this ‘ought’ response, i.e. "Right, let’s undertake the practice!" To me it seldom is that compelling. Even from the perspective of practice, it still is a matter of interpretation dependent on view (<i>diṭṭhi</i>) and according to the path (<i>magga</i>) taken. However, to some extent the words can help to validate practice, so it works both ways. </div>
<div>
<br /></div>
<div>
Indeed, the linguistic reading can lead on to practice and I’ll try to illustrate this by focusing on the ‘ought’, drawing on the <a href="http://www.chezpaul.org.uk/buddhism/dhamkaya.htm" target="_blank">Dhammakaya tradition to which I belong</a>. I’ll start by making the assertion that the presentation style of a practitioner can be more persuasive about the ‘ought’. I think especially of the late <a href="https://en.wikipedia.org/wiki/Luang_Pu_Sodh_Candasaro" target="_blank">Chao Khun Phramongkolthepmuni</a>, the re-discoverer of this practice. When he was delivering sermons as Abbot of Wat Paknam Bhasicharoen in Thailand he spoke with a directness and assuredness that arose from meditation experience. His audience was roused in large numbers over the years and it came about as the audience engaged a different mode of listening and interpreting, through the <i><a href="https://dsalsrv04.uchicago.edu/cgi-bin/app/pali_query.py?page=268" target="_blank">citta</a></i>, a Pali word that I would render along the lines of “heart-mind”, to distinguish it from the brain alone. </div>
<div>
<br /></div>
<div>
The Chao Khun explained every word in the iti pi so, and gave the formula a sense of direction reflecting investigation within what the Buddha referred to as “this fathom-long body” (<a href="https://www.accesstoinsight.org/tipitaka/an/an04/an04.045.than.html" target="_blank">Rohitassa Sutta</a>). I summarise the respective interpretations in a table as follows:</div>
</div>
<br />
<div>
<table border="1"><tbody>
<tr><th width="20%">Term</th><th width="20%">Gombrich</th><th width="20%">Dhammakaya tradition</th><th width="40%">Comment (Dhammakaya)</th></tr>
<tr><td><i>svākkhato</i></td><td>well-taught</td><td>well-taught</td><td></td></tr>
<tr><td><i>Bhagavatā</i></td><td>Blessed One</td><td>Blessed One</td><td>Because the Buddha is breaker of the wheel of Samsara</td></tr>
<tr><td><i>Dhammo</i></td><td>Teaching</td><td>Dhamma</td><td>Teaching (mundane) and Truth as supramundane reality</td></tr>
<tr><td><i>sanditthiko</i></td><td>practical</td><td>to be seen</td><td>Directly observable</td></tr>
<tr><td><i>akāliko</i></td><td>immediate</td><td>timeless and ever-present</td><td>Whether there are Buddhas in the world or not, the Path to Enlightenment lies open, all the same</td></tr>
<tr><td><i>ehipassiko</i></td><td>Come and see</td><td>Come and see</td><td></td></tr>
<tr><td><i>opanāyiko</i></td><td>useful</td><td>leading inwards</td><td>the operative mode is given by phrases such as <i>kāye</i> <i>kāyānupassī</i>, ‘contemplating body in body’ in accordance with <a href="http://paultrafford.blogspot.com/2018/03/on-middle-and-way-in-majjima-patipada.html" target="_blank">the Middle Way</a>. </td></tr>
<tr><td><i>paccattam</i></td><td>individually, by oneself</td><td>individually, by oneself</td><td></td></tr>
<tr><td><i>veditabbo</i></td><td>o be understood</td><td>to be realized</td><td>directly, not just intellectually</td></tr>
<tr><td><i>viññuhi</i></td><td>by the intelligent</td><td>by the wise</td><td></td></tr>
</tbody></table>
</div>
<br />
This practice-based approach was even reflected in the design of published materials. For example, several of the terms, including <i>opanāyiko</i>, were employed on the front cover of a <a href="http://paultrafford.blogspot.com/2011/01/wat-paknam-magazine-from-2497-1954.html" target="_blank">magazine of the Bhikkhus of Wat Paknam</a>, surrounding the image of the Buddha in meditation.<br />
<br />
Another area where the orientation of practice can prompt or fashion a different response concerns repetition (pp. 62-68). Certainly some formulaic repetition acts as little more than packaging, but the repetition in the ‘contents’ does need care. As mentioned, repetition aids and reinforces memory, but it also establishes a rhythm, which can be cyclical in nature, like a spiral staircase, where the completion of each full 360 degree rotation brings a different aspect viewed from a series of successively higher windows (perhaps these are the “small changes” that Ven. Dr Walpola Rahula alluded to?). Lists are usually intentionally ordered. Hence the <i>khandhas</i> (pp. 64-5) are to be contemplated, each in turn (it’s not an intellectual exercise, it’s a sermon <i>on</i> practice, not <i>about</i> the practice).<br />
<br />
But some cases of repetition do appear to be far less necessary: repetition that arises through reporting - the convention of repeating verbatim each time a new person is to hear what has been said. Such preservation can make for excessive, even quite absurd, repetition as illustrated (p. 66) and I confess that in study groups we often skip reading out such repeated reports.<br />
<br />
Gombrich makes the key point that repetition occurs at every level, which suggests that the Buddha used repetition in his speeches, thereby strengthening the case that the Pali does indeed record the Buddha’s own words.<br />
<br />
<h3 style="text-align: left;">
4. Pali in Buddhist Ideology</h3>
<div>
<div>
Having laid the foundations, the final chapter presents the main thesis: that the Buddha gave his teachings in Pali as part of his ideology; the use of Pali emerged in opposition to Sanskrit as integral to the Buddha’s teachings being in contradistinction to the Vedas. I hadn’t thought that the Buddha might so deliberately using language (or avoid the use of a particularly structured language) to take an ideological stance, but I can imagine it fits like this. </div>
<div>
<br /></div>
<div>
Then Gombrich builds his case, showing how the Buddha gave his teachings to anyone who was prepared to receive them, instructing his disciples to make language accessible and adaptable to locality. A particularly difficult area is establishing what language was used between the time of the Buddha and when it was first formally written down in Sri Lanka. So Gombrich proceeds to develop a linguistic argument, inviting the reader to imagine the conditions in which the Buddha roamed far and wide and how Pali appears to have accommodated a wide range of dialects to match whilst being based on a predominant dialect, a ‘lingua franca’, becoming the ‘argot’ of the Buddha and his followers (rather than quoting Google, I suggest the <a href="https://www.etymonline.com/word/argot#etymonline_v_16986" target="_blank">entry in an online etymology dictionary</a>).</div>
<div>
<br /></div>
<div>
Such language was used in a pragmatic fashion to convey meaning, so it can be argued that implies purging language of foreign terms. I’m cautious about that; some terms need to be introduced with all nuances of the original meaning properly established or else much can be lost. I think, for example, of the term “mindfulness”, which is typically used for <i>sati</i>, but in the process the sense of clear comprehension with an ethical basis has often been removed (think about the sequence of the Eightfold Noble Path).</div>
</div>
<br />
<h3 style="text-align: left;">
Conclusion</h3>
In the epilogue, Gombrich leaves us with an open problem: how best to teach a basic course in Pali that will enable students to tackle the translation of texts with the aid of a dictionary and other tools. From past experience, Gombrich has found that the course needs to be intensive over a short period, usually 2-3 weeks, but that has presented various challenges in terms of organisation and commitment irrespective of whether that is offered in person at a physical location or online. <br />
<br />
Efforts are currently being made to provide a more sustainable option through <a href="https://www.ocbs-courses.org/" target="_blank">online courses</a> with recorded sessions, which should improve retention, though it will mean reduced personal interaction. Having been involved in developing and support e-learning platforms, and even a little research, I expect A.I. to offer considerable potential, especially assistance in understanding particular concepts being taught in drill practice. Financial support would make things easier, remove some barriers, but overall I think that it still largely depends on the student's determination as to whether there will be a successful outcome.<br />
<br />
<hr style="text-align: center;" width="50%" />
<br />
Overall, this little volume has been stimulating and enjoyable and I'm pleased to recommend it. It has reminded me how fortunate I was to learn the rudiments of Pali from an expert so that I could be in a position to explore the Buddha's teachings with more assurance; today, I mainly use that knowledge outside the academic context, in a local Buddhist group (where we follow chanting and meditation with sutta study, using a plethora of books and some electronic tools).<br />
<br />
<br />
<h4 style="text-align: left;">
Postscript [12 January 2019]</h4>
After posting the article, I recalled having written about how the Buddha transmitted Dhamma based on <a href="http://www.chezpaul.org.uk/buddhism/articles/firstser.htm">knowing the receptivity of his audience and their <i>kamma</i></a>. To explain how this worked, I tried to use analogies with concepts in physics (mainly holography, first introducing <a href="https://paultrafford.blogspot.com/2006/04/holographic-teachings-from-buddha.html">the basic idea</a> and then <a href="https://paultrafford.blogspot.com/2006/04/tuning-in-to-dhamma-with-3d-crystal.html">elaborating with a further analogy of a radio set</a>.<br />
<br />
<br />
<br />
<br />
<br />
<br /></div>
Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0tag:blogger.com,1999:blog-15893824.post-36165934305613039302018-09-22T21:13:00.001+01:002018-09-22T21:13:19.790+01:00On Demonstrating the Deleterious Effects of Alcohol - of Any Amount<div dir="ltr" style="text-align: left;" trbidi="on">
For decades there have been international efforts to collaborate in addressing causes of health issues affecting people around the world. The subject of alcohol consumption has been included in such efforts as it is accepted as a cause of serious diseases; where it's less clear, and hence the subject of debate among professionals and scholars, has been around the effects (and side effects) of smaller quantities.<br />
<br />
My impression as a non-specialist is that until recently, some international data has been published, but the samples have often been either quite small or selective. Generally, collaborations have involved a few partners, but it’s not been global. Apart from the challenge of coordination, the funding required for large scale studies is considerable and has tended to be dependent on philanthropic organisations or big businesses. Such has been the case for alcohol, at least in the UK, where one of the most highly visible charities, <a href="https://www.drinkaware.co.uk/work-with-us/alcohol-industry/">Drinkaware, works closely with the alcohol industry</a>, a relationship that, as the <a href="https://www.eveningexpress.co.uk/news/uk/public-health-england-partnership-with-drinkaware-questioned-by-former-advisor/">Aberdeen Evening News</a> reminds us, continues to be problematic.<br />
<br />
So I think it’s of major importance that the <a href="http://www.healthdata.org/about">Institute for Health Metrics and Evaluation (IHME)</a>, at the University of Washington, has coordinated work in this field involving hundreds of researchers from accredited public institutions spanning much of the world. Their collaboration has resulted in the publication of <i><b>Alcohol use and burden for 195 countries and territories, 1990–2016: a systematic analysis for the Global Burden of Disease 2016 Study</b></i> in <a href="https://www.thelancet.com/journals/lancet/article/PIIS0140-6736(18)31310-2/fulltext">The Lancet (full report)</a>. This research — and many of the other projects as well as the open access — is funded by the Bill & Melissa Gates Foundation (which makes sense as Microsoft is based in Seattle), with no obvious potential conflict of interest in this area.<br />
<br />
The research gathers data mainly via questionnaires seeking to establish current practices in alcohol consumption. Whereas some studies had suggested health benefits with low levels of consumption, they dismiss this assertion, stating in their conclusions:<br /><br />
<blockquote class="tr_bq">
“Our results show that the safest level of drinking is none. This level is in conflict with most health guidelines, which espouse health benefits associated with consuming up to two drinks per day.”</blockquote>
<br />The study appears to meet expectations around rigour, but the main issue is how to interpret the findings. What’s the significance? Does it really matter for the ‘occasional drinker’? Based on their statistical analysis, the percentage improvements are small, suggesting that the benefits of complete abstention are minor. In some comments reported at the end of a BBC article about the research, <a href="https://www.bbc.co.uk/news/health-45283401">No alcohol safe to drink, global study confirms</a>, Prof. David Spiegelhalter, Winton Professor for the Public Understanding of Risk at the University of Cambridge, was dismissive.<br /><br />
<blockquote class="tr_bq">
"Given the pleasure presumably associated with moderate drinking, claiming there is no 'safe' level does not seem an argument for abstention," he said.<br />
"There is no safe level of driving, but the government does not recommend that people avoid driving.<br />
"Come to think of it, there is no safe level of living, but nobody would recommend abstention."</blockquote>
<br />Prof. Spiegelhalter, who introduced <a href="https://www.bmj.com/content/345/bmj.e8223">the MicroLives metric</a>, is an expert at quantification and risk around health and based on the available data it’s a reasonable conclusion to reach; the measurements of the purely physical symptoms appear to be statistically trifling.<br />
<br />
But where alcohol is concerned we ought to be looking more widely to get the full picture of its effects. With regards to these kinds of studies, one could seek longitudinal studies that studied changes in intake over a period of time, but it will probably be more revealing to concentrate on cognitive effects, which can be studied in neuroscience; in particular how an individual’s perception of their quality of awareness might not register a degradation in, e.g., response times. Is it possible to measure the impact on decision-making processes in general?<br />
<br />
The design of the Global Burden of Disease (GBD) study is based on certain kinds of measurements relating to a person’s health, but if a government, public body or policy maker wishes to evaluate alcohol effects more fully, then other perspectives are needed. So I want to extend the discussion, starting with the observation about alcohol’s pervasiveness: just as alcohol gets very rapidly absorbed by the bloodstream, there’s a social currency or flow around alcohol — I’ll dub it ‘society under the influence’. I suggest that it has an impact on even clinical research studies, for any research around human behaviour depends on views and the socio-cultural context. <br />
<br />
To get some indication of this, I’m curious to know how the findings have been received in different countries. What do people make of it? One way of gauging this is to look at how the research has been reported in national media channels. If we choose to examine responses in the UK, which is a largely secular society, there is strong emphasis on ‘objectivity’ and empirical research based on verifiable evidence. Looking again at <a href="https://www.bbc.co.uk/news/health-45283401">the BBC’s report</a>, whilst the findings are duly summarised, the suggested ‘takeaway’ for the reader is strongly suggested by Spiegelhalter’s remarks, which I paraphrase as: “nothing to see here, carry on as normal.” It’s echoed numerous times (along with the derisory tone) in the comments section.<br />
<br />
However, those who have the responsibility to ensure safety on the roads often <a href="http://roadsafetygb.org.uk/news/drink-drive-campaign-urges-drivers-to-steer-clear-of-the-dark-side-4798/">advise that any amount could be a problem</a>. Alcohol increases risks generally and as to pleasurable experiences, there are many free alternatives (such as meditation) that don’t carry such risk. Moreover alcohol’s biggest risk is not the physical effects, but the increase in heedlessness (which in turn increases exposure to risk). Furthermore, many people do recommend abstention, especially those who practice a religion (in Christianity, think about the temperance movement; in Islam the prohibition on alcohol; and in Buddhist the Fifth Precept. They regard it as poison, which immediately makes an argument for adopting such a position. But practice varies enormously due to cultural conditioning, as I established when I carried out my own <a href="http://www.chezpaul.org.uk/buddhism/Trafford_Survey5thPrecept.pdf">survey online</a>.<br />
<br />
Britain has a long-standing culture of alcohol, where any number of explanations are readily forthcoming (such as alcohol is needed to keep people warm — to which one may point out that the Cadbury family’s hot chocolate business demonstrated no such need.) Some are very protective about drinking habits, which reflects the social function, but the gathering down the local pub doesn’t need to be fuelled by alcohol as there are many other beverages that could take their place. It spans all social strata, particularly noticeable at Oxford University, where so much social networking revolves around it (many academics are partial to a glass of fine wine), though it’s not so pronounced as before. It even affects Buddhist scholarship; if an academic interprets the precept around refraining from intoxicants as “not to take alcohol to the point of intoxication” then it’s quite likely that they drink alcohol! But from <a href="http://www.chezpaul.org.uk/buddhism/MSt_dissertation.htm">my own reading of canonical sources</a> the Buddha was clear — to be safe, “not a drop” should be consumed.<br />
<br />
The Buddha taught in a way that both enabled an individual to cultivate their mind, but also to foster the social conditions in which individuals practice. Returning to GBD study, it was the World Bank who sponsored initial work in 1990, subsequently reported in the <a href="https://openknowledge.worldbank.org/handle/10986/5976">World Development Report 1993 : Investing in Health</a> (see the section on ‘Measuring the burden of disease’, pp. 25-29). In that report from 25 years ago there was already established a way of measuring reduced quality of life as disability-adjusted life years (DALYs). Although there was no explicit mention in this section of alcohol, it is mentioned in other sections as a factor in violence against women, and as a factor in high spending in low income families correlated to medical conditions (p.44). More generally this work also indicates severe social costs not measured. And one can take this further by consider the non-physical and even metaphysical implications: in Buddhism, the link between alcohol and dementia is clear:<br /><br />
<blockquote class="tr_bq">
For one reborn as a human being drinking liquor and wine at minimum conduces to madness.</blockquote>
<div style="text-align: right;">
<a href="https://suttacentral.net/an8.40/en/bodhi">Anguttara Nikaya 8:40</a>, trans. Bhikkhu Bodhi,</div>
<br />
<br />
The greatest danger from alcohol is the risk of heedlessness, which can lead to any number of problems, for the individual and others, which may or may not have observable impact on physical health. It can lead someone to think that an extra glass is okay and then this process can keep repeating and there lies the danger — as recovering alcoholics will insist very strongly. The effects are determined by the Law of Karma and taking alcohol is described as a road to ruin. It’s really not worth the risk.<br />
<br />
<br /></div>
Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0tag:blogger.com,1999:blog-15893824.post-90847694669981090252018-09-04T21:51:00.000+01:002018-09-04T21:55:28.571+01:00Pause for Thought: The Use of Interventions in Social Networking Sites (Part 2)<div dir="ltr" style="text-align: left;" trbidi="on">
We’ve laid <a href="https://paultrafford.blogspot.com/2018/08/pause-for-thought-use-of-interventions.html">the groundwork</a> for a cognitive approach to re-designing social networking sites. OK, so it sounds a good idea to design interventions with due sensitivity, a supportive space for reflection, supporting us online in reaching outcomes that are for our well-being. Then how exactly do we do this? What techniques are available that are suitable for application?<br />
<br />
I’m going to suggest a general technique (Thinking Routines) and then develop the rationale to support a particular kind of usage, mainly derived from a Buddhist perspective, but drawing from and linking to other disciplines.<br />
<br />
<h3>
Case study: Thinking Routines for Teacher Training</h3>
The field of education seems a good place to look, and for cognitive development a promising candidate seems to be the ‘Thinking Routines’ of Harvard’s Project Zero, their extensive research into a broad teaching method called ‘<a href="http://www.pz.harvard.edu/projects/visible-thinking">Visible Thinking</a>’ . It encourages healthy cognitive habits of observing, questioning and exploring. For example, ‘See, think, wonder’ is “a routine for exploring works of art and other interesting things”: <br />
<ol>
<li>What do you see? </li>
<li>What do you think about that? </li>
<li>What does it make you wonder? </li>
</ol>
The questions are self-directed, prompt critical engagement and their simple formulation make them easy to remember and apply repeatedly, which suggests they could become good habits.<br />
<br />
How amenable are ‘Thinking Routines’ online? It likely depends on the context. They seem well suited to the evaluation of educational Web content, as enthusiastically <a href="http://revistes.ub.edu/index.php/IEM/article/view/11889">advocated by Thomas March</a>. Teresa Foulger <em>et al.</em> have shown that furthermore they can be used to focus on ethical issues, adopting them as an inquiry-based pedagogical protocol for teacher trainees. Their method used case-based interventions to prompt trainees to reflect especially on the <a href="http://teachinglearningresources.pbworks.com/f/Moral_Space_Social_Networking_JRTE_2009.pdf">implications of SNS use around student-teacher interactions</a>. <br />
<br />
Given the relevance of the ethical discussion in the teacher training paper, I’m going to consider the routines used, which were of three types:<br />
<ol>
<li>See–Think–Wonder: What did you see/read about X? What do you think about X? What does it make you wonder about X?</li>
<li>Claim–Support–Question: Make a claim about X. Identify and support your claim. Ask a question related to your claim.</li>
<li>What makes you say that?: What’s going on with X? What do you see that makes you say that?</li>
</ol>
The questions were posed in a deliberate sequence with reference to a use case concerning teachers’ problematic online interactions with students in MySpace. They were designed to gradually prompt reflection on the ethical implications of such activity outside of the normal physical environment of the school and classroom. Thus,‘See, think, wonder’ is used twice, first as:<br />
<ol>
<li>What do you see/read about how MySpace/social networking works?</li>
<li>What do you think about how MySpace/social networking works?</li>
<li>What does it make you wonder about how MySpace/social networking works?</li>
</ol>
This is then reinforced by another routine of the same type:<br />
<ol>
<li>What do you see/read about teachers’ use of social networking sites?</li>
<li>What do you think about teachers’ use of social networking sites?</li>
<li>What does it make you wonder about teachers’ use of social networking sites?</li>
</ol>
Whilst these are very general high-level questions, even so the interventions had a statistically significant impact, whereby judgements about the scenario presented became more moderated, taking into account broader perspectives; and awareness increased about the dilemmas over jurisdiction. Whilst MySpace is now past its hey-day, the same issues would apply to other SNS; the research is usefully indicative of how to foster a “culture of thinking” more broadly.<br />
<br />
But before continuing with interventions, I wish to step back and consider broad issues around personal safety.<br />
<br />
<h3>
Safety and Robustness</h3>
The deliberations in the research above revolved around risks and safety, major considerations that were difficult to resolve, partly because boundaries between physical and virtual were not clear, so it was difficult to establish clear jurisdiction. The software, provided by a private company, made it very easy for awkward situations to arise and there was a lack of clear guidance on behalf of the educational establishments. Nowadays, institutions often provide social media policies, but the boundaries between the professional and personal remain blurred, largely because the systems are built with little consideration of them and generally have very different priorities. Given that there is a great deal at stake, I wish to look into these aspects and analyse from first principles, especially with regards to system design because that’s a much more significant factor than most people realize.<br />
<br />
Let’s start by defining safety. For example, what does it mean for children to be safe or unsafe online? Basically, <i>safety</i> is protection from harm or loss. That simple sentence can be read in different ways depending essentially on what we mean by “protection”. “You’re safe here” can be taken as a simple statement of fact, but really it is an assertion that requires justification, which in turn depends on a proper assessment of risk. <br />
<br />
To sharpen the focus, there is a branch of computer science that specializes in safety-critical systems, i.e. systems where there is a risk of the loss of life if something goes wrong. This was the subject of my <a href="https://ethos.bl.uk/OrderDetails.do?did=3&uin=uk.bl.ethos.363107">PhD thesis</a>, where I used mathematical techniques called <i>formal methods</i> in the specification and analysis of medical device communications. <br />
<br />
I quote the definitions I used there (chapter 2):<br />
<ul><i>Safety</i> is a value judgement, perceived essentially as protection from loss (or injury), be it physical, social or environmental. </ul>
<ul>A <i>hazard</i> is a set of conditions in which the protection is reduced, that is unsafe to some degree, and has an associated risk of loss. </ul>
<ul><i>Risk</i> is defined in terms of three factors: the likelihood of a hazard occurring, the likelihood of the hazard leading to an accident, and the severity of the worst possible potential loss resulting from such an accident. </ul>
<ul>An <i>accident</i> is an event which occurs in an unsafe state and results in loss. </ul>
Hence, put proactively, safety needs to be assured; it is the minimisation of the risk of any major mishap or accident, which requires understanding the hazards and designing in a way to avoid or effectively deal with them. Then the goal is to ensure safety by design and correct implementation. Various techniques are used, fundamentally rooted in mathematical proof. Accidents are to be prevented through the control of conditions and most especially by preventing or minimizing the severity of hazards so that the probability of an accident is acceptably small and/or the effect of the accident is acceptably mitigated. Treated this way, the risk is considered acceptable.<br />
<br />
Even though we’re dealing with software, the definitions are broadly applicable to life in general, which already suggests that software is an environment that affects our well-being to a considerable degree. We may even consider SNS as a safety-critical system when considering extreme cases of abuse, such as the damage done to emotions and reputations, as well as possibly related physical actions that <a href="https://www.bbc.co.uk/news/uk-england-hampshire-45408338" target="_blank">can even lead to fatality</a>. I think that presents a compelling case for making a concerted effort to ensure safety online: to protect as far as possible against undesired eventualities that carry risk, both individual (as personal and emotional integrity) and institutional (as maintaining honourable status). So the analysis and treatment of risk is fundamental to safeguarding well-being.<br />
<h4>
System robustness</h4>
There is one further concept that I wish to introduce (please bear with me!) It concerns the provision of safety. I introduce it with an example.<br />
<br />
Suppose you have just tidied and cleaned the kitchen; it’s clear of all implements, a safe space for that next culinary masterpiece. Except that you don’t notice the toy car that’s just been brought in by your toddler. You step on it and take a tumble. “That wasn’t meant to be there!” you cry. Very soon, you realize — after the event — that you didn’t close the kitchen door; the open door presented a risk of your child coming in, a hazard was created and it led to an accident. The safety of the environment was not <i>robust</i>.<br />
<br />
In the software context protection is typically ensured by <i>robust</i> design, which means that the system performs dependably in all operational circumstances. It requires that any implementation delivers what’s specified, but also cannot engage in (extra) unspecified behaviour. The term might sound cumbersome, but it’s a very important consideration in many daily situations. Hence, medical treatments should not give serious harmful side effects unless the criticality of the situation makes this a price worth paying; accordingly, the packaging of medical pills usually lists the known undesirable effects and it's why vaccinations can be such a bone of contention. In the kitchen example above, keeping the door closed is a robust measure, helping to ensure safety. And in the context of SNS, we would particularly expect the system to ensure that data marked as private really is private.<br />
<br />
The main challenge to medical science is: how can one anticipate every eventuality? It’s the same for software. In general you can’t and so the requirement on robustness might get expressed as "not performing what is disallowed". However, there are techniques that make it easier, one of which is separation of concerns and the use of modular components. The task of risk analysis is then largely reduced to how the system behaves when such components interact.<br />
<br />
I hope this has shown that in the design of SNS there is a need to be proactive to help ensure safety of all participants by properly treating risks and providing due protection. Intrinsic to this safety are user interfaces, which provide more than just functionality and this is where the use of interventions comes in. Currently, they are driven by regulation or marketing: hence the pop-up for obtaining “informed cookie consent” or site feedback. The notion of designing interventions in SNS for safety seems to be novel.<br />
<h4>
Personal robustness</h4>
Computers have the capacity to handle huge amounts of data without tiring, but humans do not; systems keep going, whilst people burn out. Much of the risk in the context of social media revolves around the interplay between the physical and virtual environment, and, vitally, the impact on the person’s well-being, as discussed above. I think it pertinent then that software systems should support <i>personal robustnesss</i>, which means that such systems are designed and developed in such a way that they assuredly protect a person’s integrity. I’ve not encountered any of the current SNS coming close to achieving this. I suspect this is not only because of commercial and other priorities, but also partly because the prevalent development methodology of trying things out on members of the public to see what breaks — it’s not a habit conducive to well-being.<br />
<br />
To some extent, members of society (and the brain) can adapt and cope through developing <i>resilience</i>. In terms of the mind and mental processes, the practice of mindfulness and clear comprehension now has widespread recognition for developing inner strength or protection, increasing the ability to respond more skilfully to our personal spaces, but the environment itself still needs to be addressed. <br />
<br />
Systems architects would do well to learn more about personal psychology and the cognitive inputs and outputs. For whatever the environment, we have a personal responsibility to take care, which includes contributing to our environment in ways that help reduce risk and improve well-being for all. This entails developing our own personal and emotional qualities and becoming aware of how our actions affect these in others — do they enable or hurt? Do they promote welfare or hinder it?<br />
<h4>
What to perform vs what to avoid: Perspectives from Buddhism and Psychology</h4>
Seeking suitable means to promote and safeguard human flourishing, I’ve been delving into canonical Buddhist texts to see what might be amenable to the online context. It is generally taught that the cultivation of moral virtue is a foundation for meditation practice and in turn for wisdom. So ethical conduct is a basis for clear comprehension when it comes to making decisions. Further, within this field there is a pair of terms that reflects the sense of fulfilling conditions robustly. These are the principles of <i>cāritta</i> (positive performance of wholesome actions) and <i>vāritta</i> (avoidance of harmful actions), both terms from the Pali. <br />
<br />
We may illustrate <i>cāritta</i> and <i>vāritta</i> by the Five Precepts, rules of training (not commandments) for moral virtue observed by Buddhists around the world. They are generally formulated as <i>vāritta</i>.<br />
<ol>
<li>I undertake the precept to abstain from the taking life.</li>
<li>I undertake the precept to abstain from taking that which is not given.</li>
<li>I undertake the precept to abstain from misconduct in sensual actions.</li>
<li>I undertake the precept to abstain from false speech.</li>
<li>I undertake the precept to abstain from liquor that cause intoxication and indolence.</li>
</ol>
The texts also indicate a <i>cāritta</i> counterpart in which the practice is to cultivate respectively compassion, honesty and contentment, fidelity, truthfulness, and heedfulness. Each precept had particular significance, but the fifth precept, which was the subject of <a href="http://www.chezpaul.org.uk/buddhism/MSt_dissertation.htm">my Master’s dissertation</a>, is said to underpin the others. They all involve the discipline of restraint, which I think is very relevant to the use of the Internet.<br />
<br />
Then we can see in the context of software development, applying <i>cāritta</i> is to enable people to render good service to each other, and applying <i>vāritta</i> is to protect people from carrying out misdeeds, thereby carrying out a role of robustness. This twofold approach naturally suggests two kinds of interventions, based on <i>cāritta</i> and <i>vāritta</i> respectively. If we can build these principles into the system design, this should lead to more sustainable livelihoods and friendships. I’ll attempt to show how this may be done in the next section.<br />
<br />
But before I do, I wish to refer to the research area in psychology of <i>regulatory focus theory</i> (see <a href="http://higginsweb.psych.columbia.edu/research/#rf">Higgins Research Lab</a> and also the <a href="https://en.wikipedia.org/wiki/Regulatory_focus_theory">Wikipedia entry</a>). I have yet to properly explore this research and related regulatory ‘family members’, but from an initial glance it appears to be fundamentally concerned with motivation in the pursuit of goals and with the decision-making process. The theory “posits two separate and independent self-regulatory orientations, both fundamentally related to value motivation (i.e., achieving desired end-states):” prevention and promotion. Under prevention, lo and behold, it “emphasizes safety, responsibility, and security” and also “prefers a vigilant goal-pursuit strategy” whereas promotion “Emphasizes hopes, accomplishments, and advancement”.<br />
<br />
The theory appears to have gained some maturity with its analysis of motivations ranging from the immediate and momentary to the long-term, though I sense it’s still exploring the depths and may have a lot further to go. In a paper by James Cornwell, Becca Franks and Tory Higgins, <i><a href="https://www.frontiersin.org/articles/10.3389/fnsys.2014.00194/full">Truth, control, and value motivations: the “what,” “how,” and “why” of approach and avoidance</a></i>, there is a nuanced consideration of motivations; they are not simply about the pursuit of pleasure and avoidance of pain. A key aspect is its recognition of the significance of the moral or ethical dimension. There is a survey of research into prevention- and promotion-based strategies that consider various moral and ethical situations, giving room for the subjective and values held internally.<br />
<br />
This is very much aligned with the discussion above that posits a safety-oriented goal in systems architecture with the motivation of protecting well-being; <i>vāritta</i> aligns with prevention and <i>cāritta</i> with promotion, a perspective rooted in a distinct ethical system. Moreover, it’s not such a fanciful proposition to have such altruistic goals, viewing the world as a non-zero-sum game, as it were, where everyone can benefit. In the Buddhist approach, the ultimate goal is the transcendence of Samsara and its eternal round of unsatisfactoriness. Sensual pleasures are not necessarily to be avoided (otherwise many meditation practices would be nullified!), but one must guard against becoming attached to them, which is, alas, the usual state for suffering beings and may be regarded as a form of addiction.<br />
<br />
Motivations depend upon view. Someone who is metaphorically asleep, will be largely motivated by material considerations; whilst someone on the spiritual path will have other motivations and possess a range of attitudes to materiality: from eschewing it to making use of it, insofar as it’s helpful to others on the path. From a Buddhist perspective, decision-making is guided by how one views the law of <a href="https://www.accesstoinsight.org/tipitaka/dn/dn.15.0.than.html">dependent origination</a> (the workings of <i>karma</i>). The aspect of clear comprehension in mindfulness knows about cause and effect and would be aware of how its principles operate in any specific context, but it still requires commitment for skilful application. <br />
<br />
Here two principles of restraint are kept in mind by an observant Buddhist: <i>hiri</i> and <i>ottappa</i>, Pali words that mean respectively “a sense of shame” about wrong-doing and “a sense of fear” about its consequences; the former being an internal sense that dwells on the conscience, whilst the latter is the observable damaging effects. <i>Hiri</i> and <i>ottappa</i> are precious; they are considered two of the <a href="https://www.accesstoinsight.org/tipitaka/an/an07/an07.006.than.html">seven noble treasures</a>. For an insightful discussion of their value, please read Bhikkhu Bodhi’s essay, <a href="https://www.accesstoinsight.org/lib/authors/bodhi/bps-essay_23.html">The Guardians of the World</a>.<br />
<br />
There's quite a lot of overlap and resonance between the discussion by Cornwell <i>et al.</i> and the exposition of <i>hiri</i> and <i>ottappa</i> and I hope this will be investigated further. In the context of social media, observing <i>hiri</i> and <i>ottappa</i> would prevent any ill-willed and thoughtless tweet being typed on the keyboard. Parker’s comments in his <a href="https://www.axios.com/sean-parker-unloads-on-facebook-god-only-knows-what-its-doing-to-our-childrens-brains-1513306792-f855e7b4-4e99-4d60-8d51-2775559c2671.html">Axios interview</a> are indicative and instructive. His becoming "something of a conscientious objector" on social media reflects <i>hiri</i> and “God only knows what it's doing to our children's brains” reflects <i>ottappa</i>.<br />
<br />
Scanning <a href="https://scholar.google.co.uk/scholar?hl=en&as_sdt=0%2C5&q=%22regulatory+focus+theory%22+design+%22social+networking+sites%22&btnG=">via Google Scholar</a> the papers that have been published on regulatory focus theory and its application to SNS, particularly around avoidance and performance, many of them appear to be more concerned with consumer choice and marketing issues. “Choices, choices everywhere and ne’er a stop to think.” Or reflect.<br />
<br />
I don’t see anything on applying to new systems design, so perhaps have a break for a cuppa and then let’s keep going...!<br />
<br />
<h3>
Applying Thinking Routines to SNS activities</h3>
If we are to build interventions into the systems themselves, it helps to make reference to some specific context pertinent to the scenario. And it needs to be succinct. So it may be helpful to keep i mind the context of the student-teacher relationship for which we may highlight two repeated patterns of risk that generally affect behaviour between them: how one communicates about others in light of the potential for public revelation (applicable to most social media) and how we conduct ourselves in making connections — or ‘friend’ requests — functionality that’s core to social media in general, but in the context of a proposed new system architecture. <br />
<br />
Can we devise suitable Thinking Routines to fulfil these interventions? I feel I may need some help here! One of the main problems, arguably the primary concern, is just to stem the flow of data, so introducing ill-designed thinking routines may potentially exacerbate the situation by encouraging discursive thought. However, if the quality of thought is improved then it’s likely to reduce discursive thought in future.<br />
<br />
Time to ground our analysis in the two use cases just mentioned. For each of these scenarios, I’ll propose interventions using custom Thinking Routines based on Buddhist teachings on harmless speech and wholesome conduct. <br />
<h4>
Use Case 1: 5 Star Speech for Status Updates</h4>
Here is a status update box — an old screenshot, but I’m sure it’s familiar:<br />
<br />
<a href="https://2.bp.blogspot.com/-zDdEEO2YMUg/W47TXUgkD-I/AAAAAAAAA0g/M4wCsWO9NeowSe3jrO0jQqXqM5di-XLFACLcBGAs/s1600/facebook_statusbox.jpg" imageanchor="1"><img border="0" data-original-height="140" data-original-width="717" height="77" src="https://2.bp.blogspot.com/-zDdEEO2YMUg/W47TXUgkD-I/AAAAAAAAA0g/M4wCsWO9NeowSe3jrO0jQqXqM5di-XLFACLcBGAs/s400/facebook_statusbox.jpg" width="400" /></a><br />
<br />
This Thinking Routine is all about pausing to think before we hit the ‘share’ button. A teaching in the Vācā Sutta (discourse on speech) describes 5 qualities of well-spoken and blameless speech.<br />
<ol style="text-align: left;">
<li>It is spoken at the right time. (<i>kālena</i>)</li>
<li>It is spoken in truth. (<i>saccā</i>)</li>
<li>It is spoken gently. (<i>saṇhā</i>)</li>
<li>It is spoken beneficially. (<i>atthasaṃhitā</i>)</li>
<li>It is spoken with a mind of good-will. (<i>mettacittena</i>)</li>
</ol>
[from the Anguttara Nikaya, Book of the Fives, <a href="https://www.accesstoinsight.org/tipitaka/an/an05/an05.198.than.html" target="_blank">No. 198</a> - I've chosen a different rendering of <i>saṇhā</i> to reflect the opposite of <i>pharusā, </i>which means ‘roughly’ or ‘harshly’]<br />
<br />
These statements lead directly to 5 questions to be presented for what we might dub ‘Mindful Thinking Routines’ or the ‘Thinking Routine for 5 Star Speech’. They can be tried out any time on any communication system.<br />
<br />
How about ... ?<br />
<ol style="text-align: left;">
<li><b>Notice</b>: <br />
What is it that you ‘see’ that prompts you to write? What’s inspiring you? <br />
How does it make you feel? Is it positive or negative? <br />
[These two scenarios correspond to <i>cāritta</i> and <i>vāritta</i> (wanting to affirm and promote vs wanting to deny or remove)] <br />
</li>
<li><b>Think</b>: <br />
What do you want to say? <br />
Is it true? Have you got your facts right?<br />
Is it the right time to say it? <br />
</li>
<li><b>Imagine</b>: <br />
Who’s going to read your message? <br />
What will they feel when they read it? <br />
How will it benefit them?<br />
</li>
<li><b>Plan</b>: <br />
How are you going to say it in the best way? Prompts: <br />
- friendly intentions <br />
- gently <br />
(Why do these this work?) </li>
</ol>
Special consideration should be given to ‘hot topics’. Perhaps they should have their own refined thinking routines…?<br />
<br />
On submission, the system (as happens already with some systems) can validate the input and check particularly for offensive language. If something is flagged as potentially inappropriate, then a further intervention can come into play: <br />
<br />
<div style="text-align: center;">
Did you really mean to say that? It may be regarded as offensive … etc.</div>
<br />
<h4>
Use Case 2: Friend Requests</h4>
I registered for a Facebook account in 2007 and within a few weeks I was not impressed by the fact that there was fundamentally only one connection type of ‘friend’, so I started pondering <a href="https://web.archive.org/web/20090417130225/http://www.educause.edu/blog/pault/OnFriendsandotherassociations/167285" target="_blank">other kinds of relationships</a> that ought to be made explicit and concluded that a better solution lay in some <a href="https://www.accesstoinsight.org/ati/tipitaka/dn/dn.31.0.nara.html" target="_blank">teachings the Buddha gave to a householder, Sigāla</a>, on how to conduct wholesome relationships.<br />
<br />
Convinced by the validity of the argument, I continued to develop the ideas for the <a href="http://siga.la/" target="_blank">Sigala project</a>. The key architectural element is the separation of concerns through the identification of 6 types of people and hence directed communications in 6 directions, viz: the cardinal points (north, east, south and west) plus ‘above’ and ‘below’. This is not merely arranging connections in sets or groups, but orthogonal classes of connections, each with their own mode of interactions. <br />
<br />
At the heart lies a teaching the Buddha gave to a householder,<br />
<ul style="text-align: left;">
<li>East: parents</li>
<li>South: teachers</li>
<li>West: dependents</li>
<li>North: friends and associates</li>
<li>Above: spiritual guide(s)</li>
<li>Below: servants or employees</li>
</ul>
(Think chronologically — the sun rises in the East and sets in the West.)<br />
<br />
It has been rendered visually as follows:<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://4.bp.blogspot.com/-yUAZFiOsV80/W47Whw-1IJI/AAAAAAAAA0s/42-mEL3qUwEonpbeUoLwmRfRjatPm7rTQCLcBGAs/s1600/6dirns_edited2_no_title.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="894" data-original-width="792" height="400" src="https://4.bp.blogspot.com/-yUAZFiOsV80/W47Whw-1IJI/AAAAAAAAA0s/42-mEL3qUwEonpbeUoLwmRfRjatPm7rTQCLcBGAs/s400/6dirns_edited2_no_title.gif" width="353" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>The Six Directions</b> (adapted)<br />
source: <i>Man’s Personal Transformation</i> by Ven. Dhattajeevo</td></tr>
</tbody></table>
<br />
Under the proposed architecture the first task is to provisionally decide the primary type of relationship. It should usually be straightforward, but it is possible to have multiple and there can be edge cases. The word ‘provisionally’ is deliberate as the relationship type should be mutually agreed — are they really a friend, say? (it’s likely to be quite meaningless if it’s a connection you’ve only met once for a few seconds.) So in some cases a further task is to determine the depth of connection<br />
<ol style="text-align: left;">
<li><b>Identify</b><br />
How do I know them?<br />
</li>
<li><b>Think</b><br />
How well do I know them?<br />
Do I want to associate with them online?<br />
<br />
This part could be facilitated by a further Thinking Routine based on other passages in the sutta. For example, with respect to friends, the sutta describes how one should minister to friends and associates (as the North). This can prompt one to ask oneself about what one is ready to give (rather than take). <br />
<br />
<b>… Consider </b>Am I ready to:<br />
(i) To be generous? <br />
(ii) to show courtesy in speech?<br />
(iii) to offer help?<br />
(iv) to be impartial?<br />
(v) to act with sincerity?<br />
<br />
In turn, consider: is the associate a true friend?<br />
<br />
… <b>Imagine</b> … you are in the company of this person. <br />
Do they act as follows?<br />
(i) Protect me from being heedless?<br />
(ii) Protect my property if I am heedless?<br />
(iii) Someone I can turn to when in danger?<br />
(iv) Someone who sticks around when I’m in trouble?<br />
(v) Do they show consideration for my family?<br />
</li>
<li><b>Connect</b>!<br />
All OK? Then now is the time to send the invitation. If writing a note of introduction, considering using the Thinking Routine for 5 Star Speech. :-)</li>
</ol>
<br />
If these connection types are in active use, then it will help communications by giving a more specific focus to directed communications: who is this message for?<br />
<h4>
User interface</h4>
The interventions above can be used inside or outside a particular system; in the former case, they are suitable for classrooms where the general issues can be introduced by the teacher or facilitator and particular examples discussed in groups. But I also think they need to be intrinsic to the system itself. An appropriate balance is then needed when implementing the user interface. It’s particularly challenging since the relentless emphasis on making things as easy as possible has tended to strip away many of the cultural norms in communication and, I think, some respect along with it. To take the second use case, there may be quite a number of connections to review so we may expect this to require sometimes rapid evaluation. When pressed, it may be tempting to just accept all the connections, even if one knows there are edge cases. Perhaps there should be a system warning: Don’t do this in a rush!<br />
<br />
Given that we have got used to ‘instant access’, where we doing things quickly and with little thought, then making more effort, conscious effort to think and reflect when communicating, might not come easily without some fresh training and until it becomes a habit. Using the Internet can be considered a skill like driving and it’s no coincidence that there exists certification such as the European Computer Driving Licence (ECDL) to help <a href="http://ecdl.org/about-ecdl/online-essentials" target="_blank">navigate the basics</a> (and perhaps the use of social media could be likened to using motorways?)<br />
<br />
It may help to consider that nowadays there are already many interventions in Web site browsing, many steps before one accesses, most of which are niggly and don’t have much long-term benefit. In contrast, the interventions proposed above should lead to flourishing in the long-term and then it’ll be easier to see the effort as worthwhile.<br />
<br />
I feel that with children accessing social media, we should put them at the forefront of design. We could trial ideas in some kind of ‘tutorial mode’, in which we can link to relevant resources at each decision step; we could keep some elements of this scaffolding for children, similar to how Junior Scrabble provides a simplified board to help learn spelling. A playful user interface can enhance the presentation and perhaps we may introduce an A.I. assistant, with its avatar, but that may bring back memories of <a href="https://en.wikipedia.org/wiki/Office_Assistant" target="_blank">Clippy</a>, whose <a href="https://chrome.google.com/webstore/detail/clippy-the-useless-paperc/fmbcdhjmhddnnpeomknikdbboejbhdcl" target="_blank">return to a browser</a> is likely to be a <a href="https://mashable.com/2017/03/01/clippy-chrome-extension-microsoft/" target="_blank">perturbing experience</a> for some.<br />
<br />
A viable solution should be simple and elegant that flows well, then the process could seem almost effortless.<br />
<br />
<h3>
Conclusion</h3>
It’s been quite a long thread to get to the practical applications, but I hope it’s clear enough how we can apply insights from Buddhism, psychology and other disciplines to the design of interventions in software systems that enhance and even ennoble behaviour and help protect against bad behaviour.<br />
<br />
The image I have of current SNS is of a large barrel full of holes, leaking water (or oil) everywhere and causing a lot of damage. The barrels are not fit for purpose, but to build better ones requires understanding robustness. Translating this metaphor, it means design software architectures that promote and protect human integrity. To help ensure such integrity, we’ve seen how these may be derived with reference to a particular Buddhist text, the Sigalovada Sutta, which separates out different kinds of dyadic relationships. At the simplest level it distinguishes between kinship and non-kinship connections; and it also suggests interventions that involve reflecting on the nature of the connection and how to properly nurture it. <br />
<br />
The specificity of such interventions should render their effectiveness amenable to verification by cognitive science. In this regard, we note they are mental-emotional states associated with virtue, particularly around qualities of loving kindness and compassion, which have already been well demonstrated in neuroscience studies. Given the wide-ranging treatment, this post suggests only elements of a framework, and necessarily invite researchers, designers, developers to help validate and improve the various components. <br />
<br />
Irrespective of the thoughts presented here, I would encourage experts in many disciplines involving or relating to mind and education to become involved in co-creating SNS systems of the future for our current and future well-being. <br />
<br /></div>
Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0tag:blogger.com,1999:blog-15893824.post-85981651503473574722018-08-27T14:24:00.000+01:002018-12-01T17:19:13.903+00:00Pause for Thought: The Use of Interventions in Social Networking Sites<div dir="ltr" style="text-align: left;" trbidi="on">
The ‘attention economy’ has become a way large organisations view our use of the Internet; to maximise revenues, systems are designed to retain and nurture our attention, to keep us in front of screens and to steer us in particular directions, usually feeding some form of consumerism.<br />
<br />
Perhaps because of the novelty in social media, Web 2.0, etc. and the undoubted benefits of connecting people irrespective of their location, mainstream publicity has for many years been generally positive and upbeat, and it is only belatedly that concerns expressed about the impact on one’s mental state and well-being (and hence for society as a whole) have started to be taken seriously. However, these concerns are growing, especially evident among those behind such technological developments, who, as parents, are <a href="https://www.nytimes.com/2018/10/26/style/silicon-valley-nannies.html">instructing nannies to prevent their children from having access to such devices</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://en.wikipedia.org/wiki/Supramarginal_gyrus#/media/File:Gray726_supramarginal_gyrus.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="370" data-original-width="640" height="231" src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/5e/Gray726_supramarginal_gyrus.png/640px-Gray726_supramarginal_gyrus.png" width="400" /></a></div>
<br />
Figure: The <i><a href="https://en.wikipedia.org/wiki/Supramarginal_gyrus" target="_blank">supramarginal gyrus</a></i> (shaded in yellow), which has been found to be <a href="https://www.mpg.de/research/supramarginal-gyrus-empathy" target="_blank">associated with empathy</a>. <br />
<br />
In this introductory post (the first of probably two or three) I’ll try and articulate some of the underlying issues and indicate how I am developing a cognitive approach, extending previous work from a social sciences perspective. My interest in cognitive aspects of behaviour in online environments was sparked whilst leading the <a href="http://projects.oucs.ox.ac.uk/ramble/" target="_blank">RAMBLE project</a> in mobile blogging, 2004-5. Ostensibly a software development project, I noticed that the content being authored had a special reflective quality, as remarked in <a href="http://www.ariadne.ac.uk/issue44/trafford" target="_blank">an article for Ariadne</a>.<br />
<br />
Although I don’t have empirical data to show this, I’m quite sure that cognitively what was essential to the depth and range of student reflection was <i>dis</i>-engagement, allowing the mind to relax and unbind and to come to a natural position of rest before reasoning and evaluating with greater clarity. (Note I used “unbind” deliberately, because the meaning of engagement has a sense of binding.)<br />
<h4>
Definition</h4>
I am going to take the principles of engagement and disengagement to explore a particular facet in design: the <i><b>intervention</b></i>. This word is derived from two Latin words: <i>inter</i>, which means ‘between’ and <i>venire</i>, a verb meaning ‘to come’. (See the <a href="https://www.etymonline.com/word/intervene" target="_blank">entry</a> on the online etymology dictionary.)<br />
<div>
<br />
So an intervention is an act of coming between someone on an existing course or path and the continuation of that path. That ‘act’ could be a natural phenomenon, as in “bad weather intervened in the rescue operation”, but, more usually, when it involves people, there is some intention behind the intervention with a view to <b>modifying the outcome</b>.</div>
<br />
<br />
<h3>
The Problem: Interventions and Attention Deprivation</h3>
At first I thought that the concept of intervention was confined largely to medical sciences, e.g. to help someone who suffers from dyslexia improve the accuracy of their reading. However, as I explored I realized that its use is not restricted to any particular subject or field of application: regarding software and the Internet, there are numerous kinds of interventions or, rather, micro-interventions, in the design of social networking sites, but they are not usually so helpful when repeated!<br />
<br />
Here are a few examples:<br />
<ul style="text-align: left;">
<li>a web page pop-up prompting us to check the site cookies policy or sign up to a newsletter</li>
<li>regular and frequent e-mails conveying selected network updates. Typically they convey only summary information and require clicks to their site to see anything really useful. Some of these will link to pages requiring a paid subscription.</li>
<li>Similarly, 1-1 messages may come via e-mail from a contact, but replying to the e-mail requires logging into the network.</li>
</ul>
The intention behind these designs is mainly to retain and extend the usage of their platforms. Design is deliberate, not accidental, so such technology is not neutral.<br />
<br />
Does that matter? What is the human impact? In the short term (for example, in the immediate mental functioning) and in the long term (for example, in emotional development)? Evidently, the prompts above are designed to hold on to and retain attention, i.e. keep the user engaged, just for a few more moments. A handful of such prompts are easily dealt with, but what about the cumulative effect of dozens, hundreds, or thousands … ?<br />
<br />
Recently there have been candid remarks from a number of prominent figures that indicate that the cognitive and emotional effects are deleterious. Most notably, perhaps, was the reference to a so-called ‘dopamine hit’, by Sean Parker, former President of Facebook, when <a href="https://www.axios.com/sean-parker-unloads-on-facebook-god-only-knows-what-its-doing-to-our-childrens-brains-1513306792-f855e7b4-4e99-4d60-8d51-2775559c2671.html" target="_blank">interviewed for Axios</a>. The design of social networking sites (SNS) and social media technology is by and large making attention an increasingly scarce resource and it thereby is often removing control; malware often spreads when a usually vigilant person is in a hurry to clear their desk and in their haste they click on the wrong link. We tend to think of succumbing to malware in terms of software viruses causing damage to our daily working routines or finances, but Parker has made it clear that badly designed SNS can exploit “human vulnerability” in a similar way by facilitating harmful speech in status updates and accepting ‘friend’ connections without any thought.<br />
<br />
<h3>
Response: An Interdisciplinary Approach to Well-being</h3>
So how do we respond? Vociferous campaigns, such as the <a href="http://www.commercialfreechildhood.org/sites/default/files/devel-generate/gaw/FBMessengerKids.pdf" target="_blank">petition to Facebook</a> from the <a href="http://www.commercialfreechildhood.org/blog/zuckerberg-asked-about-ccfc%E2%80%99s-messenger-kids-campaign-senate-hearing" target="_blank">Campaign for a Commercial-Free Childhood to withdraw Messenger Kids</a>, advocate banning certain new software service developments. However, once released somewhere in the world, technology generally can’t be uninvented, so unless it's clearly illegal then without major societal change it’s little more than a stalling tactic. Other responses are needed. Teaching mindfulness and skilfulness in attending to (and abstinence from) Internet use, as <a href="https://greatergood.berkeley.edu/article/item/how_to_use_social_media_wisely_and_mindfully" target="_blank">advocated by Ravi Chandra M.D.</a>, is a valuable tool that increases our capability and capacity to deal skilfully in such scenarios. It is certainly to be encouraged, but again, just as it’s recognised that certain physical environments are not conducive to well-being and merely leaving them as-is is not desirable, the same applies online.<br />
<br />
I think we need also to be constructive, by proposing alternative technological designs: as Rohan Gunatillake, creator of the Buddhify app, has argued, this requires that practitioners and academics <a href="https://medium.com/@rohan_21awake/the-future-of-mindfulness-apps-and-how-to-stop-it-part-1-1ddc4288ca4f" target="_blank">embrace the digital</a>. Design shouldn’t be left to a small demographic of young technically-savvy coders. Rohan advocates ‘compassionate’ elements to gradually improve the quality of existing designs, which can include softening current interventions (such as replacing an unhelpful alert ‘You’ve got 10,000 messages in your InBox’ with colour saturations for new messages). However, whilst such measures offer some help I see them as minor concessions, which will be insufficient to deal with fundamental flaws (to borrow a biblical image, this is like “pouring new wine into old wineskins”).<br />
<br />
Seeing the need to start afresh, I have for some time been focusing on the theme of well-being rooted in teachings of the Buddha, whilst drawing on a wide range of scholarly disciplines. Previously I explored the architecture of relationship networks from social science perspectives, resulting in ‘Supporting <i>Kalyāṇamittatā</i> Online: New Architectures for Sustainable Social Networking’ (paper and slides on the <a href="http://siga.la/">siga.la</a> project). The <a href="http://paultrafford.blogspot.com/2010/12/interacting-processes-at-3rd-world.html" target="_blank">conference</a> where that paper was given had three strands: Buddhism and Social Science, Buddhism and Cognitive Science, and Buddhism and Natural Science.<br />
<br />
The social science perspective has been helpful in providing some background and general parameters for the design. Indeed, much of the foundational work has already been established concerning notions of friendship, well-being and human welfare, though research tends to drift in particular directions, neglecting others. In social sciences, a central term is ‘social capital’, which rather vaguely attributes value to the various ways of being sociable — a <a href="https://en.wikipedia.org/wiki/Social_capital" target="_blank">Wikipedia article</a> seems to cover this quite well. Alejandro Portes attempted to provide a firmer footing (in <a href="https://www.annualreviews.org/doi/abs/10.1146/annurev.soc.24.1.1?journalCode=soc" target="_blank">Social Capital: Its Origins and Applications in Modern Sociology</a>) and made an important observation that there’s been a gradual shift in how it’s viewed, moving away from small-scale family (kinship) relationships, the original focus for Durkheim, to large-scale societal views. Since that paper, now 20 years old, many SNS studies have reflected that tendency by dwelling on the collective paradigm.<br />
<br />
This has arguably resulted in ethics being a casualty because discussion in this area has been more in terms of personal data and privacy and far less about behaviour. It partly explains how Janet Sternberg’s thesis from 2001 (almost a prehistoric age in Web terms) <a href="http://misbehaviorincyberplaces.tumblr.com/" target="_blank">about misbehaviour in cyber places</a> can be republished in 2012 for, as she explains, there still remains a dearth in literature about behaviour (as well as showing that the principles of community remain largely the same). By introducing normative Buddhist ethics (above) I have tried to highlight how this is the case, but haven't yet got so far in applying this practically to software development. I have been exploring more at a theoretical level the synergies with social science and whilst findings from social sciences, particularly around patterns of human networking, have influenced designs (with research often commissioned by larger tech companies), they are generally not affecting the basic structure.<br />
<br />
For more fundamental aspects concerning the system architecture and user interfaces, further and perhaps deeper insights may be gained by appeal to cognitive science. Social sciences is effective in showing how just as the physical environment impacts our ability to grow socially, so too the online environment, in terms of types of networks and relationships; cognitive science is more focused on the individual person and, like a microscope, potentially able to illuminate the basic qualities and degree of cognitive processing involved at every step. An interdisciplinary approach will be more fruitful, as shown by the work in evolutionary anthropology by Robin Dunbar around the <a href="http://psychology.oxfordre.com/view/10.1093/acrefore/9780190236557.001.0001/acrefore-9780190236557-e-44" target="_blank">"social brain hypothesis"</a>, popularly headlined by <a href="https://en.wikipedia.org/wiki/Dunbar%27s_number" target="_blank">Dunbar's Number</a>. This has even spawned social networking services such as the <a href="https://path.com/about" target="_blank">Path app</a>, as <a href="https://www.wired.com/2010/11/the-path-to-social-network-tranquility-is-lined-by-50-friends/" target="_blank">featured on Wired</a>, with network size limited by that number.<br />
<br />
<h3>
The Solution? Restoring Attention through Intervention</h3>
Long before Parker's confession, concerns had been raised among various researchers, especially by practitioners in children’s education focused on individual development over the long term. Some of the earliest empirical studies that addressed specifically emotional development among adolescents were carried out by Mary Helen Immordino-Yang <i>et al</i> at the University of Southern California, in interdisciplinary work that brought together experts in education and neuroscience. In an important paper, <a href="http://www.pnas.org/content/106/19/8021" target="_blank">Neural Correlates of Admiration and Compassion</a>, they described experiments to foster qualities of virtue such as compassion and observed:<br />
<br />
<blockquote class="tr_bq">
“In order for emotions about the psychological situations of others to be induced and experienced, additional time may be needed for the introspective processing of culturally shaped social knowledge. The rapidity and parallel processing of attention requiring information, which hallmark the digital age, might reduce the frequency of full experience.”</blockquote>
<br />
In other words, there is at the basic level of cerebral functioning, a certain minimum duration required to absorb and process. I suspect that minimum is for survival and if this exposure were sustained for a long time, then perhaps more neural connections would be established, a kind of adaptation that ensured continuation in terms of essential biological functioning. In the context of behaviour online, it means that the brain can develop ways to cope with the barrage of interventions, but what about the overall health and what would that mean in terms of more refined human qualities? <br />
<br />
The team subsequently emphasized that time was of the essence. Interviewed for USC News, <a href="https://web.archive.org/web/20090415123126/http://uscnews.usc.edu/science_technology/nobler_instincts_take_time.html" target="_blank">Noble Instincts Take Time</a>, Immordino-Yang remarked:<br />
<br />
<blockquote class="tr_bq">
“For some kinds of thought, especially moral decision-making about other people’s social and psychological situations, we need to allow for adequate time and reflection...”</blockquote>
<br />
I take that as a cue for designing interventions in a new, wholesome way. But it will takes more than one "magic number" to foster a radically new approach to system and interaction that could provide an alternative to the most popular systems in use.<br />
<br />
So let’s see if we can show how the use of new kinds of interventions as an aspect of design in SNS can enhance the quality of attention and decision-making. Can we in particular deploy interventions to enable users to take more time for reflection and evaluation online? Can we do this especially with a view to the cultivation of virtue, which will aid in our personal development and the fostering of healthy relationships?<br />
<br />
Our efforts should pay more attention to individual behaviour, especially on how to make choices more skilfully; this is where interventions can be introduced. Friendship is a pertinent focus because it applies to many scenarios where one’s actions have some impact on the quality of one’s relationship with others. Actually, many kinds of interventions can be specified to enhance friendship with various spheres of impact, amply demonstrated in a valuable reference paper by Adams and Blieszner, <a href="https://scholarworks.wmich.edu/cgi/viewcontent.cgi?article=2100&context=jssw" target="_blank">Resources for Friendship Intervention</a>. Their investigations reveal their intricate nature and considerable variety; they are sensitive to how effects can be unpredictable. They also discuss how cognitive processes can be uplifting (page 162):<br />
<br />
<blockquote class="tr_bq">
“Intervention thus centers on identifying irrational beliefs and sources of inappropriate schemas; analyzing the emotional and behavioral outcomes of holding those beliefs and schemas; and replacing them with more realistic, accurate, and positive ways of thinking about the self, others, and relationships.”</blockquote>
<br />
There is a section devoted to 1-1 (dyadic) relationships, which is discussed in terms of marital partnerships, but even in that context it is recognised that:<br />
<br />
<blockquote class="tr_bq">
“it is equally important that partners maintain a degree of autonomy or self-determination … rather than responding to each other only on the basis of anxiety or other emotions.”</blockquote>
<br />
Think about the online context — how much autonomy do we really have and what is our emotional state in our interactions?<br />
<br />
It needs pause for thought, and in <a href="http://paultrafford.blogspot.com/2018/09/pause-for-thought-use-of-interventions.html">the next post</a> I'll show how interventions can help.<br />
<br />
<br /></div>
Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0tag:blogger.com,1999:blog-15893824.post-2044933459228881582018-06-06T16:12:00.000+01:002019-08-10T15:23:55.722+01:00The Teachings at Wat Paknam (Attā and Anattā: Part Three)<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: x-small;">[Updated on 23 June 2019: fixed some typos and inserted a few missing diacritics]</span><br />
<br />
Continuing with <a href="https://paultrafford.blogspot.com/2018/06/contextualising-atta-atta-and-anatta.html">the theme</a> of <i>attā</i> and <i>anattā</i> <a href="http://www.studiesincomparativereligion.com/public/articles/Atta_and_Anatta.aspx">raised by Horner</a>, having indicated some of the scholarly response (or lack of), I turn now to some views from Thailand.<br />
<br />
My own Buddhist background comes mainly through my mother, the late <a href="http://fuengsin.org/lotus/">Fuengsin Trafford</a>, who belonged to the Dhammakaya tradition; she used to practise meditation at <a href="https://en.wikipedia.org/wiki/Wat_Paknam_Bhasicharoen">Wat Paknam Bhasicharoen</a> in Thonburi, Thailand. It was she who introduced me to the teachings of <a href="https://en.wikipedia.org/wiki/Luang_Pu_Sodh_Candasaro">Chao Khun Phramongkolthepmuni (Sodh Candasaro)</a>, or simply Luang Phor Sodh, as he was popularly known, who was its Abbot from 1916 until his passing in 1959. (Luang Phor means something like ‘respected father’; he is also popularly referred to as Luang Pu —‘respected grandfather’.)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-mEw-FOPU_Tg/WxfkgHkOsSI/AAAAAAAAAz0/Iq6ZdcXpCf4ujvBBJPv1bHU9nLfCqjYMACLcBGAs/s1600/Visudhivaca_cover%2Bpreview.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="819" data-original-width="572" height="320" src="https://2.bp.blogspot.com/-mEw-FOPU_Tg/WxfkgHkOsSI/AAAAAAAAAz0/Iq6ZdcXpCf4ujvBBJPv1bHU9nLfCqjYMACLcBGAs/s320/Visudhivaca_cover%2Bpreview.jpg" width="223" /></a></div>
<br />
Luang Phor Sodh delivered many sermons, some of which, mainly the later ones, were recorded, and quite a few of these have been translated from Thai into English. Most of my reading has ben from two volumes published by the 60th Dhammachai Education Foundation, part of Wat Phra Dhammakaya. The title is <a href="http://en.dhammakaya.net/books/visuddhivaca/">’Visudhivācā: Translation of Morradok Dhamma’</a>, where <i>Morradok</i> is a Thai word that means something like 'legacy' or 'inheritance' (but the book link above is incorrect — Volume II can be read online / downloaded <a href="https://en.calameo.com/read/0028080665bf5fcd50823">at calameo.com</a>). Unfortunately, <a href="https://www.amazon.co.uk/Visudhivaca-Translation-Morradok-Dhamma-Phramongkolthepmuni/dp/9749423038">Volume I</a>, from which I will quote, is out of print and I can’t find any copy online.<br />
<br />
I shall focus on one particular sermon by Luang Phor entitled 'Self as Refuge', which he gave on 13th September B.E. 2496 (1953), so it is contemporaneous with Horner’s article. It also includes several of the passages that Horner cites. Further, in Luang Phor’s main treatment of the topic of <i>attā</i>, we may discern a pattern of teaching that mirrors Horner’s gradual approach, i.e. Luang Phor starts by reviewing what is compounded and mundane before moving onto the supramundane. In both cases he asserts there is <i>attā</i>, respectively conventional and transcendent. However, whereas Horner relies on study of the texts, the main basis of Luang Phor’s teachings is his <a href="http://en.dhammakaya.net/the-meditation/basic-dhammakaya-meditation-practice/">meditation</a> experience — which has been verified by many of his disciples and their disciples (of which my mother was one).<br />
<br />
As a warm-up Luang Phor recounts the episode where, shortly after his Enlightenment, the Buddha encounters a group of princes, searching for a woman who is suspected of having made off with some precious jewellery. The Buddha addresses them, recorded in Pali as:<br />
<br />
<blockquote>
<i>“taṃ kiṃ maññatha vo, kumārā, katamaṃ nu kho tumhākaṃ varaṃ — yaṃ vā tumhe itthiṃ gaveseyyātha, yaṃ vā attānaṃ gaveseyyāthā”ti? “etadeva, bhante, amhākaṃ varaṃ yaṃ mayaṃ attānaṃ gaveseyyāmā”ti. “tena hi vo, kumārā, nisīdatha, dhammaṃ vo desessāmī”ti</i>.</blockquote>
<div style="text-align: right;">
(Vin. Mahāvagga i.23, i.e. 1. mahākhandhako, 11. bhaddavaggiyavatthu])</div>
<br />
Horner translates (p.32):<br />
<blockquote>
“What do you think of this, young men? Which is better for you, that you should seek for a woman or that you should seek for the self?”<br />
“Truly this were better for us. Lord, that we should seek for the self."<br />
"Well then, young men, you sit down, I will teach you dhamma."</blockquote>
<br />
The account relates that the princes were given gradual instruction on sense restraint and <i>magga</i> (the meditative path of liberation) so that in due course: <br />
<br />
<blockquote>
“having seen <i>dhamma</i>, attained <i>dhamma</i>, known <i>dhamma</i>, plunged into <i>dhamma</i>, having crossed over doubt, having put away uncertainty, having attained without another's help to full confidence in the teacher's instruction,’ spoke thus to the Lord: May I, Lord, receive the going forth in the Lord's presence, may I receive ordination?'</blockquote>
<br />
(It’s the same formula as used for Venerable <a href="http://www.palikanon.com/english/pali_names/ay/annaa_kondanna.htm">Aññata Kondañña</a>, one of the Pañcavaggiyā (Five Ascetics), p.18).<br />
<br />
Luang Phor proceeds to give his main teaching to connect <i>attā</i> and <i>dhamma</i> based on the following passage from the <a href="https://www.accesstoinsight.org/tipitaka/dn/dn.16.1-6.vaji.html">Mahāparinibbāṇa Sutta (DN 16)</a>, which is also quoted by Horner<br />
<br />
<blockquote>
<i>attadīpā attasaranā anaññāsaranā <br />
dhammadīpā dhammaasaranā anaññāsaranā</i></blockquote>
<div style="text-align: right;">
[D. ii. 100, DN etc.]</div>
<br />
Luang Phor explains this word by word:<br />
<br />
<blockquote>
<i>attadīpā</i> means having the self as an island. <br />
<i>attasaranā</i> means having the self as a refuge.<br />
<i>anaññāsaranā</i> means having nothing else as a refuge. <br />
<i>dhammadīpā</i> means having Dhamma as an island. <br />
<i>dhammaasaranā</i> means having Dhamma as a refuge. <br />
<i>anaññāsaranā</i> means having nothing else as a refuge.</blockquote>
<br />
So the Abbot’s repeated translation as ‘self’ adds cumulative weight; it is more than a mere conventional reference to oneself or ourselves. He then goes on to elaborate on what this ‘self’ means by reference to successive <a href="https://en.wikipedia.org/wiki/Dhammakaya_meditation">stages in Dhammakaya meditation</a>.<br />
<br />
Each stage makes reference to a body and that body is to be regarded as ‘self’. There is a succession of bodies, so there are various levels of ‘self’. Each ‘self’ is what one works with in practice, what is to be thoroughly known; when bringing the mind to a standstill, it dissolves, allowing the next body to arise at its centre. (This bringing to a standstill is what the Buddha meant when <a href="https://www.accesstoinsight.org/tipitaka/mn/mn.086.than.html">declaring he <i>had</i> stopped to Angulimāla</a>).<br />
<br />
The succession starts with <i>manussakāya</i> (the human physical body). That’s self. It dissolves and then so too is <i>panīta-manussakāya</i> (the refined human body, ‘astral’ or ‘dreaming’ body), this is self. The process repeats for increasingly refined bodies, hence: <i>dibbakāya</i> (celestial body), <i>panīta-dibbakāya</i> (refined celestial body), <i>rūpabrahmakāya</i> (form Brahma body), <i>panīta-rūpabrahmakāya</i> (refined form Brahma body), <i>arūpabrahmakāya</i> (formless Brahma body), <i>panīta-arūpabrahmakāya</i> (refined formless Brahma body).<br />
<br />
There are eight of these bodies. Luang Phor explains: <br />
<br />
<blockquote>
These are all 'selves’, bodies within <i>bhavaloka</i> (the three planes of becoming)... The various selves of the three planes of becoming are conventional; they are not real, and will remain only for a certain period of time. Such bodies are transient.</blockquote>
<br />
There are more bodies beyond those planes and Luang Phor proceeds to enumerate them, but I will change the order by bringing forward what he says about conventional Dhamma and relate this to self. Likewise there are various levels of Dhamma:<br />
<br />
<blockquote>
<i>Dhamma</i> is a dwelling-place for the self; the self could not exist without <i>Dhamma</i>. The human body, the refined human body, the <i>dibbakāya</i>, the refined <i>dibbakāya</i>, the <i>rūpabrahmakāya</i>, the refined <i>rūpabrahmakāya</i>, the <i>arūpabrahmakāya</i>; the refined <i>arūpabrahmakāya</i>; all possess <i>Dhamma</i>. Without <i>Dhamma</i>, such could not survive.</blockquote>
<br />
Luang Phor teaches that each body (self) has Dhamma, where the Dhamma is located at the centre of the respective body and that it is a sphere, hence Dhamma-sphere. However, for these 8 bodies, these Dhamma-spheres are conventional; Luang Phor quotes the Buddha: “The Great Lord said: <i>Sabbe dhammā anattā ti</i>; ‘all dhammas are not-self’.” To clarify he states: “Self is not <i>Dhamma</i> — self is self — <i>Dhamma</i> is <i>Dhamma</i>”, but the Dhamma-sphere is what makes self possible.<br />
<br />
I suspect that all these stages would have already been attained before the Buddha’s Enlightenment and the beginning of his dispensation. The <a href="https://www.accesstoinsight.org/tipitaka/dn/dn.01.0.bodh.html">Brahmajāla Sutta</a>, which describes a long list of false views includes the belief held by eternalists that <i>loka</i> (the world, be it form-filled or formless) and the highest self are the same. This erroneous view could be reached by those who had surveyed through considerable efforts in meditation cycles of universes over many aeons, including numerous past lives, but without seeing beyond the three planes.<br />
<br />
Given the Buddha’s refutation of a permanent self in all that, it’s perhaps not so surprising that many scholarly interpretations will stop at ‘all dhammas are not-self’ and conclude that this includes <i>nibbāna</i>, but this would contradict the Buddha’s utterance in the Udana 8.3 and bind us all to the lower shore. <br />
<br />
Descriptions of the path to liberation typically involve purification with the abandonment of the <i>kilesas</i> (the defilements of greed, hatred and delusion) and proceed to the destruction of the <i>asavas</i> (deep-seated taints). Today there are many explanations about the process but references to <i>magga</i> (path or way), specifically the Middle Way are often vague or not made explicit. Yet, it could only be from outside the three planes of becoming that the appropriate insight could be gained.<br />
<br />
In contrast, Luang Phor gives these terms explicit meanings and proceeds to show how the mode of practice through the centre of the body continues to apply. This is the vehicle for the Middle Way, a process of body within body, performed repeatedly (an approach I’ve tried to express by <a href="http://paultrafford.blogspot.com/2018/03/on-middle-and-way-in-majjima-patipada.html">using the image of microscopes</a>). <br />
<br />
But are there canonical references for this? Yes, in the <a href="https://suttacentral.net/dn22/en/anandajoti">Mahāsatipatṭhāna Sutta</a> (The Greater Discourse on the Foundations of Mindfulness), the Buddha uses the phrase <i>kāye kāyānupassī viharati</i> (dwells contemplating body in body), and similarly for <i>vedanā</i>, <i>citta</i> and <i>dhamma</i>. This is explained by Luang Phor in another sermon dedicated to that sutta, also translated into English in Visudhivācā Volume I. Further, in the <a href="https://www.accesstoinsight.org/tipitaka/dn/dn.02.0.than.html">Samaññaphala Sutta</a> (on the Fruits of the Contemplative Life) the Buddha describes the relationships of ‘body in body’ through imagery: like a reed being pulled from a sheath or a sword from its scabbard. Without understanding the mode, <i>kāye kāyānupassī</i> has been mistranslated, often with reference to external bodies and even as ‘contemplating the body in and of itself’. No, it means ‘body in body’ (two bodies, one inside the other).<br />
<br />
Continuing with the sermon on <i>attā</i>, Luang Phor goes on to introduce 10 further <i>kāyas</i>, all transcendent, by this mode. The first of these is the entry point to the ariyan states, the <i>dhammakāya-gotrabhū</i>. <a href="http://dsalsrv02.uchicago.edu/cgi-bin/philologic/getobject.pl?c.1:1:1269.pali"><i>Gotrabhū</i></a> means ‘transition of lineage’. It’s referenced in <a href="https://suttacentral.net/an9.10/en/sujato">AN 9:10</a> (the sutta on those worthy of offerings), but <i>Gotrabhū</i> is often weakly translated as “member of the spiritual clan or family”. Luang Phor is indicating that it’s specifically the <i>Ariyan</i> family, the stage of entry or threshold, as <a href="https://dhammawiki.com/index.php?title=Gotrabhu">defined by Nyanatiloka</a> in his Manual of Buddhist Terms and Doctrines. <br />
<br />
There follows the refined <i>dhammakāya-gotrabhū</i>, the <i>dhammakāya-sotapanna</i>, the refined <i>dhammakāya-sotapanna</i>, the <i>dhammakāya-sakadāgāmi</i>, the refined <i>dhammakāya-sakadāgāmi</i>, the <i>dhammakāya-anāgāmi</i>, the refined <i>dhammakāya-anāgāmi</i>, the <i>dhammakāya-arahatta</i>, the refined <i>dhammakāya-arahatta</i>, making 10 transcendent bodies in all, each of which possess spheres of Dhamma successively larger in dimension in which the respective bodies (selves) dwell. Thus there are pairings throughout — the body, which is perceived, and the Dhamma on which that is based, without which it cannot exist. Both are of two kinds: the conditioned and unconditioned, 8 and 10 in number respectively.<br />
<br />
After describing the qualities of each stage from the point of view of a practitioner Luang Phor revisits the Pali phrase <i>attadīpā attasaranā anaññāsaranā</i>, explaining first how self is an island: <br />
<br />
<blockquote>
How is it that the body or 'self’ is an island, and how is it our own refuge? To start with, picture a vessel that has been attacked by a storm and wrecked in the ocean. The passengers are forced to swim to reach the shore. They surely need something to rest on, such as an island. What if, whilst swimming, they suddenly see in the distance an island? You can imagine how pleased they would be. That island is their refuge; they now have a place upon which to rest, to take a break from swimming, which is very tiring. Once they find they have an island they can reach, they are no longer tired; their difficulties and hardship are alleviated...</blockquote>
<br />
Then explaining how self is a refuge:<br />
<br />
<blockquote>
What does it mean to say body is a refuge? How come you have your self as a refuge? What happens when you see the island? The answer is that you are happy because you can stay on that island, you can rest on that island. Since you have nowhere else to go, you take that island as your refuge.</blockquote>
<br />
Luang Phor goes on to provide a further explanation based on practical reality:<br />
<br />
<blockquote>
At present, we human beings take our own bodies as the place in which we live. If we do not depend on the human body as an island, then why don’t you let go of it? When a human has no material-form that could be called a body, the refined body is unable to exist. Others would not be able to see you, which would mean that you were dead. This supports my explanation that the human body is truly an island.</blockquote>
<br />
There is further elaboration in the sermon, but I think that’s enough for this post.<br />
<br />
In summary, the late Abbot of Wat Paknam's teachings on <i>attā</i> and <i>anattā</i> are emphatic and nuanced; whereas many scholars make reference to just one (physical) body with which to work with, Luang Phor indicates that there's a notion of 'body' at each level and that is to be regarded as 'self'. Each such 'self' is to be paired with <i>Dhamma</i>, which for the mundane levels (corresponding with the first 8 <i>kāyas</i> up to the formless <i>Brahmakayas</i>), are actually <i>anattā</i>, but for the 10 supramundane <i>kāyas</i> they are <i>attā</i>. <br />
<br />
There were many skeptics in his day, but Luang Phor never wavered in his conviction and he eventually convinced many of his detractors once they practiced themselves or sometimes when they faced difficulties that they could not resolve, but Luang Phor could.<br />
<br />
I’ll just finish by relating an episode from my first stay in Thailand, during which I had my fourth birthday. I don’t remember very much apart from a dream in which I was on board a ship, out at sea. There was a storm and I fell overboard and was washed up on shore. As I walked along the shore a hole appeared and I fell into it. Maintaining my awareness I observed it getting larger, but I don’t recall being afraid. And then it morphed into my room and I was awake.<br />
<br />
<br />
<br />
<h3>
Appendix</h3>
I have been unable to locate the original Thai transcription of Luang Phor’s talk, though I have found an extract from <a href="http://www.kalyanamitra.org/book/pdf/visuthi1.pdf">a Thai collection of Luang Phor's sermons (Vol. 1)</a>, page 33, which corresponds to page 40 of Visudhivāca I. It has its own title of กายในภพ-กายนอกภพ ('Body in the world — body outside the world'). It contrasts the conventional with the supramundane. I include a portion below along with my own translation, which I carried out partly to confirm the English in Visudhivāca I (it seems fine, likely better than mine).<br />
<br />
<blockquote>
เพราะฉะนั้นจะต้องเรียนให้รู้จักกายของตัวเสียก่อน ว่ากายมนุษย์นี่ แหละเป็นตัวโดยสมมุติ ๘ กายที่อยู่ในภพนั่นแหละเรียกว่า อตตสมมุติ เรียก ว่าตัวโดยสมมุติทั้งสิ้น</blockquote>
<blockquote>
So we must study and get to know initially the self of the world. About this human body (<i>manussakaya</i>) it has a conventional self. There are 8 <i>sammuti</i> [conventional] bodies in the world [<i>bhavaloka</i>]. These [bodies] are called <i>attāsammuti</i>, that is they are all called conventional self.</blockquote>
<br />
<blockquote>
ส่วนธรรมล่ะ คือธรรมที่ทำให้เป็นกายมนุษย์น่ะ ก็เรียกว่าธรรมสมมุติ เหมือนกัน สมมุติชั่วคราวหนึ่ง ไมใช่ตัวที่พระองค์ทรงรับสั่งว่า “สพุเพ ธมมา อนตฺตาติ” ธรรมทั้งสิ้นไม่ใช่ตัว ตัวทั้งสิ้นไม,ใช่ธรรม ตัวก็เป็นตัวซิ ธรรมก็เป็น ธรรมซิ คนละนัย</blockquote>
<blockquote>
As for Dhamma it is Dhamma that causes the human body. So it is called <i>sammuti dhamma</i> as well — being <i>sammuti</i> it is temporary; it’s not a permanent dwelling place for self. Of this it is said “<i>Sabbe dhammā anattā ti</i>”. None of these dhammas are self. Self is not this Dhamma. For self is self and Dhamma is Dhamma — they are different from one another. </blockquote>
<br />
<blockquote>
มีตัวกับธรรม ๒ อย่างนี้เท่านั้น กายมนุษย์ก็มืตัว กายมนุษย์ก็มืธรรมที่ ทำให้เป็นตัว ตลอดทุกกาย ทั้ง ๑๘ กาย มีตัวกับมีธรรมที่ทำ'ให้เป็นตัว แต่ว่า ตัวทั้งหลายเหล่านั้น ทั้ง ๘ กายในภพ เป็นอนิจจํ ทุกขํ อนตฺตา หมดไม่เหลือ เลย ทั้ง ๑๐ กายนอกภพ เป็น นิจฺจํ สุขํ อตฺตา หมดไม่เหลือเลย ตรงกันข้าม อย่างนี้เป็น นิจฺจํ สุขํ อตฺตา เป็นของที่เที่ยงของจริงหมด แด,ว่าในภพแล้วเป็น ของไม่เที่ยงไม,จริงหมด</blockquote>
<blockquote>
There is self and Dhamma. Merely these two things: there is human body and there is self. The human body has also <i>dhamma</i> which makes it have self. Each and every body, all 18 bodies, have self and dhamma, which makes it [possible to] have self. But the self across all 8 groups in the world are <i>aniccam</i>, <i>dukkham</i> and <i>anattā</i>, all of them. On the other hand all ten bodies outside the world are completely <i>niccam</i>, <i>sukham</i>, <i>attā</i>. They are all the same in this way <i>niccam</i>, <i>sukham</i>, <i>attā</i>; they are completely certain and true, but regarding those [bodies] in the world they are transient, not real at all.</blockquote>
</div>
<br />
<br />
<br />
<br /></div>
Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com4tag:blogger.com,1999:blog-15893824.post-81392360882101066322018-06-06T16:11:00.000+01:002020-02-17T21:14:19.833+00:00Contextualising attā (Attā and Anattā: Part Two)<div dir="ltr" style="text-align: left;" trbidi="on">
<a href="https://paultrafford.blogspot.com/2018/06/atta-and-anatta-part-one.html">Having introduced</a> Horner's <a href="http://www.studiesincomparativereligion.com/public/articles/Atta_and_Anatta.aspx">essay on Attā and Anattā</a> and related some of the (more) open questions around the meanings of <i>attā</i>, we now consider the third and final part, where Horner presents various passages containing ‘<i>attā</i>’ (or more, exactly, “the logical opposite of <i>an-attā</i>”), which she regards as “too much overlooked”. <br />
<br />
For example, from S. i. 140. [SN 6.2.2] Gārava Sutta (Respect):<br />
<br />
<blockquote>
<i>Tasmā hi <b>atta</b>kāmena</i>, <br />
<i><b>mahattam</b>abhikaṅkhatā</i>; <br />
<i>Saddhammo garukātabbo</i></blockquote>
<br />
Horner translates as (my italics):<br />
<br />
<blockquote>
So he to whom <i>the self</i> is dear, <br />
Who longs for <i>the great self</i>, <br />
Should homage to true dhamma pay.</blockquote>
<br />
Yet Bhikkhu Bodhi translates this as (again, my italics):<br />
<br />
<blockquote>
Therefore one desiring <i>his own good</i>,<br />
Aspiring for <i>spiritual greatness</i>,<br />
Should deeply revere the true Dhamma.</blockquote>
<br />
and <a href="https://suttacentral.net/sn6.2/en/sujato">Bhikkhu Sujato renders it</a>:<br />
<br />
<blockquote>
Therefore someone who loves <i>themselves</i>, <br />
aspiring to <i>transcendence</i>, <br />
should respect the true teaching.</blockquote>
<br />
There is considerable variation in these, but the second and third translations both avoid using the word ‘Self’, though Ven. Sujato does assign to '<i>mahattama'</i> transcendence, which is not the conventional. My knowledge of Pali is not sufficient to be clear on this, but the key to the translation of the second line is how one deals with '<i>mahattam</i>' (or '<i>mahatta[m]</i>') - the <a href="http://dsalsrv02.uchicago.edu/cgi-bin/philologic/getobject.pl?c.2:1:3925.pali">PTS dictionary translates</a> '<i>mahattam</i>' as 'greatness' (from the Sanskrit <i>mahattva</i>). So technically Horner's translation of this line looks erroneous, though they may well share linguistic roots. However, I think the key point is that the second line reinforces the first one, so the sense is actually correct.<br />
<br />
More generally, I notice that other modern translations of some of these passages replace references to 'self' by something vaguer, with conventional meaning, or otherwise gloss over the words. Whilst in some cases this may be closer to the intended meaning, it seems to me that more often it’s rooted in a particular limited view of self, entailing some aversion to writing ‘self’ without qualification. Sometimes there’s even an insistence in the footnotes that any reference to <i>attā</i> can’t be metaphysical, as is the case for the following famous passage that Horner includes in her list: <br />
<br />
<blockquote>
tasmā attadīpā attasaraṇā anaññasaraṇā dhammadīpā dhammasaraṇā anaññasaraṇā</blockquote>
<br />
Horner translates this as:<br />
<br />
<blockquote>
Wherefore fare along with self as island, with self as refuge, and no other, with dhamma as island, with dhamma as refuge, and no other. (D. ii. 100, etc.) </blockquote>
<br />
But in <a href="https://www.accesstoinsight.org/ati/tipitaka/sn/sn22/sn22.043.wlsh.html#fn-1">a footnote</a> Walshe is adamant it can’t be other than a reflexive pronoun. <br />
<br />
Yet Horner was not convinced by the conclusions of Walshe and those with similar views and I believe that by reprinting the essay in the ‘70s she purposely wished to re-express her view: <br />
<br />
<blockquote>
As the idea of <i>brahma</i> in the Pali canon has been overlooked—in spite of the ever recurring <i>brahmacariya</i>, the Walk to or with Brahma, the Sublime—so has that of <i>attā</i>. Both were of the utmost significance in the Upanishads. Both have a significance, even if we have not yet assessed it, in the Pali canon.</blockquote>
<br />
Substantially, she proposed a philological basis to glean the meanings, but she indicates it would require far-reaching studies across the Vinaya and Nikayas and furthermore a proper understanding of Indian cultures and beliefs at that time.<br />
<br />
She starts us off with a selection of quotes around the use of “brahma” and “dhamma”, suggestive of affinities with. They include:<br />
<br />
<blockquote>
He who sees Dhamma, Vakkali, sees me; he who sees me sees Dhamma. Truly seeing Dhamma, one sees me; seeing me one sees Dhamma.</blockquote>
<div style="text-align: right;">
[<a href="https://www.accesstoinsight.org/ati/tipitaka/sn/sn22/sn22.087x.wlsh.html">S iii 119 [SN 22.87] Vakali Sutta</a>]</div>
<br />
And a teaching to Vasettha where the Buddha referred to himself using the terms <i>dhammakāya</i>, <i>brahmakāya</i>, <i>dhammabhūta</i>, and <i>brahmabhūta</i>. The passage is from <a href="http://www.palicanon.org/en/sutta-pitaka/transcribed-suttas/majjhima-nikaya/142-mn-88-bhitika-sutta-the-cloak.html">D. iii. 84 [DN 27] Aggañña Sutta</a>, and is as follows:<br />
<br />
<blockquote>
He whose faith in the Tathagata is settled, rooted, established, solid, unshakeable by any ascetic or Brahmin, any deva or mara or Brahma or anyone in the world, can truly say: “I am a true son of Blessed Lord, born of his mouth, born of Dhamma, created by Dhamma, an heir of Dhamma.” Why is that? Because, Vasettha, this designates the Tathagata: “The Body of Dhamma” [<i>dhammakāya</i>], that is, “The Body of Brahma” [<i>brahmakāya</i>], or “Become Dhamma” [<i>dhammabhūta</i>], that is, “Become Brahma” [<i>brahmabhūta</i>].</blockquote>
<br />
<h3>
Academic Response</h3>
So what has been the response to Horner’s paper? When I search online I can find few citations; in fact, it seems to be little known, <a href="https://scholar.google.co.uk/scholar?hl=en&as_sdt=0%2C5&q=%22Att%C4%81+and+Anatt%C4%81%22&btnG=">not even listed in Google Scholar</a>. <br />
<br />
Even so there have been a few scholars who have delved into the subject matter. Among them was Joaquín Pérez-Remón, who made a bold attempt to explore at length in his thesis, <a href="https://www.degruyter.com/view/product/150753">Self and Non-self in Early Buddhism</a> (De Gruyter), which is partially accessible <a href="https://books.google.co.uk/books?id=OQ6svBmxAhEC">via Google Books</a>.<br />
<br />
A general sense of his position is expressed in his reflection about the Buddha: <br />
<br />
<blockquote>
Is it not far better to say that what he affirmed and what he denied were not one and the same thing? When he affirmed the existence of <i>attā</i> against the materialists, he affirmed the reality of something objectively true. When he denied the <i>attā</i> against the eternalists, he did not deny the true <i>attā</i>, but the <i>attā</i> of the eternalists that is wrongly identified with the <i>khandhas</i>.</blockquote>
<div style="text-align: right;">
(from Pérez-Remón's concluding section, <a href="https://books.google.co.uk/books?id=OQ6svBmxAhEC&pg=PA302&lpg=PA302#v=onepage&q&f=false">page 302</a>)</div>
<br />
I find this a fair assessment, but his work was considered controversial; reviews found aspects useful, but seem to be critical — it seems that whatever the philological analysis, if it came to conclusions that challenged prevailing views it would not be regarded favourably and might just be dismissed as intellectual speculation (see e.g <a href="https://journals.ub.uni-heidelberg.de/index.php/jiabs/article/viewFile/8656/2563">Vijitha Rajapakse’s review</a> for the Journal of the International Association of Buddhist Studies).<br />
<br />
The book is a reworking of the author's doctoral thesis at the University of Bombay under the title: 'The Anattavada in the Suttapitaka' (<a href="https://books.google.co.uk/books?id=OQ6svBmxAhEC&pg=PR5&lpg=PR5">page v</a>). At <a href="https://books.google.co.uk/books/about/The_anattavada_in_the_Suttapitaka.html?id=UsPLngEACAAJ&redir_esc=y">1810 pages</a> it seems that the institution had a very liberal attitude to limits, but I feel sorry for the examiners! The considerable length may explain why the author has seemingly inverted the presentation by devoting the first half of the book to numerous references containing <i>attā</i>: part one (of only two) is entitled ‘The Existential Self’ before treating — in part two, ‘The Metaphysical Self’ — <i>attā</i> and <i>anattā</i> more together. However, with Horner starting mainly with <i>anattā</i>, I find the ordering odd; I think a more balanced approach to treat them alongside each other all along, a more natural process to show how there might be complementarity instead of apparent contradictions or inconsistencies.<br />
<br />
It would have been interesting for Pérez-Remón to have disseminated his ideas more widely and continued with his research, but he passed away only a few years after its publication [<a href="https://dialnet.unirioja.es/servlet/articulo?codigo=15049">In memoriam</a>]. However, it looks like Arthur Wells took up the baton with his Master’s thesis: <a href="https://ir.canterbury.ac.nz/bitstream/handle/10092/12709/Wells_1983_thesis.pdf;sequence=1">The Early Buddhist Affirmation of Self (Atman) in the Logic, Parables and Imagery of the Pali Nikāyas</a>.<br />
<br />
I was only made aware of his work very recently; it seems not so widely circulated. At least it has been considered and <a href="https://scholar.google.co.uk/scholar?cites=2728179045188020639&as_sdt=2005&sciodt=0,5&hl=en">cited in the academic literature</a> and it does get occasionally mentioned in online discussions. I wonder why Pérez-Remón went to such great lengths in his research. It may be due to his own religious convictions; he was a Jesuit who explored interreligous dialogue, especially mysticism - among his other publications is <a href="http://www.obracultural.org/textospdf/MISTICISMO%20ORIENTAL%20Y%20MISTICISMO%20CRISTIANO.pdf">Misticismo Oriental y Misticismo Cristiano, Caso Típico: Teresa de Jesús</a>. Having studied some of the <a href="http://www.chezpaul.org.uk/chrstian/MSt_essay2.htm">imagery of St. Teresa of Avila</a>, I add this to my reading list. Other Buddhist scholars have also been interested in this mystic; Lance Cousins wrote a paper about her, suggesting parallels with the path of purification as expressed by Buddhagosa.<br />
<br />
More recently, Chanida Jantrasrisalai’s PhD thesis has examined in depth the meaning of language in the Indian context — around terms such as Brahmacariya, Brahmakāya and Dhammakāya. It’s entitled, 'Early Buddhist dhammakāya: Its philosophical and soteriological significance', <a href="https://ses.library.usyd.edu.au/handle/2123/4130">available to download from the University of Sydney</a>. It's the Dhammakāya tradition that I wish to explore <a href="https://paultrafford.blogspot.com/2018/06/the-teachings-at-wat-paknam-atta-and.html" target="_blank">next</a>.<br />
<br /></div>
Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0tag:blogger.com,1999:blog-15893824.post-49797997223178767582018-06-06T16:08:00.000+01:002020-02-17T21:05:54.218+00:00Attā and Anattā (Part One)<div dir="ltr" style="text-align: left;" trbidi="on">
The title of this post is copied from an essay written by the Pali scholar, <a href="https://www.ames.cam.ac.uk/faculty-library/archive/collection-isaline-blew-horner-1896-1981-pali-scholar">Isaline Blew Horner</a> — <i>attā</i> means ‘self’; an- means ‘not, without’; hence an<i>attā</i> means ‘not self’ or ‘without self’. I. B. Horner had been working on this topic for quite a while with some earlier drafts (IH A/12) dating to Nov 1948 and the publication of a similar paper in French, '<i>Attā</i> et <i>Anattā</i> dans les Textes du Canon Pali’ in La pensée Bouddhique, Bulletin des Amis du Bouddhisme, Jan. 1949. pp. 6-13. But it seems it wasn’t until 1952 that it appeared in English, in The Golden Lotus (Philadelphia) and <a href="https://www.thebuddhistsociety.org/page/the-middle-way-2">The Middle Way</a> (the journal of the Buddhist Society in London). About 20 years later it was <a href="http://www.studiesincomparativereligion.com/public/articles/Atta_and_Anatta.aspx">reprinted for Studies in Comparative Religion</a>, Vol. 7, No. 1. (Winter 1973).<br />
<br />
It’s quite an unusual essay: whilst Horner presents some philological analysis, as befits her professional background, her main point is that there’s a major gap in terms of research, though she doesn’t really reveal her intentions until the second half of the paper. Her argument, or plea, is that passages mentioning <i>attā</i> have been relatively neglected and should be given closer attention. She appears to be demonstrating this in the title by placing <i>attā</i> alongside <i>anattā</i>, from which we may infer that these two terms should be studied in tandem. However, being a major undertaking, it is beyond the scope of such an article to provide the detailed analysis, so she cites a number of passages where <i>attā</i> could be usefully explored further, an open invitation to the community. <br />
<br />
Horner felt strongly that this was needed: she included a similar call in her introduction to her <a href="http://www.palitext.com/palitext/tran.htm#tt4">Pali Text Society translation of the Mahavagga</a> in the Khandhaka, the second book of the Vinaya, the book of monastic discipline, where she writes (in 1951), "Various passages in the Pali canon, including the Attavagga of the Dhammapada, should not be ignored in estimating the position of <i>attā</i> as a philosophical concept in Early Buddhism." (p. xxiv)<br />
<br />
I was quite struck by the article, hence this post. After summarising her approach and selective quotes, I indicate how it has been received and responded to, and then offer some response from my own tradition in light of the teachings of the late <a href="http://paultrafford.blogspot.com/2015/02/remembering-luang-pu-wat-paknam-master.html">Chao Khun Phramongkolthepmuni</a>, the late Abbot of Wat Paknam, and re-discoverer of the Dhammakaya tradition. The aim is to show how the teachings can be harmonised, setting these concepts in the framework of a path of practice. Originally intended to be a single post, I’ve split it into three owing to its length, but they should ideally be all read together. If there’s sufficient interest and time, I may tidy up my writing and put together a more formal article.<br />
<br />
References are made to the Pali canon in the conventional way, i.e. first to the Pali Text Society edition of the Pali original, using the <a href="http://www.palitext.com/subpages/PTS_Abbreviations.pdf">PTS abbreviations</a>, i.e. a Roman numeral for a book number and then the Arabic numeral; then the Arabic number and section for the translation, <a href="https://www.accesstoinsight.org/abbrev.html">as used by popular websites such as Access to Insight</a>. For example: S iii 119 [SN 22.87].<br />
<br />
<h3>
Towards a More Nuanced View of <i>attā</i></h3>
Horner opens by expressing the problem:<br />
<br />
<blockquote>
It is becoming more and more general to think and to say that Buddhism teaches not-self, <i>anattā</i>...</blockquote>
<br />
[It’s certainly a <a href="https://en.wikipedia.org/wiki/Anatta">general view today</a>.]<br />
<br />
However, based on her extensive readings of the Pali canon (which probably only a handful of scholars could match), she perceives this all-encompassing view as invalid. Choosing her words carefully, she observes:<br />
<br />
<blockquote>
But Early Buddhism, the Buddhism of the Vinaya and the Suttapitaka, does not exactly teach not-self, except in so far as it says that certain definite things are not-self; therefore put them away, they are not yours (S. iii. 33-34; M. i. 140-141).</blockquote>
<br />
She was well aware that her position could (and would) be seen as controversial, so she makes her case gradually, in three parts. Initially, she cites a number of passages relating to <i>anattā</i>, how they are variously framed. She provide explanations that few scholars would disagree with — the five <i>khandhas</i> (aggregates) of grasping, namely <i>rūpa</i> (form), <i>vedanā</i> (feeling), <i>sañña</i> (perception), <i>saṅkhāra</i> (mental formations) and <i>viññāna</i> (consciousness), are of the nature to be impermanent and thus not-self. She goes on to describe how an ordinary worldling is bound by this grasping through the senses, giving rise to a wrong view about oneself. Such false views are to be got rid of. So far, so good.<br />
<br />
In addition to establishing the common ground, for the next step Horner intimates in various ways how the meaning of <i>attā</i> is not so clear-cut. And in fact one of her first quotes, from the Vinaya, specifies a condition for <i>attā</i>:<br />
<br />
<blockquote>
Had they been self: <i>rupam</i> (etc.) <i>c'idam attā abhavissa</i> (Vin. i. 13), there would have been power of disposal over them: Let my body be such, let it not be such. But as they are not self, one cannot alter them.</blockquote>
<br />
This could be argued as hypothetical as it doesn’t say whether there really are such <i>attā</i>. However, Horner follows up with a statement by the Buddha that is more direct:<br />
<br />
<blockquote>
"What is not self, that is not my self" (<i>yad anattā . . . na meso attā</i>) (S. iii. 45, iv. 2) [<a href="https://suttacentral.net/sn22.45/en/sujato">Anicca Sutta</a>].</blockquote>
<br />
This is a strong statement that seems to posit <i>attā</i>: besides the fact that it’s contained in the <i>attādīpa</i> Vagga (‘Self as Island’ section) of the Samyutta Nikaya, the context of eradicating the <i>asavas</i> (taints) across each of the <i>khandhas</i> to obtain final release points to the non-conventional. <br />
<br />
To further indicate that there may be more subtle meanings to <i>attā</i> Horner relates the Buddha’s encounter with a wandering recluse called Vacchagotta, to whom the Buddha remains silent when asked in turn: “Is there Self?” and then "What then, is there not self?"(S. iv. 400-401). <br />
<br />
Evidently there was no definitive statement that the Buddha could make in this instance. When questioned by his disciples the Buddha made reference to false doctrines that were prevalent at the time (and there were a vast array, including eternalism, as described in the <a href="https://www.accesstoinsight.org/tipitaka/dn/dn.01.0.bodh.html">Brahmajāla Sutta</a>). Giving an answer depended not only on the context of the question and what the Buddha knew as true, but also on the questioner's state of mind and frames of reference, which in this case could not support right understanding. Nevertheless, the questioner was asking about ultimate truth and in this context the Buddha would not make a general denial about <i>attā</i>. I think it is this matter of context operating at various levels is what Horner wishes to draw to our attention, though I do not agree with her parenthetical comment about all things (<i>dhammas</i>) being not-self include <i>nibbāna</i>.<br />
<br />
Here I would insert a quote attributed to the Buddha from Udana 8.3, which, although not using the term <i>attā</i>, is an affirmation of what lies beyond the khandhas, pointing to a higher sense that may be related:<br />
<blockquote>
There is, bhikkhus, a not-born, a not-brought-to-being, a not-made, a not-conditioned. If, bhikkhus, there were no not-born, not-brought-to-being, not-made, not-conditioned, no escape would be discerned from what is born, brought-to-being, made, conditioned. But since there is a not-born, a not-brought-to-being, a not-made, a not-conditioned, therefore an escape is discerned from what is born, brought-to-being, made, conditioned.</blockquote>
<div style="text-align: right;">
[<a href="https://www.accesstoinsight.org/tipitaka/kn/ud/ud.8.03.irel.html">Translated by John D. Ireland</a>]</div>
<br />
When I was 15 years old the head master at my school required every pupil to write about their spiritual beliefs. Even though I had been brought up as a Roman Catholic, I wrote about ‘God’ in terms of energy and superconsciousness. By the time I had reached my early 20s I had reflected intellectually on the recursive dissolution of matter into smaller and smaller parts, finding it inherently formless and devoid of self. At the same time I also intuited superconsciousness with effects in the world of form, but, confining my view of such agency to experience I queried the anthropomorphism, and could not perceive anything beyond a kind of supramundane awareness.<br />
<br />
Then, as though reading my mental state, my mother casually remarked, “Apparently there is a realm of Buddhas.” My mother practised a lot of meditation, it was not a statement I could ignore. Very soon my view changed radically as I ceased being annihilationist (from the Latin <i>ad</i> + <i>nihil</i>. <a href="https://www.etymonline.com/word/annihilate">literally: to/towards nothing</a>). I’ll try to intimate this in the next two parts. <br />
<br />
[Next: <a href="https://paultrafford.blogspot.com/2018/06/contextualising-atta-atta-and-anatta.html" target="_blank">Part Two</a>]<br />
<br /></div>
Paul Traffordhttp://www.blogger.com/profile/06180404719893389714noreply@blogger.com0