Skip to main content

Written By Megin Potter  |  Photos Provided

In the coming years, New York plans to shift the way we have been building and using energy in our homes.

“Some of these new requirements should have been instituted decades ago,” said Bruce Brownell, owner of Adirondack Alternate Energy. 

In his April 22, 1970 speech, at the first Earth Day event in Flushing Meadows, Long Island, Bruce said, “Soon, we will all be living in solar homes and using windmills.” He received cheers from the crowd.  

Today, after years of delays caused by political discord and opposing business interests, the state is progressing toward the goal of low-energy living.  

Say “Goodbye” to Gas

It comes as no surprise to Bruce that Governor Kathy Hochul wants to replace heavily-polluting gas in homes. When Bruce graduated from the SUNY College of Environmental Science and Forestry in 1964, he already felt an urgency to address the environmental impact rapid urbanization in the1950s had created.

With a loan from his father (who was, at first, skeptical of “alternative” building techniques) Bruce built his first passive solar home. Within three years, 130 people were invited to spend three nights there while their energy usage and the home’s performance was monitored. Six of the participants were so impressed with the results of the study, they hired Bruce to build them homes, too. 

In the sixty years since, Bruce has built nearly 400 more passive solar homes. In 2013, he won the American Energy Society Solar Builder of the Year award, and more than 5,000 students, engineers, and building professionals have attended his seminars and classes. 

Bruce also worked with organizations including the Brookhaven National Laboratory, NYSERDA, and Harvard University to conduct eight multi-year air quality studies. These revealed that the air inside homes with gas appliances was more polluted than the air at busy traffic intersections with a high exposure to automobile exhaust fumes. 

“Testing local houses really opened everybody’s eyes,” said Bruce.

Let the Sunshine In

To eliminate the pollution dumped into the air from the thousands of gallons of fossil fuels that so many use to control the temperature of their homes, Bruce instead harnesses the sun for energy. 

By orienting new structures to face south, the sun provides homes with huge amounts of free energy. Even in existing structures, maximizing the number of windows on the south side (made with glass that allows direct sunlight to permeate by up to 80 percent) is crucial, said Bruce. 

Since 2008, the building industry has moved in the opposite direction, he added, instead mostly producing windows with special coatings that act like a mirror reflecting ultra-violet light. 

Power Up

Once the sun is allowed into the house, 'high thermal mass' materials, like concrete, act like a battery, charging up with heat during the day, and releasing it at night. 

To maximize heat storage, Bruce builds an insulated slab foundation made of 12 inches of concrete in a crushed stone drainage bed atop an impervious membrane liner. A network of galvanized piping distributes circulating hot air heat from the battery through the house. By covering all six sides of the home with four inches of polyisocyanurate insulation, (a high-quality, but expensive water, vapor, and air barrier) AAE is making the home into a super-insulated cocoon, not only water tight, as all new construction should be, but humidity tight as well. 

A Breath of Fresh Air

Air driven by a fan (that never stops running) is also drawn down from the ceiling and circulated through a high-efficiency filtration system that improves air quality while practically eliminating the need to dust. 

Because heat naturally rises, the second floor of a conventionally-built home can be as much as 12 degrees hotter than the first floor, unlike in Bruce’s buildings, where, over a 24-hour period, the temperature remains relatively constant (and upstairs can even be a few degrees cooler).

Wood, which absorbs moisture from the air, naturally moderates a home’s humidity. By using exposed wood for interiors instead of sheetrock, you won’t need to manually regulate the air’s moisture with machines, and you won’t have to water indoor plants as often, added Bruce. 

Bringing It Home

The passive solar homes’ combination of insulation, air-tightness, and solar gain is so efficient, it attracted the attention of engineer Chuck Haugh.  After attending Bruce’s six-week seminar at Union College in the 1980s, he incorporated these concepts into his own Burnt Hills home in 1991. 

In 2020, while Chuck and his wife, Wendy, were designing their new passive solar home in Northville, they hired Bruce to design the thermal mass battery, insulation envelope, and air circulation systems.  

“We’ve had no problems and have loved both homes!” said Wendy. 

