text:
package org.apache.drill.exec.record.metadata.schema.parser;

import org.apache.drill.common.types.TypeProtos;
import org.apache.drill.exec.record.metadata.ColumnMetadata;
import org.apache.drill.exec.record.metadata.SchemaBuilder;
import org.apache.drill.exec.record.metadata.TupleMetadata;
import org.apache.drill.test.BaseTest;
import org.joda.time.LocalDate;
import org.junit.Test;

import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

public class TestSchemaParser extends BaseTest {

  @Test
  public void checkQuotedIdWithEscapes() throws Exception {
    String schemaWithEscapes = "`a\\\\b\\`c` INT";
    assertEquals(schemaWithEscapes, SchemaExprParser.parseSchema(schemaWithEscapes).metadata(0).columnString());

    String schemaWithKeywords = "`INTEGER` INT";
    assertEquals(schemaWithKeywords, SchemaExprParser.parseSchema(schemaWithKeywords).metadata(0).columnString());
  }

  @Test
  public void testSchemaWithParen() throws Exception {
    String schemaWithParen = "(`a` INT NOT NULL, `b` VARCHAR(10))";
    TupleMetadata schema = SchemaExprParser.parseSchema(schemaWithParen);
    assertEquals(2, schema.size());
    assertEquals("`a` INT NOT NULL", schema.metadata("a").columnString());
    assertEquals("`b` VARCHAR(10)", schema.metadata("b").columnString());
  }

  @Test
  public void testSkip() throws Exception {
    String schemaString = "id\n/*comment*/int\r,//comment\r\nname\nvarchar\t\t\t";
    TupleMetadata schema = SchemaExprParser.parseSchema(schemaString);
    assertEquals(2, schema.size());
    assertEquals("`id` INT", schema.metadata("id").columnString());
    assertEquals("`name` VARCHAR", schema.metadata("name").columnString());
  }

  @Test
  public void testCaseInsensitivity() throws Exception {
    String schema = "`Id` InTeGeR NoT NuLl";
    assertEquals("`Id` INT NOT NULL", SchemaExprParser.parseSchema(schema).metadata(0).columnString());
  }

  @Test
  public void testParseColumn() throws Exception {
    ColumnMetadata column = SchemaExprParser.parseColumn("col int not null");
    assertEquals("`col` INT NOT NULL", column.columnString());
  }

  @Test
  public void testNumericTypes() throws Exception {
    TupleMetadata schema = new SchemaBuilder()
      .addNullable("int_col", TypeProtos.MinorType.INT)
      .add("integer_col", TypeProtos.MinorType.INT)
      .addNullable("bigint_col", TypeProtos.MinorType.BIGINT)
      .add("float_col", TypeProtos.MinorType.FLOAT4)
      .addNullable("double_col", TypeProtos.MinorType.FLOAT8)
      .buildSchema();

    checkSchema("int_col int, integer_col integer not null, bigint_col bigint, " +
        "float_col float not null, double_col double", schema);
  }

  @Test
  public void testDecimalTypes() {
    TupleMetadata schema = new SchemaBuilder()
      .addNullable("col", TypeProtos.MinorType.VARDECIMAL)
      .add("col_p", TypeProtos.MinorType.VARDECIMAL, 5)
      .addDecimal("col_ps", TypeProtos.MinorType.VARDECIMAL, TypeProtos.DataMode.OPTIONAL, 10, 2)
      .buildSchema();

    List<String> schemas = Arrays.asList(
      "col dec, col_p dec(5) not null, col_ps dec(10, 2)",
      "col decimal, col_p decimal(5) not null, col_ps decimal(10, 2)",
      "col numeric, col_p numeric(5) not null, col_ps numeric(10, 2)"
    );

    schemas.forEach(
      s -> {
        try {
          checkSchema(s, schema);
        } catch (IOException e) {
          throw new RuntimeException(e);
        }
      }
    );
  }

  @Test
  public void testBooleanType() throws Exception {
    TupleMetadata schema = new SchemaBuilder()
      .addNullable("col", TypeProtos.MinorType.BIT)
      .buildSchema();

    checkSchema("col boolean", schema);
  }

  @Test
  public void testCharacterTypes() {
    String schemaPattern = "col %1$s, col_p %1$s(50) not null";

    Map<String, TypeProtos.MinorType> properties = new HashMap<>();
    properties.put("char", TypeProtos.MinorType.VARCHAR);
    properties.put("character", TypeProtos.MinorType.VARCHAR);
    properties.put("character varying", TypeProtos.MinorType.VARCHAR);
    properties.put("varchar", TypeProtos.MinorType.VARCHAR);
    properties.put("binary", TypeProtos.MinorType.VARBINARY);
    properties.put("varbinary", TypeProtos.MinorType.VARBINARY);

    properties.forEach((key, value) -> {

      TupleMetadata schema = new SchemaBuilder()
        .addNullable("col", value)
        .add("col_p", value, 50)
        .buildSchema();

      try {
        checkSchema(String.format(schemaPattern, key), schema);
      } catch (IOException e) {
        throw new RuntimeException(e);
      }
    });
  }

  @Test
  public void testTimeTypes() throws Exception {
    TupleMetadata schema = new SchemaBuilder()
      .addNullable("time_col", TypeProtos.MinorType.TIME)
      .addNullable("time_prec_col", TypeProtos.MinorType.TIME, 3)
      .add("date_col", TypeProtos.MinorType.DATE)
      .addNullable("timestamp_col", TypeProtos.MinorType.TIMESTAMP)
      .addNullable("timestamp_prec_col", TypeProtos.MinorType.TIMESTAMP, 3)
      .buildSchema();

    checkSchema("time_col time, time_prec_col time(3), date_col date not null, " +
        "timestamp_col timestamp, timestamp_prec_col timestamp(3)", schema);
  }

  @Test
  public void testInterval() throws Exception {
    TupleMetadata schema = new SchemaBuilder()
      .addNullable("interval_year_col", TypeProtos.MinorType.INTERVALYEAR)
      .addNullable("interval_month_col", TypeProtos.MinorType.INTERVALYEAR)
      .addNullable("interval_day_col", TypeProtos.MinorType.INTERVALDAY)
      .addNullable("interval_hour_col", TypeProtos.MinorType.INTERVALDAY)
      .addNullable("interval_minute_col", TypeProtos.MinorType.INTERVALDAY)
      .addNullable("interval_second_col", TypeProtos.MinorType.INTERVALDAY)
      .addNullable("interval_col", TypeProtos.MinorType.INTERVAL)
      .buildSchema();

    checkSchema("interval_year_col interval year, interval_month_col interval month, " +
        "interval_day_col interval day, interval_hour_col interval hour, interval_minute_col interval minute, " +
        "interval_second_col interval second, interval_col interval", schema);
  }

  @Test
  public void testArray() throws Exception {
    TupleMetadata schema = new SchemaBuilder()
      .addArray("simple_array", TypeProtos.MinorType.INT)
      .addRepeatedList("nested_array")
        .addArray(TypeProtos.MinorType.INT)
      .resumeSchema()
      .addMapArray("struct_array")
        .addNullable("m1", TypeProtos.MinorType.INT)
        .addNullable("m2", TypeProtos.MinorType.VARCHAR)
      .resumeSchema()
      .addRepeatedList("nested_array_struct")
        .addMapArray()
          .addNullable("nm1", TypeProtos.MinorType.INT)
          .addNullable("nm2", TypeProtos.MinorType.VARCHAR)
        .resumeList()
      .resumeSchema()
      .buildSchema();

    checkSchema("simple_array array<int>"
        + ", nested_array array<array<int>>"
        + ", struct_array array<struct<m1 int, m2 varchar>>"
        + ", nested_array_struct array<array<struct<nm1 int, nm2 varchar>>>",
      schema);

  }

  @Test
  public void testStruct() throws Exception {
    TupleMetadata schema = new SchemaBuilder()
      .addMap("struct_col")
        .addNullable("int_col", TypeProtos.MinorType.INT)
        .addArray("array_col", TypeProtos.MinorType.INT)
        .addMap("nested_struct")
          .addNullable("m1", TypeProtos.MinorType.INT)
          .addNullable("m2", TypeProtos.MinorType.VARCHAR)
        .resumeMap()
      .resumeSchema()
      .buildSchema();

    checkSchema("struct_col struct<int_col int, array_col array<int>, nested_struct struct<m1 int, m2 varchar>>", schema);
  }

  @Test
  public void testModeForSimpleType() throws Exception {
    TupleMetadata schema = SchemaExprParser.parseSchema("id int not null, name varchar");
    assertFalse(schema.metadata("id").isNullable());
    assertTrue(schema.metadata("name").isNullable());
  }

  @Test
  public void testModeForStructType() throws Exception {
    TupleMetadata schema  = SchemaExprParser.parseSchema("m struct<m1 int not null, m2 varchar>");
    ColumnMetadata map = schema.metadata("m");
    assertTrue(map.isMap());
    assertEquals(TypeProtos.DataMode.REQUIRED, map.mode());

    TupleMetadata mapSchema = map.mapSchema();
    assertFalse(mapSchema.metadata("m1").isNullable());
    assertTrue(mapSchema.metadata("m2").isNullable());
  }

  @Test
  public void testModeForRepeatedType() throws Exception {
    TupleMetadata schema = SchemaExprParser.parseSchema(
      "a array<int>, aa array<array<int>>, ma array<struct<m1 int not null, m2 varchar>>");

    assertTrue(schema.metadata("a").isArray());

    ColumnMetadata nestedArray = schema.metadata("aa");
    assertTrue(nestedArray.isArray());
    assertTrue(nestedArray.childSchema().isArray());

    ColumnMetadata mapArray = schema.metadata("ma");
    assertTrue(mapArray.isArray());
    assertTrue(mapArray.isMap());
    TupleMetadata mapSchema = mapArray.mapSchema();
    assertFalse(mapSchema.metadata("m1").isNullable());
    assertTrue(mapSchema.metadata("m2").isNullable());
  }

  @Test
  public void testFormat() throws Exception {
    String value = "`a` DATE NOT NULL FORMAT 'yyyy-MM-dd'";
    TupleMetadata schema = SchemaExprParser.parseSchema(value);
    ColumnMetadata columnMetadata = schema.metadata("a");
    assertEquals("yyyy-MM-dd", columnMetadata.format());
    assertEquals(value, columnMetadata.columnString());
  }

  @Test
  public void testDefault() throws Exception {
    String value = "`a` INT NOT NULL DEFAULT '12'";
    TupleMetadata schema = SchemaExprParser.parseSchema(value);
    ColumnMetadata columnMetadata = schema.metadata("a");
    assertTrue(columnMetadata.decodeDefaultValue() instanceof Integer);
    assertEquals(12, columnMetadata.decodeDefaultValue());
    assertEquals("12", columnMetadata.defaultValue());
    assertEquals(value, columnMetadata.columnString());
  }

