text:
<?php

namespace danielgp\common_lib;

/**
 * Usefull functions to get quick MySQL content
 *
 * @author Daniel Popiniuc
 */
trait MySQLiByDanielGP
{

    use MySQLiByDanielGPnumbers,
        MySQLiMultipleExecution;

    /**
     * Initiates connection to MySQL
     *
     * @param array $mySQLconfig
     *
     * $mySQLconfig           = [
     * 'host'     => MYSQL_HOST,
     * 'port'     => MYSQL_PORT,
     * 'username' => MYSQL_USERNAME,
     * 'password' => MYSQL_PASSWORD,
     * 'database' => MYSQL_DATABASE,
     * ];
     *
     * @return string
     */
    protected function connectToMySql($mySQLconfig)
    {
        if (is_null($this->mySQLconnection)) {
            extract($mySQLconfig);
            $this->mySQLconnection = new \mysqli($host, $username, $password, $database, $port);
            if ($this->mySQLconnection->connect_error) {
                $this->mySQLconnection = null;
                $erNo                  = $this->mySQLconnection->connect_errno;
                $erMsg                 = $this->mySQLconnection->connect_error;
                $msg                   = $this->lclMsgCmn('i18n_Feedback_ConnectionError');
                return sprintf($msg, $erNo, $erMsg, $host, $port, $username, $database);
            }
            return '';
        }
    }

    /**
     * Returns a Date field 2 use in a form
     *
     * @param array $value
     * @return string
     */
    protected function getFieldOutputDate($value)
    {
        $defaultValue = $this->getFieldValue($value);
        if ($defaultValue == 'NULL') {
            $defaultValue = date('Y-m-d');
        }
        $inA = [
            'type'      => 'text',
            'name'      => $value['COLUMN_NAME'],
            'id'        => $value['COLUMN_NAME'],
            'value'     => $defaultValue,
            'size'      => 10,
            'maxlength' => 10,
            'onfocus'   => implode('', [
                'javascript:NewCssCal(\'' . $value['COLUMN_NAME'],
                '\',\'yyyyMMdd\',\'dropdown\',false,\'24\',false);',
            ]),
        ];
        return $this->setStringIntoShortTag('input', $inA) . $this->setCalendarControl($value['COLUMN_NAME']);
    }

    /**
     * Returns a Time field 2 use in a form
     *
     * @param array $value
     * @param array $iar
     * @return string
     */
    protected function getFieldOutputTime($value, $iar = [])
    {
        return $this->getFieldOutputTT($value, 8, $iar);
    }

    /**
     * Provides a detection if given Query does contain a Parameter
     * that may require statement processing later on
     *
     * @param string $sQuery
     * @param string $paramIdentifier
     * @return boolean
     */
    protected function getMySQLqueryWithParameterIdentifier($sQuery, $paramIdentifier)
    {
        $sReturn = true;
        if (strpos($sQuery, $paramIdentifier) === false) {
            $sReturn = false;
        }
        return $sReturn;
    }

    /**
     * Transmit Query to MySQL server and get results back
     *
     * @param string $sQuery
     * @param string $sReturnType
     * @param array $ftrs
     * @return boolean|array|string
     */
    protected function setMySQLquery2Server($sQuery, $sReturnType = null, $ftrs = null)
    {
        if (is_null($sReturnType)) {
            $this->mySQLconnection->query(html_entity_decode($sQuery));
            return '';
        } elseif (is_null($this->mySQLconnection)) {
            return ['customError' => $this->lclMsgCmn('i18n_MySQL_ConnectionNotExisting'), 'result' => null];
        }
        $result = $this->mySQLconnection->query(html_entity_decode($sQuery));
        if ($result) {
            return $this->setMySQLquery2ServerConnected(['Result' => $result, 'RType' => $sReturnType, 'F' => $ftrs]);
        }
        $erM  = [$this->mySQLconnection->errno, $this->mySQLconnection->error];
        $cErr = sprintf($this->lclMsgCmn('i18n_MySQL_QueryError'), $erM[0], $erM[1]);
        return ['customError' => $cErr, 'result' => null];
    }

    /**
     * Turns a raw query result into various structures
     * based on different predefined $parameters['returnType'] value
     *
     * @param array $parameters
     * @return array as ['customError' => '...', 'result' => '...']
     */
    private function setMySQLquery2ServerByPattern($parameters)
    {
        $aReturn = $parameters['return'];
        $vld     = $this->setMySQLqueryValidateInputs($parameters);
        if ($vld[1] !== '') {
            return ['customError' => $vld[1], 'result' => ''];
        } elseif ($parameters['returnType'] == 'value') {
            return ['customError' => $vld[1], 'result' => $parameters['QueryResult']->fetch_row()[0]];
        }
        $counter2 = 0;
        for ($counter = 0; $counter < $parameters['NoOfRows']; $counter++) {
            $line = $parameters['QueryResult']->fetch_row();
            $this->setMySQLquery2ServerByPatternLine($parameters, $line, $counter, $counter2, $aReturn);
            $counter2++;
        }
        return ['customError' => '', 'result' => $aReturn['result']];
    }

    private function setMySQLquery2ServerByPatternKey($parameters, $line, $counter)
    {
        switch ($parameters['returnType']) {
            case 'array_key_value':
                return [$line[0], $line[1]];
            // intentionally left open
            case 'array_key2_value':
                return [$line[0] . '@' . $line[1], $line[1]];
            // intentionally left open
            case 'array_numbered':
                return [$counter, $line[0]];
            // intentionally left open
        }
    }

    private function setMySQLquery2ServerByPatternLine($parameters, $line, $counter, $counter2, &$aReturn)
    {
        if (in_array($parameters['returnType'], ['array_key_value', 'array_key2_value', 'array_numbered'])) {
            $rslt                        = $this->setMySQLquery2ServerByPatternKey($parameters, $line, $counter);
            $aReturn['result'][$rslt[0]] = $rslt[1];
        } elseif ($parameters['returnType'] == 'array_key_value2') {
            $aReturn['result'][$line[0]][] = $line[1];
        } else {
            $finfo = $parameters['QueryResult']->fetch_fields();
            $this->setMySQLquery2ServerByPatternLineAdvanced($parameters, $finfo, $line, $counter2, $aReturn);
        }
    }

    private function setMySQLquery2ServerByPatternLineAdvanced($parameters, $finfo, $line, $counter2, &$aReturn)
    {
        foreach ($finfo as $columnCounter => $value) {
            switch ($parameters['returnType']) {
                case 'array_first_key_rest_values':
                    if ($columnCounter !== 0) {
                        $aReturn['result'][$line[0]][$value->name] = $line[$columnCounter];
                    }
                    break;
                case 'array_pairs_key_value':
                    $aReturn['result'][$value->name]                                   = $line[$columnCounter];
                    break;
                case 'full_array_key_numbered':
                    $aReturn['result'][$counter2][$value->name]                        = $line[$columnCounter];
                    break;
                case 'full_array_key_numbered_with_record_number_prefix':
                    $parameters['prefix']                                              = 'RecordNo';
                // intentionally left open
                case 'full_array_key_numbered_with_prefix':
                    $aReturn['result'][$parameters['prefix']][$counter2][$value->name] = $line[$columnCounter];
                    break;
            }
        }
    }

    private function setMySQLquery2ServerConnected($inArray)
    {
        if ($inArray['RType'] == 'id') {
            return ['customError' => '', 'result' => $this->mySQLconnection->insert_id];
        } elseif ($inArray['RType'] == 'lines') {
            return ['result' => $inArray['Result']->num_rows, 'customError' => ''];
        }
        $parameters = [
            'NoOfColumns' => $inArray['Result']->field_count,
            'NoOfRows'    => $inArray['Result']->num_rows,
            'QueryResult' => $inArray['Result'],
            'returnType'  => $inArray['RType'],
            'return'      => ['customError' => '', 'result' => null]
        ];
        if (substr($inArray['RType'], -6) == 'prefix') {
            $parameters['prefix'] = $inArray['F']['prefix'];
        }
        return $this->setMySQLquery2ServerByPattern($parameters);
    }
}

redpajama_set_name: RedPajamaGithub


text:
<?php
	$rootPath = $_SERVER['DOCUMENT_ROOT'];

	$page = (object)['meta' => (object)[], 'header' => (object)[], 'footer' => (object)[]];

	$page->meta->title = 'Telemetry statistics for Contentment for Umbraco';
	$page->meta->description = 'Details about the telemetry data collected by the Contentment package for Umbraco.';
	$page->meta->image = 'https://leekelleher.com/assets/img/nxnw_300x300.jpg';
	$page->meta->twitter = '@leekelleher';
	$page->meta->styles = ':root{--nc-ac-1: #FF8A89;}td>details{padding:0;background:none;border:none;} td>details>summary{font-weight:normal;}';

	$page->header->logo = (object)['url' => '../logo.png', 'name' => 'Contentment for Umbraco logo'];
	$page->header->title = 'Contentment for Umbraco';
	$page->header->nav = [
		(object)['name' => 'Telemetry statistics', 'url' => '#stats'],
		(object)['name' => 'Most popular editors', 'url' => '#editors'],
		(object)['name' => 'Most popular versions', 'url' => '#versions'],
		(object)['name' => 'Disable telemetry?', 'url' => '#disable'],
	];

	$page->footer = '
All content by Lee Kelleher (© 2021) and licensed under Creative Commons. All code snippets are licensed under the MIT license.
';

	include_once("$rootPath/.code/_header.php");
?>

Telemetry statistics

Since version 1.2.0, my Contentment for Umbraco package has been collecting telemetry data. This provides me with insights to which of the editors are being used, so that I can make informed decisions on how to focus my future development efforts. The data is sent anonymously, no personal or sensitive data is collected. In an effort of transparency, here is the analysis of the telemetry data.

				What type of data is being captured?

An example of the data captured from a Data List editor configuration.

{
    "dataType": "4E7D6B3A-F959-42E4-921E-081BC0E9E7EE",
    "editorAlias": "DataList",
    "umbracoId": "0403E47E-EFE7-4CF2-8E97-148681DAFC10",
    "umbracoVersion": "8.6.8",
    "contentmentVersion": "1.3.0",
    "dataTypeConfig": {
        "dataSource": "EnumDataListSource",
        "listEditor": "CheckboxListDataListEditor"
    }
}