7.926MBMemory Usage104msRequest Duration
Joomla! Version4.4.13
PHP Version8.3.21
Identityguest
Response200
Templateyootheme
Database
Server
mysql
Version
8.0.42
Collation
utf8mb3_unicode_ci
Conn Collation
utf8mb4_0900_ai_ci
$_GET
array:3 [ "catid" => "9" "id" => "513" "view" => "article" ]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:58 [ "USER" => "fivetowers" "HOME" => "/home/fivetowers" "SCRIPT_NAME" => "/index.php" ...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1749413138 "last" => 1749413138...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (444.73KB) (3.5ms)
  • afterInitialise (1.96MB) (26.44ms)
  • afterRoute (375.48KB) (5.01ms)
  • beforeRenderComponent com_content (49.15KB) (916μs)
  • Before Access::preloadComponents (all components) (43.72KB) (1.62ms)
  • After Access::preloadComponents (all components) (116.7KB) (840μs)
  • Before Access::preloadPermissions (com_content) (1.63KB) (16μs)
  • After Access::preloadPermissions (com_content) (514.33KB) (1.26ms)
  • Before Access::getAssetRules (id:678 name:com_content.article.513) (18.65KB) (30μs)
  • After Access::getAssetRules (id:678 name:com_content.article.513) (11.38KB) (86μs)
  • afterRenderComponent com_content (1.58MB) (36.97ms)
  • afterDispatch (29.42KB) (1.14ms)
  • beforeRenderRawModule mod_finder () (376.79KB) (9.88ms)
  • afterRenderRawModule mod_finder () (1.95MB) (6.18ms)
  • beforeRenderModule mod_finder () (704B) (6μs)
  • afterRenderModule mod_finder () (1.44KB) (168μs)
  • beforeRenderRawModule mod_menu () (1.66KB) (214μs)
  • afterRenderRawModule mod_menu () (12.58KB) (817μs)
  • beforeRenderModule mod_menu () (696B) (4μs)
  • afterRenderModule mod_menu () (3.63KB) (102μs)
  • beforeRenderRawModule mod_custom () (920B) (68μs)
  • afterRenderRawModule mod_custom () (320.07KB) (1.59ms)
  • beforeRenderModule mod_custom () (704B) (4μs)
  • afterRenderModule mod_custom () (3.15KB) (55μs)
  • beforeRenderRawModule mod_menu () (24B) (91μs)
  • afterRenderRawModule mod_menu () (552B) (352μs)
  • beforeRenderModule mod_menu () (696B) (4μs)
  • afterRenderModule mod_menu () (2.76KB) (58μs)
  • beforeRenderRawModule mod_custom () (920B) (69μs)
  • afterRenderRawModule mod_custom () (1.03KB) (141μs)
  • beforeRenderModule mod_custom () (704B) (3μs)
  • afterRenderModule mod_custom () (1.23KB) (57μs)
  • beforeRenderRawModule mod_menu () (1.8KB) (76μs)
  • afterRenderRawModule mod_menu () (4.45KB) (410μs)
  • beforeRenderModule mod_menu () (696B) (3μs)
  • afterRenderModule mod_menu () (1.34KB) (68μs)
  • beforeRenderRawModule mod_finder () (96B) (8μs)
  • afterRenderRawModule mod_finder () (7.28KB) (730μs)
  • beforeRenderModule mod_finder () (704B) (4μs)
  • afterRenderModule mod_finder () (1.34KB) (74μs)
  • beforeRenderRawModule mod_custom () (288B) (8μs)
  • afterRenderRawModule mod_custom () (912B) (130μs)
  • beforeRenderModule mod_custom () (704B) (3μs)
  • afterRenderModule mod_custom () (1.23KB) (53μs)
  • beforeRenderRawModule mod_custom () (6.27KB) (146μs)
  • afterRenderRawModule mod_custom () (1008B) (135μs)
  • beforeRenderModule mod_custom () (704B) (3μs)
  • afterRenderModule mod_custom () (2.77KB) (44μs)
  • beforeRenderRawModule mod_custom () (472B) (56μs)
  • afterRenderRawModule mod_custom () (1008B) (109μs)
  • beforeRenderModule mod_custom () (704B) (2μs)
  • afterRenderModule mod_custom () (2.43KB) (42μs)
  • afterRender (290.95KB) (3.02ms)
  • 1 x afterRenderComponent com_content (1.58MB) (35.5%)
    36.97ms
    1 x afterInitialise (1.96MB) (25.39%)
    26.44ms
    1 x beforeRenderRawModule mod_finder () (376.79KB) (9.49%)
    9.88ms
    1 x afterRenderRawModule mod_finder () (1.95MB) (5.93%)
    6.18ms
    1 x afterRoute (375.48KB) (4.81%)
    5.01ms
    1 x afterLoad (444.73KB) (3.37%)
    3.50ms
    1 x afterRender (290.95KB) (2.9%)
    3.02ms
    1 x Before Access::preloadComponents (all components) (43.72KB) (1.55%)
    1.62ms
    1 x afterRenderRawModule mod_custom () (320.07KB) (1.53%)
    1.59ms
    1 x After Access::preloadPermissions (com_content) (514.33KB) (1.21%)
    1.26ms
    1 x afterDispatch (29.42KB) (1.1%)
    1.14ms
    1 x beforeRenderComponent com_content (49.15KB) (0.88%)
    916μs
    1 x After Access::preloadComponents (all components) (116.7KB) (0.81%)
    840μs
    1 x afterRenderRawModule mod_menu () (12.58KB) (0.78%)
    817μs
    1 x afterRenderRawModule mod_finder () (7.28KB) (0.7%)
    730μs
    1 x afterRenderRawModule mod_menu () (4.45KB) (0.39%)
    410μs
    1 x afterRenderRawModule mod_menu () (552B) (0.34%)
    352μs
    2 x afterRenderRawModule mod_custom () (1008B) (0.23%)
    244μs
    1 x beforeRenderRawModule mod_menu () (1.66KB) (0.21%)
    214μs
    1 x afterRenderModule mod_finder () (1.44KB) (0.16%)
    168μs
    1 x beforeRenderRawModule mod_custom () (6.27KB) (0.14%)
    146μs
    1 x afterRenderRawModule mod_custom () (1.03KB) (0.14%)
    141μs
    2 x beforeRenderRawModule mod_custom () (920B) (0.13%)
    137μs
    1 x afterRenderRawModule mod_custom () (912B) (0.12%)
    130μs
    2 x afterRenderModule mod_custom () (1.23KB) (0.11%)
    110μs
    1 x afterRenderModule mod_menu () (3.63KB) (0.1%)
    102μs
    1 x beforeRenderRawModule mod_menu () (24B) (0.09%)
    91μs
    1 x After Access::getAssetRules (id:678 name:com_content.article.513) (11.38KB) (0.08%)
    86μs
    1 x beforeRenderRawModule mod_menu () (1.8KB) (0.07%)
    76μs
    1 x afterRenderModule mod_finder () (1.34KB) (0.07%)
    74μs
    1 x afterRenderModule mod_menu () (1.34KB) (0.07%)
    68μs
    1 x afterRenderModule mod_menu () (2.76KB) (0.06%)
    58μs
    1 x beforeRenderRawModule mod_custom () (472B) (0.05%)
    56μs
    1 x afterRenderModule mod_custom () (3.15KB) (0.05%)
    55μs
    1 x afterRenderModule mod_custom () (2.77KB) (0.04%)
    44μs
    1 x afterRenderModule mod_custom () (2.43KB) (0.04%)
    42μs
    1 x Before Access::getAssetRules (id:678 name:com_content.article.513) (18.65KB) (0.03%)
    30μs
    1 x Before Access::preloadPermissions (com_content) (1.63KB) (0.02%)
    16μs
    5 x beforeRenderModule mod_custom () (704B) (0.01%)
    15μs
    3 x beforeRenderModule mod_menu () (696B) (0.01%)
    11μs
    2 x beforeRenderModule mod_finder () (704B) (0.01%)
    10μs
    1 x beforeRenderRawModule mod_finder () (96B) (0.01%)
    8μs
    1 x beforeRenderRawModule mod_custom () (288B) (0.01%)
    8μs
53 statements were executed, 5 of which were duplicates, 48 unique13.29ms878.27KB
  • SELECT @@SESSION.sql_mode;115μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `jos_session` WHERE `session_id` = ?185μs1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `jos_session` WHERE `session_id` = :session_id LIMIT 176μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `jos_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)227μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `jos_viewlevels`110μs976B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `jos_usergroups` AS `a` LEFT JOIN `jos_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest189μs1.33KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_k2" AND e.type = "component"159μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_virtuemart" AND e.type = "component"79μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_easyblog" AND e.type = "component"67μs1.13KB/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jomclassifieds" AND e.type = "component"61μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_hikashop" AND e.type = "component"65μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_rseventspro" AND e.type = "component"61μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_zoo" AND e.type = "component"114μs536B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jticketing" AND e.type = "component"67μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_icagenda" AND e.type = "component"61μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_eventbooking" AND e.type = "component"87μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_eshop" AND e.type = "component"66μs1.76KB/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_rsblog" AND e.type = "component"63μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_mijovideos" AND e.type = "component"62μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_opencart" AND e.type = "component"79μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jcart" AND e.type = "component"61μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_djclassifieds" AND e.type = "component"62μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_j2store" AND e.type = "component"61μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_phocacart" AND e.type = "component"86μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jshopping" AND e.type = "component"66μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_igallery" AND e.type = "component"63μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_dpcalendar" AND e.type = "component"61μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SHOW FULL COLUMNS FROM `jos_tagz_config`504μs1.3KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • SELECT * FROM `jos_tagz_config` WHERE `name` = 'config'101μs592B/libraries/src/Table/Table.php:755Copy
  • SELECT id,template FROM jos_template_styles WHERE client_id=0 AND home=1169μs592B/administrator/components/com_widgetkit/widgetkit.php:28Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yooessentials' AND folder = 'system'135μs536B/plugins/system/yooessentials/helper.php:153Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yooessentials' AND folder = 'system' LIMIT 1103μs536B/plugins/system/yooessentials/modules/platform-joomla/src/Database.php:52Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jos_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)445μs9.94KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jos_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 0556μs49.48KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `jos_content`636μs1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • UPDATE `jos_content` SET `hits` = (`hits` + 1) WHERE `id` = '513'260μs48B/libraries/src/Table/Table.php:1325Copy
  • 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 `jos_content` AS `a` INNER JOIN `jos_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `jos_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `jos_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `jos_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `jos_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)469μs54.13KBParams/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 `jos_categories` AS `s` INNER JOIN `jos_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) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`314μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `jos_contentitem_tag_map` AS `m` INNER JOIN `jos_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)225μs3.97KBParams/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 `jos_categories` AS `s` INNER JOIN `jos_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) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`271μs3.91KBParams/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 jos_fields AS a LEFT JOIN `jos_languages` AS l ON l.lang_code = a.language LEFT JOIN jos_users AS uc ON uc.id=a.checked_out LEFT JOIN jos_viewlevels AS ag ON ag.id = a.access LEFT JOIN jos_users AS ua ON ua.id = a.created_user_id LEFT JOIN jos_fields_groups AS g ON g.id = a.group_id LEFT JOIN `jos_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)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray5,:preparedArray6)) 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 ASC318μs4.75KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `a`.`id`,`a`.`title`,`a`.`catid`,`a`.`language`, CASE WHEN CHAR_LENGTH(`a`.`alias`) != 0 THEN CONCAT_WS(':', `a`.`id`, `a`.`alias`) ELSE a.id END AS `slug`, CASE WHEN CHAR_LENGTH(`cc`.`alias`) != 0 THEN CONCAT_WS(':', `cc`.`id`, `cc`.`alias`) ELSE cc.id END AS `catslug` FROM `jos_content` AS `a` LEFT JOIN `jos_categories` AS `cc` ON `cc`.`id` = `a`.`catid` WHERE `a`.`catid` = :catid AND `a`.`state` = :state AND `a`.`access` IN (:preparedArray1,:preparedArray2) AND (`publish_up` IS NULL OR `publish_up` <= :nowDate1) AND (`publish_down` IS NULL OR `publish_down` >= :nowDate2) ORDER BY CASE WHEN `a`.`publish_up` IS NULL THEN `a`.`created` ELSE `a`.`publish_up` END DESC1.88ms21.72KBParams/plugins/content/pagenavigation/src/Extension/PageNavigation.php:188Copy
  • 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 `jos_categories` AS `s` INNER JOIN `jos_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) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`285μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `params` FROM `jos_tagz` WHERE `component_id` = 119 AND `component_type` = "menu"646μs520B/plugins/system/tagz/tagz.php:650Copy
  • SELECT `params` FROM `jos_tagz` WHERE `component_id` = 513 AND `component_type` = "content"272μs520B/plugins/system/tagz/tagz.php:650Copy
  • SELECT `name`,`element` FROM `jos_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1395μs592B/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `jos_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)282μs584B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yootheme' AND folder = 'system' LIMIT 1718μs688.52KB/templates/yootheme/packages/platform-joomla/src/Storage.php:30Copy
  • 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 jos_fields AS a LEFT JOIN `jos_languages` AS l ON l.lang_code = a.language LEFT JOIN jos_users AS uc ON uc.id=a.checked_out LEFT JOIN jos_viewlevels AS ag ON ag.id = a.access LEFT JOIN jos_users AS ua ON ua.id = a.created_user_id LEFT JOIN jos_fields_groups AS g ON g.id = a.group_id WHERE ( (`a`.`context` = :context AND `a`.`access` IN (:preparedArray1,:preparedArray2)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray3,:preparedArray4)) 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 ASC638μs4.06KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `title` FROM `jos_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)238μs584B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • 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 `jos_scheduler_tasks` AS `a` WHERE `a`.`state` = 1221μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy
  • SELECT `session_id` FROM `jos_session` WHERE `session_id` = ?225μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:291Copy
  • UPDATE `jos_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?525μs592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:318Copy