  @Test
  public void testFormatAndDefault() throws Exception {
    String value = "`a` DATE NOT NULL FORMAT 'yyyy-MM-dd' DEFAULT '2018-12-31'";
    TupleMetadata schema = SchemaExprParser.parseSchema(value);
    ColumnMetadata columnMetadata = schema.metadata("a");
    assertTrue(columnMetadata.decodeDefaultValue() instanceof LocalDate);
    assertEquals(new LocalDate(2018, 12, 31), columnMetadata.decodeDefaultValue());
    assertEquals("2018-12-31", columnMetadata.defaultValue());
    assertEquals(value, columnMetadata.columnString());
  }

  @Test
  public void testColumnProperties() throws Exception {
    String value = "`a` INT NOT NULL PROPERTIES { 'k1' = 'v1', 'k2' = 'v2' }";
    TupleMetadata schema = SchemaExprParser.parseSchema(value);

    ColumnMetadata columnMetadata = schema.metadata("a");

    Map<String, String> properties = new LinkedHashMap<>();
    properties.put("k1", "v1");
    properties.put("k2", "v2");

    assertEquals(properties, columnMetadata.properties());
    assertEquals(value, columnMetadata.columnString());
  }

  @Test
  public void testEmptySchema() throws Exception {
    assertEquals(0, SchemaExprParser.parseSchema("").size());
    assertEquals(0, SchemaExprParser.parseSchema("  ").size());
    assertEquals(0, SchemaExprParser.parseSchema("\n").size());
    assertEquals(0, SchemaExprParser.parseSchema("  \n").size());
  }

  @Test
  public void testEmptySchemaWithParentheses() throws Exception {
    assertEquals(0, SchemaExprParser.parseSchema("()").size());
    assertEquals(0, SchemaExprParser.parseSchema("(  )").size());
    assertEquals(0, SchemaExprParser.parseSchema("(\n)\n").size());
  }

  @Test
  public void testEmptySchemaWithProperties() throws Exception {
    String value = "() properties { `drill.strict` = `false` }";
    TupleMetadata schema = SchemaExprParser.parseSchema(value);
    assertTrue(schema.isEmpty());
    assertEquals("false", schema.property("drill.strict"));
  }

  @Test
  public void testSchemaWithProperties() throws Exception {
    String value = "(col int properties { `drill.blank-as` = `0` } ) " +
      "properties { `drill.strict` = `false`, `drill.my-prop` = `abc` }";
    TupleMetadata schema = SchemaExprParser.parseSchema(value);
    assertEquals(1, schema.size());

    ColumnMetadata column = schema.metadata("col");
    assertEquals("0", column.property("drill.blank-as"));

    assertEquals("false", schema.property("drill.strict"));
    assertEquals("abc", schema.property("drill.my-prop"));
  }

  private void checkSchema(String schemaString, TupleMetadata expectedSchema) throws IOException {
    TupleMetadata actualSchema = SchemaExprParser.parseSchema(schemaString);

    assertEquals(expectedSchema.size(), actualSchema.size());
    assertEquals(expectedSchema.properties(), actualSchema.properties());

    expectedSchema.toMetadataList().forEach(
      expectedMetadata -> {
        ColumnMetadata actualMetadata = actualSchema.metadata(expectedMetadata.name());
        assertEquals(expectedMetadata.columnString(), actualMetadata.columnString());
      }
    );
  }

}


This flexible course is a part-time Masters level course for those who wish to enhance their effectiveness and confidence in the workplace.
It provides a rounded introduction to the principles of management and is designed to have immediate relevance and application in your current role whilst also providing potential for future progression in both study and career.
The course allows you to achieve a Masters level qualification in three stages, or leave and re-join after the Certificate or Diploma stages. Once you have the Diploma, all you need to achieve the MA is to complete the module in Research Skills and a management research report.
The teaching hours are designed to have minimal impact on the working day and additional study is undertaken in your own time, so you can study while working, and won't need ask your employer to release you for significant amounts of time. You can, however, still benefit from regular contact with lecturers, tutors and your fellow students.
The CMS is run over two terms, and the DMS over three terms, usually between 4.00pm – 9.00pm, one day a week. The MA course runs over four terms, usually with entry points in September and May.
As the course focuses on core management skills and practice, it is relevant to both public and private enterprises, the profit and not for profit sectors and small to large organisations.
The whole DMS course consists of six taught modules in total with students taking two modules per term. The Certificate comprises three modules.
The modules build a general framework related to the core management disciplines and the strategic role of management applied to daily management activity.
When you obtain a pass on the existing Diploma in Management Studies you'll be eligible to proceed to the Masters in Management Studies. Additionally, prospective students who have an equivalent level qualification or who have substantial Senior Management experience may be eligible for entry to the MA via the process of Accreditation of Prior Experiential Learning (APEL). In either case, course members will normally be required to currently hold a management position.
Courswork, including written reports, assignments, presentations and case studies. Additionally, for the MA, a Management Research Report is required of 11,000-15,000 words. This typically takes six months to complete.
Many successful candidates from this course benefit from using their new found qualification and confidence to progress their careers with their current employer, or to use it to secure promotions or new employment elsewhere. Other candidates have used the qualification as a way to improve what they are undertaking within their current role.
From 2016/17 government loans of up to £10,000 are available for postgraduate Masters study. The loans will be paid directly to students by the Student Loans Company and will be subject to both personal and course eligibility criteria.
Visit the MA / PgDip / PgCert Management Studies page on the Canterbury Christ Church University website for more details!


text:
Jack Kilby
There are few living men whose insights and professional accomplishments have changed the world. Jack Kilby is one of these men. His invention of the monolithic integrated circuit – the microchip – some 30 years ago at Texas Instruments (TI) laid the conceptual and technical foundation for the entire field of modern microelectronics. It was this breakthrough that made possible the sophisticated high-speed computers and large-capacity semiconductor memories of today's information age.
Mr. Kilby grew up in Great Bend, Kansas. With B.S. and M.S. degrees in electrical engineering from the Universities of Illinois and Wisconsin respectively, he began his career in 1947 with the Centralab Division of Globe Union Inc. in Milwaukee, developing ceramic-base, silk-screen circuits for consumer electronic products.
In 1958, he joined TI in Dallas. During the summer of that year working with borrowed and improvised equipment, he conceived and built the first electronic circuit in which all of the components, both active and passive, were fabricated in a single piece of semiconductor material half the size of a paper clip. The successful laboratory demonstration of that first simple microchip on September 12, 1958, made history.
Jack Kilby went on to pioneer military, industrial, and commercial applications of microchip technology. He headed teams that built both the first military system and the first computer incorporating integrated circuits. He later co-invented both the hand-held calculator and the thermal printer that was used in portable data terminals.
In 1970, he took a leave of absence from TI to work as an independent inventor exploring, among other subjects, the use of silicon technology for generating electrical power from sunlight. From 1978 to 1984, he held the position of Distinguished Professor of Electrical Engineering at Texas A&M University. At present, he maintains a schedule of work and travel on industry and government consulting assignments throughout the world. He also serves as director of several corporations.
Jack Kilby is the recipient of two of the nation's most prestigious honors in science and engineering.
In 1970, in a White House ceremony, he received the National Medal of Science. In 1982, he was inducted into the National Inventors Hall of Fame, taking his place alongside Henry Ford, Thomas Edison, and the Wright Brothers in the annals of American innovation.
Mr. Kilby holds over 60 U.S. patents. He is a Fellow of the Institute of Electrical and Electronics Engineers (IEEE) and a member of the National Academy of Engineering (NAE). He has been awarded the Franklin Institute's Stuart Ballantine Medal, the NAE's Vladimir Zworykin Award, the American Society of Mechanical Engineers' Holley Medal, and the IEEE's Metal of Honor, Cledo Brunetti Award, and David Sarnoff Award. On the 30th anniversary of the invention of the integrated circuit, the Governor of Texas dedicated an official Texas historical marker near the site of the TI laboratory where Mr. Kilby did his work.
From Jack Kilby's first simple circuit has grown a worldwide integrated circuit market whose sales in 1996 totalled $115 billion. These components supported a 1996 worldwide electronic end-equipment market of $957 billion. Such is the power of one idea to change the world.
Scarica l'appunto.
Se vuoi aggiornamenti su Jack Kilby inserisci la tua email nel box qui sotto:

redpajama_set_name: RedPajamaCommonCrawl


