The great thing about research is that it is cheaper than doing things.

I have noticed, over time, that we have some interesting habits.

1. we don't tend to tell folks exactly what it is we're doing.

This is practical. Many of the things we do don't...er...what's the word? Umm. Work. Ah yes. that's it.

We do give them project names. Ok, I give them project names so the other guys have some clue as to what I am talking about.

2. Get close and declare victory.

Mr Wizard says 30% of what I think needs to be done is 100% of what everyone else thinks needs to be done. Ah. Yeah.

We get along the idea path as far as we can, until we run out of gas, funds or help. There's a lot of video stuff that we'd be up for, if circumstances permitted.

That's the way of things. It's pleasing to see how much we actually get done.

3. We test

It's not unusual for us to try Pilots - like The Last Gig In Sydney.

Sometimes these things go Hilariously wrong.

To borrow and twist a quote, we bury it and plant vines.

Pilot efforts are often 2/3 of the effort of a finished thing.

4. Take small steps towards an idea.

The research is a step, a pilot, a test. So is deploying a single element of the idea, then growing it to add others.

5. Water what grows

Some good ideas are not good ideas. 

The one's that grow need water and then you see what you get. The one's that don't thrive, you might try again, or, accept that not all ideas, even the good ones, work :-)

 

I'm in research mode. Thanks google.

As soon as this stuff starts to move, you'll likely see some blogging on it.

Until then, imagine us in the shadows, quietly looking at our wilted tomato plants and wondering how the cat got in.

Settings6.126MBMemory Usage77.23msRequest Duration
Theme
Open Button Position
Hide Empty Tabs
Autoshow
Reset to defaults
Joomla! Version5.3.0
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" => "2" "id" => "2480:research-continues-on-next-projects" "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" => 1745797192 "last" => 1745797192...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (105.45KB) (475μs)
  • afterInitialise (1.16MB) (12.7ms)
  • afterRoute (534.38KB) (1.98ms)
  • beforeRenderComponent com_content (54.78KB) (686μs)
  • Before Access::preloadComponents (all components) (104.77KB) (592μs)
  • After Access::preloadComponents (all components) (137.83KB) (1.81ms)
  • Before Access::preloadPermissions (com_content) (1.85KB) (12μs)
  • After Access::preloadPermissions (com_content) (2.09MB) (7.61ms)
  • Before Access::getAssetRules (id:2655 name:com_content.article.2480) (66.65KB) (89μs)
  • After Access::getAssetRules (id:2655 name:com_content.article.2480) (7.38KB) (62μs)
  • afterRenderComponent com_content (973.48KB) (26.82ms)
  • afterDispatch (3.03KB) (182μs)
  • Before Access::preloadPermissions (com_dpcalendar) (251.82KB) (6.62ms)
  • After Access::preloadPermissions (com_dpcalendar) (6.91KB) (2.7ms)
  • Before Access::getAssetRules (id:3131 name:com_dpcalendar.category.90) (440B) (287μs)
  • After Access::getAssetRules (id:3131 name:com_dpcalendar.category.90) (6.03KB) (29μs)
  • afterRender (165.51KB) (14.34ms)
  • 1 x afterRenderComponent com_content (973.48KB) (34.72%)
    26.82ms
    1 x afterRender (165.51KB) (18.57%)
    14.34ms
    1 x afterInitialise (1.16MB) (16.44%)
    12.70ms
    1 x After Access::preloadPermissions (com_content) (2.09MB) (9.85%)
    7.61ms
    1 x Before Access::preloadPermissions (com_dpcalendar) (251.82KB) (8.57%)
    6.62ms
    1 x After Access::preloadPermissions (com_dpcalendar) (6.91KB) (3.5%)
    2.70ms
    1 x afterRoute (534.38KB) (2.56%)
    1.98ms
    1 x After Access::preloadComponents (all components) (137.83KB) (2.34%)
    1.81ms
    1 x beforeRenderComponent com_content (54.78KB) (0.89%)
    686μs
    1 x Before Access::preloadComponents (all components) (104.77KB) (0.77%)
    592μs
    1 x afterLoad (105.45KB) (0.61%)
    475μs
    1 x Before Access::getAssetRules (id:3131 name:com_dpcalendar.category.90) (440B) (0.37%)
    287μs
    1 x afterDispatch (3.03KB) (0.24%)
    182μs
    1 x Before Access::getAssetRules (id:2655 name:com_content.article.2480) (66.65KB) (0.12%)
    89μs
    1 x After Access::getAssetRules (id:2655 name:com_content.article.2480) (7.38KB) (0.08%)
    62μs
    1 x After Access::getAssetRules (id:3131 name:com_dpcalendar.category.90) (6.03KB) (0.04%)
    29μs
    1 x Before Access::preloadPermissions (com_content) (1.85KB) (0.02%)
    12μs
24 statements were executed, 6 of which were duplicates, 18 unique23.36ms408.48KB
  • SELECT @@SESSION.sql_mode;199μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:259Copy
  • SELECT `data` FROM `vm53n_session` WHERE `session_id` = ?219μs1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:250Copy
  • SELECT `session_id` FROM `vm53n_session` WHERE `session_id` = :session_id LIMIT 1174μ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)2.08ms944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `vm53n_viewlevels`307μ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` = :guest345μ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)1.16ms7.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` = 04.19ms341.48KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `vm53n_content`932μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:539Copy
  • UPDATE `vm53n_content` SET `hits` = (`hits` + 1) WHERE `id` = '2480'1.09ms48B/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)516μs6.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.19ms3.94KBParams/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)392μs4KBParams/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`571μs3.94KBParams/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)) AND `a`.`access` IN (:preparedArray3,:preparedArray4,:preparedArray5)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray6,:preparedArray7,:preparedArray8)) 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 ASC855μ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`2.22ms3.94KBParams/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`611μs5.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.44ms1.53KBParams/libraries/src/Access/Access.php:301Copy
  • SELECT * FROM `vm53n_schemaorg` WHERE `itemId` = :itemId AND `context` = :context304μs1.55KBParams/plugins/system/schemaorg/src/Extension/Schemaorg.php:406Copy
  • 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)585μ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)602μs6.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` = 1340μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy
  • SELECT `session_id` FROM `vm53n_session` WHERE `session_id` = ?240μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:277Copy
  • UPDATE `vm53n_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?1.8ms592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:301Copy