text:
Welcome to Varda Books!
Need Help? Call us toll-free:
Register Sign In Sign Out | @ PublishersRow.com
Browse All | Hot Off the Press | Top Sellers | Coming Soon | Gifts Gallery | NEW | Judaic Digital Library
Enter Your Special
Offer Code Here:
Search: Books>> Title>> Author>> ISBN>> Publisher>> KeywordsSoftware Advanced search
Special Bundles
Essential Jewish Bookshelf
G. Alon Second Temple Bookshelf
Hispania Judaica
International Critical Commentaries (ICC): Tanakh (Hebrew Bible)
Jews, Jesus, and the Origin of Christianity: a Jewish Perspective
Judaic Digital Library
Master a Masikhta
New! Hebrew Bible: Scholar's Digital Library 1.2
S.R. Driver - U. Cassuto Collection
The War against Israel
Display Titles/Authors Only
List all A to Z
Modern political thought
Torah/Bible
Torah (Oral)
Rabbinics
General Jewish-Interest Literature
Jewish Religious Thought
Magic and Occult
The Hebrew University Magnes Press:
מדעי היהדות
Rowman & Littlefield:
Bar Ilan University Press:
Judaica & Philosophy
Talmud & Rabbinic Literature
Interpretation and Culture, edited by Prof. Avi Sagi
THEMA- A Series of Thematological Studies in the Literature of the Jewish People
MAHSHAVOT- A Series for Studies in Jewish Thought in Memory of Isidore Friedman
Critical Horizons
JTSA PRESS:
Gender politics / Feminism
History / Historiography
Halakhah / Law
Torah / Bible
Community / Organizations
PublishersRow.com
Adobe Acrobat 5.0 or later is required to read our e-books*
* Windows PC & Mac OS9/OSX
PublishersRow > eBookShuk > Books > References > Books
The Brown-Driver-Briggs Hebrew and English Lexicon (Complete and Unabridged Electronic Edition)
Author: Brown, F.; Driver S.; Briggs C.
Publisher: Varda Books
Techno: Explore additional savings with "Hebrew Bible: The Essential Student Edition."
Available as: (for format`s description click on its name)
Scholar PDF
Reg.: $ 9.95
You Save: $ 4.97 (50%)
About the Book -- The Brown-Driver-Briggs Hebrew and English Lexicon (Complete and Unabridged Electronic Edition)
This is the most accurate and complete electronic edition of The Brown-Driver-Briggs Hebrew and English Lexicon (BDB) in existence. It is the only electronic edition that contains not only all the elements of the printed original 1906 edition, including all instances of the cognate Semitic languages, but also its pagination. As a result it can be easily used with other indexes and reference works which have been published to date.
Varda Books' edition is also the easiest to use, and the most user-friendly edition of BDB in any format, be it print or electronic. The printed book metaphor has been retained in full--down to every page, paragraph, and glyph. On top of it, since there's no complicated software to learn, you already know how to use the electronic edition.
Although there are more up-to-date dictionaries (especially with regard to the use of Ugaritic and Akkadian), none is as thorough as BDB in its careful reading of the Bible. ". . . practically a concordance," notes Prof. Jeffery Tigay, "[BDB] is very acute in its treatment of semantic nuances and will alert you to nuances you never suspected."
Since it first appeared in the early part of the twentieth century, BDB has been considered the finest and most comprehensive Hebrew lexicon available to the English-speaking student. BDB gives not only dictionary definitions for each word, but relates each word to its usage in the Hebrew Bible and categorizes its nuanced meanings.
Exhaustive coverage of Hebrew words, its unparalleled usage of cognate languages and the wealth of background sources consulted and quoted, has made BDB the most recommended resource for all students of the Bible.
But it's not only Bible students who can benefit by consulting it: anyone seriously engaged in the study of Hebrew can benefit as well. Unlike most other dictionaries, BDB lists words by their roots rather than in alphabetical order and in each case gives the full range of biblical usages. That is why, if you are trying to trace a word's etymology in post-biblical or modern Hebrew usage, you'd do well to consult BDB as well.
With generous permission of Hendrickson Publishers, Varda Books has added Strong's Concordance numbers to enable even those with minimal knowledge of Hebrew to be able to use this Lexicon with ease. The use of Strong's numbers makes this edition especially user-friendly and allows the reader to easily look up the meaning of almost any word in the Hebrew Bible no matter what level of language skills you have.
Adding to its usefulness, this electronic edition of BDB has been programmed to work either as a stand-alone book or interactively with Varda Books' electronic edition of The JPS Hebrew-English Tanakh (Scholar PDF), which can be purchased separately. Now, by simply clicking on any one of 186,734 biblical reference in BDB, you'll access the BHS-based authoritative edition of the Hebrew text of Tanakh with renown JPS English translation right next to it.
Highlights of electronic edition:
Our edition of BDB retains all of the printed original's valuable features while adding the functionality that comes with the use of computers. Varda Books has:
ž Retained printed book metaphor. . .
so you always know where you are in the book
ž Preserved original pagination . . .
to permit you to continue using other already published excellent biblical study tools, which refer to BDB by its page number
ž Not omitted any of the original text . . .
so you know that you use the most authoritative edition possible, however the text has been also fully corrected and updated with all changes noted in the addenda et. corrigenda in the print edition
ž Added Strong's numbering system . . .
to allow you to expand greatly your understanding of the biblical text beyond what is normally permitted by a translation, even if your knowledge of Hebrew is minimal,
ž Appended the Index of all Hebrew words in BDB. . .
to permit you to find quickly any place in Lexicon
ž Hyperlinked BDB with JPS Hebrew-English Tanakh (Scholar PDF) . . .
so if you purchased it, you can click on any biblical references in BDB and instantly see the Hebrew text of the biblical source, placed next to renowned JPS English translation
OTHER BENEFITS OF ELECTRONIC EDITION
ž The newly reset text of this edition can be magnified on your screen up to 6400%, so you can see clearly every little (but important) glyph of the text without straining your eyes
ž The use of complex typography enhances your ability to memorize and remember
ž Because the text has been re-formatted with complete retention of pagination, you are always on the same page as your well-used printed paper edition
Simple to navigate
ž When you have Strong's number or know the Hebrew root you can get to any article in BDB with a maximum of only three clicks
ž A single-click jumping action takes you from one division of the Lexicon to the next or from any page to an appended Index of all Hebrew words
ž Sophisticated navigation mechanism within Hebrew word Index itself allows you an easy, instantaneous review of all words available to you
ž Unlike in some other electronic editions, all Index words are laid out alphabetically
Simple and Powerful Search
Using Adobe's Free Acrobat Reader, you can search the English text for specific names, words or phrases throughout the entire BDB or on any given page.
ž Easy to use Find command:
refine by selecting Match Whole Word Only, Match Case, or Find Backwards
ž Word Stemming Search:*
find all search term derivatives
ž "Sounds Like" Search:*
find alternative spellings of proper names
ž Search using Thesaurus:*
find synonyms for the search term
ž Proximity Option Search:*
find two separate items on the same page
ž Set Preferences:*
control the order of your search results, determine the number of searches you want to display, and choose how highlights are displayed (by page, by word, or not at all)
ž Refine Search using Boolean terms*
ž Search Simultaneously the Tanakh and other PDF documents*
Copy, Paste and Share*
Copy and paste of what you have found into your word-processor; no need to retype the text.
ž Copy English text:
use "Column Select Tool" to select exactly the text you need and re-flow it
ž Copy Hebrew, Arabic, Aramaic, Coptic and other languages:
use "Graphics Select Tool" to copy and paste perfectly formatted Hebrew text (be it a single glyph or an entire page) into virtually any word-processor; no special fonts necessary
ž Share copied non-English text:
Because you have pasted Hebrew as an image, you can send it as a part of your Word Editor's file to almost anyone else. No need to worry about "embedding" or installing properly fonts on another person's system
Print*
For your personal and scholarly needs to produce prints of a much higher quality than if you copy them directly from a printed book.
ž Enlarge as much as your printer allows:
without the loss of quality--the result will be page-for-page the printed book version of the BDB; perfect for making personal or scholarly notes or leisurely reading of BDB when you wish for a larger size of print
ž Print only a section of the page that you need,
so you leave plenty of space for your comments
* Applies only to Student PDF and Scholar PDF formats; does not apply to Reader PDF version.
About the Author -- The Brown-Driver-Briggs Hebrew and English Lexicon (Complete and Unabridged Electronic Edition)
Brown, F.; Driver S.; Briggs C. ---
Brown, Francis (December 26, 1849 - ), American scholar of Semitics; born in Hanover, New Hampshire. Dr. Brown was largely responsible for the preparation of The BDB Hebrew-English Lexicon, for many of its articles as well as for the arrangement of the book and the general editorial oversight.
Samuel Rolles Driver (October 2, 1846 - 1914), English divine and in the words of one observer "the greatest Bible scholar of his generation."; he was born at Southampton. One of the foremost champions of Biblical criticism, Driver has always taken a conservative view, showing much moderation and sympathy with the orthodox position. As such he was often attacked both from the Left and the Right of the field. His "A Treatise on the Use of the Tenses in Hebrew" (Oxford, 1874; 3d ed., 1892), has remained one of the most complete presentation of the subject.
Briggs, Charles Augustus (January 15, 1841 - 1913), American theologian and Hebrew scholar. Born in New York City, he was educated at the University of Virginia (1857-1860), graduated at the Union Theological Seminary in 1863, and studied further at the University of Berlin. He was pastor of the Presbyterian church of Roselle, New Jersey, 1869-1874, and professor of Hebrew and cognate languages in Union Theological Seminary 1874-1891. From 1880 to 1890 he was an editor of the Presbyterian Review. In 1892 he was tried for heresy by the presbytery of New York and acquitted; the general assembly, however, suspended Briggs in 1893. He was ordained a priest of the Protestant Episcopal Church in 1899. He has been awarded many honoraries degrees and is the author of many publications.
A note from Hendrickson
Hebrew Alphabet
ALPHABET INDEX
STRONG INDEX
Books on Related Topics
Encyclopedia Biblica: A Critical Dictionary of the Literary, Political, and Religious History, the Archæology, Geography, and Natural History of the Bible (in 4 volumes) by Thomas Kelly Cheyne / Varda Books
Encyclopedia of Religion and Ethics, 12 vls. plus Index by James Hastings / Varda Books
Gesenius' Hebrew Grammar, 2nd English Edition by E. Kautzsch / Varda Books
Hebrew-English Tanakh: the Jewish Bible by Varda Books / Varda Books
Modern Scholarship in the Study of Torah by Shalom Carmy / Rowman & Littlefield
Studying the Torah by Avigdor Bonchek / Rowman & Littlefield
Textual Knowledge: Teaching the Bible in Theory and in Practice by Barry W. Holtz / JTSA PRESS
The Making of the Modern Jewish Bible by Alan T. Levenson / Rowman & Littlefield
Understanding Genesis: The Heritage of Biblical Israel by Nahum Sarna / JTSA PRESS
What the Bible Really Tells Us by T. J Wray / Rowman & Littlefield
Books on "References" Category
The Universal Jewish Encyclopedia (10 vols. plus Reading Guide & Index) by Isaak Landman,
The Combined Jewish Encyclopedia (in 24 vols., incl. Reading Guide and new Index) by JPS / Varda Books
Jews in the Hungarian Economy 1760-1945 by MICHAEL SILBER
The Brown-Driver-Briggs Hebrew and English Lexicon (Complete and Unabridged Electronic Edition) by Brown, F.; Driver S.; Briggs C.
The Jewish Encyclopedia by Isidore Singer
Gesenius' Hebrew Grammar, 2nd English Edition by E. Kautzsch
A Guide to Jewish Religious Practice by Isaak Klein
Final Report by The 9/11 Commission
Encyclopedia Biblica: A Critical Dictionary of the Literary, Political, and Religious History, the Archæology, Geography, and Natural History of the Bible (in 4 volumes) by Thomas Kelly Cheyne
To feature this book on your website*, together with...
(*appropriate also for your online journal, blog, profile page, or on-line forums):
...cover, title, and metadata...
...title only...
...cover only, use
Please Note: To read our e-books, you need Adobe Acrobat or its free Reader (you can get one from here). Once you have installed it, download and install one of our free security plug-in for to unlock the books that you have purchased .
If you have not done it already and if your have either PC or Mac, please click here to install now free security plug-in from FileOpen.
For Linux, click here and choose either "Open" or "Run".
IMPORTANT: Using FileOpen Plugin with your Mac
Home | Shopping Cart | Contact us | Help
Copyright © 2001-2019 Publishers Row. All rights reserved. Our Privacy Policy and Terms of Use


text:
<?php

namespace Core\Tests\Services\PDOs\Schemas;

use Core\Services\PDOs\MySQL;
use Core\Services\PDOs\Schemas\MySQLSchema;
use InvalidArgumentException;

require_once 'SchemaTestCase.php';

class MySQLSchemaTest extends SchemaTestCase
{
    public static function setUpBeforeClass()
    {
        self::$fixturePath = __DIR__  . '/../../../_data/fixtures/mysql';
    }

    protected function setUp()
    {
        $this->db = $this->getMockBuilder(MySQL::class)
            ->setConstructorArgs([['database' => '~test']])
            ->setMethods(['quote', 'version', 'exec', 'query'])
            ->getMockForAbstractClass();

        $this->db->expects($this->any())
            ->method('quote')
            ->willReturnCallback(function($value) {
                return "'$value'";
            });

        $this->db->expects($this->any())
            ->method('version')
            ->willReturn('5.5.5-10.1.21-MariaDB');

        $this->schema = new MySQLSchema($this->db);
    }

    public function testTables()
    {
        $this->expectsQueryFile('show_tables');

        $this->assertSame([
            'table1' => ['name' => 'table1', 'collation' => 'utf8_unicode_ci', 'comment' => 'A test table.'],
            'table2' => ['name' => 'table2', 'collation' => 'utf8_unicode_ci', 'comment' => null],
        ], $this->schema->tables());
    }

    public function testColumns()
    {
        $this->expectsQueryFile('show_table1_columns');

        $actual = $this->schema->columns('table1');
        $expected = [
            'id'        => ['name' => 'id',        'type' => 'identity', 'size' => null, 'scale' => null, 'nullable' => false, 'default' => null,     'collation' => null,                'comment' => null],
            'small1'    => ['name' => 'small1',    'type' => 'smallint', 'size' => null, 'scale' => null, 'nullable' => true,  'default' => 33,       'collation' => null,                'comment' => null],
            'integer1'  => ['name' => 'integer1',  'type' => 'integer',  'size' => null, 'scale' => null, 'nullable' => false, 'default' => -44,      'collation' => null,                'comment' => 'I am cool!'],
            'unsigned1' => ['name' => 'unsigned1', 'type' => 'unsigned', 'size' => null, 'scale' => null, 'nullable' => true,  'default' => 55,       'collation' => null,                'comment' => null],
            'bigint1'   => ['name' => 'bigint1',   'type' => 'bigint',   'size' => null, 'scale' => null, 'nullable' => true,  'default' => 66,       'collation' => null,                'comment' => null],
            'numeric1'  => ['name' => 'numeric1',  'type' => 'numeric',  'size' => 10,   'scale' => 0,    'nullable' => false, 'default' => '1234567890', 'collation' => null,            'comment' => null],
            'numeric2'  => ['name' => 'numeric2',  'type' => 'numeric',  'size' => 4,    'scale' => 1,    'nullable' => true,  'default' => '123.4',  'collation' => null,                'comment' => null],
            'float1'    => ['name' => 'float1',    'type' => 'float',    'size' => null, 'scale' => null, 'nullable' => false, 'default' => 3.14,     'collation' => null,                'comment' => 'a rose is a rose'],
            'string1'   => ['name' => 'string1',   'type' => 'string',   'size' => 255,  'scale' => null, 'nullable' => false, 'default' => 'Panama', 'collation' => 'utf8_unicode_ci',   'comment' => 'lola'],
            'string2'   => ['name' => 'string2',   'type' => 'string',   'size' => 50,   'scale' => null, 'nullable' => true,  'default' => null,     'collation' => 'latin1_general_cs', 'comment' => null],
            'text1'     => ['name' => 'text1',     'type' => 'text',     'size' => null, 'scale' => null, 'nullable' => true,  'default' => null,     'collation' => 'latin1_general_cs', 'comment' => null],
            'guid1'     => ['name' => 'guid1',     'type' => 'guid',     'size' => null, 'scale' => null, 'nullable' => true,  'default' => null,     'collation' => null,                'comment' => null],
            'binary1'   => ['name' => 'binary1',   'type' => 'binary',   'size' => 2,    'scale' => null, 'nullable' => true,  'default' => null,     'collation' => null,                'comment' => null],
            'binary2'   => ['name' => 'binary2',   'type' => 'binary',   'size' => 3,    'scale' => null, 'nullable' => true,  'default' => null,     'collation' => null,                'comment' => null],
            'blob1'     => ['name' => 'blob1',     'type' => 'blob',     'size' => null, 'scale' => null, 'nullable' => true,  'default' => null,     'collation' => null,                'comment' => null],
            'boolean1'  => ['name' => 'boolean1',  'type' => 'boolean',  'size' => null, 'scale' => null, 'nullable' => true,  'default' => true,     'collation' => null,                'comment' => null],
            'date1'     => ['name' => 'date1',     'type' => 'date',     'size' => null, 'scale' => null, 'nullable' => true,  'default' => null,     'collation' => null,                'comment' => null],
            'datetime1' => ['name' => 'datetime1', 'type' => 'datetime', 'size' => null, 'scale' => null, 'nullable' => true,  'default' => null,     'collation' => null,                'comment' => null],
            'timestamp1'=> ['name' => 'timestamp1','type' => 'timestamp','size' => null, 'scale' => null, 'nullable' => false, 'default' => 'CURRENT_TIMESTAMP', 'collation' => null,     'comment' => null],
            'time1'     => ['name' => 'time1',     'type' => 'time',     'size' => null, 'scale' => null, 'nullable' => true,  'default' => null,     'collation' => null,                'comment' => null],
            'array1'    => ['name' => 'array1',    'type' => 'array',    'size' => null, 'scale' => null, 'nullable' => true,  'default' => null,     'collation' => null,                'comment' => 'a rose is a rose'],
            'json1'     => ['name' => 'json1',     'type' => 'json',     'size' => null, 'scale' => null, 'nullable' => true,  'default' => null,     'collation' => null,                'comment' => null],
            'object1'   => ['name' => 'object1',   'type' => 'object',   'size' => null, 'scale' => null, 'nullable' => true,  'default' => null,     'collation' => null,                'comment' => null],
        ];
        $this->assertCount(count($expected), $actual);
        foreach ($actual as $i => $item) {
            $this->assertSame($expected[$i], $actual[$i]);
        }
    }

    public function testIndexes()
    {
        $this->expectsQueryFile('show_table1_indexes');

        $this->assertSame([
            'PRIMARY'                      => ['name' => 'PRIMARY',                      'columns' => ['id'],                 'unique' => true,  'primary' => true],
            'table1_integer1_unique'       => ['name' => 'table1_integer1_unique',       'columns' => ['integer1'],           'unique' => true,  'primary' => false],
            'table1_string1_string2_index' => ['name' => 'table1_string1_string2_index', 'columns' => ['string1', 'string2'], 'unique' => false, 'primary' => false],
        ], $this->schema->indexes('table1'));
    }

    public function testCreateTable()
    {
        $this->expectsExecFile('create_table1');

        $this->assertInstanceOf(MySQLSchema::class, $this->schema->createTable('table1', [
            'id'          => ['type' => 'identity'],
            'small1'      => ['type' => 'smallint',  'nullable' => true, 'default' => 33],
            'integer1'    => ['type' => 'integer',   'default' => -44, 'comment' => 'I am cool!'],
            'unsigned1'   => ['type' => 'unsigned',  'nullable' => true, 'default' => 55],
            'bigint1'     => ['type' => 'bigint',    'nullable' => true, 'default' => 66],
            'numeric1'    => ['type' => 'numeric',   'default' => '1234567890'],
            'numeric2'    => ['type' => 'numeric',   'size' => 4, 'scale' => 1, 'nullable' => true, 'default' => '123.4'],
            'float1'      => ['type' => 'float',     'default' => 3.14, 'comment' => 'a rose is a rose'],
            'string1'     => ['type' => 'string',    'default' => 'Panama', 'comment' => 'lola'],
            'string2'     => ['type' => 'string',    'size' => 50, 'nullable' => true, 'collation' => 'latin1_general_cs'],
            'text1'       => ['type' => 'text',      'nullable' => true, 'collation' => 'latin1_general_cs'],
            'guid1'       => ['type' => 'guid',      'nullable' => true],
            'binary1'     => ['type' => 'binary',    'nullable' => true],
            'binary2'     => ['type' => 'binary',    'size' => 3, 'nullable' => true],
            'blob1'       => ['type' => 'blob',      'nullable' => true],
            'boolean1'    => ['type' => 'boolean',   'nullable' => true, 'default' => true],
            'date1'       => ['type' => 'date',      'nullable' => true],
            'datetime1'   => ['type' => 'datetime',  'nullable' => true],
            'timestamp1'  => ['type' => 'timestamp', 'default' => 'CURRENT_TIMESTAMP'],
            'time1'       => ['type' => 'time',      'nullable' => true],
            'array1'      => ['type' => 'array',     'nullable' => true, 'comment' => 'a rose is a rose'],
            'json1'       => ['type' => 'json',      'nullable' => true],
            'object1'     => ['type' => 'object',    'nullable' => true],
        ], ['comment' => 'A test table.']));
    }

    public function testCreateTemporaryTable()
    {
        /** @noinspection SqlDialectInspection */
        $this->expectsExec(['
            CREATE TEMPORARY TABLE `temp1` (`id` INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT)
            DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci ENGINE = InnoDB
        ']);

        $this->assertInstanceOf(MySQLSchema::class, $this->schema->createTable('temp1', [
            'id' => ['type' => 'identity'],
        ], ['charset' => 'latin1', 'collation' => 'latin1_general_ci', 'engine' => 'InnoDB', 'temporary' => true]));
    }

    public function testCreateTableWithoutColumns()
    {
        $this->expectException(InvalidArgumentException::class);
        $this->schema->createTable('table1', []);
    }

    public function testRenameTable()
    {
        /** @noinspection SqlDialectInspection */
        $this->expectsExec(['RENAME TABLE `table1` TO `table99`']);

        $this->assertInstanceOf(MySQLSchema::class, $this->schema->renameTable('table1', 'table99'));
    }

    public function testRenameColumn()
    {
        $this->expectsQueryFile('show_table1_columns');
        /** @noinspection SqlDialectInspection */
        $this->expectsExec(["ALTER TABLE `table1` CHANGE COLUMN `string1` `string99` VARCHAR(255) NOT NULL DEFAULT 'Panama' COLLATE utf8_unicode_ci COMMENT 'lola'"]);

        $this->assertInstanceOf(MySQLSchema::class, $this->schema->renameColumn('table1', 'string1', 'string99'));
    }

    public function testRenameNotExistColumn()
    {
        $this->expectsQueryFile('show_table1_columns');

        $this->expectException(InvalidArgumentException::class);
        $this->schema->renameColumn('table1', 'foo', 'bar');
    }

    public function testExtractFieldType()
    {
        $this->assertSame([null, null, null, null], $this->invokePrivateMethod($this->schema, 'extractFieldType', ['']));
        $this->assertSame(['INT', 10, 0, true], $this->invokePrivateMethod($this->schema, 'extractFieldType', ['int(10) unsigned']));
        $this->assertSame(['INT', 10, null, false], $this->invokePrivateMethod($this->schema, 'extractFieldType', ['int(10)']));
        $this->assertSame(['STRING', 10, null, false], $this->invokePrivateMethod($this->schema, 'extractFieldType', ['string(10)']));
        $this->assertSame(['UNSIGNED', null, null, false], $this->invokePrivateMethod($this->schema, 'extractFieldType', ['unsigned)']));
    }

    public function testConvertFieldType()
    {
        $this->assertSame('json', $this->invokePrivateMethod($this->schema, 'convertFieldType', ['json']));
        $this->assertSame('string', $this->invokePrivateMethod($this->schema, 'convertFieldType', ['wrong'])); // fallback type
    }

}

redpajama_set_name: RedPajamaGithub


The Midnight Special is rolling through the night, but you'll be hard pressed to get any sleep riding this haunted high iron! These frightful cars feature fantastic Halloween decoration to match our growing line of "End of the Line" locomotives and accessories. And with a new StationSounds Diner, the Midnight Special is sure to command attention on your Halloween display!


These self-contained units overlook a lovely park and landscaped stream.
Save 10% on these weekly rents!
These modern, insulated, self-contained units include: shower, toilet.
Our modern, fully insulated cabins include a small handbasin.


The completion of the artwork is delayed due to technical reasons. Unfortunately, »GUTTA« therefore couldn't be visited during the Production Art Festival. Further information will be published here as soon as possible.
The inspiration for Karsten Födinger's works comes from the places in which they are created. He likes to use his art to turn a particular feature of a city, region or landscape into something visible and tangible. He does this by using local materials in his sculptures. He created his work »GUTTA« (from the Latin for drop) in Bad Urach. It was inspired by the observation that the minerals in the water flowing over the Urach waterfall are deposited as a form of limestone known as travertine. Many of the historic buildings in Bad Urach are built from this kind of limestone.
Födinger obtained masonry from former travertine buildings from a local builder's yard and used them to build a fountain: a minimalist collage of Bad Urach's historic architecture.
The fountain is fed by water from the Erms river using pump technology provided by URACA, a company based in Bad Urach. The constellation allows Födinger to achieve a similar effect to the one he observed at the waterfall. The minerals in the water are gradually deposited on the fountain's structure. The sculpture will slowly but steadily change shape, not through the artist but as a result of natural sedimentation. The angular structure of the fountain will turn into something much more amorphous.
Karsten Födinger, born in Mönchengladbach in 1978, studied for his Master's degree under Professors Umberg and Meuser at the State Academy of Fine Arts in Karlsruhe from 2003 to 2009. He is the recipient of many awards, including the Baloise Art Prize, and has received grants from the Kunststiftung Baden-Württemberg and the Cité Internationale des Arts, Paris. Födinger's work is mainly based on specific locations and local materials. He carries out a detailed examination of a particular place and then creates a sculpture that is rooted in that location. In his work, he aims to combine location and additional materials into a cohesive whole. Födinger lives in Berlin.
The completion of the artwork is delayed due to technical reasons. Unfortunately, »GUTTA« therefore couldn't be visited during the Production Art Festival.


Gamma Knife® radiosurgery is preferred for its extreme accuracy, efficiency and therapeutic response.
Today, Gamma Knife® radiosurgery is performed in hundreds of leading hospitals and clinics around the world. Around 70,000 patients undergo Gamma Knife® radiosurgery every year, and this unique procedure has an impressive scientific track record with thousands of peer reviewed articles. No other alternative method in this field has gained greater clinical acceptance.


These terms-of-use govern your use of our web-site; by using our web-site, you agree to these terms-of-use in full. If you disagree with these terms-of-use or any part of these terms-of-use, you must not use our web-site.
Unless otherwise stated, we or our licensors own the intellectual property rights in the web-site and material on the web-site. Subject to the license below, all these intellectual property rights are reserved.
You may view, download for caching purposes only, and print pages from the web-site for your own personal use, subject to the restrictions set out below and elsewhere in these terms-of-use.
(f)Redistribute material from this web-site except for content specifically and expressly made available for redistribution (such as our newsletter).
You must not use our web-site in any way that causes, or may cause, damage to the web-site or impairment of the availability or accessibility of the web-site; or in any way which is unlawful, illegal, fraudulent or harmful, or in connection with any unlawful, illegal, fraudulent or harmful purpose or activity.
You must not use our web-site to copy, store, host, transmit, send, use, publish or distribute any material which consists of (or is linked to) any spyware, computer virus, Trojan horse, worm, keystroke logger, rootkit or other malicious computer software.
You must not conduct any systematic or automated data collection activities (including, without limitation, scraping, data mining, data extraction and data harvesting) on or in relation to our web-site without our express written consent.
You must not use our web-site to transmit or send unsolicited commercial communications.
You must not use our web-site for any purposes related to marketing without our express written consent.
Access to certain areas of our web-site is restricted. We reserve the right to restrict access to other areas of our web-site, or indeed our whole web-site, at our discretion.
If we provide you with, or you register a user ID and password to enable you to access restricted areas of our web-site or other content or services, you must ensure that the password is kept confidential.
You are responsible for any activity on our web-site arising out of any failure to keep your password confidential and may be held liable for any losses arising out of such a failure.
You must not use any other person's user ID and password to access our web-site.
In these terms-of-use, "your content" means material (including, without limitation, text, images, audio material, video material and audio-visual material) that you submit to our web-site, for whatever purpose.
You warrant and represent that your content will comply with these terms-of-use.
Your content must not be illegal or unlawful, must not infringe any third party's legal rights and must not be capable of giving rise to legal action whether against you or us or a third-party (in each case under any applicable law).
You must not submit any content to the web-site that is or has ever been the subject of any threatened or actual legal proceedings or other similar complaint.
We reserve the right to edit or remove any material submitted to our web-site, or stored on our servers, or hosted or published upon our web-site.
Notwithstanding our rights under these terms-of-use in relation to your content, we do not undertake to monitor the submission of such content to, or the publication of such content on, our web-site.
We do not warrant the completeness or accuracy of the information published on this web-site; nor do we commit to ensuring that the web-site remains available or that the material on the web-site is kept up to date.
To the maximum extent permitted by applicable law, we exclude all representations, warranties and conditions relating to this web-site and the use of this web-site (including, without limitation, any warranties implied by law in respect of satisfactory quality, fitness for purpose and/or the use of reasonable care and skill).
(d)Exclude any of our or your liabilities that may not be excluded under applicable law.
(b)Govern all liabilities arising under these terms-of-use or in relation to the subject matter of these terms-of-use, including liabilities arising in contract, in tort (including negligence) and for breach of statutory duty.
To the extent that the web-site and the information and services on the web-site are provided free of charge, we will not be liable for any loss or damage of any nature.
You hereby indemnify us and undertake to keep us indemnified against any losses, damages, costs, liabilities and expenses (including, without limitation, legal expenses and any amounts paid by us to a third-party in settlement of a claim or dispute on the advice of our legal advisers) incurred or suffered by us arising out of any breach by you of any provision of these terms-of-use, or arising out of any claim that you have breached any provision of these terms-of-use.
Without prejudice to our other rights under these terms-of-use, if you breach these terms-of-use in any way, we may take such action as we deem appropriate to deal with the breach, including suspending your access to the web-site, prohibiting you from accessing the web-site, blocking computers using your IP address from accessing the web-site, contacting your Internet service provider to request that they block your access to the web-site and/or bringing court proceedings against you.
We may transfer, sub-contract or otherwise deal with our rights and/or obligations under these terms-of-use without notifying you or obtaining your consent.
You may not transfer, sub-contract or otherwise deal with your rights and/or obligations under these terms-of-use.
If a provision of these terms-of-use is determined by any court or other competent authority to be unlawful and/or unenforceable, the other provisions will continue in effect. If any unlawful and/or unenforceable provision would be lawful or enforceable if part of it were deleted, that part will be deemed to be deleted, and the rest of the provision will continue in effect.
These terms-of-use are for the benefit of you and us, and are not intended to benefit any third-party or be enforceable by any third party. The exercise of our and your rights in relation to these terms-of-use is not subject to the consent of any third party.
Our business name is ForexGridMaster.
You can contact us by sending an email to support@forexgridmaster.com.


text:
For hardware/mirror frame construction, see [here](https://speculo.hirsikangas.fi/dyi/magicae-speculo-magic-mirror-with-homeautomation/)

My version of **Magic Mirror** which contains
- Temperature + humidity logging (house and garage)
- Google calendar(s)
- [Beddit](http://www.beddit.com) sleep tracker statistics
- Weather forecast
- Ground heat pump monitoring ([Thermia](http://www.thermia.com/products/thermia-diplomat-optimum.asp))
- Home power comsumption monitoring
- Ventilation monitoring
- Solar energy/pv system: [Enphase](https://enphase.com/) [Envoy-s](https://enphase.com/en-us/products-and-services/envoy) data logging from local network, directly from Envoy-s. Feature added 07/2017
- Water consumption logging. Water meter analog dial is measured by ESP8266 sensor, which sends the data via MQTT. ESP8266 codes [here](https://github.com/teemuhirsikangas/esp8266/tree/master/watermeter). Added 03/2018
- MQTT+socket.io for receiving door, waterleak and alarm statuses realtime (TODO: update screenshot)

![alt tag](http://i.imgur.com/h9gx3G3.png)
![alt tag](http://i.imgur.com/92U34gG.gif)
![alt tag](http://i.imgur.com/dcNKFjz.png)

For hardware part list, mirror frame construction, etc see the whole project [here](https://speculo.hirsikangas.fi/dyi/magicae-speculo-magic-mirror-with-homeautomation/)

* **Backend**: Raspberry Pi 3 with Rasbian stretch, hosts the web backend and database with REST endpoints, and room temperature logger) [Node.JS](https://nodejs.org/en/) [Express](http://expressjs.com/) [pug](http://jade-lang.com/)  [SQLite3](https://www.sqlite.org/)
* **MIRROR**: Raspberry Pi 3 mounted back of the mirror with PIR detection to turn of monitor to conserve energy
* **Home automation**:
    1. Ground heat pump: [ThermIQ](http://www.thermiq.net/product/thermiq-2/?lang=en) data logger connected to [Thermia Diplomat](http://www.thermia.com/products/thermia-diplomat-optimum.asp) ground heat pump   (Raspberry Pi 1 b+)
    2. Power consumption logging to monitor electricity usage (Raspberry Pi Zero)
    3. Ventilation: [RS-485 to USB adapter](http://www.ebay.com/itm/USB-to-RS485-TTL-Serial-Converter-Adapter-FTDI-interface-FT232RL-75176-Module-Ne-/161264238508?hash=item258c18ffac:g:c5gAAOSwT~9Wj4nl) connected to Ventilation unit [Enervent Pingvin](https://www.enervent.com/tuote/pingvin/) using modbus (rs-485) protocol
    4. Garage temperature / humidity logging (Raspberry Pi Zero)

**Note:** This project is designed to be run on private network at home, so no much time spend on security aspects!
This project outgrew a bit from the original design, so db schemas etc needs refactoring :)

# INSTALL
`git clone https://github.com/teemuhirsikangas/magicaespeculo.git`

-------------------------------------------------------------
### Backend
Raspberry Pi 3 Stretch

node.js:
```
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
```

SQLite3:
`sudo apt install sqlite3`

get sources:
`git clone https://github.com/teemuhirsikangas/magicaespeculo.git`

#### Configure

##### General configure

copy sample_confs/config.js to /public/javascripts/config.js and edit

`cp sample_confs/config.js public/javascripts/config.js`

`config.js` configure google calendar id, weather location/units etc. modules which are shown can be enabled/disabled

##### Google calendar with (OAuth 2.0) and JWT tokens
`routes/calendar.js` handles all the JWT (and OAuth2) communication with [Google calendar api](https://developers.google.com/google-apps/calendar/v3/reference/) and provides Rest endpoint used from `public/javascript/calendar.js` :

**Create new project from Google console**:
https://console.developers.google.com/apis/

1. Enable Calendar API calls
2. Add OAuth 2.0 client
3. Select manage service accounts and add new service id
4. download the `.json` file and store to `data/key.json`
5. [Share]((https://support.google.com/calendar/answer/37082?hl=en)) your [google calendar](https://calendar.google.com/calendar/) to the email address provided in the key.json file.

### start
```
npm install
npm start
```

### autostart after reboot

Install pm2:
`sudo npm install -g pm2`

Autostart pm2 on reboot:
`pm2 startup`

`chmod a+x /home/pi/magicaespeculo/scripts/mm.sh`

Start magic mirror:
`pm2 start mm.sh`

Save status to enable autostart after reboot:
`pm2 save`

You can now access the Speculo web page from http://localhost:3333 or http://[hostname].local:/3333

Use the `config.js` to enable/disable features with `show: true` or `show: false`

Note: data loggers needs to be configured to send the data to backend, otherwise only Calendars and weather forecast works

-------------------------------------------------------------
# Frontend (MIRROR)
Raspberry Pi 3 connected to monitor in the back of the two-way mirror with [Infrared sensor](http://www.ebay.com/itm/HC-SR505-Mini-Infrared-PIR-Motion-Sensor-Precise-Infrared-Detector-Module-/201322916809?hash=item2edfc7ebc9:g:BpMAAOSwNSxVHjYw) to turn monitor on/off for energy saving

#### Configure
Change display orientation (use 1 or 3):
`sudo nano /boot/config.txt`
```
    display_rotate=3
```
For hiding cursor: `sudo apt install unclutter`

Install browser:`sudo apt install firefox-esr`
(Run Firefox in Fullscreen: Once installed, go to Tools > Add-ons > Extensions. Select/find MA Full screen

Scripts to run on startup:
`nano ~/.config/lxsession/LXDE-pi/autostart`
```
//@xscreensaver -no-splash  //comment this out to disable screens saver
@xset s noblank
@xset s off
@xset -dpms
@iceweasel http://[hostname of backend].local:3333      #e.g. http://numberpi.local:3333
@unclutter -idle 0.1 -root                              #hides mouse cursor if no movement
@/usr/bin/python /home/pi/magicaspeculo/scripts/pir.py          #starts infrared sensor to turn of monitor to save energy
```

#### cronjobs
Autoconnect to wifi if connection goes down
`sudo crontab -e`
```
*/5 *   * * *   sudo sh /home/pi/magicaspeculo/scripts/wlan-monitor.sh > /dev/null 2>&1
```
-------------------------------------------------------------
# Ground Heat Pump

Raspberry Pi 2 b+ mounted to ground heatpump with [ThermIQ](http://www.thermiq.net/) data logger
#### Configure
[ThermIQ](http://www.thermiq.net/product/thermiq-2/?lang=en) data logger is using sqlite3 db ([how install ThermIQ on raspberry Stretch](http://www.thermiq.net/wp-conteny/uploads/ThermIQ-installation-for-Raspberry-PI.pdf))

`git clone https://github.com/teemuhirsikangas/magicaespeculo.git`

Or copy files to
1. `/home/pi/magicaespeculo/scripts/send_homeautomation_raw_values.py` -sends status values every 60secs to backend (Json)
2. `/home/pi/magicaespeculo/scripts/send_homeautomation_yesterday_avarages.py` -sends yesterdays statistics to backend once a day (Json)

Edit scripts to match your backend address

`sudo crontab -e`
```
#send data every minute
*/1 * * * * sudo python /home/pi/magicaespeculo/scripts/send_homeautomation_raw_values.py > /dev/null 2>&1
#send data once a day at 9.00 am
0 9 * * * sudo python /home/pi/magicaespeculo/scripts/send_homeautomation_yesterday_avarages.py > /dev/null 2>&1
#needed in case another usb serial converted:
@reboot sudo /home/pi/ThermIq_usbxDevice.sh 2>&1
```

Install Python requests package

`sudo apt install libkrb5-dev`

`wget https://bootstrap.pypa.io/get-pip.py`

`sudo python get-pip.py`

`sudo pip install requests`

-------------------------------------------------------------
# Power meter
Raspberry Zero with photoresistor (LDR) reading the flashing LED from household power meter (1000 imp/kwh)

![alt tag](http://i.imgur.com/rdK37ud.png)

Copy files to
1. `/home/pi/magicaespeculo/scripts/wlan-monitor.sh` (change wlan0 if using different interface name, check ifconfig)
2. `/home/pi/magicaespeculo/scripts/send_powermeter.py` -sends status values every 60secs to backend (Json)
3. `/home/pi/magicaespeculo/scripts/powermeter` -autostart script in case of reboot

Edit `send_powermeter.py`  to match your wiring and change the backend address

setup powermeter autostart script

```
sudo cp powermeter /etc/init.d/
sudo chmod a+x /etc/init.d/powermeter
sudo update-rc.d powermeter defaults
```

#### cronjobs
Autoconnect to wifi if connection goes down
`sudo crontab -e`
```
*/1 *   * * *   sudo sh /home/pi/magicaespeculo/scripts/wlan-monitor.sh > /dev/null 2>&1
```
-------------------------------------------------------------
### Garage temperature / humidity logging
Raspberry Zero with 3x DS18B20 and 2x DHT22 sensors

#### Hardware
![alt tag](http://i.imgur.com/WBTJp5J.png)
#### Setup 1Wire sw:
Add the following line to `/boot/config.txt`
```
dtoverlay=w1-gpio
```

add the following lines to `/etc/modules`
```
w1-gpio
w1-therm
```
After reboot 1wire sensors should be listed in
`/sys/bus/w1/devices/`
and data in
`/sys/bus/w1/devices/00-xxxxxxxx/w1_slave`

#### Setup DHT22 libs:
```

sudo apt install build-essential python-dev python-setuptools python-pip avahi-utils git
sudo pip install requests
git clone https://github.com/adafruit/Adafruit_Python_DHT
cd Adafruit_Python_DHT
sudo python setup.py install
```
Copy files to
1. `/home/pi/magicaespeculo/scripts/wlan-monitor.sh` (change wlan0 if using different interface name, check ifconfig)
2. `/home/pi/magicaespeculo/scripts/send_garage_temp.py` -sends status values every 60secs to backend (Json)

Edit `send_garage_temp.py` to match your sensors and wiring and change the backend address

#### cronjobs
`sudo crontab -e`
```
*/1 * * * * sudo sh /home/pi/magicaespeculo/scripts/wlan-monitor.sh > /dev/null 2>&1
*/1 * * * * sudo python /home/pi/magicaespeculo/scripts/send_garage_temp.py > /dev/null 2>&1
```
-------------------------------------------------------------
# House temperature / humidity
Raspberry Pi 3 + 1wire + DHT22 (the same Raspberry Pi which is the backend)

Copy files to
1. `/home/pi/magicaespeculo/scripts/send_temp.py` -sends temperature/humidity values every 60secs to backend (Json)

`sudo crontab -e`
```
#send data every minute
*/1 * * * * sudo python /home/pi/magicaespeculo/scripts/send_temp.py > /dev/null 2>&1
```
-------------------------------------------------------------
# Ventilation

`sudo apt install python-pip`

`sudo pip install minimalmodbus`

Uses minimalmodbus library to read modbus register values from Enervent Pingvin ventilation unit.
Ventilaton unit is in slave mode (when using freeway modbus port) and the script acts as master to read register values
note: minimalmodbus does not support writing to coils, use ModbusClient, see example in scripts/write_modbus_example.py

Enervent slave configuration:
```
Plug RJ4P4C wire into Enervent motherboard plug named "Freeway" (not OP1 or OP2)
Baud rate 19200, 8bit, No Parity, 1 Stopbit (8N1)
Slave adress 1
Plug  Data A (+) (red) and Data B (-) (green) wires into modbus adapter. (ground (black) and +5VDC (Yellow) not needed)
```
Enervent modbus Register list can be found from [here](http://ala-paavola.fi/jaakko/lib/exe/fetch.php?media=eda_modbus_rekisterilista_2011-02-16.pdf) (Finnish only)

Copy files to
1. `/home/pi/magicaespeculo/scripts/send_ventilation.py` -sends ventilation values every 60secs to backend (Json)

`sudo crontab -e`
```
#send data every minute
*/1 * * * * sudo python /home/pi/magicaespeculo/scripts/send_ventilation.py > /dev/null 2>&1
*/1 * * * * sudo python /home/pi/magicaespeculo/scripts/send_technicalroom_temp.py > /dev/null 2>&1
```

Install dht22 libs if technicalroom_temp.py is used

-------------------------------------------------------------
# Solar production metering with Enphase Envoy-s

Copy files to
1. `/home/pi/magicaespeculo/scripts/send_envoy.py` -sends solar production values every 60secs to backend (Json)
2. Change username/password from the file and local envoy-s url in case multiple envoy's on the same network

`sudo crontab -e`
```
#send data every minute
*/1 * * * * sudo python /home/pi/magicaespeculo/scripts/send_envoy.py > /dev/null 2>&1
```

# rtl-443 lib using 433Mhz communication

USB dongle for dvb-t to capture 433Mhz sensor data:

```
sudo apt install git cmake libusb-1.0-0.dev build-essential librtlsdr-dev doxygen

git clone https://github.com/merbanan/rtl_433.git
cd rtl-433/
mkdir build
cd build
cmake ../
make

Optional:
sudo nano /etc/modprobe.d/raspi-blacklist.conf

blacklist dvb_usb_rtl28xxu
blacklist rtl_2832
blacklist rtl_2830
```

set the rtl-433 lib location to the mqtt433.py script
`sudo crontab -e`
```
@reboot sudo python3 /home/pi/magicaespeculo/scripts/mqtt433.py > /dev/null 2>&1
```

##  external sources

Gear image `images/gear_inv_5prv.png` modified from here: (included but not used)
https://pixabay.com/en/gear-icon-innovation-industry-856921/

Lightning image `lightning-clipart-aTqeak7rc.png` from here:
http://www.clipartpanda.com/categories/lightening-clipart

`house2.png` modified from `house_org.png` http://www.clker.com/clipart-house-8.html

`flame.css`:
http://codepen.io/dazulu/pen/fGFyj

#### IDEAS/TODO:
```
Robomow lawn mower schedule integration to calendar or directly via Bluetooth LE connection
```

Changes:

17.10.2016 - Added backup script

1.2.2017 - Added Enervent Ventilation unit

15.3.2017 - Added Wiring diagrams and updated dependencies

07.07.2017 - Added Enphase Envoy-s data for solar production

22.02.2018 - Added watermeter DB and placeholder for UI

02.03.2018 - Added MQTT client sub, for watermeter data

15.3.2018 - Added socket.io for realtime MQTT message: water leak, water consumption, front and garade door status, set/get alarm status

30.5.2018 - Added Emphase envoy inverters to 3 phases and sort the microinverter arrays to same layout as in the roof

12.6.2018 - Added rtl_433 door sensors and mqtt handler, IFTT push notifications moved from python script to node

12.8.2018 Added greenhouse temp, humid and vbatt logging to db via mqtt message

3.2.2019 Changed to use Dark Sky weather api

8.2.2019 Added darkSky api to prevent corrs from clientside js, lint fixes

17.9.2021 Fix migrate to work with bootsrap 5, update deps

30.9.2022 Upgrade to awesomefont 6.x, stop animation as Rasperry pi cpu+firefox cannot handle those

18.10.2022 update deps

13.11.2022 add electricy price toggle + update deps

License
MIT

Author [Teemu Hirsikangas](https://teemu.hirsikangas.fi)

The whole project documented in https://speculo.hirsikangas.fi/dyi/magicae-speculo-magic-mirror-with-homeautomation/


text:
Steve Zing (ur. 29 czerwca 1964 roku) – amerykański muzyk i instrumentalista udzielający się głównie w zespołach punkowych. W 1983 roku dołączył do zespołu Glenna Danziga Samhain, gdzie był perkusistą do roku 1985. Był także członkiem zespołu The Undead w latach 1983-1986. W 1999 roku wziął udział w trasie koncertowej zreaktywowanego Samhain, przez pierwszą jej część grał na gitarze basowej a przez drugą na perkusji. Obecnie jest perkusistą w zespole Doomtree.

W 2006 roku dołączył do zespołu Danzig jako gitarzysta basowy.

Przypisy

Amerykańscy perkusiści rockowi
Amerykańscy basiści rockowi
Członkowie Danzig
Urodzeni w 1964

redpajama_set_name: RedPajamaWikipedia


text:
Football Federation Australia focused on 'embracing' Indigenous communities
Ben Worsley
Photo: Renewed focus ... David Gallop (2ndR) with sporting identities including Craig Foster (2ndL) and Mark Ella (3rdL). (ABC: Ben Worsley)
Map: Jervis Bay 2540
Football Federation Australia (FFA) is beginning a major push to tap into the sporting talent in Australia's Indigenous communities.
Historically, the AFL and NRL have been the codes that attract the majority of Indigenous players but FFA chief executive David Gallop wants that to change.
The first step is a national Indigenous football championship, which is to be held on the New South Wales' south coast in early November.
"Football's got some catching up to do, in terms of embracing the Indigenous communities and making sure we provide opportunity for Indigenous boys and girls to play football, so I think this championship that we're launching today is an overdue step," Gallop said.
"I don't talk much about my previous job (NRL chief executive) but I did see in that job the enormous difference that sport can make in those communities and the excellence that Indigenous boys and girls, men and woman, can bring to sport in terms of their ability."
Bernie McLeod started one of Australia's first all-Indigenous football clubs 10 years ago at Wreck Bay on New South Wales' south coast.
He is the brains behind next month's inaugural national championships, which will bring together teams from across Australia and New Zealand.
"It's just fantastic that the championships will attract up to 1,000 participants this year and we're hoping to double that in the next few years," McLeod said.
Retired Socceroo Craig Foster says it is time football developed a closer relationship with Indigenous Australia.
"As ex-players we eye hungrily the potential talent when we see Indigenous kids running around," he said.
"But it's about much more than that. It's about the communities involved, and it's about the country.
"It's about giving the benefit and beauty of our Indigenous culture to the world and that can only really happen, most effectively, through football.
"We're not talking about taking Indigenous players from other games ... we're talking about choice, and giving more kids from more communities the opportunity to excel, and through our game, to see the world."
Topics: soccer, socceroos, sport, community-and-society, indigenous-aboriginal-and-torres-strait-islander, jervis-bay-2540
More stories from Australian Capital Territory
SPORT Sam Harper subbed out of BBL game with concussion after spectacular collision

redpajama_set_name: RedPajamaCommonCrawl


text:
Jeffrey Epstein's Ties to Clinton, and His Questionable Source of Wealth
July 11, 2019 by Jeff Carlson, CFA
While media focus on Trump, larger questions remain about Epstein's finances and ties to Bill Clinton
Jeffrey Epstein was arrested on July 6 after landing at Teterboro Airport in New Jersey upon his return from a trip to France. Epstein was previously indicted in 2007 on charges he abused underage girls, but reached a controversial plea deal, in which he served only 13 months in a low-security facility that allowed him to work from his office each day.
Epstein now faces federal charges of sex trafficking and conspiracy to commit sex trafficking that may lead to him spending the rest of his life in prison. DOJ officials have indicated that they expect the charges against Epstein to expand as they delve further into the case. Attorney General William Barr has said he will not recuse himself from the newly opened Epstein case, although he "will remain recused from any retrospective review" of Epstein's earlier case in Florida.
Questions surrounding Epstein have existed for a long time, including the source of his wealth and his relationship to former President Bill Clinton, who, according to flight logs, flew on Epstein's personal jet 26 times.Continue Reading
July 6, 2019 by Jeff Carlson, CFA
Crucial questions that should be asked when former special counsel testifies before House committees on July 17
Robert Mueller, who investigated allegations of Russia collusion and obstruction of justice for nearly two years as special counsel, will be testifying before the House Judiciary and Intelligence committees on July 17.
Mueller's investigation, which concluded there was no evidence that the Trump campaign colluded with Russia and that there was insufficient evidence to support obstruction charges, has been criticized for attempting to inflict political damage on President Donald Trump.
Specifically, Volume II of the Mueller report contained sections that were selectively edited, apparently in order to provide damaging portrayals. Examples include the representation of the transcript of a phone call between the president's attorney, John Dowd, and the attorney for former national security adviser Michael Flynn; a letter from the attorney of an individual referenced in the Mueller report; and a sequence of dates concerning the meeting between Trump campaign adviser George Papadopoulos and Australian diplomat Alexander Downer. There are also disturbing details surrounding a heavily used witness in the Mueller report, George Nader.Continue Reading
Tracing the Origins of Congressional Democrats' 'Obstruction' Strategy
June 25, 2019 by Jeff Carlson, CFA
Efforts by members of Congress to advance the narrative that President Donald Trump "obstructed justice" have now replaced the disproven claims of Trump-Russia collusion.
The public narrative of obstruction, however, originated prior to the conclusion of the investigation by special counsel Robert Mueller and his resulting report.
Less than six months after Mueller's appointment—on Oct. 10, 2017—the Brookings Institution published the first of two reports titled "Presidential Obstruction of Justice: The Case of Donald J. Trump," which outlined, among other things, a scenario whereby Mueller would refer his obstruction findings to Congress, which would then take up the matter and continue investigating. The report also discussed ways in which Congress could impeach the president, mentioning the word "impeachment" a total of 90 times.Continue Reading
Nunes Details Flaws in Mueller Report, Compares It to Steele Dossier
Rep. Devin Nunes (R-Calif.), the top Republican on the House Intelligence Committee, sharply criticized the Mueller report during a June 12 hearing, saying the report failed to address key players and irregularities in the FBI's investigation, and selectively edited certain information.
Nunes also called out his Democratic counterparts, saying that former special counsel Robert Mueller's report did debunk many of the false claims of collusion between the Trump campaign and Russia that had been perpetuated by Democrats, including members of the House Intelligence Committee.
Witnesses at the hearing—titled "Lessons from the Mueller Report: Counterintelligence Implications of Volume 1″—included Robert Anderson and Stephanie Douglas, described by House Intelligence Committee Chairman Adam Schiff (D-Calif.) as former executives from the FBI's counterintelligence division. Left out of Schiff's description of Anderson and Douglas was that both witnesses had worked under former FBI Director Mueller prior to his role as special counsel.Continue Reading
Hezbollah's London Bomb-Making Plot, the Iran Nuclear Deal, and Bruce Ohr
Terrorists linked to Iranian-backed Hezbollah were stockpiling bomb-making ingredients, including three tons of ammonium nitrate, in London in 2015 in what was described as a "secret British bomb factory," the Daily Telegraph reported this week.
The 2015 case was kept "hidden from the public" until now.
The discovery of the explosives cache in 2015, and the subsequent decision to keep that information from the public, occurred during a period of intense public debate over the nuclear deal between the Obama administration and Iran.Continue Reading
Meadows: 'There's a Cover-up Within Certain Realms at the FBI'
Meadows discusses IG report, newly found documents, and FBI involvement in Spygate, with Fox News' Maria Bartiromo
Rep. Mark Meadows (R-N.C.), in an interview on "Sunday Morning Futures with Maria Bartiromo," touched on a wide range of issues including the investigation by Justice Department (DOJ) Inspector General Michael Horowitz, the potential testimony before Congress of former special counsel Robert Mueller, the release of new documents this week, and whether people in the FBI and DOJ will be held accountable.
About the investigation by Horowitz into alleged FISA abuse, Meadows said that he expects the report to be delayed.
"Only Michael Horowitz knows the exact timeframe of when it's coming out. Obviously, the attorney general had indicated that he hoped to see it in June. I'm not as optimistic now. And one of the reasons for that is additional information has been given to the inspector general for them to investigate," Meadows said.Continue Reading
5 Discrepancies Call the Accuracy of Mueller's Report Into Question
June 6, 2019 by Jeff Carlson, CFA
The Mueller report appears to have been carefully worded by the lawyers working under former special counsel Robert Mueller, and perhaps Mueller himself, in a manner designed to inflict political damage on President Donald Trump.
Additionally, we now know that sections of the report were also selectively edited to provide damaging portrayals. Examples include the representation of the transcript of a phone call between the president's attorney, John Dowd, and the attorney for former national security adviser Michael Flynn, a letter from the attorney of an individual referenced in the Mueller report, and a sequence of dates concerning the meeting between Trump campaign adviser George Papadopoulos and Australian diplomat Alexander Downer.
Lastly, there are troubling and disturbing details surrounding a heavily used witness in the Mueller report, George Nader.Continue Reading
New Details on Spygate, Mueller & Ongoing Investigations Revealed in Barr Interview
US Attorney John Huber Looking Into Issues Relating to Hillary Clinton
In an hour-long, wide ranging interview with CBS News' Jan Crawford, Attorney General Bill Barr provided a significant amount of new information regarding the Mueller Report, the Russia Investigation, and his examination of the events surrounding the 2016 presidential election.
Barr addressed the actions taken by the leadership of the FBI and other agencies, and noted the dangers of allowing "government power, law enforcement or intelligence power, to play a role in politics, to intrude into politics, and affect elections."
He also addressed declassification, his ongoing investigation into surrounding matters, and the involvement of U.S. Attorney John Huber, Inspector General Michael Horowitz, and U.S. Attorney John Durham.Continue Reading
Impact of Barr's Declassification Authority Triggers Political, Media Panic
On May 23, 2019, President Trump issued a Memorandum giving declassification authorization to Attorney General William Barr. The memo noted that AG Barr has full authority to "declassify, downgrade, or direct the declassification or downgrading of information or intelligence that relates to the Attorney General's review."
The memo was addressed to the Secretaries of the State, Treasury, Energy, Defense, and Homeland Security Departments—along with the Directors for National Intelligence and the CIA. Also included was the Attorney General, which by default inherently covers the FBI.
The subject line, "Agency Cooperation with Attorney General's Review of Intelligence Activities Relating to the 2016 Presidential Campaigns," was particularly notable in its use of plurals, denoting the investigation was potentially looking at interference into campaigns beyond that of just President Trump.Continue Reading
UK Intel Agencies Frame Spygate Involvement Ahead of Trump's Declassification
The Telegraph published two separate articles detailing their version of when the heads of UK intelligence were briefed about the contents of former MI6 agent Christopher Steele's dossier of claims about Donald Trump's ties to Russia.
According to The Telegraph, the UK spy chiefs were briefed before President Trump was made aware of their existence by former FBI Director James Comey, but notably after the 2016 presidential election had taken place:
"The heads of MI5 and MI6 and one of Mrs. [Prime Minister Theresa] May's most trusted security advisers were told about former British intelligence officer Christopher Steele's memos on the Trump campaign in the weeks after his November 2016 election victory."Continue Reading


text:
Ọláoyè is both a surname and a given name of Yoruba origin meaning "a combination of prestige, success and wealth from/with chieftaincy". Notable people with the surname include:

Abiodun Olaoye, Nigerian Anglican bishop
David Olaoye (born 1996), English footballer of Nigerian descent
Dele Olaoye (born 1982), Nigerian footballer

Surnames of Nigerian origin


It's a common problem for my students: They have an idea, a melodic sequence for example, a beat pattern, a sounds, a line of text for a song… a have to start setting up a proper session for recording or sequencing their idea before they can start to record the input. Often, the idea is blurred or lost before they even start to catch it. This class will teach you how to build your very own preset template for any DAW (I'll use Ableton Live) to save time when starting new projects. We'll create a new session with all tracks named and colored, create track grouping, insert your favourite synths or fx plugins, set up send/return channels, enable midi routings, program your favorite beat patterns, prepare special tracks for side chaining and much more.
You may save your preset (or some of them, if you have different situations coming up when working in the studio) and save lots of time. No long preparations needed any more, just making music immidiately!


The Department of Homeland Security's cybersecurity team has warned employees of federal, state and local agencies that they have been targeted by a phishing campaign masked as an unpaid bill.
The warning is contained in a Traffic Light Protocol: Green notice to government employees issued by DHS' National Cybersecurity and Communications Integration Center. The notice states that the education and financial sectors, and international, state, local and tribal organizations have also been targeted. TLP messages are sent to peer and partner organizations in affected areas and are not disseminated publicly.
The Oct. 17 notice was posted on the Public Intelligence open-source website on Dec. 15.
According to the NCCIC notice, the PDF file has been seen with various numbers after the word "invoice," which is spelled correctly in some of the messages and incorrectly in others. Nevertheless, NCCIC said all the messages likely originate from a single campaign.
Center officials also said an analysis conducted on the malware showed that the products of only 29 of 54 security vendors can currently detect it and that the campaign could lead affected computers to become more susceptible to the Dyre or Dyreza banking malware. Similar to other types of banking malware, Dyreza exploits vulnerabilities to give malicious actors remote access to infected machines and intercept sensitive login information such as usernames and passwords.
Most of the major security vendors -- including F-Secure, AVG, Bitdefender, McAfee, Kaspersky Lab and Symantec -- can detect the Dyreza malware. However, the new "UNPAID INVOIC" campaign could be using a newer variant of that malware, officials said.


text:
Home » Kickstarter » Startups » You are reading »
Kickstarter Successfully Funds French VR Project
John Marco Oscillada February 13, 2015 Kickstarter Successfully Funds French VR Project2016-02-07T16:03:13+00:00 Kickstarter, Startups No Comment
The Immersis VR projector. Photo: Catopsys
Virtual reality has made its way in a French fashion. And this time, it's a totally different approach. It's so different, it's a departure from the usual VR headsets that we know. French technology startup Catopsys has invented a way to experience virtual reality without a headset. Yes, you read that right. How is that possible? A VR project called Immersis is synonymous to headset-free virtual reality experience. Catopsys took their project in Kickstarter for crowdfunding, and it was a success. As of this writing, the VR project already surpassed its initial funding goal of $100,000 – earning an exact figure of $102,385 made possible by 177 supporters.
According to the Kickstarter project website, Immersis' slogan says, "The ultimate virtual reality experience for immersive gaming and video, sharable with others and adaptable to your living space." The technology concept behind Immersis is actually not new; in 2013 Microsoft Research has released a white paper about their virtual reality technology concept called IllumiRoom. IllumiRoom is an Xbox projector designed to produce the on-screen assets of the Xbox in a projected fashion. The Immersis has realized Microsoft's concept today. Immersis is a projector that transforms a room into displaying objects in virtual and augmented reality.
One thing about Immersis is that it's foldable and portable. Photo: Catopsys
The project website also talks about the disadvantages of the usual VR suspects such as the high-end headsets. These stereoscopic VR headsets, according to Immersis, can have adverse side effects since it's unnatural. Immersis promises to eliminate these undesirable effects associated with VR headsets, and will be taking virtual reality into real space. The project says that its users will be able to project their content to share with other people, and the eye strain or fatigue that VR headsets usually give will be a thing of the past.
Immersis in action. Photo: Catopsys
Immersis is a projector that connects to any computer, and displays a projected image with real-time image processing made possible by advanced optical systems. It has also the option for integrating existing equipment such as HDTVs, tablets, or another monitor to aid in providing a higher resolution image or even to interact using touch controls. All existing peripherals such as mice, keyboards, and gamepads will work with this VR projector. The VR projector has built-in support for game plugins like Unity and Unreal Engine to give a wide compatibility with existing mainstream video games. Videos and photos projected using Immersis will also benefit from its VR technology, especially photos taken using Google's Photo Sphere in Android smartphones and tablets.
The underlying technology that runs in Immersis is a patented technology that allows the projected pixels' location in space to be detected in real time. By this, the user can change his point of view and still maintain the illusion of projected objects in space – of course, in real time. With the help of room calibration, Immersis can automatically adjust the content projection to its room application. The VR project has been successfully funded, and still has less than a week for crowdfunding. The first version of Immersis will be available to its backers later this year.
For more information on the Immersis VR project, please visit the following websites:
http://www.immersisvr.com
https://www.kickstarter.com/projects/catopsys/immersis
http://www.catopsys.fr/home/
Microsoft Reveals $299 VR Headset for Windows 10
Facebook Alpha Testing its Horizon Social VR App
Quest PC Connection Oculus Link Beta Software and Cable Specs Now Available
This Smart Ring is a Fresh Take on VR Motion Control
Beat Saber Releases 'Origins' Early Build to Celebrate First Anniversary
https://virtualrealitytimes.com/2015/02/13/kickstarter-successfully-funds-french-vr-project/https://virtualrealitytimes.com/wp-content/uploads/2015/02/immersis-innovative-600x480.jpghttps://virtualrealitytimes.com/wp-content/uploads/2015/02/immersis-innovative-150x90.jpg 2016-02-07T16:03:13+00:00 John Marco OscilladaKickstarterStartupsVirtual reality has made its way in a French fashion. And this time, it's a totally different approach. It's so different, it's a departure from the usual VR headsets that we know. French technology startup Catopsys has invented a way to experience virtual reality without a headset. Yes, you...John Marco OscilladaJohn Marco Oscilladaoscilladajm@gmail.comSubscriberVirtual Reality Times
« Sony to Give an Update on Project Morpheus at GDC 2015
Crytek Game Company Working On In-House VR Experience »
Google Set to Lead $500 Million Investment in Magic Leap
Internet's biggest search engine Google and a number of other investing companies are planning to invest …
Google's 'Weird Cuts' Invites Users to Cut Out Pieces of Reality to Make Collages and Assemblages
The Google Arts and Culture Lab has partnered with the artists Zack Lieberman and Molmol Kuo …
A New OSVR Hardware Dev Kit Launches in October
Good news for VR enthusiasts. Open Source Virtual Reality (OSVR), the virtual reality software platform by …
Google's 'Tilt Brush' Soon Coming to PSVR
Google's Virtual Reality creation app Tilt Brush is soon coming to PSVR. The app was recently …
3dRudder Adds Support for Quest via Oculus Link
The PC version of 3dRudder is getting a beta update for use with Oculus Quest along …


OnePlus 6T is a premium phone that comes with the Android Pie based OxygenOS. In this video, we are going to talk about the tips and tricks of the phone, with the most basic ones including the ones to customize home screen, customize the settings for display, and the gesture features that are available for the phone in the Oxygen OS.
Its not Gaystures, its Gestures. Stop saying that!!
The dance music in the back ground makes your video trashy and unwatchable!
How do I add another screen to the home screen?
Its A Very Detailed Video And A Must Watch For 6t Users To Explore Their Phone.
Can you please tell me how to get back the "never settle" widget on the home screen ,I deleted it by mistake.


Are more children developing allergies?
It seems these days that everywhere you turn there is a child with some type of allergy. Gone are the days of sending peanut butter sandwiches in school lunches, and planning a birthday party can mean accommodating for a few different allergies among attendees. Eggs, dairy, and nuts are the most common food allergies.
It's important to note that there is a difference between an allergy and an intolerance. An food intolerance is often mistaken for an allergy, and can have a variety of symptoms, often originating in the gastrointestinal tract. Intolerances do not involve the immune system, and are usually caused by an inability to digest or absorb certain foods, or components of those foods.
An allergy occurs when your body's immune system overreacts to a normally harmless substance. Symptoms can vary widely in type and severity. With food allergies, it is usually the proteins in foods that cause a reaction. There are eight types of foods that are believed to cause 90% of all food allergies. They are: milk, eggs, peanuts, tree nuts, fish, shellfish, soy and wheat.
Are allergies more common today?
In a word: Yes. The CDC (Center for Disease Control) reported an increase in food allergies of about 18 percent from 1997 - 2007, especially among children. Current numbers estimate that 5-6% of children have food allergies. The reason(s) for the increase in allergies among kids isn't clear, and many theories exist.
One possible explanation for the rise in diagnosis of food allergies is an increase in awareness. Parents and physicians may be more likely to consider a food allergy diagnosis these days when, years ago, people may have attributed a rash or vomiting as just common illness. It didn't always occur to people to consider food as a cause. Others attribute the increase in food allergies to the changes we've made to the way we grow and process foods.
One thing we do know is that most children outgrow their food allergies to milk, egg, soy, and wheat by the time they are 10 years old, and often before 5 years of age.
It is estimated that about 85% of children who are allergic to milk or eggs will outgrow their food allergy, and just about all children who are allergic to soy or wheat will outgrow their allergy, too.
According to The Food Allergy & Anaphylaxis Network, most children will outgrown their food allergies to milk, egg, soy and wheat between 5 and 10 years of age. It's estimated that about 85% of children with allergies to milk or eggs will outgrow them, however, not all allergies are likely to be outgrown. Only about 10-20% of kids will outgrow their allergies to nuts, fish or shellfish, and therefore, these allergies are usually lifelong.
If you think your child has a food allergy, it's important to get an allergy test done from your doctor. Eliminating foods from your child's diet without a proper diagnosis may compromise their nutritional intake. For more information, visit www.foodallergy.org.


text:
Slovenian International is een badmintontoernooi gehouden in Slovenië (voormalig Joegoslavië).

Het toernooi wordt sinds 1963 gehouden als internationaal badmintontoernooi, destijds onder Joegoslavische naam. Sinds 1993 wordt het toernooi georganiseerd onder Sloveense naam. Het toernooi doet mee in het BE Circuit.

Winnaars

Badmintonwedstrijd
Sportevenement in Slovenië


text:
Q: Why do you name the class twice during instantiation in Java? When you instantiate an object, why do you specify the class twice?
OddEven number = new OddEven();

Why can't you just say number = new OddEven();? When I declare a string, I only say String once:
String str = "abc";

Actually, my question is not "why do you do it this way" -- obviously, you do it because you have to -- but rather, why did the creators choose to make Java syntax work like this?
My thoughts are:

*

*There is something fundamental to the way Java operates at a low level that necessitates typing the name twice, or

*The creators freely choose to do it this way to keep some aspect of the syntax uniform -- declare the type first? Or was it to be more like its predecessors?

A: The reason for the seemingly redundant type name is that you are performing two separate operations, each of which requires you to specify a type.
On the left side, you are declaring a variable (a storage location) with a particular type.  On the right side, you are creating a new object with a particular type.  The '=' in the middle causes a reference to the new object you created to be placed in the storage location you created.
The types on each side do not have to be the same.  This, for example, is legal code:
Object number = new OddEven();

The reason that the keyword String only shows up once in your second example is that the type String is implied on the right hand side since "xxx" is a String constant.  It is simply shorthand for:
String string = new String("xxx");

A: Because you can do this:
Superclass x = new Subclass();

The type of the reference can be a superclass of the actual object being declared, so you need to specify both.   For example, you can do:
List<String> stringList = new ArrayList<String>();

Your program interacts with objects that implement List, and you don't care about the implementation.,

A: When you write:
OddEven number = new OddEven();

You actually  do two things : 1) you declare a variable number of type OddEven and 2) you assign a reference to a new instance of class OddEven. But because a variable can hold any subtype of a type, writing number = new OddEven(); wouldn't be enough for the compiler to know the real type of the number variable. So, you have to declare it too. Java is a strongly typed language, which means that every variable and every expression has a type that is known at compile time. You may want to read the whole Chapter 4. Types, Values, and Variables of the Java Language Specification (JLS) to learn more on this.
Now, when your write:
String str = "abc";

Things are a bit different. Characters enclosed in double quotes, "abc" here, are called a string literal which is already a reference to an instance of String and always refers to the same instance of class String. Quoting the section 3.10.5 String Literals of the JLS:

Each string literal is a reference
  (§4.3) to an instance
  (§4.3.1, §12.5) of class
  String (§4.3.3). String
  objects have a constant value. String
  literals-or, more generally, strings
  that are the values of constant
  expressions (§15.28)-are
  "interned" so as to share unique
  instances, using the method
  String.intern.

So, String str = "abc"; is certainly not converted into String str = new String("abc"); which is absolutely not equivalent as I've read in some comments and answers. Running the following class:
public class Test {
    public static void main(String[] args) {
        String one = "abc";
        String two = "abc";
        String abc = new String("abc");

        System.out.println(one == two);
        System.out.println(one == abc);
    }
}

Produces the output below:
true
false

And demonstrates that  one and two are references to the same instance but that abc is a reference to another instance (i.e. an extra unnecessary object has been created).
Actually, using new String(String) is a inefficient way to construct new strings and should only be used to force a substring to copy to a new underlying character array, as in
String tiny = new String(monster.substring(10,20))

A: Think of 'OddEven number' as defining the Object and 'new OddEven();' as filling the object.
I'm not going to get into detail about superclasses and subclasses because other people have explained it already.

A: When you say String name = "foo", internally Java compiler creates a String object with the value "foo" and it assigns its reference to name variable. So, here instead of creating a new String object, we are assigning a reference to the other String object.
Btw, the compiler anyway creates "foo" for us. It first looks in String Pool, if it not exists, only then it creats "foo". Otherwise, Compiler returns a reference from String pool. This is some optimization that Java compiler performs internally.
String name = "foo" is simlar to OddEvenNumber oddEven = anotherOddEvenObject;

A: Array example:
declaration and initialization - when you know the length of the array:
int[] numberArray = new int[10];

declaration then initialization - when you don't know the length of the array yet and might get it from a method or user input
int[] numberArray;
int length = 10; // let's say we got this from the user
numberArray = new int[length];

Initialization only - when you don't need to reuse:
return new int[10];

A: First OddEven is the type, second is the instance. It need not be even OddEven, it could be any subclass of OddEven. It does not mean you have type it twice. Any IDE have code templates where you have to type the name only once.

A: The first declaration is the type of variable you want to use in the scope you have, in this case it is OddEven, the second declaration is the constructor to use for instantiating (and in this case initializing) the reference.
You could have said INumberInstance = new OddEven(), where INumberInstance is some class which OddEven can be cast to (like a super of OddEven for instance).

A: The way to create a new object in java is:
Class_name reference_variable = new Class_name(param_if_any);

But the string class is an exception.
You can create a new string object as
String s = "abc";

or
String s = new String("abc");

A: Further to what Jim said, Java is a statically typed language.  That means that every varable has a type that is know at compile time.
For instance:
public class A
{
    public void foo() { }
}

public class B
{
    public void foo() { }
}

public class Main
{
    public static void main(final String[] argv)
    {
        A a = new A();
        B b = new B();

        a.foo();
        b.foo();
    }
}

the compiler looks at "a.foo()" and "b.foo()" and checks to see that a is of type A and A has a method called "foo" that takes no arguments.  The compiler does the same for "b.foo()".
If you could write main like this:
public class Main
{
    public static void main(final String[] argv)
    {
        a = new A(); // in Java you would really do Object a = new A();
        b = new B(); // in Java you would really do Object b = new B();

        a.foo();
        b.foo();
    }
}

then the compiler could not do that verification and it would have to happen at runtime.

A: The designers of Java did not have to make the syntax redundant.  Scala is another language using the JVM, and it's also statically typed.  Scala uses type inferencing to cut out verbosity.  For instance here's a declaration of a variable of type MyPair called x.  MyPair associates two variables with each other.  It's a generic class, so you can specify that the first variable have type Int and the second the type String:
var x: MyPair[Int, String] = new MyPair[Int, String](1, "scala")

Scala type inferencing lets you remove the redundant type declaration:
var x = new MyPair[Int, String](1, "scala")

And Scala even infers types based on the constructor arguments, so you can write it this way:
var x = new MyPair(1, "scala")

A: Consider the following example,
We can specify the object type as follows,
List<String> abc;

In method1(), if you want to use array list which suits the best for it requirements then we can instantiate like as follows,
abc = new ArrayList<String>();

In method2(), if you want to use Linked array list which suits best for it requirement then we can instantiate like as follows,
abc = new LinkedList<String>();

So, the idea is that we can specify the type of "SuperClass" and instantiate with whatever subclass suitable for different requirements like "LinkedList" and "ArrayList" in the appropriate operation dynamically.

redpajama_set_name: RedPajamaStackExchange


The experts for Six Month Smiles in Withington, Didsbury and Manchester.
Six Month Smiles® is for adults with crooked or spaced teeth who are unhappy or embarrassed with their smile. Six Month Smiles® fits into YOUR lifestyle without the hassle of spending 2 or more years in traditional metal braces.
Whether Six Month Smile® is the right system for your will be discussed at your no-obligation consultation at Brooklyn Court with Dr Moiz Mohammed. Call or mail now to arrange!


text:
LA CIVILTÀ CATTOLICA – The Meaning of Francis' International Politics
Church Thought
La Civiltà Cattolica
The Meaning of Francis' International Politics
José Luis Narvaja, SJ
In order to trace the pope's political map of the world and grasp the roots of his international politics, we must avoid simplification and find the right keys to interpretation.[1] It is useful to start from his biographical and cultural roots, but it is also necessary to go beyond this. In any case, we must always bear in mind that the pope's agenda is open and that this openness is a specific characteristic of his politics.
We may distinguish four aspects of the pontiff's politics: their kerygmatic nature, their orientation towards wholeness and unity, their origin in discernment, and the direct connection he draws between politics and charity.
Kerygmatic politics, not ideology
Francis' politics are kerygmatic. The term kerygma indicates the announcement of the message of Christ, the Gospel.[2] For Francis, the announcement of the Gospel becomes political; political commitment emanates from the Gospel, and not from an ideology.[3]
We know that for the Greeks – who invented the term – politics is the art of building the polis, the city in its entirety. It creates order in internal relations through internal policy, and at the same time security in external relations through foreign policy.[4]
The modern view of politics differs from this ancient framework. Today, politics is often understood as the "art of the possible," which becomes the "art of factions" – the art of partiality, whether in support of a person, a party or a state. Politics is thus at risk of becoming the art employed by some biased people to assert their own interests.
The pope's vision is starkly different from this calculating, manipulative idea of politics. In an article published in 1987, Jorge Bergoglio said a given fact has "political value" – is authentically political – when it carries a message, a relevant meaning for the people of God.[5] Francis' political message has kerygmatic value: it is an announcement of the Gospel and not of an ideology. Therefore, it is of value to all the people of God, and not just to a faction or a party representing a particular set of interests.
This article is reserved for paid subscribers. Please subscribe to continue reading this article
La Civiltà Cattolica !
This article is reserved for paid subscribers
Please login or subscribe to continue reading this article
What is La Civiltà Cattolica?
July - Issue 1906
The Cultural Challenge of Video Games
by Giovanni Cucci, SJ
Religions and Violence
'Let us throw ourselves into history': Francis in Bulgaria and North Macedonia
Water has no enemy: the ethical value of access to water
Culture and Politics in China: The May Fourth Movement, 1919
The New Silk Road in Central Asia
by Vladimir Pachkov, SJ
The Dignity of Minors in the Digital World
The Pedophile Problem
Preparing the Meeting of Bishops on the Protection of Minors
"Today the Church needs to grow in discernment:" Pope Francis meets with Polish Jesuits
Benoit Vermander, SJ
Is Anything 'Sacred' in Shanghai? Religious and spiritual geography of a Chinese metropolis
Interreligious Dialogue in Asia: A look at the past to understand the future
Making Christianity More Chinese? Pastoral perspectives
Beatus Populus Cuius Dominus Deus Eius
Are you a print subscriber? Check out the options to change from Print to Digital Edition
China Forum
© Union of Catholic Asian News 2019 | All Rights Reserved
Except for any fair dealing permitted under the Hong Kong Copyright Ordinance, no part of this publication may be reproduced by any means without prior permission.
laciviltacattolica.com uses cookies and similar technologies to optimize the user experience, analyze site traffic and communicate with subscribers. To read more about how we use cookies and how you can control them click on settings, or click Accept to start browsing our site.
Click here to read our detailed Privacy Policy
More information about our Cookie Policy is available in clauses 6,7,8,9 & 10 of our Privacy Policy


vSPI is a Verilog implementation of an SPI slave. Think of it as a very fast serial port. It can reliably transfer data at 27.9 mbps on an Atlys FPGA devkit (a Spartan-6 with a 100 MHz system clock).
You can use it to send data between your FPGA/ASIC project and other devices, such as a desktop computer I'm using it to send data between a self-flying RC-helicopter and my PC. If all goes according to plan, I'll be able to see live video from the helicopter's camera on my PC. I'll also be able to inject test data and make sure my logic works with known test vectors.
spiifc: The minimal logic that implements the SPI slave. spiifc takes the usual four SPI lines (MOSI, MISO, SS, SCLK) and has interfaces for input and output buffer memories as well as a register bank (more on what they do is below). If you work directly with spiifc, you'll need to figure out how to get this stuff to interface with the rest of your project. This is a good place to start if you have a project without a system bus or a non-PLB bus.
PLB interface: vSPI includes also includes a PLB interface if desired. PLB is one of the system bus protocols supported by the Microblaze processor provided in Xilinx's EDK (sometimes known as XPS). I may also add support for one of ARM's AMBA bus protocols later (AXI, etc.), but there is zero support for thst right now.
spilib python library: spilib is a python library that is used on your PC to make talking with spiifc easier. It is currently built on TotalPhase's Cheetah SPI USB/SPI adapter API. It makes interactions between a PC (master) and spiifc (slave) simple.
spiifc uses two 4KB buffers to send data to the master (master in, slave out - MISO) and to receive data from the master (MOSI). Spiifc provides interfaces to these buffer SRAMs but you must provide the SRAMs. When spiifc receives data from the master, it writes each byte in succession to the MOSI buffer. When the transfer is complete, you'll be able to access the transfer by reading the SRAM. Sending data is similar: write your transmission to the MISO buffer. The master will then be able to access the data on it's next read.
You'll want to use a dual port memory so that spiifc has one port and you can access the other. Note that spiifc only needs a read port for the MOSI memory and a write port for the MISO memory, so you can get by with a read port and a write port rather than true dual ported memories.
spiifc also provides access to a register bank of 16 registers. This is useful for synchronizing control between the slave and master. For example, if the slave wants to indicate that new data is available in the MISO buffer, it could change a register value. The master could poll this register periodically to see if it should perform another read. Again, spiifc provides an interface for the regfile, but you must provide it yourself.
Read Start (0x01): Sends the data stored in the MISO buffer to the master, starting at the byte (address 0) in the MISO buffer. SPI sends a bit back to the master for every bit it sends to the slave, so just send as many garbage bytes as you want to read out from the MISO buffer.
Write Start (0x03): Writes data into the MOSI buffer, starting at address zero. Just write as many bytes as you want after the command, and they will be recorded in the buffer.
Read Register (0x80 to 0x8F): Reads the value stored in one of the sixteen registers. Write four garbage bytes after the command to get the 32-bit register value. The first byte is most significant, the fourth is the least significant. The least significant four bits indicate which register to read from.
Write register (0xC0 to 0xCF): Writes a value to one of the sixteen registers. The four bytes after the command is the value to write. The most significant byte is first, the least significant is last. The least significant four bits indicate the register to write to.
Of course, if you use spilib, all of this protocol stuff is taken for you. Just call the provided functions for each of the commands.
The EDK peripheral takes care of a lot of the setup if you're using a Xilinx Microblaze system with a PLB system bus. RAMBs are included for the MISO and MOSI buffers and a register file is provided for the spiifc registers.
The MOSI buffer (Memory 0) and MISO buffer (Memory 1) have their own memory mapped regions and are directly accessible as well.
Note that if the spi master and Microblaze both try to write to the same register at the same cycle, the spi master will silently win and the Microblaze's write will be thrown out.
There is no interrupt support right now, but it might be added later.
spilib is a python library for controlling a Cheetah USB/SPI adapter to communicate with vSPI. Functions for all spiifc commands are supported.
spilib is located in /scripts/master/spilib.py. Check out spitest.py for examples of how to use it.
spiwrap: displays the least significant byte of the latest 4 bytes written to the MOSI buffer on the Atlys devkit's 8 LEDs.
spiloop: uses one buffer for both MISO and MOSI buffer interfaces. Anything written to MOSI is immediately readable in the MISO buffer. Use with the MemLoopback test in spitest.py to continuously send 4KB packets and verify you get the same ones back.
Use in combination with the XpsLoopback spitest.py test.
The PC writes 4 KB of random data to the slave's vSPI MOSI buffer.
The FPGA waits until Reg 0/bit 0 is 1 before proceeding (so it knows when the master is done writing to the MOSI buffer).
The FPGA uses Xilinx's DMA controller to copy the 4 KB data from the MOSI buffer to the MISO buffer.
The FPGA changes Reg 0 / bit 1 to 1 to indicate new data is ready in the MISO buffer.
Note that the EDK demo can only operate vSPI at 22 mbps. This is a result of the 66.67 MHz bus clock.
vSPI has been tested on an Atlys Spartan-6 LX45-2 FPGA interacting with a Cheetah USB/SPI adapter. Max speed is 27.9 mbps with a 100 MHz system clock. Please let me know if you can or cannot get it to work on other hardware.
vSPI has also been tested on a custom-designed platform for remote-controlled helicopters based on low power Spartan-6L LX150. The MISO and MOSI buffers in the PLB peripheral needed to be regenerated due to the slight technology change switching to low power, but nothing else. vSPI has been used to send and receive test vectors, and remotely display the helicopter's video camera live. Video demo: http://flic.kr/p/bEZpAK.
If you use vSPI, whether for free or commercial purposes, I only ask that you let me know so that I can publicly keep track of who is using it. I don't care if you use it as is or modify it, so long as it isn't used in technologies to physically hurt or kill anyone (missile guidance systems, etc.).
If you want to use vSPI for any reason but wish to do so without publicly stating so, we can work out an alternative licensing agreement.
The vSPI project retains all ownership of code published here. Meaning, don't take the code, claim ownership, and then somehow sue the vSPI project.
You can reach me at buzz.vspi@clearhive.com.