text:
Electronic Frontier Foundation Messes Up
By gregladen on August 15, 2014.
I just realized that the Electronic Frontier Foundation has filed a brief with the court in relation to Mann vs. the Competitive Enterprise Institute, the National Review, Mark Steyn, and Rand Simberg (variously). This is disappointing and will probably color my opinion of EFF going forward on whatever else they do. Their brief isn't just ethically wrong, or something I disagree with. It is unintelligent and poorly considered. They simply got it wrong, as though they did not know anything about the law suit. It is embarrassing.
I wonder how they got talked/roped into this? I would really like to know that.
Anyway, I wrote them a letter and here it is:
I'm generally a supporter of the things Electronic Frontier Foundation (EFF) stands for, but I object strenuously to your amicus brief and it's meaning in relation to the suit brought by Michael Mann against the Competitive Enterprise Institute, the National Review, Mark Steyn, and Rand Simberg.
Your brief makes the argument that open discussion of important public issues should not be fettered by law suits of this type. You are correct in principle but you have erred in this case. Mann's suit is not about open public debate, and he has as a scientist been involved in open public debate in far more ways than most individuals have ever been. I'll add that Mann's research is all open source or open access with respect to data, methods, software, and results.
The suit is not about debate. It is about defamation. This is not a matter of interpretation. While one might (incorrectly) feel defamed when someone disagrees, Mann's suit is not about that sort of reaction. It is about actual defamation.
Perhaps Mann is wrong. Perhaps the Competitive Enterprise Institute, the National Review, Mark Steyn, and Rand Simberg have not engaged in defamation with specific statements they have made. But that can be determined in court. Mann has the right to sue for this. The Competitive Enterprise Institute, the National Review, Mark Steyn, and Rand Simberg have engaged in plenty of other forms of debate and public discourse regarding climate change and Mann's research, but that is not at issue in this suit. You have failed to make that important distinction.
And please don't make the mistake, or should I say, perpetuate the mistake you have already made (collectively with others), that opposition to Mann's science is part of that defamation. It is not. Nor is science denialism or the seemingly nefarious distribution of false information about climate change by science skeptics or supporters of the fossil fuel industry part of this defamation. The National Review and other parties in this suit have lied, misrepresented, and also, simply gotten the science wrong. That is not what this is about, that is not the subject of Mann's suit. This suit is about specific defamatory statements made as a much smaller subset of the communication and rhetoric among these parties.
It is a little embarrassing that EFF, usually much more thoughtful and intelligent about its decisions and activism, has somehow been roped into signing on to essentially support this defamatory practice. Shame on you.
I urge you do withdraw your support of the appeal as soon as possible.
This is also relevant, from here:
"The Court finds that there is sufficient evidence in the record to demonstrate that Plaintiff is likely to succeed on the merits," said a DC Superior Court judge in her latest procedural ruling in the defamation case of Michael Mann v. National Review, et al. "The evidence before the Court indicates the likelihood that 'actual malice' is present in the [National Review's] conduct."
The Court clearly recognizes that some members involved in the climate-change discussions and debates employ harsh words. The NR Defendants are reputed to use this manner of speech; however there is a line between rhetorical hyperbole and defamation. In this case, the evidence before the Court demonstrates that something more than mere rhetorical hyperbole is, at least at this stage present. Accusations of fraud, especially where such accusations are made frequently through the continuous usage of words such as "whitewashed," "intellectually bogus," "ringmaster of the tree-ring circus" and "cover-up" amount to more than rhetorical hyperbole. ...
The evidence before the Court indicates the likelihood that "actual malice" is present in the NR Defendants' conduct. ...
The court clearly understands the difference between people whinging about science details, science denialism, etc. on one hand and what may be categorized as defamation.
Alt-Truth
Larry Clifton on Michael Mann's Suit: Nope, wrong, sorry.
Larry Clifton has suggested that Michael Mann's law suit against the Competitive Enterprise Institute, the National Review, Mark Steyn, and Rand Simberg is ruining it for everyone, and a lot of his right wing conservative friends agree. But they are all wrong, so wrong that one wonders how they…
Climate Scientist Andrew Weaver Wins Key Lawsuit
Andrew Weaver is a Canadian climate scientist with numerous publications. The National Post is a Canadian newspaper generally recognized as having a conservative and Libertarian leaning. Between 2009 and 2010, the Post published four articles that seemed defamatory of Dr. Weaver's reputation as a…
Crew: Mark Steyn Was Abusive and Obnoxious
Mark Steyn is well known to readers of this blog as the intentionally obnoxious Canadian version of Rush Limbaugh who is being sued by our friend and colleague Michael Mann, author of the recent "The Madhouse Effect: How Climate Change Denial Is Threatening Our Planet, Destroying Our Politics, and…
Anti-Science NRO and CEI File New Briefs, Get It Wrong Again
This is about the law suit filed by Michael Mann against the Competitive Enterprise Institute, the National Review, Mark Steyn, and Rand Simberg because of accusations they made that were actionable. Michael Halpern summarized: Competitive Enterprise Institute's space technology and policy analyst…
By Lars (not verified) on 15 Aug 2014 #permalink
I'd like to know how they got roped into it as well. It may be nothing more than what it seems; a knee jerk tendency to see everything related to climate science as just more debate. In other words the brief would simply be an arrogant and prejudiced act denigrating what climate scientists do, how they pay for speaking up professionally, and their ability to even understand the nature of free speech.
By Obstreperous A… (not verified) on 18 Aug 2014 #permalink
"Mann's research is all open source or open access with respect to data, methods, software, and results."
Yeah, right.. :-)
By Jamesp (not verified) on 20 Aug 2014 #permalink
Yes, right. Do you think there are private sekret inaccessible batches of climate data controlled by the Illuminati or something?
By gregladen on 20 Aug 2014 #permalink
In reply to by Jamesp (not verified)
This is not an insult, but you are NOT a lawyer. This is not about one side being all right, and one side being all wrong. Mann has made a mistake in his complaint, and it most certainly should be appealed. Honestly, he should have found lawyers that know better.
In thinking Mann can do no wrong(his science is right, but that is not a golden seal that all of his legal arguments will also be right), you have missed the point of what the EFF is doing.
"By allowing Count V of the Amended Complaint to go forward, which alleges libel per se against Competitive Enterprise Institute("CEI") merely for hyperlinking to a purportedly defamatory statement (J.A.79-81), the Superior Court took a substantial portion from the field of free speech rights."
There are a lot of other procedural things going on here, and Mann quite frankly is making a poor legal case.
Spend some time reading over here;
LINK TO SCIENCE DENIALIST SITE DELETED AS PER POLICY.
By The Invisible Man (not verified) on 25 Aug 2014 #permalink
Invisible, you have totally misunderstood the argument. In fact I'm pretty sure you never even read this post or my other posts on this matter. You also included a link to a denialist site, which is against the rules here. But I'll address your comment anyay.
This is not about being right or wrong on the science Mann may well be wrong on some or even all of the science (except he isn't wrong on most of it, for sure). You suggest there should be an appeal but that is not what happens at this stage. At this stage there could be motions to dismiss the case. There was a motion to dismiss the case roughly on the grounds you are vaguely referring to but the court did not see fit to do so. In other words, the judge disagreed with you.
Mann's case, quite frankly, is a good one and it has stood initial tests. So, no.
In reply to by The Invisible Man (not verified)
They're getting worried. The useful-idjit and bot armies will be out in force hyping the PR from the denial side.
By Hank Roberts (not verified) on 22 Dec 2016 #permalink
You know, i can't actually find anything at EFF that ties the brief to the EFF, and the only things I find are on the CEI website.
Because it would be interesting to find out WHO put their name to the brief. If anyone at the EFF did so at all, as their personal action, rather than under the aegis of the EFF, officially.
Remember, the Oregon Petition got some valid scientists to sign up because what they were signing up to was misrepresented. So it's not like this method is never used by deniers.
By Wow (not verified) on 22 Dec 2016 #permalink


April 15, 2015: Weekly Update: Upcoming Events & More!
April 8, 2015: Weekly Update: Staff News, Upcoming Events & More!
March 11, 2015: Weekly Update: LEAD Program Updates, Advocacy Events & More!
March 4, 2015: Weekly Update: Economic Update, Advocacy Events, Leadership Greenville & More!
February 25, 2015: Weekly Update: Engenius Small Business of the Month, Presidential Candidates & More!
February 4, 2015: Weekly Update: Legislative Update, Business Celebrations, New Survey & More!
January 28, 2015: Weekly Update: Congratulations to Annual Award Winners & More!
January 21, 2015: Weekly Update: Annual Meeting, Friday Forum, New Events & More!
January 14, 2015: Weekly Update: Business Advocacy Events, GW@W, PULSE Corporate Memberships & More!
January 7, 2015: Weekly Update: New Staff, Road Closure Updates, Friday Forum & More!


text:
Democrat Lawmaker Makes EMBARRASSING Mistake on Twitter!
Democrat Leader's Account Mysteriously Likes Inappropriate Content
(TheRedWire.com) – Politicians' social media interactions can spiral out of control, especially if the public catches them participating in inappropriate behavior on one of the platforms. Recently, the Twitter account of 83-year-old New York Democratic State Senator Toby Ann Stavisky mysteriously began liking some tweets involving hardcore pornography. The account gave one thumb up to a tweet about oral sex. Another involved X-rated hardcore content.
Stavisky is seeking her 12th term as a New York State Senator. She currently serves as the NY State Senate Higher Education committee chairwoman. Her office stated the grandmother and elected official did not make the likes. They blamed a former staff member who still had access to the Twitter account for the illicit activity.
83-year-old NY pol Sen. Toby Ann Stavisky caught liking porn on Twitter https://t.co/z94XWy6f51 pic.twitter.com/YHVUXV7t4M
— New York Post (@nypost) September 28, 2022
Pierce Brix, a spokesman for New York Democrat, said Stavisky changed the username and password logins to prevent unauthorized account use from happening again. Brix noted he didn't know who had access to the account but stressed it wasn't him or his boss who participated in the online behavior. Stavisky's chief of staff, Mike Favilla, thanked the New York Post for revealing the problem.
Still, Stavisky's Republican opponent, Stefano Forte, 24, didn't let the situation go to waste. He said taxpayers have a right to know why the Senator was engaging with hardcore porn that degrades women while on the taxpayer dime. He added that while he talked with donors and constituents, his opponent was watching porn and letting violent criminals go free.


Published on March 7, 2019 in Daily Dirt and National. Closed Tags: AEM, agriculture, Association of Equipment Manufacturers, construction, construction industry, contractors, farming.
Jeremy Yoder, Executive VP and COO of DISTek Integration Inc.
Johannes joined Wacker Neuson in 1994 and has held a variety of management positions including sales and product support for the U.S. international markets, business systems and information technology and ogistics. He has also worked in consulting and in international sales at Case IH and Tenneco Automotive.
Published on February 23, 2019 in Daily Dirt and National. Closed Tags: AEM, Association of Equipment Manufacturers, bridges, construction, construction industry, contractors, disaster planning, disasters, emergency, FIT (Field Innovation Team).
The frequency and intensity of disasters are increasing, from mighty hurricanes hurling through warm ocean waters, to shifting tectonic plates that build earthquakes, to atmospheric weather patterns that create wide-scale floods.
Through it all, critical operations need to be up and running for our communities, companies, survivors, and families.
Desi Matel-Anderson offers a template to help teams find innovative real-time solutions to a variety of disaster response scenarios. She heads FIT (Field Innovation Team) and is the first and former Chief Innovation Advisor at FEMA and Think Tank Strategic Vision Coordinator.
FIT's Disaster Simulation Labs use a process called "design thinking" to help emergency preparedness teams better understand the problems they need to solve, identify whom they are solving them for and why, and prototype how they will go about solving them.
Extreme weather: Teams must recognize that the frequency and severity of extreme weather events have been increasing, and acknowledge that what may have been a really good plan in the past may no longer be sufficient.
Liability: Power companies face liability challenges from equipment failure, aged infrastructure, and security flaws. They are being held to higher accountability standards and are called to task when there are incidents.
There are four key phases in disaster planning: Preparedness, Response, Recovery, and Mitigation. Leveraging technology and innovation is becoming increasingly necessary to effectively manage each of those phases. In working with emergency preparedness teams, we've seen many examples of real-time innovation once people are empowered to think creatively.
The technology they used included robotics. Drones could be used to help provide situational awareness, such as neighborhoods with downed powerlines. Robotics could also be used on the ground to assist humans in reinstalling portions of the power grid. That innovative, yet practical approach would also work in a tornado response scenario.
Artificial intelligence (AI) is also being leveraged in disaster response. For example, AI can analyze images and identify things like flooding, damaged buildings and blocked roads. AI can also be used to analyze social media posts to help filter out the illegitimate.
Social media can be effective during a disaster; however, emergency management teams need to be building these channels long before a disaster ever happens. It's part of the preparedness component. When a social media page, hashtag, etc. are up and running, verified and reliable—and the public has awareness—social media can be a very powerful tool both before, during and after a disaster.
Globally, responders have common knowledge of emergency situations. However, each community and its responders are dealing with their own unique set of challenges. At times, people can become trapped in the way they have always done things. But when the tried and true is no longer producing the needed results, that's when innovation is needed the most.
When discussing new and innovative ways to overcome challenges, you can see the "lightbulbs go on" in the room, and that inspires everyone.
Want to learn more? Give your team the real-life tools to effectively respond to crisis situations. Attend the Disaster Simulation Lab at ICUEE 2019. The full education schedule will available online. To be the first to receive information about ICUEE 2019, sign up for show alerts.
Desi Matel-Anderson is the Chief Wrangler of FIT and CEO of the Global Disaster Innovation Group, LLC. Desi is the first and former Chief Innovation Advisor at FEMA and Think Tank Strategic Vision Coordinator. During her tenure at FEMA, she led the first innovation team down to Hurricane Sandy to provide real-time problem-solving in disaster response and recovery and ran think tanks nation-wide to cultivate innovation in communities. Her emergency management experience began when she volunteered in Northern Illinois University's Office of Emergency Planning. She then worked with the Southeast Wisconsin Urban Area Security Initiative, and the City of Milwaukee Homeland Security and Emergency Management Office. In addition to her regional emergency management duties, she worked as an assessor of the Emergency Management Accreditation Program Assessor nation-wide.


text:
Lindsay Hartley Dishes Playing The NIGHTMARE NURSE, Her Upcoming Evil Horror Film Role, And Desire For A Passions Reunion!
Photo Credit: HutchinsPhoto.com
Daytime fans know her work as Theresa Lopez-Fitzgerald on Passions, Arianna Hernandez on Days of our Lives, and Cara Castillo on both the ABC and Prospect Park versions of All My Children, but now get ready for actress Lindsay Hartley's turn to the dark side in two juicy new roles, the first airing tonight … Nightmare Nurse!
Premiering on Saturday, March 5th, on Lifetime (8PMEST/7CST), Hartley stars as Chloe, an attractive in-home care nurse who is assigned to take care of Lance (Steven Good) after his car accident. Lance has sustained a leg injury that requires him to be bedridden with at-home care. When Chloe (Hartley) is recommended for the job, she seems so perfect for the task. However, when her troubled past comes to light, it becomes apparent to Lance and his fiancée; Brooke (Sarah Butler) that someone is out to destroy their lives!
Taking on the role of the Nightmare Nurse was a welcome change for Hartley, who along with her real life boyfriend, Jason-Shane Scott (Ex-Will, OLTL) have found their niche playing some not-so-nice, good looking individuals of late. But that's not all, Lindsay is also getting ready to shoot her first foray into the horror film genre, and it's a doozy of role as one of the five evils of hell in Death House.
On-Air On-Soaps caught up with the beautiful and talented Hartley to get the lowdown on her frightening medical role, her upcoming horror flick, and if a Passions reunion should be discussed with so many TV shows about the supernatural becoming very successful on primetime, that a return to the town of Harmony might just be what the doctor, err, nurse ordered.
How did the role in Nightmare Nurse come about?
Courtesy/Lifetime
LINDSAY: I did not audition for this one. My agent called me over a weekend, and said they made an offer for me to play this part in this movie. They wanted me to read the script in like two hours and get back to them since they started shooting on Tuesday. So, I really quickly read the script and thought it was fantastic, and I loved it. It kind of reminded me of Theresa from Passions having a bad day! (Laughs) It's like her, but where she went dark, and where she really went down the wrong path. It really reminds me so much of that character. So I got back to them and said I would do it. I ended up finding out, and this was so crazy and random, that my daughter's girlfriend in her sixth grade class, her dad is the director of Nightmare Nurse! So, I had known the dad and been over to their house before. Then even crazier was I actually knew the executive producer.
So this was a bit of trial by fire in the shooting process of playing Nurse Chloe in the film?
LINDSAY: Here I am on Tuesday morning, and they had re-written the script, the night before we started shooting. I got to set and I basically had to learn as I would go throughout the day. It was insane. I was working on set, and then sitting on the floor and memorizing and going through the scenes. Movies don't shoot in order. It was really hard to know: what I was doing, where was I coming from, because it's a little convoluted what happens with my character, and trying to track that. I think my soap opera experience helped me 1000% in this instance. I don't know how I could have pulled this off, otherwise. Absolutely, the quick-thinking that you get from working on soap operas, and how they train you helped me get through this one. I had an amazing time. I loved working with the director who is a friend of mine, and the cast was such a great group of people.
So just what is Chloe, the Nightmare Nurse's, problem? Clearly, she must be off-kilter! It's a Lifetime movie for God sakes! (Laughs)
LINDSAY: There is a twist as to why she is there within the movie, but she shows up to take of Lance (Steven Good), and then things go wrong. She starts going a little nuts. In the teaser clip they released for the movie, you see that the nurse is thinking about overdosing Lance. You think she wants to murder him and the movie is set-up in a certain way. She is the 'Nightmare Nurse' though, and she does become unstable. She legitimately has mental issues that she has been treated for in the past, so she has got some problems. Why she is still allowed to be a nurse? I don't know! (Laughs) She is mentally ill and bad things happen with her, and the happy couple. At the beginning, she is super sweet and hides it all very well. But when she goes home, she is like a whole different human being. Then she goes back to work, and she gets a little too close for comfort and gets more inappropriate. However, she is the perfect nurse, but then she starts doing things that are pretty disrespectful, and then she has a breakdown, and things go awry from there.
So is there an attraction being played out between her patient Lance, and Chloe?
LINDSAY: I think he likes her, but he loves his fiancée, but he sees the nurse as this amazing person, which is all part of the story.
Your real life boyfriend, Jason-Shane Scott (Ex-Will, OLTL) also has been appearing in some Lifetime movies and such of late. He has also been playing some creepy characters. So are the two of you putting out there, "Hey, if you want any scary roommates or lovers, call us!" (Laughs)
LINDSAY: Jason just had a Hallmark movie air over the Christmas break, and it broke ratings records when it aired for the channel, something like 4.3 million viewers watched it. He was the one you were not supposed to really like, which now thinking about it just runs in our gang! (Laughs) And then he was in the Lifetime movie which has been airing a lot called The Wrong Roommate, and he was the wrong roommate. Jason was the bad guy in that one and tried to kill people. Ironically, Jessica Morris (Ex-Jen OLTL), who had a part in The Wrong Roommate, is also in Nightmare Nurse. Now Jason and I are writing something together that fits that genre, and it's kind of fun playing these types of characters. (Laughs)
I posted picture of you, me, and Eric Martsolf from the Soap Opera Digest 40th anniversary party just the other week. Fans commented, "Passions Reunion!" Would you love to see a TV special or movie of a return to Passions? Do you think it could ever happen?
LINDSAY: I would love that. Everyone could come back and be in the reunion, wouldn't that be fun? If we could get the money and the funding, I think it would be great if we could do some type of TV movie. I kind of feel like Passions was ahead of its time. Looking back on it, I wish Passions would have started its run a few years later. Now, there is so much supernatural stuff going on with primetime television, especially on the CW, and of course motion pictures are coming out left and right with superheroes and supernatural stories.
Courtesy/NBC
What do you think Passions' Theresa Lopez-Fitzgerald is doing now?
LINDSAY: When I saw Eric Martsolf (Brady, DAYS, Ex-Ethan, Passions) at the Soap Opera Digest party, I was thinking about that. I guess she would have to be with her 4,000 children, and maybe living in the same house as Alistair and Julian. They are all living together as one big unhappy family. We would have to have Mrs. Crane (Kim Ulrich) and Andrea Evans (Rebecca) doing their thing. Maybe everything has been hunky dory in the past, but now they reveal they have been plotting and planning to ruin Ethan and Theresa for the last decade. They are coming in full steam ahead with Gwen to destroy everybody!
And on Days of our Lives, they have completely beefed up your former clan, the Hernandez family! The series has brought in both A Martinez (Eduardo) and Jordi Vilasuso (Dario). It's unfortunate that your character of Arianna was killed-off back in 2010, and not around to be part of this.
LINDSAY: I know, and all the people I have loved working with are there. I love Jordi Vilasuso so much, and worked with him on All My Children. He and his wife are pregnant with their second child! Time flies so fast.
This has been a busy time for you. You are also getting ready to shoot a horror film, called Death House! You play one scary badass in this one?
Courtesy/TheHollywoodNews
LINDSAY: Yes. I am shooting my part in April. They are saying the film will be released in 2017. My character's name is Balthoria, and she is one of the evils of hell. There is this prison nine levels down into the earth, and the last level is where these five evils of hell are. This facility is a way of taking prisoners and bad people to retransform their brain to not think negatively, and to be more balanced. It's really torturous. When I read the script I had to keep walking away and then coming back to it, and then continuing to read it, because it is so gruesome. There was a scene that featured my character that just got me. When I read it, I went, "Wow! I would like to experience that on camera!" Throughout the movie they talk about the five evils, but you don't meet them really till later, but you do see them through the use of flashbacks. They are the worst of the worst, and they are supernatural. However, then the audience meets us at the end of the movie. The plan for this is to do six sequels of Death House, and each sequel is to have a movie based on one of the evils and how they became who they are. Right now, it is my understanding that my character would be featured in the third movie, and that is where you will meet her, and learn all about her.
Do you have any trepidation doing a major part in the horror film genre?
LINDSAY: I think it's a great idea to do a horror film! I love how dark and powerful this character is. She is a heavy hitter in this. I am shocked that this happened. One of the things I have personally always wanted to do was be in a horror movie, because they scare me! I can't watch bloody things in movies, but I also thought, what would happen if I get cast in one of these? Will I be able to handle it, or will I still be the same going, "I can't watch it?" Ironically, Freddy Krueger haunted me for so long when I was a kid, and he is in the film Death House! What they have done is bring in all of these iconic and amazing actors from the horror film genre, and grabbed them and put them in this movie. They are promoting as The Expendables but of the horror genre. Dee Wallace from E.T. who was on General Hospital last year, and who has done a lot of roles in the horror genre is also in this. It's very exciting.
So, will you be checking out Lindsay on tonight's premiere broadcast of Nightmare Nurse? Looking forward to seeing her playing some villainess roles? What do you think of her role as one of the five evils of hell in Death House? Would you like to see a Passions reunion special? If so, what would you like to see happen to Theresa and the gang in it? Share your thoughts in the comment section below, but first check out the trailer for Nightmare Nurse.
Related Topics:All My ChildrenDays of our LivesDeath HouseDee Wallaceeric martsolfJason Shane ScottLifetime Movie ChannelLindsay HartleyNightmare NurseOn-Air On-Soaps InterviewOne Life To LivepassionsSteven Good
Michael Easton Will Play A Doctor In New Role On General Hospital!
RATINGS: Days of our Lives Struggles, While All Soaps Down In Key Demos!
Jimh(leave it to beaver)
Passions: The Return!…On Lifetime Channel-?
Lindsay Hartley is perhaps my favorite actress to have ever worked in soaps. I adored her on Passions and followed her to Days, AMC and Queens of Drama. Her upcoming projects sound interesting, especially since I'm a pretty big fan of the horror genre. I'll definitely be watching.
Theresa Lopez-Fitzgerald Crane Crane Casey Winthrop was a hot mess in the best possible way. A PASSIONS reunion would be awesome.
davlestev1
At least it's not that NIGHTMARE of a show with ex soap actresses again Queens of drama. .it was more like Queens of the mundane lol what a bore
Loved her on AMC too!! The soda landscape has changed so much…sniff! Happy to see she's busy and working!
Crap… Soap!!! Soap landscape 🙂
I like Lindsay Hartley. I actually liked Passions, I actually liked it better when it moved to cable (I think it was DirectTV). Andrea Evans and Susan Lucci's daughter (sorry her name escapes me at this moment) were awesome together, and of course Timmy and Tabitha.
Liza Huber?
Yes, thank you!
Ghlover
I always thought she would have been a good choice for a recast of Robin on GH…. Hope shenreturns to daytime (just not B&B, it's a mess there)
I also loved Lindsay Hartley. and I loved the movie now that is my kind of movie.Also a huge horror movie fan so I will be on the lookout for that and yes I would love to see Passions again.they should have never cancelled it.
When is her reality show Queens of Drama returning?
With Talk Of Nikolas On GH, Tyler Christopher Says: "I've Always Said I Would Never Close That Door From My Side"
Bryan Craig Previews Tonight On GRAND HOTEL: "This Is Where Stuff Really Starts Taking Off People! Don't Miss"
DAYS OF OUR LIVES: Jack Wants His Memory Back, But Do You Want Him To Reunite With Jennifer … Or Stay With Eve?
OLTL Favorite Mark Lawson Appears On General Hospital
Lauren Koslow Dishes Being Trapped With Ted & Becoming Kate; Stacy Haiduk & Paul Telfer Reveal How They Learn Their Lines On 'Inside Salem: Days of our Lives Podcast'
DAYS' Olivia Rose Keegan Delivers 'The Power Performance of the Week'
8 Years To The Day Of All My Children & One Life to Live Being Canceled; Still Considered By Many Worst Move For Daytime
It's hard to believe that 8 years ago today on April 14th, 2011, the soap world, its fans, and the cast members, learned of the heartbreaking news that ABC, in one swift move, decimated its daytime line-up when they announced the cancellations of long running series, All My Children (which would end at its 41st year), and One Life to Live (which would ends its run in its 43rd year).
At the time, ABC announced it would move to more lifestyle/entertainment series to replace these dramas. In its place came The Chew and The Revolution, neither show is still on the air today. Executives at that time pointed to research saying that times are changing and that their decision was "guided by extensive research into what today's daytime viewers want," and blame, in part, "the changing viewing patterns of the audience" for the axing of AMC and OLTL
Then ABC Daytime President, Brian Frons had joked to Deadline about the big announcement that he: "Pre-entered the witness protection program prior to today's events." He added that "The demise of the two venerable soaps was actually a year in the making. A year ago, we started to look at our projections where the ratings for the soaps would go. When those projections came in pretty discouraging, the network began to aggressively develop replacement shows, 15 of them. Four of the 15 were picked up to pilot: The Chew and The Revolution and two others, a talk show and a dating show. Originally, the idea was to cancel only one daytime drama. The way the ratings developed and the pilots turned out, the ratings developed negatively and pilots developed positively, so we decided to make a bigger shift." Of note is that when it went off the air, One Life to Live was in third place among its competitors in the ratings.
The press release that came with the cancellations stated: "To honor the core, passionate audience and their rich history both shows will conclude in a manner that respects their legacies and the longstanding hopes of many of their viewers."
Following the cancellations daytime reeled. The mainstream was sure it meant the endings of the soaps, period. However, four shows illustrated that is not true at all. For Days of our Lives, General Hospital, The Bold and the Beautiful and The Young and the Restless all remain, and still whether they are up or down in their numbers/ratings, they remain relevant and important to the enduring daytime viewing audience.
Sadly, as with any shows, the end of ABC's AMC and OLTL meant loss of jobs for so many working in front of the camera and behind the scenes. One Life was the last soap opera in production in New York at the time. AMC was already being shot in LA to cut costs to save it.
Still in 2019, if you venture on to social media, especially Twitter, you see fans constantly missing its stars and the towns of Llanview and Pine Valley, wanting this wrong rectified. Although Prospect Park tried to revive the show with their online versions, eventually after legal battles that went on for a few years, ABC now retains the right to these properties,
The good news is that many favorites from AMC and OLTL have found success and been hired on other soap operas, bringing their followings with them, whether it be on-screen, or in the writing, producing, directing or crew departments.
So, do you think the loss of AMC and OLTL consolidated daytime and made the remaining shows stronger so they would not be touched or canceled? Do you think ABC should try to mount a resurrected AMC and OLTL or an amalgamation of the two? Do you remember where you were when you learned the two soaps were cancelled? Was this the worst misstep of all-time for daytime? Share your thoughts and theories via the comment section below.
George R. R. Martin's "Leak" Of New Hulu Series WILD CARDS Featuring Eden Riegel, Thorsten Kaye. and Greg Rikkart
April Fool's Day started off with a bang today when Eden Riegel (Ex-Bianca, AMC) posted a photo of herself with Thorsten Kaye (Ridge, B&B) and Greg Rikaart (Ex-Leo, DAYS) in a very intriguing image. See above pic! As it turns out, it's said to be from behind the scenes from some leaked footage of the upcoming Hulu series, Wild Cards.
The premise of Wild Cards is based on the sci-fi anthology series edited by George R. R, Martin, best known for writing the "Song of Ice and Fire" novels, on which HBO's Game of Thrones is based. Riegel's husband, Andrew Miller is the showrunner attached to the upcoming series.
On Martin's website he teases the set-up of the "leaked" video clip: "This was not supposed to go public.. Everybody (Well, everybody that has been paying attention knows that we are developing two Wild Cards as a series for Hulu Andrew Miller has taken the reins as showrunner, a writing staff has been hired, and they have been hard at work for months. What was NOT supposed to be known is how far they've come. Not only have some scripts been finished, but the first show has gone into production and has been shooting. That was supposed to be a deep dark secret, however. We wanted to surprise the world. It's hard to keep secrets in Hollyweird, however. And now it appears that some of the rough footage has been leaked by person or persons unknown"
Meanwhile, Riegel sent out a series of tweets: "Hooo boy…cat's out of the bag! Fans, please don't judge our show based on these leaked videos!! The effects are going to knock your socks off. And my costars, @Iamthorstenkaye and @gregrikaart, are doing the best work of their lives!" That was followed by, T"hank you @GeorgeRRMartin_ for the chance to work with you on your first foray into soaps! I am humbled and honored. We won't let you down." And then, "I'm probably not allowed to share this with all the NDAs I signed, but damnit I'm just so proud of the #wildcardssoap team! think we are breaking new ground for soaps. So proud to work with you!"
Now below, check out the Wild Cards "leaked footage" and let us know if you think of the …. um … drama! Comment below. And one more thing … Happy April Fool's!
WATCH: All My Children Reunion On Strahan & Sara
On Monday's episode of ABC's Strahan & Sara, the show welcomed several stars of the beloved All My Children for a reunion, of sorts. Joining hosts Michael Strahan and Sara Haines were Susan Lucci (Erica), Walt Willey (Jack), Cady McClain (Dixie), Jacob Young (JR) and Jill Larson (Opal).
While it was wonderful to see the stars from Pine Valley again, it was also a painful reminder that this network, ABC, canceled the show, and had put in its place – The Chew, and now Strahan & Sara – since canning the series. In fact, as you will see on the clips below, many of the crew who work on this talk show were once the crew for All My Children.
During the segment, Susan Lucci was tested to see if she remembered all of Erica Kane's wedded names. Later, Walt Willey and Susan re-created the final scene of the ABC version of All My Children between Erica and Jack, where Jack walks out on her. However, this time, they have Jack changing his mind and coming back to Erica and sealing their relationship with a kiss – a moment of closure that never happened (since the show moved to online via Prospect Park).
In addition, Cady McClain and Jacob Young re-created the infamous Dixie "dying from eating poison pancakes" scene, as JR watches his mother die, only this time she lives.
It's always great to see these veteran performers, but Strahan & Sara is trying to capture the soap viewers to put eyeballs on their show by bringing in talent from the show that sadly and wrongly went off the air.
Watch the clips below from the All My Children reunion below. Then, let us know what you thought of it via the comment section below.
NewsJuly 18, 2019
'Bachelor' Creator Mike Fleiss Slapped With Restraining Order After Allegedly Attacking Wife; Demanding She Have An Abortion
General HospitalJuly 18, 2019
Y&R's Loren Lott Gets Her Opening Title Sequence Credit; Shares Her 'Reaction' Via Video Post
71st Primetime Emmy Nominations: 'This Is Us' Stars: Milo Ventimiglia, Sterling K. Brown, Mandy Moore, HTGAWM's Viola Davis Score Lead Drama Acting Nods
Breaking NewsJuly 16, 2019
Vincent Irizarry Joins The Bold and the Beautiful
RecapsJuly 16, 2019
THE BACHELORETTE: Hannah Finally Sends Luke P. Packing!
TOMORROW: Watch The 71st Annual Primetime Emmy Nominations Announcement Live-Stream
Grand HotelJuly 15, 2019
PreviewsJuly 14, 2019
THIS WEEK: Eileen Davidson Makes a Return to The Young and the Restless
Days Of Our LivesJuly 13, 2019
Days Of Our LivesJuly 9, 2019
Olivia Rose Keegan Posts Parting Thoughts As Her Final Episode As Claire Airs On DAYS
How to Get Away With Murder To End After Its Upcoming Sixth Season
General HospitalJuly 4, 2019
GH's Friz Wedding Reception Set To Bring Romance, Drama & Plot Twists (Promo)
NewsJune 29, 2019
As Chelsea Makes Her On-Screen Return On Y&R; Melissa Claire Egan Looks Back At Some Of Her Most Memorable Scenes
General HospitalJune 28, 2019
GH's Trans Actress Cassandra James On Her Portrayal Of Terry: "It's Not Lost On Me The Importance Of The Work I'm Doing"
PreviewsJune 23, 2019
THE BOLD AND THE BEAUTIFUL: Thomas' Turn To The Dark Side Is Getting Creepier! What Is His Next Move?
Y&R's Michelle Stafford Takes A Look Back At Some Of Phyllis' Most Memorable Moments
ICYMI WATCH: OWN's 'Ambitions' All-Access Special & Get Ready For Its Soapy Debut Next Week
General HospitalMay 24, 2019
GH Poll: What Was Your Favorite Musical Performance At The Nurses' Ball?
Video du Jour
GH icon Genie Francis chats with Michael Fairman about her return to the soap as Laura after being taken off-contract earlier this year. Leave A Comment
The Michael Channel
Jennifer W.: "She's gorgeous and looks amazing in the intro. But I cannot understand why Michael Mealor (Kyle) is not in the…"
MARGIE RIVERS: "Yes bring him back I love watching him on general hospital. He is a good actor."
TVJeff: "Tony Geary retired. Luke. Is. Gone. Forever."
TVJeff: "So agree with you about JJ. They FIRE GV to bring back a short term actor. GV is…"
Shay: "Oh, I hear you, Violet! I've been unimpressed with Bobbie and Lucy from their debuts...both were nasty, conniving tarts when…"
Olivia Rose Keegan as Claire
Airdate: 7-2-2019


"It is possible to get free car insurance quotes. Use brokerage websites if you want to view multiple quotes in the shortest time possible!" said Russell Rabichev, Marketing Director of Internet Marke.
Salerno Brokerage Corp. 117 Oak Drive Syosset, New York 11791 (516) 364- 4044.
Oct 19, 2016. Nolan Insurance Corporation provides Auto/Car Insurance, Homeowners Insurance, and Business/Commercial Insurance for Louisville and all.
4.90% of the stock is owned by company insiders. Safety Insurance Group traded.
Welcome To Grewal Corporation. Grewal Corporation is your one-stop destination for car rental service in Kolkata. Our vehicles are quite comfortable to travel in, besides being available at reasonable rates.
Auto & homeowners insurance, business and commercial insurance, house insurance,life insurance.
If you already have insurance before you get engaged, it is always a good idea to.
The Cincinnati Insurance Companies strive to be Everything Insurance Should Be®. With a wide range of products and services, you are sure to find answers to your insurance needs. College students may be in unfamiliar territory when they take their cars to campus. Subsidiaries of Cincinnati Financial Corporation.
Contact Elephant to get auto insurance. Give us a call at 1-877-218-7865 to get a low car insurance rate or go to. Login · Home » Corporate Info » Contact.
Free Quote for auto insurance, home insurance, business insurance and much more. Let Newbridge Coverage Corp. answer them for you! Are you ready for.
That figure is more than double the next biggest expense for registration, insurance and licence fees at. can really sting at resale time." A recent News Corp.
Based in Lansing Michigan, Capital Insurance Services is proud to serve the. Let us help you find the right auto, home, and commercial insurance to meet your.
Zurich Insurance Group: A global insurer whose strategy focuses on. for its individual, small business, medium-sized business and corporate customers.
A few days before he was in a car wreck bad enough to total the car. After much trial and error an expensive drug was found to work. Her insurance company said she had to take a cheaper drug that h.
Auto insurance is required in most states. Don't be caught without it or you could end up with a ticket. Talk to Western Insurance Marketing Corporation to find out.
In order to get cheap car insurance Florida residents need to compare different. benefits of the coverage before you make your choice. This can vary from one.
This brief reviews the decline in popularity of no-fault automobile insurance. The main reason for this decline is rising costs: no-fault offers more medical services.


Gouge vibration is a problem that besets people when they are learning to turn bowls. The gouge bounces on the wood, and no amount of pressure seems to stop it, however strongly they grip the tool. The more they continue, the worse the vibration gets. Unsightly ridges appear on the turned surface. It usually affects the outside of the bowl. This gouge vibration has two causes.
Increase the speed of the lathe (as consistent with safety, and not so fast that the machine shakes or there is any risk of a chunk flying off, which would be highly dangerous). There will be less time in each revolution for the gouge to move forward.
Lower the gouge handle or twist the gouge so the cutting edge is more square to the wood. This lets the wood be sliced off before it gets to the bevel. But caution is needed. It could be risky if the tool pushes too far into the gap and the cut is too heavy. Keep the tool rest close.
Take care not to push the gouge against the wood. If pressure seems necessary to stabilise the tool, apply it downwards against the tool rest.
Reduce the feed rate – allow the high spots time to come to the tool and be sliced off.
Adjust the tool rest closer and use a bigger gouge. Small gouges can flex and set up vibration. If the gouge reaches too far over the tool rest, it magnifies the effect of incorrect technique. The gouge is harder to control.
Make sure the gouge is sharp. Blunt tools make for hard work.
Cut the bowl blank closer to the finished shape before putting it on the lathe.
More baffling is when gouge vibration begins for no obvious reason part way through a cut that has been going smoothly. As the cut continues, the vibration rapidly gets worse. The cut becomes noisy, and when you examine the surface, there are spiral ridges.
The cause is pressure of the tool bevel on the wood. Any attempt to control the gouge vibration by pressing harder will fail. It is often said that the bevel should rub the wood, but this is not strictly true. The bevel should be aligned with and in contact with the cut surface, but should not press against it with any significant force. Pressure compresses the softer parts and when a harder area comes round it throws the gouge out. The vibration is slight at first, but each time the hard parts come round the effect grows. The softer parts are cut deeper and the ridges get bigger and bigger.
When gouge vibration begins, stop or adjust the cut immediately.
Make sure the gouge is sharp, and move the tool rest closer if necessary.
Move the tool back to a point where there is no vibration and the bevel can rest quietly on the surface. Align the bevel in the direction of the cut, then lift the heel of the bevel very slightly so that the wood contacts the cutting edge before the bevel.
Make sure there is no pressure on the wood, but stabilise the gouge by pressing down against the tool rest and holding the tool handle to your body. Don't extend it too far over the rest. Restart the cut, moving the gouge forward slowly enough to remove the ridges as they come to the tool.
Sometimes taking a heavier, more positive cut will help eliminate the problem.
I'm a beginner. I've noticed that to "make a curve", I hold the gouge near my body and move the tool as my hips move but when I'm roughing or chiseling (pretty much ANY other time), I free-hand (the tool being away from my body and moving it equally along the tool rest). Everything goes smoothly and it often keeps me from being "in front of" the spinning piece. But I was just wondering if I'm setting myself up for having a "learned bad habit" later.
Leslie, that's an interesting point. It seems to me that if it works for you it can't be a very bad habit! I think you can sometimes find many different opinions as to whether something is good practice or bad. Keeping out of the plane of rotation is a good thing to do. But keeping the tool stable by holding it to your body is good too.
The method you use should give you control, be safe, and produce an acceptable result. If you later find a better way, you can change. Do you think your method would work on larger pieces?
I think that body stance and movement are always important, and the stability and control they can give would help with more challenging pieces. Stuart Batty has produced some excellent videos on Vimeo on the subject.


text:
"""Tests for running legacy optimizer code with DistributionStrategy."""

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

from absl.testing import parameterized
import numpy

from tensorflow.contrib.distribute.python import combinations
from tensorflow.contrib.distribute.python import mirrored_strategy
from tensorflow.contrib.distribute.python.single_loss_example import batchnorm_example
from tensorflow.contrib.distribute.python.single_loss_example import minimize_loss_example
from tensorflow.python.data.ops import dataset_ops
from tensorflow.python.eager import context
from tensorflow.python.eager import test
from tensorflow.python.framework import constant_op
from tensorflow.python.framework import ops
from tensorflow.python.layers import core
from tensorflow.python.ops import array_ops
from tensorflow.python.ops import control_flow_ops
from tensorflow.python.ops import math_ops
from tensorflow.python.ops import variable_scope
from tensorflow.python.ops import variables as variables_lib
from tensorflow.python.ops.losses import losses_impl

class MinimizeLossStepTest(test.TestCase, parameterized.TestCase):

  @combinations.generate(
      combinations.times(
          combinations.distributions_and_v1_optimizers(),
          combinations.combine(mode=["graph"], use_callable_loss=[True, False])
          + combinations.combine(mode=["eager"], use_callable_loss=[True])) +
      combinations.combine(
          distribution=[combinations.tpu_strategy],
          optimizer_fn=combinations.optimizers_v1,
          mode=["graph"],
          use_callable_loss=[True, False]))
  def testTrainNetwork(self, distribution, optimizer_fn, use_callable_loss):
    with distribution.scope():
      model_fn, dataset_fn, layer = minimize_loss_example(
          optimizer_fn, use_bias=True, use_callable_loss=use_callable_loss)

      def step_fn(ctx, *inputs):
        del ctx  # Unused
        return distribution.group(
            distribution.call_for_each_tower(
                model_fn, *inputs, run_concurrently=layer.built))

      iterator = distribution.distribute_dataset(
          dataset_fn).make_one_shot_iterator()

      def run_step():
        return distribution.run_steps_on_dataset(
            step_fn, iterator, iterations=2).run_op

      self.evaluate(distribution.initialize())
      if not context.executing_eagerly():
        with self.test_session() as sess:
          run_step = sess.make_callable(run_step())
      self.evaluate(variables_lib.global_variables_initializer())

      weights, biases = [], []
      for _ in range(5):
        run_step()

        weights.append(self.evaluate(layer.kernel))
        biases.append(self.evaluate(layer.bias))

      self.evaluate(distribution.finalize())

      error = abs(numpy.add(numpy.squeeze(weights), numpy.squeeze(biases)) - 1)
      is_not_increasing = all(y <= x for x, y in zip(error, error[1:]))
      self.assertTrue(is_not_increasing)

  @combinations.generate(
      combinations.times(
          combinations.distributions_and_v1_optimizers(),
          combinations.combine(mode=["graph"], use_callable_loss=[True, False])
          + combinations.combine(mode=["eager"], use_callable_loss=[True])))
  def testTrainNetworkByCallForEachTower(self, distribution, optimizer_fn,
                                         use_callable_loss):
    with distribution.scope():
      model_fn, dataset_fn, layer = minimize_loss_example(
          optimizer_fn, use_bias=True, use_callable_loss=use_callable_loss)

      iterator = distribution.distribute_dataset(
          dataset_fn).make_one_shot_iterator()

      def run_step():
        return distribution.group(
            distribution.call_for_each_tower(
                model_fn, iterator.get_next(), run_concurrently=layer.built))

      if not context.executing_eagerly():
        with self.test_session() as sess:
          run_step = sess.make_callable(run_step())
        self.evaluate(variables_lib.global_variables_initializer())

      weights, biases = [], []
      for _ in range(10):
        run_step()

        weights.append(self.evaluate(layer.kernel))
        biases.append(self.evaluate(layer.bias))

      error = abs(numpy.add(numpy.squeeze(weights), numpy.squeeze(biases)) - 1)
      is_not_increasing = all(y <= x for x, y in zip(error, error[1:]))
      self.assertTrue(is_not_increasing)

  @combinations.generate(
      combinations.times(
          combinations.distributions_and_v1_optimizers() +
          combinations.distributions_and_v2_optimizers(),
          combinations.combine(mode=["graph", "eager"])) +
      combinations.combine(
          distribution=[combinations.tpu_strategy],
          optimizer_fn=combinations.optimizers_v1+combinations.optimizers_v2,
          mode=["graph"]))
  def testOptimizerInsideModelFn(self, distribution, optimizer_fn):
    created_variables = []
    trainable_variables = []

    def appending_creator(next_creator, *args, **kwargs):
      v = next_creator(*args, **kwargs)
      created_variables.append(v.name)
      if "trainable" in kwargs and kwargs["trainable"]:
        trainable_variables.append(v.name)
      return v

    # Creator scope needs to be set before it's used inside
    # `distribution.scope`.
    with variable_scope.variable_creator_scope(
        appending_creator), distribution.scope():
      model_fn, dataset_fn, layer = minimize_loss_example(
          optimizer_fn,
          use_bias=True,
          use_callable_loss=True,
          create_optimizer_inside_model_fn=True)

      def step_fn(ctx, *inputs):
        del ctx  # Unused
        return distribution.group(
            distribution.call_for_each_tower(
                model_fn, *inputs, run_concurrently=layer.built))

      iterator = distribution.distribute_dataset(
          dataset_fn).make_one_shot_iterator()

      def run_step():
        return distribution.run_steps_on_dataset(
            step_fn, iterator, iterations=1).run_op

      self.evaluate(distribution.initialize())
      if not context.executing_eagerly():
        with self.test_session() as sess:
          run_step = sess.make_callable(run_step())
      self.evaluate(variables_lib.global_variables_initializer())

      run_step()

      self.evaluate(distribution.finalize())

      def get_expected_variables(optimizer_fn, num_parameter_devices):
        variables_map = {
            "GradientDescent": ["dense/kernel", "dense/bias"],
            "Adam": [
                "dense/kernel", "dense/bias", "beta1_power", "beta2_power",
                "dense/kernel/Adam", "dense/kernel/Adam_1", "dense/bias/Adam",
                "dense/bias/Adam_1"
            ]
        }
        variables = variables_map[optimizer_fn().get_name()]
        variables.extend([
            v + "/replica_{}".format(replica)
            for v in variables
            for replica in range(1, num_parameter_devices)
        ])
        return set([v + ":0" for v in variables])

      self.assertEqual(
          get_expected_variables(optimizer_fn,
                                 len(distribution.parameter_devices)),
          set(created_variables))

  @combinations.generate(
      combinations.times(
          combinations.combine(momentum=[0.8, 0.9, 0.99], renorm=[False, True]),
          combinations.times(
              combinations.distributions_and_v1_optimizers(),
              combinations.combine(
                  mode=["graph", "eager"],
                  # TODO(isaprykin):  Allow False here.  Currently subsequent
                  # towers will re-execute UPDATE_OPS of previous towers.
                  update_ops_in_cross_tower_mode=[True])) +
          combinations.combine(
              distribution=[combinations.tpu_strategy],
              optimizer_fn=combinations.optimizers_v1,
              mode=["graph"],
              update_ops_in_cross_tower_mode=[False])))
  def testTrainNetworkWithBatchNorm(self, distribution, optimizer_fn, momentum,
                                    renorm, update_ops_in_cross_tower_mode):
    """Verifies that moving mean updates are reduced across towers."""
    with distribution.scope():
      num_towers = len(distribution.worker_devices)
      model_fn, dataset_fn, batchnorm = batchnorm_example(
          optimizer_fn,
          batch_per_epoch=num_towers,
          momentum=momentum,
          renorm=renorm,
          update_ops_in_tower_mode=not update_ops_in_cross_tower_mode)

      # Make sure prefetching is disabled since that makes the
      # specific input on each device to be non deterministic, and
      # this test relies on specific input being on each device.
      if isinstance(distribution, mirrored_strategy.MirroredStrategy):
        self.assertFalse(distribution._prefetch_on_device)

      def step_fn(ctx, *inputs):
        del ctx  # Unused
        fetches = distribution.unwrap(
            distribution.call_for_each_tower(
                model_fn, *inputs, run_concurrently=batchnorm.built))
        if update_ops_in_cross_tower_mode:
          fetches += ops.get_collection(ops.GraphKeys.UPDATE_OPS)
        return control_flow_ops.group(fetches)

      iterator = distribution.distribute_dataset(
          dataset_fn).make_one_shot_iterator()

      def run_step():
        return distribution.run_steps_on_dataset(
            step_fn, iterator, iterations=1).run_op

      self.evaluate(distribution.initialize())
      if not context.executing_eagerly():
        with self.test_session() as sess:
          run_step = sess.make_callable(run_step())
      self.evaluate(variables_lib.global_variables_initializer())

      expected_moving_means = [0.] * 8

      def averaged_batch_mean(i):
        # Each batch has shape [16, 8] where the ith element in jth list is
        # (8 * j + i + tower_id * 100). So the batch mean in each tower is
        # (60 + i + tower_id * 100). So here comes its batch mean over all
        # towers:
        return 60. + i + (num_towers - 1.) / 2. * 100.

      for _ in range(10):
        run_step()
        moving_means = self.evaluate(batchnorm.moving_mean)

        # We make sure that the moving_mean is updated as if the sample mean is
        # calculated over all towers.
        for i, expected_moving_mean in enumerate(expected_moving_means):
          expected_moving_means[i] -= ((
              expected_moving_mean - averaged_batch_mean(i)) * (1.0 - momentum))
          self.assertNear(expected_moving_means[i], moving_means[i], 0.0001)

      self.evaluate(distribution.finalize())

  @combinations.generate(
      combinations.times(
          combinations.combine(
              optimizer_fn=[
                  combinations.gradient_descent_optimizer_v1_fn,
                  combinations.gradient_descent_optimizer_v2_fn
              ],
              loss_reduction=[
                  losses_impl.Reduction.SUM, losses_impl.Reduction.MEAN,
                  losses_impl.Reduction.SUM_OVER_BATCH_SIZE,
                  losses_impl.Reduction.SUM_OVER_NONZERO_WEIGHTS
              ]),
          combinations.times(
              combinations.combine(
                  distribution=[
                      combinations.one_device_strategy,
                      combinations.mirrored_strategy_with_gpu_and_cpu,
                      combinations.mirrored_strategy_with_two_gpus
                  ]),
              combinations.combine(
                  mode=["graph"], use_callable_loss=[True, False]) +
              combinations.combine(mode=["eager"], use_callable_loss=[True])) +
          combinations.combine(
              distribution=[combinations.tpu_strategy],
              mode=["graph"],
              use_callable_loss=[True, False])))
  def testMeanVsSum(self, distribution, optimizer_fn, loss_reduction,
                    use_callable_loss):
    with distribution.scope():
      all_vars = []

      def model_fn(x, y):

        def loss_fn():
          # Use fixed initialization to make the steps deterministic.
          w = variable_scope.get_variable("w", initializer=[[2.]])
          all_vars.append(w)
          predict = math_ops.matmul(x, w)
          return losses_impl.mean_squared_error(
              y, predict, reduction=loss_reduction)

        optimizer = optimizer_fn()  # GradientDescent with 0.2 learning rate

        if use_callable_loss:
          return optimizer.minimize(loss_fn)
        else:
          return optimizer.minimize(loss_fn())

      def dataset_fn():
        features = dataset_ops.Dataset.from_tensors([[2.], [7.]])
        labels = dataset_ops.Dataset.from_tensors([[6.], [21.]])
        return dataset_ops.Dataset.zip((features, labels)).repeat()

      def step_fn(ctx, x, y):
        del ctx  # Unused
        return distribution.group(
            distribution.call_for_each_tower(
                model_fn, x, y, run_concurrently=False))

      iterator = distribution.distribute_dataset(
          dataset_fn).make_one_shot_iterator()

      def run_step():
        return distribution.run_steps_on_dataset(
            step_fn, iterator, iterations=1).run_op

      self.evaluate(distribution.initialize())
      if not context.executing_eagerly():
        with self.test_session() as sess:
          run_step = sess.make_callable(run_step())
      self.evaluate(variables_lib.global_variables_initializer())

      run_step()

      v = all_vars[0]
      self.assertTrue(all([v is vi for vi in all_vars[1:]]))
      weight = numpy.squeeze(self.evaluate(v))
      # Our model is:
      #   predict = x * w
      #   loss = (predict - y)^2
      #   dloss/dpredict = 2*(predict - y)
      #   dloss/dw = 2 * x^T @ (predict - y)
      # For our batch size of 2, assuming sum loss reduction:
      #   x = [2, 7]
      #   y = [6, 21]
      #   w_initial = 2
      #   predict = [4, 14]
      #   predict - y = [-2, -7]
      #   dloss/dw = 2 <[2, 7], [-2, -7]> = - 2(4 + 49) = -106
      # So unreplicated the update to w with lr=0.2 is -0.2 * -106 = 21.2
      # with sum loss reduction, or 10.6 with mean.
      if loss_reduction == losses_impl.Reduction.SUM:
        # Note that the "distribution.num_towers" factor will go away once
        # we split the input across towers, instead of pulling a complete
        # batch of input per tower.
        self.assertNear(weight, 2 + 21.2 * distribution.num_towers, 0.0001)
      else:
        # One of the mean loss reductions.
        self.assertNear(weight, 2 + 10.6, 0.0001)

      self.evaluate(distribution.finalize())

  @combinations.generate(
      combinations.times(
          combinations.distributions_and_v1_optimizers(),
          combinations.combine(mode=["graph", "eager"]),
          combinations.combine(is_tpu=[False])) +
      combinations.combine(
          distribution=[combinations.tpu_strategy],
          optimizer_fn=combinations.optimizers_v1,
          mode=["graph"],
          is_tpu=[True]))
  def testRunStepsWithOutputContext(self, distribution, optimizer_fn, is_tpu):
    with distribution.scope():
      def dataset_fn():
        dataset = dataset_ops.Dataset.from_tensors([[1.]]).repeat()
        # TODO(priyag): batch with drop_remainder=True causes shapes to be
        # fully defined for TPU. Remove this when XLA supports dynamic shapes.
        return dataset.batch(batch_size=1, drop_remainder=True)

      optimizer = optimizer_fn()
      layer = core.Dense(1, use_bias=True)

      key1 = "foo"
      value1 = "bar"

      def model_fn(output_context, x):
        """A very simple model written by the user."""
        def loss_fn():
          y = array_ops.reshape(layer(x), []) - constant_op.constant(1.)
          return y * y

        train_op = optimizer.minimize(loss_fn)
        loss = loss_fn()
        output_context.set_last_step_output(
            name="tower_loss_agg",
            output=loss,
            aggregation=variables_lib.VariableAggregation.MEAN)
        output_context.set_non_tensor_output(key1, value1)
        return (train_op, loss)

      def step_fn(output_context, *inputs):
        (train_op, loss) = distribution.call_for_each_tower(
            model_fn, output_context, *inputs, run_concurrently=False)
        output_context.set_last_step_output(
            name="cross_tower_loss_agg",
            output=loss,
            aggregation=variables_lib.VariableAggregation.MEAN)
        output_context.set_last_step_output(
            name="cross_tower_loss_noagg",
            output=loss)
        return distribution.group(train_op)

      iterator = distribution.distribute_dataset(
          dataset_fn).make_one_shot_iterator()

      def run_step():
        initial_loss = lambda: constant_op.constant(1e7)
        # Initial values corresponding to aggregated losses are just single
        # tensors. But for non aggregated losses, we need to have initial
        # values that are of the same structure as non reduced losses. In
        # MirroredStrategy, this will be a list of losses, in TPUStrategy
        # it will be single tensor. Using `broadcast` followed by `unwrap`
        # gives us the desired initial value structure.
        initial_loop_values = {
            "tower_loss_agg": initial_loss(),
            "cross_tower_loss_agg": initial_loss(),
            "cross_tower_loss_noagg":
            distribution.unwrap(distribution.broadcast(initial_loss()))
        }
        ctx = distribution.run_steps_on_dataset(
            step_fn, iterator, iterations=2,
            initial_loop_values=initial_loop_values)

        self.assertEqual({key1: [value1]}, ctx.non_tensor_outputs)
        self._verify_loss_output(
            initial_loss(),
            loss_output=ctx.last_step_outputs["tower_loss_agg"],
            aggregated=True, distribution=distribution)
        self._verify_loss_output(
            initial_loss(),
            loss_output=ctx.last_step_outputs["cross_tower_loss_agg"],
            aggregated=True, distribution=distribution)
        self._verify_loss_output(
            initial_loss(),
            loss_output=ctx.last_step_outputs["cross_tower_loss_noagg"],
            aggregated=False, distribution=distribution)
        return (ctx.run_op, ctx.last_step_outputs["tower_loss_agg"])

      self.evaluate(distribution.initialize())
      if not context.executing_eagerly():
        with self.test_session() as sess:
          run_step = sess.make_callable(run_step())
      self.evaluate(variables_lib.global_variables_initializer())

      weights, biases, losses = [], [], []
      for _ in range(5):
        _, loss = run_step()
        losses.append(loss)
        weights.append(self.evaluate(layer.kernel))
        biases.append(self.evaluate(layer.bias))

      self.evaluate(distribution.finalize())

      loss_is_not_increasing = all(y <= x for x, y in zip(losses, losses[1:]))
      self.assertTrue(loss_is_not_increasing)

      error = abs(
          numpy.add(numpy.squeeze(weights), numpy.squeeze(biases)) - 1)
      error_is_not_increasing = all(y <= x for x, y in zip(error, error[1:]))
      self.assertTrue(error_is_not_increasing)

  def _verify_loss_output(self, initial_loss, loss_output, aggregated,
                          distribution):
    if not aggregated:
      self.assertEqual(distribution.num_towers,
                       len(distribution.unwrap(loss_output)))
      loss_output = distribution.reduce(
          aggregation=variables_lib.VariableAggregation.MEAN,
          value=loss_output, destinations="/device:CPU:0")

    unwrapped_output = distribution.unwrap(loss_output)
    self.assertEqual(1, len(unwrapped_output))
    loss_tensor = unwrapped_output[0]
    self.assertEqual(initial_loss.dtype, loss_tensor.dtype)
    self.assertEqual(initial_loss.shape, loss_tensor.shape)

if __name__ == "__main__":
  test.main()

redpajama_set_name: RedPajamaGithub


text:
Q: Setting up the GTK4.0 library with CMake I've been trying to set up GTK4.0 on my C project but I haven't found anything that works yet, besides maybe brutaly including every directory in the gtk version I've installed but I understandably want to have a more elegant solution.
Sorry if the problem is simple, I really need to get this done... Here's the current CMakeLists file:
cmake_minimum_required(VERSION 3.12)
project(ProjectCESGI C)

set(CMAKE_C_STANDARD 99)
set(CMAKE_C_FLAGS "-Wall")

find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK REQUIRED gtk-4.0)

include_directories(${GTK4_INCLUDE_DIRS})
link_directories(${GTK4_LIBRARY_DIRS})

add_definitions(${GTK4_CFLAGS_OTHER})

target_link_libraries(gtk_test ${GTK4_LIBRARIES})

link_directories(C:/gtk-build/gtk/x64/release/lib)
link_libraries(gtk)
add_executable(ProjectCESGI main.c)
target_link_libraries(ProjectCESGI gtk)

If you need something else let me know.
I tried to brute-force my way out of the not found headers, but stopped halfway through realising how ridiculous the process was.
I also tried to look for a package which should somehow help me install the library, PkgConfig, but this doesn't seem to work either.

A: This should work:
cmake_minimum_required(VERSION 3.18)
project(ProjectCESGI LANGUAGES C)

find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK4 REQUIRED IMPORTED_TARGET gtk4)

