Mr Wizard and I went to see John McC off today, at the Anglican church in Newtown.

A good attendance, and a good last gig.

We had raised a glass to John, with the audience, at the Townie on Friday night.

Today, we joined a host of local muso's, friends and family and saw him off with stories and songs.

As the funeral director walked slowly in front of the hearse on King St, it was the first time I've ever welcomed a disruption to traffic in Newtown.

John, we hardly knew ye.

True to his nature, he would have chided the speaker placement, but, as his long time mate KL said, finally a gig with no reverb.

It's one of the first times I have thought a funeral was wonderful. I don't know if John ever realised the depth of genuine warmth felt for him by so many people. I hope he did.

There's an old phrase that comes to mind; The best we may say of a man is that he lived respected and died regretted.

As his BFF Marcus noted, the word 'cantankerous' was well applied to John, but applied in smaller measure than his kindness and generosity.

Mr Wizard's truly bummed to lose a mate, and he's got another funeral to fly to this week. Crikey.

After John's muso mates had sung, his family and friends had spoken and the priest read a last benediction, they played a video of a moment where John stepped out from behind the mixing console to sing. Although I don't have that footage, it feels fitting and proper to play a version of the song.

Godspeed John McConnell. May the circle be unbroken, by and by.

 

6.177MBMemory Usage147msRequest Duration
Joomla! Version5.2.3
PHP Version8.2.26
Identityguest
Response200
Templatet3_bs3_blank
Database
Server
mysql
Version
8.0.36-0ubuntu0.22.04.1
Collation
utf8mb3_unicode_ci
Conn Collation
utf8mb4_0900_ai_ci
$_GET
array:3 [ "catid" => "60" "id" => "2020:john-boys-last-waltz-was-a-good-un" "view" => "article...
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:59 [ "PATH" => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" "CONTENT_LEN...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1743724557 "last" => 1743724557...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (107.16KB) (2.22ms)
  • afterInitialise (1.16MB) (29.05ms)
  • afterRoute (535.27KB) (2.61ms)
  • beforeRenderComponent com_content (55KB) (1.32ms)
  • Before Access::preloadComponents (all components) (105.09KB) (3.18ms)
  • After Access::preloadComponents (all components) (137.52KB) (1.82ms)
  • Before Access::preloadPermissions (com_content) (1.85KB) (12μs)
  • After Access::preloadPermissions (com_content) (2.09MB) (7ms)
  • Before Access::getAssetRules (id:2183 name:com_content.article.2020) (66.65KB) (120μs)
  • After Access::getAssetRules (id:2183 name:com_content.article.2020) (7.38KB) (104μs)
  • afterRenderComponent com_content (1015.3KB) (43.05ms)
  • afterDispatch (3.03KB) (261μs)
  • Before Access::preloadPermissions (com_dpcalendar) (254.04KB) (9.46ms)
  • After Access::preloadPermissions (com_dpcalendar) (6.8KB) (2.48ms)
  • Before Access::getAssetRules (id:3131 name:com_dpcalendar.category.90) (440B) (320μs)
  • After Access::getAssetRules (id:3131 name:com_dpcalendar.category.90) (6.03KB) (35μs)
  • afterRender (164.86KB) (43.29ms)
  • 1 x afterRender (164.86KB) (29.49%)
    43.29ms
    1 x afterRenderComponent com_content (1015.3KB) (29.32%)
    43.05ms
    1 x afterInitialise (1.16MB) (19.79%)
    29.05ms
    1 x Before Access::preloadPermissions (com_dpcalendar) (254.04KB) (6.44%)
    9.46ms
    1 x After Access::preloadPermissions (com_content) (2.09MB) (4.77%)
    7.00ms
    1 x Before Access::preloadComponents (all components) (105.09KB) (2.17%)
    3.18ms
    1 x afterRoute (535.27KB) (1.78%)
    2.61ms
    1 x After Access::preloadPermissions (com_dpcalendar) (6.8KB) (1.69%)
    2.48ms
    1 x afterLoad (107.16KB) (1.51%)
    2.22ms
    1 x After Access::preloadComponents (all components) (137.52KB) (1.24%)
    1.82ms
    1 x beforeRenderComponent com_content (55KB) (0.9%)
    1.32ms
    1 x Before Access::getAssetRules (id:3131 name:com_dpcalendar.category.90) (440B) (0.22%)
    320μs
    1 x afterDispatch (3.03KB) (0.18%)
    261μs
    1 x Before Access::getAssetRules (id:2183 name:com_content.article.2020) (66.65KB) (0.08%)
    120μs
    1 x After Access::getAssetRules (id:2183 name:com_content.article.2020) (7.38KB) (0.07%)
    104μs
    1 x After Access::getAssetRules (id:3131 name:com_dpcalendar.category.90) (6.03KB) (0.02%)
    35μs
    1 x Before Access::preloadPermissions (com_content) (1.85KB) (0.01%)
    12μs
24 statements were executed, 6 of which were duplicates, 18 unique48.42ms408.53KB
  • SELECT @@SESSION.sql_mode;340μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:308Copy
  • SELECT `data` FROM `vm53n_session` WHERE `session_id` = ?264μs1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:250Copy
  • SELECT `session_id` FROM `vm53n_session` WHERE `session_id` = :session_id LIMIT 1186μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `vm53n_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)4.52ms944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `vm53n_viewlevels`617μs992B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `vm53n_usergroups` AS `a` LEFT JOIN `vm53n_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest321μs1.33KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `vm53n_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39,:preparedArray40,:preparedArray41,:preparedArray42,:preparedArray43,:preparedArray44,:preparedArray45,:preparedArray46,:preparedArray47,:preparedArray48)873μs7.81KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `vm53n_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 02.79ms341.48KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `vm53n_content`1.74ms2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `vm53n_content` SET `hits` = (`hits` + 1) WHERE `id` = '2020'3.28ms48B/libraries/src/Table/Table.php:1348Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `vm53n_content` AS `a` INNER JOIN `vm53n_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `vm53n_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `vm53n_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `vm53n_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `vm53n_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)2.52ms6.12KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `vm53n_categories` AS `s` INNER JOIN `vm53n_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2,:preparedArray3) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`1.78ms3.95KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `vm53n_contentitem_tag_map` AS `m` INNER JOIN `vm53n_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2,:preparedArray3)1.58ms4KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `vm53n_categories` AS `s` INNER JOIN `vm53n_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2,:preparedArray3) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`3.06ms3.95KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM vm53n_fields AS a LEFT JOIN `vm53n_languages` AS l ON l.lang_code = a.language LEFT JOIN vm53n_users AS uc ON uc.id=a.checked_out LEFT JOIN vm53n_viewlevels AS ag ON ag.id = a.access LEFT JOIN vm53n_users AS ua ON ua.id = a.created_user_id LEFT JOIN vm53n_fields_groups AS g ON g.id = a.group_id LEFT JOIN `vm53n_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3)) AND `a`.`access` IN (:preparedArray4,:preparedArray5,:preparedArray6)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray7,:preparedArray8,:preparedArray9)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC787μs4.81KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `vm53n_categories` AS `s` INNER JOIN `vm53n_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2,:preparedArray3) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`899μs3.95KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `vm53n_categories` AS `s` INNER JOIN `vm53n_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2,:preparedArray3) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`1.13ms5.19KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `vm53n_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 02.15ms1.53KBParams/libraries/src/Access/Access.php:301Copy
  • SELECT * FROM `vm53n_schemaorg` WHERE `itemId` = :itemId AND `context` = :context6.33ms1.55KBParams/plugins/system/schemaorg/src/Extension/Schemaorg.php:403Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `vm53n_content` AS `a` INNER JOIN `vm53n_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `vm53n_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `vm53n_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `vm53n_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `vm53n_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)901μs6.17KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `vm53n_content` AS `a` INNER JOIN `vm53n_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `vm53n_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `vm53n_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `vm53n_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `vm53n_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)1.54ms6.17KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `vm53n_scheduler_tasks` AS `a` WHERE `a`.`state` = 18.3ms1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy
  • SELECT `session_id` FROM `vm53n_session` WHERE `session_id` = ?363μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:277Copy
  • UPDATE `vm53n_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?2.15ms592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:301Copy