<?php
	$db = new PDO("sqlite:".__DIR__."/_telemetry.sqlite");

	$qry0 = $db->query("
SELECT
	COUNT(DISTINCT contentmentVersion) AS [contentmentVersions],
	COUNT(DISTINCT umbracoVersion) AS [umbracoVersions],
	COUNT(DISTINCT umbracoId) AS [umbracoInstances],
	MAX(contentmentVersion) AS [contentmentLatest],
	(SELECT umbracoVersion FROM dataTypes ORDER BY CAST(SUBSTR(umbracoVersion, 0, INSTR(umbracoVersion, '.')) AS DECIMAL) DESC, CAST(SUBSTR(umbracoVersion, INSTR(umbracoVersion, '.') + 1) AS DECIMAL) DESC LIMIT 1) AS [umbracoLatest]
FROM
	dataTypes
;");

	$contentmentLatest = '0.0.0';
	$umbracoLatest = '0.0.0';

	$queryContentmentVersion = isset($_GET['version']) ? $_GET['version'] : null;
	$queryUmbracoVersion = isset($_GET['umbraco']) ? $_GET['umbraco'] : null;
?>

Summary

			<?php while ($row = $qry0->fetch(\PDO::FETCH_ASSOC)) : ?>

There are <?= number_format($row['contentmentVersions']) ?> versions of Contentment being used on <?= number_format($row['umbracoInstances']) ?> unique Umbraco instances, ranging across <?= number_format($row['umbracoVersions']) ?> versions.
The latest version of Contentment is <?= $contentmentLatest = $row['contentmentLatest']; ?>, and the latest version of Umbraco is <?= $umbracoLatest = $row['umbracoLatest']; ?>.

			<?php endwhile; ?>
<?php
	$where1 = isset($queryContentmentVersion) && strlen($queryContentmentVersion) < 9 ? "contentmentVersion LIKE '$queryContentmentVersion'" : "1 = 1";
	$where2 = isset($queryUmbracoVersion) && strlen($queryUmbracoVersion) < 9 ? "umbracoVersion LIKE '$queryUmbracoVersion'" : "1 = 1";
	$qry1 = $db->query("
SELECT
	editorAlias,
	COUNT(DISTINCT dataType) AS [count],
	GROUP_CONCAT(DISTINCT contentmentVersion) AS [contentmentVersions],
	GROUP_CONCAT(DISTINCT umbracoVersion) AS [umbracoVersions],
	COUNT(DISTINCT umbracoId) AS [installs]
FROM
	dataTypes
WHERE
	$where1 AND $where2
GROUP BY
	editorAlias
ORDER BY
	[count] DESC,
	editorAlias ASC
;");

	$editors = [
		'Bytes' => [ 'name' => 'Bytes', 'url' => '/blob/develop/docs/editors/bytes.md' ],
		'CodeEditor' => [ 'name' => 'Code Editor', 'url' => '/blob/develop/docs/editors/code-editor.md' ],
		'ContentBlocks' => [ 'name' => 'Content Blocks', 'url' => '/blob/develop/docs/editors/content-blocks.md' ],
		'DataList' => [ 'name' => 'Data List', 'url' => '/blob/develop/docs/editors/data-list.md' ],
		'EditorNotes' => [ 'name' => 'Editor Notes', 'url' => '/blob/develop/docs/editors/editor-notes.md' ],
		'IconPicker' => [ 'name' => 'Icon Picker', 'url' => '/blob/develop/docs/editors/icon-picker.md' ],
		'Notes' => [ 'name' => 'Notes', 'url' => '/blob/develop/docs/editors/notes.md' ],
		'NumberInput' => [ 'name' => 'Number Input', 'url' => '/blob/develop/docs/editors/number-input.md' ],
		'RenderMacro' => [ 'name' => 'Render Macro', 'url' => '/blob/develop/docs/editors/render-macro.md' ],
		'SocialLinks' => [ 'name' => 'Social Links', 'url' => '/blob/develop/docs/editors/social-links.md' ],
		'TemplatedLabel' => [ 'name' => 'Templated Label', 'url' => '/blob/develop/docs/editors/templated-label.md' ],
		'TextboxList' => [ 'name' => 'Textbox List', 'url' => '/blob/develop/docs/editors/textbox-list.md' ],
		'TextInput' => [ 'name' => 'Text Input', 'url' => '/blob/develop/docs/editors/text-input.md' ],
	];

	$dataSources = [
		'CountriesDataListSource' => [ 'name' => '.NET Countries (ISO 3166)', 'url' => '/blob/develop/docs/data-sources/data-source--countries.md' ],
		'CurrenciesDataListSource' => [ 'name' => '.NET Currencies (ISO 4217)', 'url' => '/blob/develop/docs/data-sources/data-source--currencies.md' ],
		'EnumDataListSource' => [ 'name' => '.NET Enumeration', 'url' => '/blob/develop/docs/data-sources/data-source--enum.md' ],
		'ExamineDataListSource' => [ 'name' => 'Examine Query', 'url' => '/blob/develop/docs/data-sources/data-source--examine.md' ],
		'JsonDataListSource' => [ 'name' => 'JSON Data', 'url' => '/blob/develop/docs/data-sources/data-source--json.md' ],
		'LanguagesDataListSource' => [ 'name' => '.NET Languages (ISO 639)', 'url' => '/blob/develop/docs/data-sources/data-source--languages.md' ],
		'NumberRangeDataListSource' => [ 'name' => 'Number Range', 'url' => '/blob/develop/docs/data-sources/data-source--number-range.md' ],
		'PhysicalFileSystemDataSource' => [ 'name' => 'File System', 'url' => '/blob/develop/docs/data-sources/data-source--file-system.md' ],
		'SqlDataListSource' => [ 'name' => 'SQL Data', 'url' => '/blob/develop/docs/data-sources/data-source--sql.md' ],
		'TextDelimitedDataListSource' => [ 'name' => 'Text Delimited Data', 'url' => '/blob/develop/docs/data-sources/data-source--text-delimited.md' ],
		'TimeZoneDataListSource' => [ 'name' => '.NET Time Zones (UTC)', 'url' => '/blob/develop/docs/data-sources/data-source--timezone.md' ],
		'uCssClassNameDataListSource' => [ 'name' => 'uCssClassName', 'url' => '/blob/develop/docs/data-sources/data-source--ucssclassname.md' ],
		'UmbracoContentDataListSource' => [ 'name' => 'Umbraco Content', 'url' => '/blob/develop/docs/data-sources/data-source--umbraco-content.md' ],
		'UmbracoContentPropertiesDataListSource' => [ 'name' => 'Umbraco Content Properties', 'url' => '/blob/develop/docs/data-sources/data-source--umbraco-content-properties.md' ],
		'UmbracoContentTypesDataListSource' => [ 'name' => 'Umbraco Content Types', 'url' => '/blob/develop/docs/data-sources/data-source--umbraco-content-types.md' ],
		'UmbracoContentXPathDataListSource' => [ 'name' => 'Umbraco Content by XPath', 'url' => '/blob/develop/docs/data-sources/data-source--umbraco-content-xpath.md' ],
		'UmbracoDictionaryDataListSource' => [ 'name' => 'Umbraco Dictionary Items', 'url' => '/blob/develop/docs/data-sources/data-source--umbraco-dictionary.md' ],
		'UmbracoEntityDataListSource' => [ 'name' => 'Umbraco Entities', 'url' => '/blob/develop/docs/data-sources/data-source--umbraco-entity.md' ],
		'UmbracoFilesDataListSource' => [ 'name' => 'Umbraco Files', 'url' => '/blob/develop/docs/data-sources/data-source--umbraco-files.md' ],
		'UmbracoImageCropDataListSource' => [ 'name' => 'Umbraco Image Crops', 'url' => '/blob/develop/docs/data-sources/data-source--umbraco-image-crop.md' ],
		'UmbracoLanguagesDataListSource' => [ 'name' => 'Umbraco Languages', 'url' => '/blob/develop/docs/data-sources/data-source--umbraco-languages.md' ],
		'UmbracoMemberGroupDataListSource' => [ 'name' => 'Umbraco Member Groups', 'url' => '/blob/develop/docs/data-sources/data-source--umbraco-member-group.md' ],
		'UmbracoMembersDataListSource' => [ 'name' => 'Umbraco Members', 'url' => '/blob/develop/docs/data-sources/data-source--umbraco-members.md' ],
		'UmbracoTagsDataListSource' => [ 'name' => 'Umbraco Tags', 'url' => '/blob/develop/docs/data-sources/data-source--umbraco-tags.md' ],
		'UmbracoTemplatesDataListSource' => [ 'name' => 'Umbraco Templates', 'url' => '/blob/develop/docs/data-sources/data-source--umbraco-templates.md' ],
		'UmbracoUsersDataListSource' => [ 'name' => 'Umbraco Users', 'url' => '/blob/develop/docs/data-sources/data-source--umbraco-users.md' ],
		'UmbracoUserGroupDataListSource' => [ 'name' => 'Umbraco User Groups', 'url' => '/blob/develop/docs/data-sources/data-source--umbraco-user-groups.md' ],
		'UserDefinedDataListSource' => [ 'name' => 'User-defined List', 'url' => '/blob/develop/docs/data-sources/data-source--user-defined.md' ],
		'XmlDataListSource' => [ 'name' => 'XML Data', 'url' => '/blob/develop/docs/data-sources/data-source--xml.md' ],
		'XmlSitemapChangeFrequencyDataListSource' => [ 'name' => 'XML Sitemap: Change Frequency', 'url' => '/blob/develop/docs/data-sources/data-source--xml-sitemap-change-frequency.md' ],
		'XmlSitemapPriorityDataListSource' => [ 'name' => 'XML Sitemap: Priority', 'url' => '/blob/develop/docs/data-sources/data-source--xml-sitemap-priority.md' ],
	];

	$listEditors = [
		'ButtonsDataListEditor'         => [ 'name' => 'Buttons', 'url' => '/blob/develop/docs/editors/data-list.md' ],
		'CheckboxListDataListEditor'    => [ 'name' => 'Checkbox List', 'url' => '/blob/develop/docs/editors/data-list.md' ],
		'DropdownListDataListEditor'    => [ 'name' => 'Dropdown List', 'url' => '/blob/develop/docs/editors/data-list.md' ],
		'ItemPickerDataListEditor'      => [ 'name' => 'Item Picker', 'url' => '/blob/develop/docs/editors/data-list.md' ],
		'RadioButtonListDataListEditor' => [ 'name' => 'Radio Button List', 'url' => '/blob/develop/docs/editors/data-list.md' ],
		'TagsDataListEditor'            => [ 'name' => 'Tags', 'url' => '/blob/develop/docs/editors/data-list.md' ],
		'TemplatedListDataListEditor'   => [ 'name' => 'Templated List', 'url' => '/blob/develop/docs/editors/data-list.md' ],
	];

	$displayModes = [
		'BlocksDisplayMode' => [ 'name' => 'Blocks', 'url' => '/blob/develop/docs/editors/content-blocks.md' ],
		'CardsDisplayMode'  => [ 'name' => 'Cards', 'url' => '/blob/develop/docs/editors/content-blocks.md' ],
		'ListDisplayMode'   => [ 'name' => 'List', 'url' => '/blob/develop/docs/editors/content-blocks.md' ],
		'StackDisplayMode'  => [ 'name' => 'Stack', 'url' => '/blob/develop/docs/editors/content-blocks.md' ],
	];
?>

Most popular editors

This represents the number of unique instances of an editor's data-type configuration.

						Editor
						Count
						Package versions
						Umbraco versions
						Umbraco instances

<?php
					while ($row = $qry1->fetch(\PDO::FETCH_ASSOC)) :
						if (array_key_exists($row['editorAlias'], $editors)) :
							$editor = $editors[$row['editorAlias']];
							$pkgVersions = explode(',', $row['contentmentVersions']);
							$umbVersions = explode(',', $row['umbracoVersions']);
							usort($pkgVersions, 'version_compare');
							usort($umbVersions, 'version_compare');
?>

						<a href="https://github.com/leekelleher/umbraco-contentment<?= $editor['url'] ?>" target="_blank"><?= $editor['name'] ?>
						<?= number_format($row['count']) ?>
						<?= end($pkgVersions) ?> - <?= reset($pkgVersions) ?><?= implode(', ', array_reverse($pkgVersions)) ?>
						<?= end($umbVersions) ?> - <?= reset($umbVersions) ?><?= implode(', ', array_reverse($umbVersions)) ?>
						<?= number_format($row['installs']) ?>

				<?php endif; endwhile; ?>

Data List

Given the popularity of the Data List, here is further analysis of the most popular used data-sources and list-editors.
Capturing the extended Data List configuration was introduced in v1.3.0.

<?php
	$customDataSourceCount = 0;
	$customListEditorCount = 0;
?>

<?php
	$where3 = isset($queryContentmentVersion) && strlen($queryContentmentVersion) < 9 ? "d.contentmentVersion LIKE '$queryContentmentVersion'" : "1 = 1";
	$where4 = isset($queryUmbracoVersion) && strlen($queryUmbracoVersion) < 9 ? "d.umbracoVersion LIKE '$queryUmbracoVersion'" : "1 = 1";
	$qry3 = $db->query("SELECT c.value, COUNT(DISTINCT c.dataType) AS [count] FROM dataTypeConfig AS c INNER JOIN dataTypes AS d ON d.dataType = c.dataType WHERE c.key = 'dataSource' AND $where3 AND $where4 GROUP BY c.value ORDER BY [count] DESC, c.value ASC;");
?>

								Data source
								Count

<?php
							while ($row = $qry3->fetch(\PDO::FETCH_ASSOC)) :
								if (array_key_exists($row['value'], $dataSources) === false) {
									$customDataSourceCount++;
									continue;
								}
								$dataSource = $dataSources[$row['value']];
?>

								<a href="https://github.com/leekelleher/umbraco-contentment<?= $dataSource['url'] ?>" target="_blank"><?= $dataSource['name'] ?>
								<?= $row['count'] ?>

						<?php endwhile; ?>

<?php
	$qry4 = $db->query("SELECT c.value, COUNT(DISTINCT c.dataType) AS [count] FROM dataTypeConfig AS c INNER JOIN dataTypes AS d ON d.dataType = c.dataType WHERE c.key = 'listEditor' AND $where3 AND $where4 GROUP BY c.value ORDER BY [count] DESC, c.value ASC;");
?>

								List editor
								Count

<?php
							while ($row = $qry4->fetch(\PDO::FETCH_ASSOC)) :
								if (array_key_exists($row['value'], $listEditors) === false) {
									$customListEditorCount++;
									continue;
								}
								$listEditor = $listEditors[$row['value']];
?>

								<a href="https://github.com/leekelleher/umbraco-contentment<?= $listEditor['url'] ?>" target="_blank"><?= $listEditor['name'] ?>
								<?= $row['count'] ?>

						<?php endwhile; ?>

In addition, the analysis has found <?= $customDataSourceCount ?> custom data-sources and <?= $customListEditorCount ?> custom list-editors.
If you have developed your own custom data-sources or list-editors, I'd love to hear more about them. ♥

Content Blocks

The Content Blocks editor comes with a few display-modes, here is an analysis of their popularity.

<?php
	$customDisplayModeCount = 0;
?>

<?php
	$qry5 = $db->query("SELECT c.value, COUNT(DISTINCT c.dataType) AS [count] FROM dataTypeConfig AS c INNER JOIN dataTypes AS d ON d.dataType = c.dataType WHERE c.key = 'displayMode' AND $where3 AND $where4 GROUP BY c.value ORDER BY [count] DESC, c.value ASC;");
?>

								Display mode
								Count

<?php
							while ($row = $qry5->fetch(\PDO::FETCH_ASSOC)) :
								if (array_key_exists($row['value'], $displayModes) === false) {
									$customDisplayModeCount++;
									continue;
								}
								$displayMode = $displayModes[$row['value']];
?>

								<a href="https://github.com/leekelleher/umbraco-contentment<?= $displayMode['url'] ?>" target="_blank"><?= $displayMode['name'] ?>
								<?= $row['count'] ?>

						<?php endwhile; ?>

<?php if ($customDisplayModeCount > 1) : ?>

In addition, the analysis has found <?= $customDisplayModeCount ?> custom display-modes.

<?php endif; ?>

<?php
	$qry2 = $db->query("
SELECT
	contentmentVersion,
	COUNT(DISTINCT umbracoId) AS [count],
	GROUP_CONCAT(DISTINCT umbracoVersion) AS [umbracoVersions]
FROM
	dataTypes
WHERE
	$where1 AND $where2
GROUP BY
	contentmentVersion
ORDER BY
	[count] DESC,
	contentmentVersion ASC
;");
?>

Most popular versions

This represents the unique installations of Contentment, along with an aggregation of Umbraco versions being used.

						Package version
						Count
						Umbraco versions

<?php
					while ($row = $qry2->fetch(\PDO::FETCH_ASSOC)) :
						$umbVersions = explode(',', $row['umbracoVersions']);
						usort($umbVersions, 'version_compare');
?>
					<tr <?= $row['contentmentVersion'] == $contentmentLatest ? 'id="latest-contentment" title="Latest version of Contentment" style="background-color:var(--nc-bg-3);font-weight:bold;"' : ''; ?>>
						<?= $row['contentmentVersion'] ?>
						<?= number_format($row['count']) ?>
						<?= implode(', ', array_reverse($umbVersions)) ?>

				<?php endwhile; ?>

<?php
	$qry6 = $db->query("
SELECT
	umbracoVersion,
	COUNT(DISTINCT umbracoId) AS [count],
	GROUP_CONCAT(DISTINCT contentmentVersion) AS [contentmentVersions]
FROM
	dataTypes
WHERE
	$where1 AND $where2
GROUP BY
	umbracoVersion
ORDER BY
	[count] DESC,
	umbracoVersion ASC
;");
?>

Most popular Umbraco versions

If you are curious which is the most popular version of Umbraco amongst Contentment installations, let's find out.

						Umbraco version
						Count
						Package versions

<?php
					while ($row = $qry6->fetch(\PDO::FETCH_ASSOC)) :
						$pkgVersions = explode(',', $row['contentmentVersions']);
						usort($pkgVersions, 'version_compare');
?>
					<tr <?= $row['umbracoVersion'] == $umbracoLatest ? 'id="latest-umbraco" title="Latest version of Umbraco" style="background-color:var(--nc-bg-3);font-weight:bold;"' : ''; ?>>
						<?= $row['umbracoVersion'] ?>
						<?= number_format($row['count']) ?>
						<?= implode(', ', array_reverse($pkgVersions)) ?>

				<?php endwhile; ?>

Disable telemetry?

If you would prefer to opt-out and disable the telemetry feature, you can find a code snippet on the telemetry documentation page.

For any questions, issues or concerns about Contentment's telemetry feature, please either contact me or start a discussion on GitHub.

	<?php include_once("$rootPath/.code/_footer.php"); ?>


text:
Гацкое () — посёлок в Нисимковичском сельсовете Чечерского района Гомельской области Беларуси.

На востоке, севере и западе граничит с лесом.

География

Расположение
В 22 км на восток от Чечерска, 59 км от железнодорожной станции Буда-Кошелёвская (на линии Гомель — Жлобин), 87 км от Гомеля.

Транспортная сеть
Транспортные связи по просёлочной, затем автомобильной дороге Светиловичи — Залесье. Планировка состоит из короткой прямолинейной, почти меридиональной улицы, застроенной двусторонне деревянными усадьбами.

История
Основан в начале 1920-х годов на бывших помещичьих землях переселенцами из соседних деревень. В 1926 году в Рудня-Нисимковичском сельсовете Светиловичского района Гомельского округа. В 1930 году организован колхоз. 20 жителей погибли на фронтах Великой Отечественной войны. Согласно переписи 1959 года в составе совхоза «Нисимковичи»(центр — деревня Нисимковичи).

Население

Численность
 2004 год — 22 хозяйства, 49 жителей.

Динамика
 1926 год — 9 дворов, 65 жителей.
 1959 год — 187 жителей (согласно переписи).
 2004 год — 22 хозяйства, 49 жителей.

См. также
 Городские посёлки Белоруссии
 Города Белоруссии

Примечания

Литература
 Гарады і вёскі Беларусі: Энцыклапедыя. Т.2, кн.2. Гомельская вобласць/С. В. Марцэлеў; Рэдкалегія: Г. П. Пашкоў (галоўны рэдактар) і інш. — Мн.: БелЭн, 2005. 520с.: іл. Тыраж 4000 экз. ISBN 985-11-0330-6 ISBN 985-11-0302-0

Ссылки

Населённые пункты Чечерского района

redpajama_set_name: RedPajamaWikipedia


(Anglais) When developing software packages in a software ecosystem, an important and well-known challenge is how to deal with dependencies to other packages. In presence of multiple package repositories, dependency management tends to become even more problematic. For the R ecosystem of statistical computing, dependency management is currently insufficient to deal with multiple package versions and inter- repository package dependencies. We explore how the use of GitHub influences the R ecosystem, both for the distribution of R packages and for inter-repository package dependency management. We also discuss how these problems could be addressed.


text:
Electrician's Mesothelioma Lawsuit Allowed to Proceed, Despite Asbestos Company Objections
George C. Proctor died of malignant mesothelioma on March 23rd, 2019, just a year after he was first diagnosed with the rare form of cancer. Though he had little time between diagnosis and death, Mr. Proctor was able to file a mesothelioma lawsuit against several companies whose products he held responsible for exposing him to asbestos and causing his fatal illness. One of those manufacturers, Burnham LLC, filed a motion for summary judgment to try to escape litigation, but Manuel J. Mendez of the Supreme Court of New York County denied their motion, indicating that the company had failed to meet its burden of presenting evidence to "unequivocally establish that its products could not have contributed to the causation of [his] his injury."
Deposition revealed exposure to defendant's asbestos-contaminated boilers
During the course of a deposition that Mr. Proctor gave prior to his death from mesothelioma, he explained that he had spent years working for Vanderlin Electrical Contractors in 1963, and in that capacity was frequently exposed to Burnham boilers. He explained that the boilers were branded with the Burnham name, that they had been "unjacketed" on arrival at Weslyn College and that asbestos jackets had been applied around them. He described insulation workers applying an asbestos cement mix to the exterior of the boiler, and remembered the dust that became airborne in the process.
Mr. Proctor specifically recalled packaging that identified the material being used in the cement as being asbestos, the material that causes mesothelioma. He also remembered removing insulation from the oilers in order to access valves, and breathing in the dust that was created during both application and removal.
Burnham acknowledged use of asbestos-containing insulation
Though Burnham acknowledged recommending the use of asbestos-containing insulation for installation of their boilers, the company argued that Mr. Proctor had failed to establish their duty to warn of the dangers of asbestos or the risk of mesothelioma that those exposed to it faced. The judge disagreed with their argument of insufficient evidence to prove their case. The case will proceed to trial, and Mr. Proctor's survivors will be able to proceed with a wrongful death claim against the company.
If you or someone you love has been diagnosed with malignant mesothelioma, it is easy to feel as if the world is working against you. The good news is that there are plenty of people who want to help, including the compassionate Patient Advocates at Mesothelioma.net. Contact us today at 1-800-692-8608 to learn more.

redpajama_set_name: RedPajamaCommonCrawl


"Find Your Purpose, Heal Your Pain, Live With Passion"
Autumn 2016 edition: "Your 'Field of Dreams' and Jung"
As summer turns to autumn, and baseball season heads toward The World Series, my essay in this newsletter looks back at the classic film "Field of Dreams" and how it illustrates Jung's call to allow, understand, and act. Below that you'll also find news of my next two workshops, one offered on a Tuesday night ("Longing For The Other: Love Songs, Relationships, and Desire"), and one offered on a Saturday morning ("Practices To Enrich And Deepen Everyday Life"). Finally, the "Resources" section features an inspiring new music video from Carrie Newcomer, a quote from The Rolling Stones, a poem that finds more than words in the daily crossword puzzle, and my latest photograph, which you can download for your own use and enjoyment. May you find something here whose beauty, like the changing autumn leaves, brings you new views, inspiration, and joy as you continue on your journey.
It's September, which means that in the religion of baseball, the High Holy Days are upon us: the last days of the pennant races, then the playoffs, and finally the World Series. As a devotee of this religion, and a practicing Jungian, I am reminded of the classic 1989 film "Field of Dreams," and the way that its main character exemplifies something Jung once wrote about the importance of moving from experience, to insight, to action.
Ray Kinsella (portrayed by Kevin Costner) is an Iowa farmer with a wife and young daughter. In other words, he's a working man with real responsibilities, and not much margin for error. One day, out tending his cornfield, he hears a voice that says something strange: "If you build it, he will come." No one else hears the voice, so at first Kinsella wonders: is he hearing things? is he going crazy?
Things get even tougher when he comes to believe that the voice is calling him to plow under a good deal of his corn and build a baseball field, allowing his father's unjustly disgraced and long-dead hero, Shoeless Joe Jackson, to come back and play again, but putting his family on the brink of bankruptcy—no corn, no money. And all of that...is only the beginning.
What does Jung mean when he says we must "allow" things to rise up, that we must then "understand" them, and that, finally, they must be "converted into an ethical obligation"?
Before anything else, we must "allow." I remind clients every day that doing soul work is not about finding something that eludes us, it's about getting out of our own way. As Rumi put it, "What you seek is seeking you." We must go and tend our field. We must get quiet and pay attention. We must listen and wait for our own true, deep, inner voice to speak.
That "voice" may arise in any number of ways: as an image, a snippet of a song, a half-remembered dream, as someone long-forgotten who "suddenly" comes to mind, or a piece of conversation that stays with us, or a gently-felt tug to go in an unexpected direction. In whatever form it arrives, we may be tempted, as Ray Kinsella was, to minimize it by labeling it as "imagined," "crazy," or at the very least, "impractical." But Jung encourages us to "allow": to consciously choose to give such things credence, to trust them, and to invite them in, rather than dismissing them and walking away.
Once we've "allowed" something, once we've let it into our awareness and opened to the possibility that it has value and purpose, the next step is to make the effort to understand what it might mean. And that brings its own challenges.
"If you build what, WHO will come?" asks Annie, Ray Kinsella's wife. "He didn't say," replies Ray. "I hate it when that happens," says Annie. "Me, too," deadpans Ray.
The quest to understand invites us to stay simultaneously awake and relaxed, conscious and calm, attentive and in-the-flow. Too much "awake" and our quest becomes anxiously vigilant; too much "relaxed" and we start to nod off, to miss the signs, to go unconscious. To seek understanding is to be discerning, to see wisdom in the small and the subtle, in contrast to a world that bombards us (from screens, billboards, loudspeakers, and more) with the banality of the large and the obvious.
What about converting our understanding into "an ethical obligation"? Jung's wording for this third part may sound a bit odd, but what he's really talking about is moving from understanding…to action.
One night, Ray Kinsella sits down with Annie and says "I think I know what 'If you build it he will come' means." Annie replies, wryly and with a sense of consternation, "Oooh, why do I not think this is such a good thing?" Her reaction is one any of us might have. She senses, correctly, that understanding is about to evoke action, that change is coming. And change, which usually involves taking a risk and stepping into the unfamiliar, can evoke feelings of uncertainty and fear.
Ray moves through his fear and acts—he plows under his corn and builds the baseball field. Magic ensues: Shoeless Joe Jackson, and eventually seven of his teammates, appear…and begin to play ball. Ray and his young daughter Annie sit in the small set of bleachers they have erected along the first base line, and watch as the players once again take joy in the game they love.
In my work with clients, I watch with admiration and respect as they push through their own fears. I see the transformations that take place when they believe in the power of symbols, plow under their corn, and take some concrete step arising from an understanding of their inner voice. In other words, the greatest magic often occurs when they take a risk…and act.
At this point, it would be easy to say "Well, that's that!" The client has acted. Ray has built his field, and the magic has happened. Well done. But that is, as I have hinted, only the beginning. It seems that "allow, understand, act"…is not a one-time cycle. It's an ongoing, intertwining, and often bewildering process. Taking action, it turns out, leads to the invitation for more allowing, more understanding, and still more action.
It's at this point in the story that Ray hears another voice: "Ease his pain..." He believes this means he is meant to go to Boston to seek out Terence Mann, the now famously reclusive author whom he and Annie admired long ago. But why? What will this action accomplish? That is entirely unclear.
(This is an interesting portrayal, by the way, of a scene where the masculine character puts trust in the deep intuitive, the visionary, the soul, while the feminine character falls back into a fear-based focus on financial security, which the patriarchy craves and touts as a primary symbol of "success." So often in our culture, the roles are reversed. One of the reasons I've come to love this film so much…is that it portrays a man…who is trusting his anima, his feminine side, his inner voice, his soul).
It's then that Ray shares with Annie a dream he had the night before. In the dream, he's at Fenway Park in Boston, with Terence Mann, eating a hot dog. When Annie then remembers that she had the same dream, on the same night, she does an about-face, puts in her trust in the dream image that has arisen, and supports Ray as he again acts on what he has allowed and come to understand.
Ray drives from Iowa to Boston and shows up, unannounced, at Terence Mann's door, with an invitation to go to a game at Fenway, to make the dream real. Mann is cantankerous at first, a thinly disguised defense against his own fear and grief, but eventually he agrees to go to the game with Ray. (Notice the motif, found in the film and in life: "at first…but then," the shift from resistance and defensiveness to trust and moving forward).
There at the game, together, they hear yet another voice (that no one else can hear): "Go…the distance." The scoreboard briefly flashes the name of an obscure player from decades ago—"Moonlight Graham"—that only Ray and Terence can see. So they set off to find Moonlight, trusting in the "lunar" (the"lunatic"?), the emotional, the non-linear, the intuitive.
Their journey eventually brings them all (including Graham) back to the field in Iowa, where at one level the magic continues, while at another level, things grow more desperate.
Ray's brother-in-law Mark and his financial partners agree to save the farm, but only if Ray & Annie will agree to destroy the ballfield and replant the corn. Mark symbolizes a world that values only the literal, the practical, the material. And he can't see the players. He can't see the magic that is unfolding.
His eyes are opened, he is able to see the players and understand what is going on, only after the climactic scene where Ray & Annie's daughter Karin is choking to death on a hot dog. Moonlight Graham steps across the line from his former days as a player to his later-life days as a doctor and saves Karin's life. The message is subtle, but clear. Only when we invite the "moonlight," the lunar, the soul to step over into our lives will we be saved from the ways we are choking. Only when we learn to trust the invisible and the improbable will our innocence be restored and our eyes opened. Only then will we see the way forward.
This brings us to what may be the most famous scene in the entire movie, the scene that leaves grown men sobbing each time they see it: the scene where Ray's own father appears in his youthful incarnation, and the two of them "have a catch." If we're willing to go beyond mere sentimentality, we can glimpse the deeper reasons why this scene has such emotional power.
The entire movie is, at one level, about the ways that the unrequited longing and unresolved pain of our ancestors can show up as symptoms in our own lives—as angst, anxiety, depression. In heeding the voice ("If you build it, he will come"), Ray takes a step toward becoming conscious of the ways that his life and his father's life are still intertwined, even years after his father's death. In seeking to understand and act on that voice, and on the ones that followed, Ray is able to heal both his father's pain and his own.
This is what Ray Kinsella encountered in "Field of Dreams," and it's what shows up over and over again in the struggles that my clients bring to therapy. Jungian psychotherapy is often and rightly referred to as a depth approach to process, with its emphasis on dreams and the inner life. But Jungian work also has breadth, looking at how the individual psyche relates to, and is impacted by inter-generational family dynamics. Jung was, in essence, the original family-of-origin therapist, and his insights paved the way for current modalities like Family Constellations and Lifespan Integration.
(music video): "Lean In Toward The Light" (Carrie Newcomer). I've featured Carrie Newcomer twice before in my newsletters, and with good reason--her exquisitely crafted songs and warm vocals offer hope and optimism, delivered with a gentle fierceness that reminds us of the power of the positive: "The shadows of this world will say / There's no hope - why try anyway? / Every kindness large or slight / Shifts the balance toward the light." You can find this song on Newcomer's new CD, "The Beautiful Not Yet," which will be out on September 16th; order it here.
(poem): "Crossword" by Sally Bliumis-Dunn. "Each letter, shared / lifts away some sheen of loneliness..." is just one example of the way this fine poem turns the daily newspaper crossword puzzle into a metaphor, an extended reflection...on life.
(photo) "Positive Spirit" (by Dan Keusal). I took this photo in the Big Rock Garden Park in Bellingham, WA earlier this summer (July 2016). The sculpture in the center of the photo, titled "Positive Spirit," is by Shirely Erickson. Click on the thumbnail below to view or download the photo (and to see a close-up of the sculpture itself).


text:
Q: extracting information from prop file I got a prop file that I want to extract from it the version release number (as a String).
The file looks like this :
ro.build.version.sdk=19

ro.build.version.codename=REL

ro.build.version.release=4.4.2

ro.build.date=Mon Oct 27 00:53:09 IST 2014

ro.build.date.utc=1414363989

I don't know the version release number, allIi know that I got this prop on my file.
How can I get with Java the value of this prop, and to save it on a String variable?
(Here it will be 4.4.2)

A: Read in the file like you normally would and store each line in an arraylist.
ArrayList<String> lines; //store the lines here
String releaseNum = "";

Then loop through:
    for(String s : lines){
        keyVal = s.split("="); // keyVal is now an array of len 2, keyVal[0] being the key, keyVal[1] being the value.
        if(keyVal[0].equals("ro.build.version.release")){
            releaseNum = keyVal[1]; //got the value
        }
    }

Now releaseNum is the value you wanted to retrieve.
If this is android however, use the Properties class.
Example:
        Properties prop = new Properties();
        String propFileName = "fileName.properties";

        InputStream inputStream = getClass().getClassLoader().getResourceAsStream(propFileName);
        prop.load(inputStream);
        if (inputStream == null) {
            throw new FileNotFoundException("property file '" + propFileName + "' not found in the classpath");
        }
        String releaseNum = prop.getProperty("ro.build.version.release");

redpajama_set_name: RedPajamaStackExchange


ABCD system is too rigid for grading the quality of meat – why is it still used in education?
Mount Holyoke College was the first university in America to give ABCD grades, in year 1897. The second institution to start using this system was the American Meatpackers Association – for grading the quality of meat. Soon afterwards the association gave up the system, since they found it too inflexible to grade the quality of meat.
Cathy (as well as many others at Mobilityshifts) mentioned Mozilla Open Badges as a promising initiative to change the way learning is evaluated (more information here: http://openbadges.org/en-US/faq.html).


I bought a car at Dealer World because Steve is such an honest, straight forward and genuine man. Steve helped our family to make the car buying experience, as a single mom, possible. Dealer World is the only place I will buy cars from because my experience here has always been the BEST! Steve makes it so!


This is the first post in a series about how to integrate Drupal with PatternLab. In this first blog post, we'll look at a simple text paragraph bundle, which just has one field: text (formatted, long).
I see a lot of blog posts and talks around about the benefits of using component-based design, about how we should use design in the browser principles to present designs to our clients, about how styleguides are the best way to have sustainable frontends. I've even written some and given many presentations about it myself. What I don't see a lot of is blog posts about how to actually do it.
So, here's how to (or at least how I) integrate my PatternLab theme (it's based on the Phase 2 PatternLab Drupal theme) with a simple paragraph type.
Create a pattern - you can put it wherever your setup says it should go. Paragraph bundles are probably molecules, but I'm not sure how you set up yours. In my case, I have hacked PatternLab and created a folder called "Building Blocks" - this is where all my paragraph bundles go (and then I also have a "Building Blocks" field in each content type - more about my set up in another blog post.
Yes, there is only one line of code in that file.
This will become much clearer when we work with more complex paragraph types in later blog posts.
You can see an example of this pattern in PatternLab here, and the text you are currently reading is an example of it in use in a Drupal template. Simple, eh?


One thing that we have to realize when we study the book of Proverbs, and wisdom literature in general, is that wisdom is situational. Applying a wisdom saying in one circumstance might be wise in one circumstance but foolish in another circumstance. It is too bad that many fail to realize this when they read, preach or teach the Proverbs. They take every wisdom saying as being universally applicable to every situation. What they fail to realize is the nature of wisdom. Wisdom is seeing how things relate in a given circumstance, perceiving the consequences, and acting in a way that will bring blessing instead of curse. My former professor used to say that wisdom is the art of living well.
Doubt is the beginning, not the end, of wisdom.
Don't cross the bridge till you come to it.
The squeky wheel gets the grease.
If you can't beat'em join'em.
A man's reach should exceed his grasp.
Do it well, or not at all.
Great starts make great finishes.
It ain't over 'till it's over.
Hold fast to the words of your ancestors.
Wise men make proverbs and fools repeat them.
This entry was posted in proverbs, wisdom and tagged Dr. Bryan D. Estelle, proverbs, wisdom by Brian Cochran. Bookmark the permalink.
Very thought provoking! I appreciated the quote from your professor that wisdom is "the art of living well." Furthermore your collection of modern north American contradicting proverbs is a wonderful illustration of the grayness of wisdom. Thanks.
Thanks Rich! I learned from the best professors and was sharpened by several classmates, especially certain neighbors :).
Wah? Rich C commenting on a blog?!?!
Yeah well things are easier when they're more concrete. Make a law out of it then we know when to apply it (ALWAYS). Or in another piece of wisdom, "complete abstinence is easier than perfect moderation"–Shmaugustine.
Anyway I am writing to let you know I'm linking your blog!
I think hese are the best opposit proverbs i have ever read.


text:
Les universités maronites sont des instituts de l'enseignement privé fondés par l'Église maronite, qui est une Église catholique orientale. Ces universités se situent au Liban et à Rome.

Au Liban
Au Liban, on compte cinq établissements universitaires maronites :
Université Saint-Ésprit de Kaslik, fondée par l'Ordre libanais maronite
Université antonine, fondée par l'Ordre maronite des pères antonins libanais
Université de la sagesse
Université Notre-Dame de Loueizé, fondée par l'Ordre maronite marial libanais
 Université de la Sainte-Famille, à Batroun, fondée par l'ordre maronite des Sœurs de la Sainte-Famille (ordre patriarcal)

Ces universités sont fréquentées par des étudiants de confessions différentes, mais à majorité chrétienne. En , un problème est survenu à l'université antonine, quand un groupe de 37 étudiants chiites ont défié la direction et monopolisé le parvis de l'Église pour faire leur prière.

À Rome
L'École maronite de Rome a été fondée le  à l'initiative du pape Grégoire XIII et est toujours active. Les premiers étudiants maronites venaient du Liban, de la Syrie (Alep) et de Chypre.

Les catholiques maronites sont connus pour leur dynamisme éducatif et culturel et ils sont rattachés au Vatican.

Université catholique
Maronites
Église maronite


text:
Barça's 8-goal output against Huesca is nothing new
After Barça beat Huesca 8-2 on Sunday at Camp Nou, many people's thoughts began to search for a precedent in which the Catalans lit up the scoreboard in a similar manner.
And the truth is, one need not go too far back in time to find a day when Barça bagged eight goals in a single game.
FC Barcelona have shown their goal scoring power against Huesca. Witness another festival from Messi and company in Barça's Champions League debut against PSV, at Camp Nou's best seats, by booking your tickets here and now!
In 2014-15 season fixture 35 FC Barcelona visited the Cordoba's Estadio Nuevo Arcángel with the duty of winning their match to maintain their four points leading against Real Madrid in the last part of the campaign.
Rakitic (42), Luis Suárez (45', 53', 88'), Messi (46', 80'), Piqué (65') and Neymar (p., 85') gave Luis Enrique's side back then three important points to win LaLiga in a legendary year that eventually would bring the second club history treble (League, Cup, Champions League).
In 2015-16 LaLiga Round 34 Barça needed the three points in Riazor to keep their first place at the table with just five weeks to go. That day Luis Enrique's team wouldn't fail to get the target as Luis Suárez was impregnable in front of goal.
A poker of the Uruguayan (10', 23' 52', 63'), added to Rakitic (46'), Messi (72'), Bartra (78') and Neymar's (80') strikes gave the Blaugranes an astonishing victory at Deportivo La Coruña's feud. Catalans would eventually achieve their second league consecutive title by winning their four last fixtures besides the Riazor one.
In week four of the 2011/12 season, Barça, led by then-manager Pep Guardiola, netted eight goals at Camp Nou against Osasuna, while surrendering exactly zero.
Leo Messi led the way that day with three goals, while David Villa chipped in with a brace. Cesc Fàbregas and Xavi grabbed one each as well, while another came courtesy of an Osasuna own-goal.
One season before, Barça overwhelmed Almería at the Estadio de los Juegos del Mediterráneo with the goals of Messi (16', 36', 66'), Iniesta (18'), Acasiete (OG, 26'), Pedro (34') and Bojan (61', 72'). That was Barça's first 8-0 league away victory since 1959-60 season.
With information from FC Barcelona.
Héctor Alcaraz


text:
Alert May 9, 2011
IRS Issues Final Rule on Three Percent Payment Withholding Requirement; Delays Implementation Date
On May 9, 2011, the Internal Revenue Service (IRS) published in the Federal Register its final rule to implement the current legislative requirement to withhold as income tax three percent of payments for supplies and services provided to governmental entities. See 76 Fed. Reg. 26583 (May 9, 2011). By way of background, section 511 of the Tax Increase Prevention and Reconciliation Act of 2005 (TIPRA), Pub. L. No. 109-222, added section 3402(t) to the Internal Revenue Code (IRC) and, with certain limited exceptions, requires federal, state and local governments (including political subdivisions and instrumentalities with total annual payments in excess of $100,000,000) to deduct and withhold as a tax three percent of any payment to any person providing property or services to federal, state, and local governments. Under TIPRA, the withholding was slated to go into effect for payments made after December 31, 2010. Section 1511 of the American Recovery and Reinvestment Act of 2009 (ARRA), Pub. L. No. 111-5, extended the effective date of section 3402(t) to payments made after December 31, 2011. The IRS published its proposed rule to implement the withholding on December 5, 2008. See 73 Fed. Reg. 74082 (Dec. 5, 2008). This alert highlights some of the key provisions of the final rule.
Effective Date for Withholding Extended, and Exception for Existing Contracts Included. In response to public comment regarding administrative implementation burdens, the final rule provides for an additional one-year extension from the ARRA implementation date. Accordingly, under the final rule, the withholding will apply to payments made after December 31, 2012, subject to an exception for payments made under contracts existing on December 31, 2012, that are not materially modified. For contracts in effect on December 31, 2012, those contracts would cease to be "an existing contract" if the contract is modified materially after December 31, 2012, with respect to price or payment terms, services or property to be provided, but mere contract renewals or most change orders to existing contracts would not affect the exemption. On May 9, 2011, the IRS also issued a new proposed rule, see 76 Fed. Reg. 26678 (May 9, 2011), that includes a sunset provision, under which the "existing contract" exception would cease to apply to any payments made on any contract after December 31, 2013.
$10,000 Payment Threshold and Logistical Issues. Consistent with the proposed rule, the final rule applies the withholding requirement to payments above $10,000 (subject to an anti-abuse rule). In addition, the IRS rejected comments to apply the withholding to cumulative payments, reasoning that it would be difficult for government agencies to coordinate their billings to determine cumulative payments to an entity. Thus, the withholding applies to individual payments. In addition, the withholding applies on a payment-by-payment basis, regardless of how the government is invoiced. Thus, if a governmental agency makes a single payment for multiple supply items or services, the withholding is applied to the single payment.
The final rule adopts the proposed anti-abuse measure providing that if a single payment is divided into multiple payments to avoid the $10,000 threshold, the multiple payments will be treated as a single payment. This anti-abuse provision applies only if the governmental entity knew or should have known that payments were being divided to avoid the threshold. The final rule also permits the parties to agree contractually that the government may withhold, even if the payment is less than $10,000. The IRS reasoned that such an agreement might avoid disputes about whether the anti-abuse rule applies.
Withholding Applies Only to Payments to Prime Contractors. Like the proposed rule, the final rule provides that the withholding of payments applies only to payments by the governmental entity to a prime contractor and does not apply to successive payments by the prime contractor to subcontractors.
Withholding Applies to Funds as They are Disbursed, Even for Interim Payments. Commenters requested that the IRS clarify that the withholding would not apply to contract financing payments, performance-based payments, commercial advance payments, interim payments, progress payments based on cost or percentage of completion, or interim payments on cost-reimbursement contracts, arguing that withholding would detrimentally affect cash flow and additional withholding was unnecessary where funds are withheld until contract completion. The IRS rejected these comments because it would add "administrative complexity." According to the IRS, "[t]reating the date the funds are disbursed as the payment date ensures that there will be funds upon which to withhold."
Certain Exceptions Apply. Exceptions to withholdings that may apply to contractors include:
Interest payments are excepted under IRC § 3402(t)(2)(C).
Payments for the purchase and leasing of real property are excepted. Although payments for utilities or insurance included in lease payments are excepted, utility or insurance payments by governmental entities directly to third parties (i.e., not included in lease payments) are not, even if such payments are required under a lease agreement.
Payments for certain classified or confidential contracts, as covered in section 6050M(e)(3).
Repayment of principal on a loanwill not be subject to withholding, except that government debt obligations issued as part of the purchase price to a person providing goods or services would be subject to withholding up to fair market value of the debt when issued.
Payments to certain S corporation passthrough entities are excepted.
Grants Exempted; Other Exemptions Rejected, Including for Construction Contracts. Commenters requested that the IRS exempt all grant payments from the withholding requirement, noting that grants are "non-exchange" transactions and likely would be exempt from withholding under other exceptions in the IRC (including those for payments to Government entities or to non-profit organizations). The Notice accompanying the final rule reasons that because of the administrative difficulty of application of the withholding to grant recipients and "potential frustration of the intended use of the grant proceeds that may arise, the final regulations explicitly except all grants from the section 3402(t) withholding." This exclusion does not apply, however, to the use by a government entity of the proceeds of a grant received by that government entity, unless the proceeds are used to make another grant.
Commenters also requested that the IRS refrain from applying the withholding for industries with low profit margins or if the payee expected that it would not have any income tax liability (if, for example, it anticipated net operating losses). The IRS declined to establish such exceptions, noting that TIPRA did not include them and they would be complex to administer. Likewise, in cases where a contractor is subject to payment offsets for other debts owed to a government entity, the three percent withholding is calculated based on the amount of the payment before any offset is applied. Moreover, although IRC § 3402(t)(2)(D) exempts payments for real property (including leases) from the withholding requirement, the IRS declined to extend the exemption to payments in connection with construction of buildings or other public works projects. Commenters had argued that governments were protected already under the Miller Act, but the IRS stated that Miller Act bonds relate to employment, not income, taxes. The IRS also rejected arguments that other provisions of the IRC equated real property with construction.
This aspect of TIPRA has been the subject of focused lobbying efforts by various interested industry organizations. Given current political and economic conditions, it is foreseeable that efforts to further delay, repeal or modify the legislation will be proposed. For example, the Obama Administration in March proposed delaying implementation for three years. In its current form, implementation of the withholding rule may pose a challenge to contractors that depend on the affected cash flow to finance operations. The timing of the implementation provides nearly 18 months for those contractors to prepare for the three percent withholding.
Wiley Rein LLP regularly monitors regulatory and legislative developments of interest to government contractors.
Kara M. Sacilotto
ksacilotto@wiley.law
Jon W. Burd
jburd@wiley.law
Regulatory and Legislative Counseling


text:
John Mark and Melissa Byers in better days.
John Mark Byers alibi.
The following is a comparison of Mark Byers alibi to the statements of those who could potentially corroborate it. Mark Byers gave an extensive interview to the police on May 19, and this is the basis for much of the timeline presented below. In contrast, there are only minimal notes for family members of other victims. Although much of Mark Byer's time is not corroborated, this is not the same as saying it could not be. For example, he describes two occasions in which he went to Robin Hood Woods with Dana Moore, mother of victim Michael Moore, on the night of the fifth. Although she is his alibi, a detailed accounting of her evening is not available. Statements that refer to events in which the person was not present was not considered corroboration. For example, neighbor recounting Mark Byers saying he was angry at Chris for breaking into the house is not confirmation of Chris breaking into house. (Although it is confirmation of Mark Byers being angry.)
May 5th: 3 pm until dawn May 6th.
3:10 - 3:30 pm Mark Byers statement: Got home from clinic. Chris didn't have key to house. Mark arranged for Ryan to let Christopher in the house on days Mark wasn't there. Ryan wasn't yet there. Corroboration: Ryan notes he got there at 3:38 (referenced below). Chris's grandfather gave this version: "I was on my way up to the schoolhouse, which was right near their, you know, when Mark saw me and told me he was going to pick up Chris by himself." DK, p 312.
3:30 - 3:50 pm Mark Byers statement: Ryan arrives. Ryan waits with Mark for Chris until 3:50. Corroboration: Ryan Clark interview notes: "States he got home at exactly 3:38pm. -- Chris was not @ home."
3:50 - 4:50 pm Mark Byers statement: Takes Ryan to court. Stays at court until 4:50. Corroboration: Christine Roberts (below). Ryan Clark, interview notes: "Ryan had to be in court @ 4:00pm. --his dad took him. Dad dropped him off @ court [no mention of Mark Byers staying with him for nearly an hour]."
4:50 - 5:10 pm Mark Byers statement: Goes to pick up Melissa Byers from work in Memphis. Corroboration: Ryan Clark, interview notes: "[Dad] told Ryan he was going to go pick his mom up from work and go look for Chris. Notes, Christine Roberts (neighbor) says: ". . .were at court with Chris father and left 5:00"
5:10 - 5:30 pm Mark Byers statement: Returns from Memphis with Melissa. Finds Chris has tried to break into house. Corroboration: Statement, Ryan Clark: "Dad told him that Chris had broken a seal on the window to get into the house." Testimony, Melissa Byers: "Melissa Byers: - And I got home around 5:20 - you know, between 5:00 and 5:30, I got home - sometime - you know, and I - Fogleman: - And how did you get home? Melissa Byers: My husband came and picked me up from work." Notes, Christine Roberts, neighbor: "[Mark Byers, upon returning to court] saying he was pissed off at Chris about breaking out window + taking food."
around 5:30 pm Mark Byers statement: Leaves Melissa, goes to get Ryan at court. Finds Chris in street on skateboard. Returns to house with Chris. Punishes Chris "2 or 3 licks." Corroboration: Melissa Byers corroborates Chris returning to house and punishment by Mark Byers. Melissa Byers, court testimony: "Fogleman: Ok. And did Christopher come home? Melissa Byers: Yes, my husband brought him home. [snip] Fogleman: Did he get spanked? Melissa Byers: Yes he did, uh Fogleman: Ok. Melissa Byers: He got a good talking to and then uh - about three swats with a belt 'cause he could have been run over." Notes, neighbor, friend, Bobby Posey: "Daddy whipped him + was going run away."
5:30 - 6:00 pm Mark Byers statement: Mark left home to get stepson Ryan at court. Chris under carport. Returned with Ryan. Statement, Ryan Clark: said they returned 5:30 to 6:00, closer to 6:00. Testimony, Melissa Byers: "Byers: My husband left to go back to court to sit with my son, and Christopher was given a paper sack to go out under the carport and pick up paper and stuff. You know, as part of his punishment." Christine Roberts, notes: "[Mark Byers] returne (sic) [to court] 6:30."
approx. 6:00 to 6:30 pm Mark Byers statement: Began looking for Chris around house and calling to neighbors. Corroboration: Statements, Melissa Byers and Ryan Clark.
6:30 to 7:30 pm Mark Byers statement: Drove around neighborhood looking for Chris with Ryan and Melissa, streets mentioned were Ingram, Goodwin, Wilson and McCauley. The only name Mark Byers gives in this initial hunt is the Garner family. ". . . we went up to the Garner's house and asked if they knew where Steven lived. [in JMBs statement it makes clear asking for Steven is in seeking Chris.]" Statement, Clint Garner and mother: "[Officer] Ridge: Somebody came by? Garner: Uh, Ryan did. [snip] Ridge: Okay, and what was it he was talking about when he came by? Garner: He came by looking for Chris. Ridge: Okay, about what time do you think that was? Garner: Um, right when it was getting dark Ridge: Okay, sometime before dark 7:30, would that sound right to you? Garner: Around in there. Ridge: How about you Mrs. Garner, is that sound right to you about 7:30? Mrs. Garner: 7:30 it May Even Be Close to 8. Ridge: You were here when he came by? Mrs. Garner: Yes sir." Although not in his statement, Ridge includes Melissa in the investigative report: "Clint stated that Melissa Byers had brought Ryan to his house and that the time was about 7:30 pm or just before dark." Mark Byers does not mention his encounter at the Poseys. Notes, Bobby Posey: "[following above excerpt] Chris left + dad came to soon + asked Chris where Chris - on Goodwin + Dad stated going to have to whip him again." In this time period but not mentioned by Mark Byers, but Jimmy Sellers stated Mark Byers spoke with police officers outside the Flash Market at 6:30. Police logs mention two officers there at that time Meek and Covington. No corroboration of the encounter at Flash Market from Mark Byers, the officers, Ryan or Melissa.
About 7:30 pm Mark Byers statement: Encountered black officer in front of Dollar General Store on Broadway. Melissa Byers and Ryan Clark corroborate this incident. No confirmation from officer or identification of the officer by name.
Before 8:00 pm. Mark Byers statement: "And it's now, you know, dark's going to be coming on pretty soon. So I called the Sheriff's Department, and the guy answered. I told him my situation, who I was. It was the dispatcher. Just whoever answered at the Sheriff's Department, which was a little bit before 8 o'clock. And he said, you need to, he asked me where I lived, and I told him. He said well, you need to call the West Memphis Police Department."
8:09 - 8:30 pm Mark Byers statement: Called WMPD to inform them of missing child. Officer Regenia Meek responded. Corroborated by WMPD police log, Officer Regenia Meek, Melissa Byers, Ryan Clark and Dana Moore.
Shortly after 8:30 pm (indefinite) Mark Byers statement: Going door to door to find them. Encounters "little boy and girl that Christopher would play with" (live on 14th) who said "we saw 'em going in the Robin Hood area." No corroboration or identification of these two children.
After 8:30 (indefinite) Mark Byers statement: Mark Byers together with Ryan, encounter Dana and Terry Hobbs outside Moore's house. All converged looking in the woods. No corroboration from Hobbs or Moore. Ryan does not include this in his account. This may be the same as the following event, described in more detail.
After 8:30 (indefinite) Mark Byers statement: "It's now probably 8:30. It had got dark. And Terry [Hobbs] said, well, he was going to spread out down, you know, towards where they were found. I don't know how far down that way he went, but he was going to look that way and my son, Ryan and I and Richie Masters, just somehow Richie Masters showed up to help look. And my son Ryan and I think, Brett Smith. Richie Masters goes with Brett Smith's sister.* So that's how they were kind of together. So, we're looking in that area kind of where the loop is." No corroboration from Terry Hobbs. In notes from his interview, Richie Masters tell the story of the search in the Robin Hood Woods [beginning 9:15] including Ryan Clark, Brit Smith, Robbie Young but leaves Mark Byers out of the narrative. In the interview notes from the interview of Robbie Young, Young recounts this search [called at 8:45, searched until 10:00 pm] including Brit Smith, Richie Masters, Ryan Clark, but does not mention Mark Byers. In the interview notes of Brit Smith, Brit Smith, his mother, Richie Masters, Ryan Clark, and Robbie Young are all described as being in on the search [initiated after an 8:30 phone call from Ryan Clark]. Mark Byers is not mentioned. Ryan Clark, in his interview notes, describes the above search including Britt Smith, Richie Masters, Robbie Young, and Britt Smith's mother [waiting in car while they searched]. He does not include Mark Byers. Melissa Byers corroborated a portion of this, although her times are unclear. She said Ryan Clark, Mark Byers, and her went to the woods once. She did not enter the woods. *The comment "Richie Masters goes with Brett Smith's sister [Michelle]" probably refers to the fact they were dating [confirmed in Robbie Young's interview notes] not that Michelle Smith was part of the search.
Approximately 9:00 Mark Byers statement: Mark Byers returns home after abovementioned search of Robin Hood Woods to change from shorts and flip-flops to boots and coveralls. Melissa Byers in testimony corroborated that Mark Byers had been wearing shorts and flip-flops, although did not describe when he returned to change clothes: "Davidson: Ok. Uh - do you remember what your husband was wearing at the time [before getting ready to go to Shoney's]? Melissa Byers: Shorts. Davidson: Shorts. What kind of shoes? Melissa Byers: Just like khaki shorts and a t-shirt and some flip flop things, just like sandals."
Approx. 9:45 - 10:15 pm Mark Byers statement: Mark Byers returns to searching Robin Hood Hills. Encounters Officer Moore and they search Robin Hood Hills further. Note: The 9:45 to 10:15 is not from Mark Byers statement but from Officer John Moore's log and testimony. Corroboration, testimony Officer John Moore: Fogelman - Alright after taking this report from her [9:23 on report] did you participate in any of the search? Officer Moore: Yes sir. Fogelman: Alright and what involvement did you have in doing that? What did you do? Officer Moore: Okay, I went down, down the street from Catfish Island to an area and I met with Mr. Byers and he and I searched an area off Goodwin Street. From E & B trial: Officer Moore: Uh - the other officer said that there were some people over on McCauly and I went over in that area. and did an initial search that night. [snip as he describes the place while pointing at map] Fogleman: Were you by yourself in doing that? Officer Moore: No sir, Mr. Byers was with me."
11 pm Mark Byers statement: Mark Byers returns home. ". . . it was right at 11. I called Regina Meek, and I asked her, you know, what the situation was. She said, I'm telling my commander about it. She said, and he'll inform the next group. [snip] Before I left the house, I picked up the phone, and I called the Sheriff's Department the second time." No corroboration from Regenia Meek.
After 11 pm, indefinite Mark Byers statement: Mark Byers and Ryan go in car to back of Blue Beacon Car Wash to area where bodies were found. Ryan, 14 years old, drives the car. Mark encounters two black men. Interview notes, Ryan Clark: No mention of going around Blue Beacon with stepfather. This absence is all the more strange in that it involves the location where the bodies were eventually found. In contrast, Ryan makes these statements (following the abovementioned search of woods with Smith, Young and Masters: "When they came back out Britt's mother was waiting on them. They went back to Ryan's house to see if Chris had came home. They left again and just drove around and looked in a couple of empty houses. Came home at midnight & his dad made him go to bed." Ryan's testimony also seems to contradict this: Q. Did you go on the north side of the ditch? Ryan Clark: Yeah -- well, I didn't. My friend Richie did." The two black men were not identified. This incident is perhaps associated with this: The following note was filed under Blue Beacon employees: "Scott Kelin - manager [snip - comment on gunshot] 10:00 pm Man two young white males stated looking for son, small car, toyota older model." In court testimony Kelin said he left work between nine and ten. Note: Byers automobile was an Isuzu, not an older model Toyota. Finally, Melissa Byers describes this incident in court testimony even though it is clear by her testimony that she was not there.
Approximately midnight, indefinite. Statement, Mark Byers: Mark and Ryan returned to house. 12 to 1 a.m. heard car backfire on Wilson. Met Steve Branch's grandfather, Dana Moore, Terry Hobbs and a friend of Terry Hobbs. "So we stood there talking, then we just went back to the woods and said let's make another pass through." Potential corroboration: The midnight meeting is contained in Blood of Innocents (BOI), p. 42 although the source is not given (this book often repeats parts of Mark Byers statements). The joint trip to the woods including Byers is not corroborated. Ryan said he was sent to bed at midnight and did not confirm any trips to the Robin Hood Woods with Mark Byers.
1:30 to 1:45 a.m. Statement, Mark Byers: Mark and Melissa encounter "Sgt. Ball." Notes regarding corroboration: Captain Ball was the CO for the 5/5 11 pm shift. Being the commanding officer, it is likely he spent most, but not all, of the evening at the station. In the dispatch logs he is listed with dispatches at 11:53 pm, 11:57 pm, 12:45 am, 3:26 am and 4:06 am. And it is possibly to likely that he was out of the station at other times. There is no statement form Captain Ball confirming this meeting with the Byers. Melissa Byers does not mention this meeting in her accounts of the evening.
After 1:45 a.m. Statement, Mark Byers: Tony Hudson comes to Byers house. Mark, Melissa and Hudson go on Service Road to Mid-Continent Building. No corroboration. No interview of Tony Hudson. Melissa Byers does not mention this during interview or testimony.
Probably 2 or 3 o'clock (a.m.) Statement, Mark Byers: Mark Byers returns home. Tony Hudson leaves to make "a few more rounds of the neighborhood. And it's probably 2 or 3 o'clock by now. So, we just sat there waiting for daylight." [preceding quotes from 5/19 statement] Melissa Byers, testimony: "Ford: But I - I can understand that, but do you know about what time you would have gone back home from been - you know, as oppose to actually been out looking somewhere? Melissa Byers: 2- 3:00 in the morning, and that's just a guess. I have no - I couldn't say for sure."
Until 4:30 am. "I was out looking until 4:30 a.m. I walked within 10 or 15 feet of where the bodies were found and I didn't see them," Mark Byers, father of one of the victims said." West Memphis Evening Times, May 7th, 1993. Note: It is unclear how Byers knew where the bodies were found to within fifteen feet inasmuch as the entire area had been cordoned off. The time he finished searching that night is in contradiction of his 5/19 statement of searching until "probably 2 or 3 o'clock."
Summary, overview of corroboration.
There are several reasons why the alibi of Mark Byers is anemic.
First, there are a number of people that he specifically describes being with at key times who give statements recalling the events that don't include him. These include Clint Garner, Clint Garner's mother, Ryan Clark, Brit Smith, Robbie Young, and Richie Masters.
And then there are those never identified. The two black men at the Blue Beacon, the black girl and boy on 14th, the police officer at the Big Star.
And there are those who either weren't interviewed or else were interviewed and their statements regarding their interactions with Mark Byers that night didn't appear in the West Memphis Police Department documents. These include Dana Moore, Terry Hobbs, Jackie Hicks, Captain Ball and Tony Hudson.
And finally there are those that were interviewed or testified that in parts didn't provide much clarity to JMBs whereabouts. These include Melissa Byers and Ryan Clark.
Guide to the summary given below:
There are different levels of corroboration or contradiction. Multiple corroboration is when multiple witnesses have provided statements that are in agreement. This isn't always possible because sometimes there are not multiple witnesses. Single corroboration is when at least a single witness corroborates and no witness contradicts. Potential corroboration is when a witness gives a statement that may confirm a purported event, but the discrepancies are such that it may be referring to another event. No corroboration is when there is no statement that confirms or denies. Negative corroboration is when statements exist that should corroborate but the corroboration is noticeably absent. Potential contradiction is when the statement that could corroborate has a seeming contradiction. Contradiction is when the statement that could corroborate contradicts.
Summary of times:
3:30 - 6:30 pm. Corroborated by one or more of the following: Ryan Clark, Melissa Byers, Christine Roberts.
6:30 - 8:00 pm. The general event of driving around the area is corroborated Ryan Clark and Melissa Byers. The event of encountering a police officer is corroborated by Ryan Clark and Melissa Byers but not the police officer. The event of meeting with the Garners has negative corroboration. Sighting by Jimmy Sellers not corroborated.
8:00 - 8:30 pm. Meeting with Officer Regenia Meek has multiple corroboration from all parties involved.
8:30 - 9:30 pm. No corroboration for meeting with black children on 14th Street. No corroboration for meeting with Dana Moore and Terry Hobbs and going to woods with them. Negative corroboration from multiple sources for going with Ryan Clark, Robbie Young, Brit Smith, and Richie Masters to the woods, although Melissa Byers mentions that Mark Byers and Ryan went to woods with her. She said she did not go in.
9:45 - 10:15 pm. Corroboration for searching area with John Moore.
10:15 - 12:00 am. Negative corroboration/contradiction for searching Blue Beacon area with Ryan Clark. No corroboration for contacting Regenia Meek.
12:00 am. Potential corroboration for midnight meeting with other victims families. No corroboration for searching the woods with these family members.
12:00 - 2:00 am. No corroboration for meeting with Officer Ball. No corroboration for going with Tony Hudson and Melissa to Mid-Continent Building.
2:00 - 3:00 am. Corroboration by Melissa Byers as to ending search. Contradiction with earlier statement that he searched until 4:30 am.
3:00 - 6:00 am. No corroboration, possible contradiction, noted above.
Below is a table of people who encountered Mark Byers that day and evening, according to Mark Byers. (The exceptions being Bobby Posey and Jimmy Sellers who stated they encountered Byers). The corroboration columns only addresses whether they corroborated the encounter or event with Byers.
Name Corroboration No corroboration / contradiction
Ryan Clark 3:38 - 4:00 Meets Mark at home, goes to court.
approximately 5:45 - 6:00 Picked up by Mark from work.
Before 7:30 driving around neighborhood.
7:30 encounter with officer at Big Star.
8:10 - 8:30 Officer Meek, Dana Moore visit. 8:30 - 9:30 trip to Robin Hood Woods
11:00 pm trip to Blue Beacon
after midnight trip to Robin Hood Woods
Melissa Byers 5:10 - 5:45 Picked up from work, Chris returned to house and spanked.
6:00 initial search for Chris. Before 7:30 described trip around neighborhood. 7:30 encounter with officer at Big Star. 8:10 - 8:30 Officer Meek, Dana Moore visit. Melissa Byers then described that she sometimes went out searching sometimes waited at home but gave no specific confirmation of other events in the search. 2 - 3 am she and Mark Byers finished searching for the night. Did not corroborate visit to Garners.
Did not corroborate visit to Mid-Continent Building with Tony Hudson.
Did not corroborate encounter with Captain Ball.
Seemingly contradicted Mark Byers searching until 4:30 am.
Christine Roberts 4:00 - 5:00 at court. Mark Byers returned at 6:30. .......
Bobby Posey Before 8 pm visit to his house. Byers did not mention in this visit. .......
Jimmy Sellers 6:30 pm visit to Flash Market. Byers did not mention in this visit. .......
Clint Garner and mother ...... Before 7:30 visit to Garner house.
Officer at Big Star ...... 7:30 pm. unidentified.
Officer Regenia Meek 8:10 - 8:30 at Byers household. 11:00 pm call from Mark Byers.
Dana Moore 8:30 at Byers household After 8:30 trip to Robin Hood Woods
Little boy and girl along 14th ...... After 8:30 pm. Children never identified or interviewed.
Brit Smith, Richie Masters, Robbie Young ...... 8:30 - 10 pm. Describe visit to Robin Hood Woods without including Mark Byers.
Mother of Brit Smith ...... 8:30 - 10 pm (same as above). Not interviewed.
Terry Hobbs ...... No statement from Terry Hobbs corroborating the following events mentioned in Mark Byers statement. After 8:30 trip to Robin Hood. Midnight meeting. Midnight trip together to Robin Hood.
Officer John Moore 9:45 - 10:15 search around Robin Hood Woods. .....
Two black men ..... After 11 pm, in back of Blue Beacon. Not identified.
Steve Branch's grandfather ...... Midnight meeting and trip to woods. No statement from Jackie Hicks.
Friend of Terry Hobbs ...... Midnight meeting and trip to woods. Not identified.
Captain Ball ...... Encounter, 1:30 - 1:45 am. No corroboration.
Tony Hudson ..... Trip to Mid-Continent building at approximately 2:00 am. No interview or corroboration.
Mark Byers, commentary
John Mark Byers


It was a 2D1N Melacca Company Trip from 1 of my ex company, thanks to the boss and lady boss.
On the Friday night, my ex colleagues and I went overnight at our boss's house so the next morning on Saturday, we took breakfast together and then departed to Melacca by car.
Around 3pm, we arrive at A Formosa apartment, it's a simple bungalow, some of the facilities are spoilt, such as lights, door cannot be locked, but nothing stops us having fun. There are 4 - 5 rooms, 2 toilets in the apartment, and a very big hall.
Guess what? They got a small pool; as long there is a pool, is my favorite activities. We dropped our luggages in our rooms and the guys started to BBQ and the girls changed and jump into the pool.
For the girls, we are really enjoying our life, after we took our shower, the food are ready; there are sausages, vegetables, chicken wings, beef, lamb steaks, and abalones. We do help a little due to the guys are very gentlemen ^_^.
After the meal, we started playing games, warm up with UNO then to punishment games, and those punishments all link to drink beers and wines. Wow ~ Everyone gets so fun and high @.@ We played and chit-chat until around 1am then went to bed.
The very next day, we packed and headed to Melacca famous Jonker Walk/ Jonker Street. We went to the legendary Lot 88, there are lots of customers queued, and buy Laksa, Cendol, and ABC.
We passed by a cafe name LIMau LIMau Cafe, the decoration attracts us so we decided to hang up over there due to the weather is very hot. The environment there is really quite and relaxing. We ordered some drinks, play some games and have some talks.
Around 4pm, we departed from Melacca back to Kuala Lumpur (KL).
Miss this trip so much, I still remember the joy, the laughter we shared, all still in my memory.


text:
Updates and special offers on latest events and conferences
Special offers and discounts on GTM Squared
california's distributed energy future 2017
March 8-9 |
Post Event Coverage
DNV GL is a leading global energy and renewables consultancy, and independent testing authority. With a 150-year heritage in the power sector, the company's services span the entire spectrum from policy to use including: renewables, energy efficiency, power generation, T&D and energy-related testing, inspection and certification. Its customers include household names in production, supply and end-use of energy, as well as manufacturers, financiers, governments and corporations. DNV GL operates the world's largest short-circuit laboratory and a state-of-the-art Energy Storage Test and Commercialization Center. Learn more at www.dnvgl.com/energy
Allconnect helps consumers connect their homes by providing a convenient single source to compare and purchase integrated media, broadband, energy products and more. Allconnect's services are available at allconnect.com, through utility and energy companies and via affiliates. For partners, Allconnect acquires customers, increases revenue and generates higher CSAT. Allconnect's CSAT ranks among the top three companies nationwide based on its 2015 American Customer Satisfaction Index score.
Bloom Energy deploys a revolutionary on-site power generation system called the Bloom Energy Server® based on proprietary fuel cell technology that provides 24x7 firm power that is reliable, clean and cost effective. With more than 180 MW deployed, Bloom Energy Servers currently produce power for companies including Apple, Wal-Mart, AT&T, eBay and FedEx, as well as utilities, including PG&E, Southern California Edison, Delmarva Power and Washington Gas.
Demand Energy, an Enel Group Company, has developed a best-in-class DEN.OS that maximizes the economic returns of behind-the-meter storage systems alone, or in combination with distributed generation (DG). The company provides a turnkey solution (hardware, software and services) that ties together modeling, design and simulation with installation and operational monitoring, control, and financial optimization, to deploy storage-plus-DG systems at speed and scale. The DEN.OS software platform was designed as a scalable end-to-end solution that delivers differentiated value across the entire project's life cycle, able to support utility-side, behind-the-meter and microgrid projects. For more information, visit www.demand-energy.com.
Nexant offers best-in-class energy consulting and implementation services that transform utility business processes and improve smart grid, clean energy, distributed energy resources, and customer experience initiatives. Nexant experts help utilities embrace a customer-centric strategic planning model that aligns markets, products, technology and customer strategies, reducing risk to achieve superior business results.
Siemens Digital Grid partners with leading utilities and energy providers worldwide to provide expertise and innovative technologies to help in their transformation journeys. Globally, Digital Grid has worked with more than 2,500 leading utilities and energy providers to deliver proven solutions and services that improve operational efficiencies, enhance reliability and resiliency, and empower consumers to better manage their energy use. For more information, please visit www.usa.siemens.com/digitalgrid
TerraVerde is a Distributed Energy Resource ("DER") implementation and management company. Over the past seven years we have developed $327 Million of DERs, including: 70 MWs of solar, 13 MWs storage and $40 Million of energy conservation measures in over 300 buildings on behalf of schools, public agencies and water districts throughout California. Using these and other assets, we are now developing programs that create new revenue streams and reduce power and resource adequacy costs for Load Serving Entities ("LSEs") through deployment of DER/non-wire strategies. Using our turn-key approach and software solutions, we can identify opportunities, manage procurement, and perform DER asset management for regulated and publicly owned utilities, community choice agencies, municipalities, and other public agencies.
Wilson Sonsini Goodrich & Rosati has built a multidisciplinary team of seasoned attorneys with extensive experience developing and financing major energy and infrastructure projects around the world. We bring to each of our assignments a commercial-minded understanding of the needs of different project participants, and we craft solutions that balance and align conflicting interests in order to get projects financed and built.
Advanced Energy Economy (AEE) is a national association of business leaders who are making the global energy system more secure, clean, and affordable. AEE engages in policy advocacy at the federal, state, and regulatory levels. Our mission is transforming public policy to enable rapid growth of advanced energy companies. AEE recently introduced PowerSuite, a robust set of tools to search, track, and collaborate on energy legislation and utility regulatory proceedings from across the country with one, easy-to-use interface. Learn more at www.aee.net
Chint Power Systems America is a global inverter solutions provider with service centers in Texas and California. CPS is delivering flexible, high performance products, and since 2015 CPS has been the leading provider of 3-phase string inverters (USA, GTM Research data). Low cost leadership is achieved by leveraging Chint's vertical integration and supply chain economies of scale. Chint is a $7B diversified group of industrial and energy systems companies; T&D substations, PV panels, inverters, storage systems, finance and EPC. www.chintpowersystems.com.
Workshop Partner
More than Smart (MTS) is a nonprofit organization that partners with states to plan, design and build electricity distribution grids that enable more clean energy resources and more customer participation in a reliable, safe and cost effective manner. MTS's work is built on its success in developing coalitions with industry, government and interested advocates to develop workable solutions to difficult energy and climate change problems.
The American Energy Society is the world's professional association dedicated to accelerating the pursuit of abundant, affordable, safe energy. Scientists and engineers, executives and managers, academics and investigators, public and private investors, policy-makers and administrators ... they all come together thru Society hosted events, publications, consulting services, and its advanced web-based platform that harnesses the power of social media. Put simply, the American Energy Society offers unparalleled professional support for every professional in energy.
CalCharge is the connective tissue for the energy storage industry. We are a membership organization that brings together multinational corporations, start ups, national laboratories, research universities, utilities, and other key stakeholders. CalCharge accelerates the development, commercialization, and deployment of new energy storage technologies for the consumer, transportation, and grid markets. To find out more about becoming a member, visit www.calcharge.org
The Center for Sustainable Energy is a mission-driven nonprofit, providing clean energy consulting services and program management to governments, regulators, utilities, businesses, property owners and others looking for an objective implementation partner to develop customized solutions that help lower energy costs, and increase consumer choice and accessibility to clean energy technologies. Expertise include: Clean Transportation, Energy Efficiency & Building Performance, Policy Support, Marketing, Education & Outreach and more. Learn more at EnergyCenter.org.
The California Energy Storage Alliance (CESA) is a 501c(6) membership-based advocacy group committed to advancing the role of energy storage in the electric power sector through policy, education, outreach, and research. CESA's mission is to make energy storage a mainstream resource to promote a cleaner, more efficient, reliable, affordable and secure electric power system.
The Clean Coalition is a nonprofit whose mission is to accelerate the transition to renewable energy and a modern grid through technical, policy, and project development expertise. We drive policy innovation to realize the full potential of distributed energy resources, and we work with utilities to develop Community Microgrids that prove local renewables connected to the distribution grid can provide at least 25% of the total electric energy consumed while at least maintaining grid reliability and power quality.
Cleantech Law Partners is a full-service law firm dedicated exclusively to the legal and policy needs of renewable energy project developers and cleantech companies. CLP helps renewable energy developers, investors, manufacturers, and entrepreneurs obtain permits, negotiate key legal documents, secure intellectual property rights, and manage financial transactions. CLP also advises clients on corporate and tax matters, and serves as outside in-house counsel.
Cleantech San Diego is a nonprofit member organization that positions the greater San Diego region as a global leader in the cleantech economy. The organization achieves this by fostering collaborations across the private-public-academic landscape, leading advocacy efforts to promote cleantech priorities, and encouraging investment in the San Diego region. Cleantech San Diego's membership includes more than 100 local businesses, universities, governments, and nonprofits committed to advancing sustainable solutions for the benefit of the economy and the environment.
The German American Chamber of Commerce, Inc. (GACC) acts as a link between German and American companies and organizations. The GACC is the first point of contact for German companies interested in doing business in the U.S., particularly on the West Coast, providing assistance through a variety of services. The Chamber connects German decision-makers with their U.S. counterparts and its goal is to bring German and American companies together, and thus, foster, strengthen and advance bilateral trade between Germany and the U.S.
Rocky Mountain Institute (RMI)—an independent nonprofit founded in 1982—transforms global energy use to create a clean, prosperous, and secure low-carbon future. It engages businesses, communities, institutions, and entrepreneurs to accelerate the adoption of market-based solutions that cost-effectively shift from fossil fuels to efficiency and renewables. RMI has offices in Basalt and Boulder, Colorado; New York City; Washington, D.C.; and Beijing.
The San Diego Energy District (SDED) exists to speed the 100% Clean Electricity future. The quickest, most affordable means of doing so is through creation of Community Electricity Choice programs. The path is clear and proven: from Marin County and surrounding communities to San Mateo County, the cities of Lancaster and San Francisco, community choice programs are proving themselves.
Vote Solar is a non-profit advocacy organization with the mission of making solar a mainstream energy resource. We work at the state level all across the U.S. to support the policies and programs needed to repower our grid with clean energy.
Young Professionals in Energy (YPE) is a non-profit organization with more than 40,000 members worldwide. By providing a forum for networking and career development through social, educational and civic service opportunities, YPE aims to facilitate the advancement of young professionals in the global energy industry.
AltEnergyMag is technical resource full of News, Articles and Interviews covering the trends and breakthroughs in the Alternative Energy industry, with an emphasis on the state of the art and on the horizon technologies that have strong prospects of commercialization.
Peak Load Management Alliance was founded in 1999 as the voice of demand response practitioners. It is a community of experts and practitioners dedicated to promote inclusiveness in the design, delivery, technology, and management of solutions addressing energy and natural resource integration. . PLMA members share expertise to educate each other and explore innovative approaches to demand response programs, price and rate response, regional regulatory issues, and technologies as the energy markets evolve. PLMA has grown to over 110 electric utility and allied organization members in 2016, an increase of almost 300% within four years.


text:
ACCEPTED

#### According to
GRIN Taxonomy for Plants

#### Published in
Mem. Real Acad. Ci. Barcelona ser. 3, 22(18):18. 1931

#### Original name
null

### Remarks
null


It might sound like a quaint bookshop, but Shaws Booksellers is, on the contrary, one of the best bars near St Pauls for parties and social get-togethers. Book one of our areas to claim your own corner of the venue for the night.
Normally closed to the public on weekends, Shaws Booksellers can be all yours for the day or night. Available for your exclusive use, it's one of the best private-hire venues in London – ideal for wedding receptions, big birthday parties, or indeed any other large occasion.
To make your private celebrations extra special, our experienced chefs can create a menu just for you - from informal canapés to a full sit-down meal.
To start planning your function at Shaws Booksellers, please contact us at [email protected] or call 0207 489 7999.
This area can host up to 35 guests, making it the mid-sized function space here at Shaws Booksellers. Give us a call or pop in today to book out this or any of our other great party spaces.
This area is perfect for small group gathering, and can hold up to 20 people.
This is the largest of our private hire areas, capable of hosting up to 40 people standing. It's the ideal space for getting together with a large group of friends and celebrating a birthday, anniversary - or just the impending weekend!