add_executable(ProjectCESGI main.c)
target_link_libraries(ProjectCESGI PRIVATE PkgConfig::GTK4)

It's always better to use an imported target when one is available, and pkg_check_modules can create one for you with the IMPORTED_TARGET option. When you link to an imported target via target_link_libraries, CMake knows to set up the appropriate include directories, link directories, compile definitions, etc. to use the library.
Carefully consult the documentation if your build has trouble finding GTK4. Your build really should not be any more complex than this.

redpajama_set_name: RedPajamaStackExchange


text:
Arts & Culture ᐊᔨᐦᑐᐧᐃᓐ
Cree youth experience unique summer literacy camps
Summer literacy camps were held in eight Cree communities this summer, enrolling around 240 youth for most of July in a program organized by the Cree School Board and Frontier College.
CSB School Operations Director Kimberly Quinn said the board is aiming to promote education and literacy after an educational review in 2007-2008 showed literacy levels were in decline. "Research says that Grade 3 reading levels are strong predictors of student success in high school," she noted.
Brenna McIntyre, Regional Camp Coordinator for Frontier College, said that after finishing school in June, students "lose a lot of what they learned by September." She said the problem worsened during the pandemic, when schools closed for long periods.
"The camps aim to prevent that learning loss and have students start the new school year on the same page they left off. We try to make sure they're having a fun time, socializing, getting outdoors, and helping with social and emotional skills," McIntyre added.
She said that literacy was a big part of the camps, including learning to read and write, but that they knew "kids don't want to spend all day sitting at a desk, so it's the counsellors' job to make learning fun with interactive activities that get them moving around: scavenger hunts, finding clues, active games."
They also get visits from Elders, Cree storytellers, parents and community members, and sometimes take field trips.
Parents were pleased their children continued to learn during the summer, and by how interested they were to return to school. Teachers also note that these kids are more engaged at the start of the school year, according to McIntyre.
This year, the camps added programming for secondary students in the afternoons and evenings, with opportunities to learn things like making a podcast, digital art skills, robotics, sports, guitar lessons, cooking and crafts.
McIntyre said that they hire as many local staff as possible, getting higher levels of community engagement every time, and bring in counsellors from other communities when there aren't enough local applicants.
Counsellors attend a two-and-a-half week training course in Val-d'Or where they learn how to run the camps. While McIntyre is based in P.E.I., she attends these sessions so staff can ask questions directly.
The local teams are responsible for setting up the programming, often relying on community members who have a passion for education and who may want to pursue education or youth work in the future.
During the pandemic, the program shifted to "literacy catalysts," which entailed sending out resource kits consisting of books, challenges and contests to students, since meeting in person was largely prohibited. This year, the camps were offered in the morning while literacy catalysts were available for afternoons.
While they initially planned to hold camps in all nine communities this year, a lack of applicants meant there was no camp in Nemaska. Covid concerns in early July forced teams to place a cap on applicants, so only half of the usual 500 students were able to attend.
Since Frontier College began offering the camps in five fly-in communities in Ontario in 2005, the program has expanded to over 100 Indigenous communities across the country. In 2020, more than 5,300 students aged 5-12 participated in the program nationally.
Montreal First Peoples Festival wows record crowds with international flavours
Patrick Quinn
Hardcore music and living take their toll on Exploited frontman
Lyle Stewart
Provincial funding arrives after severe criticism of French-language bill
Aanischaaukamikw Cree Cultural Institute unveils new interactive website


Honda has introduced the facelifted Civic hatchback and wagon at the 2014 Paris Motor Show.
The 2015 Honda Civic hatchback will also be available in a Sport derivative featuring bespoke 17-inch rims, front mesh grille inserts and a sportier front bumper. Customers will be able to select between a naturally aspirated 1.8-liter gasoline engine with 142 HP (104 kW) or a 1.6-liter turbodiesel generating 120 HP (88 kW).
All 2015 Civic models will come equipped as standard with a City-Brake Active system created to diminish the risk of a low-speed crash by using a radar to scan the road up ahead. Working at speeds of up to 19 mph (30 km/h), the system will automatically apply the brakes if it detects an imminent risk of collision.
Besides the facelifted Civic range, Honda is displaying in Paris prototypes of the Euro-spec Jazz, HR-V and CR-V, along with an updated Civic Type R concept.


Wise Women Awards - Nigeria The Wise Women Awards recognizes the contribution that Christian women have made in the church and wider society.
Amb. (Mrs.). Unyime-Ivy King is the Executive Director of the Save Our Women and Girls Foundation (SOW&G). The area of focus is to create social developmental awareness on issues that concern women and girls through counselling, mentoring, educating and building capacity.
Incorporated in 2016, the foundation has trained hundreds of women and children- and some men by empowering beneficiaries with several business development skills.
She is a humanitarian worker, wife, mother, and an advocate for a return to Positive family values using the social media to express her passion, because she believes that strong and stable societies emerge from positive family experiences.
Amb. Unyime-Ivy is the convener of the Women Empowerment Skills Training (Project WEST), an annual skills training event and flagship program of SOW&G Foundation, which provides skills acquisition to women and girls. With the acquisition of these skills, most of the participants have set up micro business and have been able to attain a measure of independence and are on the way to being self-sufficient. Her work at SOW&G Foundation has been consistent and impactful.
In 2014, Amb. Unyime-Ivy King was awarded Eminent Ambassador of Peace with the United Nations under the auspices of the International Association of World Peace Advocates (IAWPA) and has spoken at UN conferences on issues that affect the girl child and the family institution as a whole. She was also appointed International Director, Gender Education/Advocacy by the International Association of World Peace Advocates (IAWPA). She is also ambassador of Nigerian Army School of Public Relations Institute, NASPRI and was The African Women in Leadership Organisation (AWLO), Akwa Ibom Chapter brand ambassador for the year 2015.
Unyime-Ivy King is a graduate of the University of Uyo, Uyo, Akwa Ibom state with a Bachelor of Arts honors degree in English from the Faculty of Arts.
A passionate God lover, she has served in different capacities in church- first in the Family Life Department of House on the Rock. She is married to her best friend and husband of 16 years, Ubong King, and lives with him and their four children in Lagos.
Pastor Marjorie realised that no awards events exist within the Christian community that recognise women's achievements.
© 2019 Wise Women Awards - Nigeria. All Rights Reserved.


text:
Q: Black background screen, while showing a popup view, using a separate UIViewController I have a UIViewController, which is embedded in a UINavigationController. In that view controller I have a UIButton, which shows a popup view, which is another UIViewController (pVC). It does that via a segue, which is set to showModally. Inside the popup I just have a single UIView.
Now, I'm setting the background colour of my pVC to clear, so when the button is tapped, it creates the effect like only the view inside pVC appears.
The problem is, when I set the background colour of pVC to clear and tap the button, pVC appears as intended on top of my current view controller, but after a second, the background becomes black. Here how it looks like:

In a View Hierarchy Debugger I see that this is a UIWindow layer that becomes black. I wonder, maybe this happens because my previous view controller is embedded inside a UINavigationController? When I try to do the same with two UIViewControllers, none of which is embedded inside anything, it works fine.
If you know the exact reason why this happens and/or how to solve the issue, I would appreciate your help.

A: Try to show modally pVC over the current context, doing so:

about overCurrentContext:

The views beneath the presented content are not removed from the view hierarchy when the presentation finishes. So if the presented view controller does not fill the screen with opaque content, the underlying content shows through.

A: Change background color of popup view to transparent in stead and do segue like this
Also add this code to the viewController that presents the popup and change name of segue to yours with selecting modally in storyboard with/without animation
 override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

    if(segue.identifier == "showLogout")
    {

         let newVC = segue.destination;

        self.setPresentationStyleForSelfController(selfController: self,presentingController: newVC)

    }
  }

func setPresentationStyleForSelfController(selfController:UIViewController,presentingController:UIViewController)
{
   if #available(iOS 8.0, *)
    {

        //iOS 8.0 and above

        presentingController.providesPresentationContextTransitionStyle = true;

        presentingController.definesPresentationContext = true;

        presentingController.modalPresentationStyle = UIModalPresentationStyle.overCurrentContext

    }
    else
    {

         presentingController.modalPresentationStyle = UIModalPresentationStyle.currentContext

        selfController.navigationController?.modalPresentationStyle = UIModalPresentationStyle.currentContext
    }

}