text:
"""SQLite parser plugin for MacOS MacKeeper cache database files."""

from __future__ import unicode_literals

import codecs
import json

from dfdatetime import java_time as dfdatetime_java_time
from dfdatetime import semantic_time as dfdatetime_semantic_time
from dfdatetime import time_elements as dfdatetime_time_elements

from plaso.containers import events
from plaso.containers import time_events
from plaso.lib import definitions
from plaso.parsers import sqlite
from plaso.parsers.sqlite_plugins import interface

class MacKeeperCacheEventData(events.EventData):
  """MacKeeper Cache event data.

  Attributes:
    description (str): description.
    event_type (str): event type.
    record_id (int): record identifier.
    room (str): room.
    text (str): text.
    url (str): URL.
    user_name (str): user name.
    user_sid (str): user security identifier (SID).
  """
  DATA_TYPE = 'mackeeper:cache'

  def __init__(self):
    """Initializes event data."""
    super(MacKeeperCacheEventData, self).__init__(data_type=self.DATA_TYPE)
    self.description = None
    self.event_type = None
    self.record_id = None
    self.room = None
    self.text = None
    self.url = None
    self.user_name = None
    self.user_sid = None

class MacKeeperCachePlugin(interface.SQLitePlugin):
  """SQLite parser plugin for MacOS MacKeeper cache database files."""

  NAME = 'mackeeper_cache'
  DATA_FORMAT = 'MacOS MacKeeper cache SQLite database file'

  REQUIRED_STRUCTURE = {
      'cfurl_cache_blob_data': frozenset([]),
      'cfurl_cache_receiver_data': frozenset([
          'entry_ID', 'receiver_data', 'entry_ID']),
      'cfurl_cache_response': frozenset([
          'request_key', 'time_stamp', 'entry_ID'])}

  QUERIES = [((
      'SELECT d.entry_ID AS id, d.receiver_data AS data, r.request_key, '
      'r.time_stamp AS time_string FROM cfurl_cache_receiver_data d, '
      'cfurl_cache_response r WHERE r.entry_ID = '
      'd.entry_ID'), 'ParseReceiverData')]

  SCHEMAS = [{
      'cfurl_cache_blob_data': (
          'CREATE TABLE cfurl_cache_blob_data(entry_ID INTEGER PRIMARY KEY, '
          'response_object BLOB, request_object BLOB, proto_props BLOB, '
          'user_info BLOB)'),
      'cfurl_cache_receiver_data': (
          'CREATE TABLE cfurl_cache_receiver_data(entry_ID INTEGER PRIMARY '
          'KEY, receiver_data BLOB)'),
      'cfurl_cache_response': (
          'CREATE TABLE cfurl_cache_response(entry_ID INTEGER PRIMARY KEY '
          'AUTOINCREMENT UNIQUE, version INTEGER, hash_value INTEGER, '
          'storage_policy INTEGER, request_key TEXT UNIQUE, time_stamp NOT '
          'NULL DEFAULT CURRENT_TIMESTAMP, partition TEXT)'),
      'cfurl_cache_schema_version': (
          'CREATE TABLE cfurl_cache_schema_version(schema_version INTEGER)')}]

  def _DictToListOfStrings(self, data_dict):
    """Converts a dictionary into a list of strings.

    Args:
      data_dict (dict[str, object]): dictionary to convert.

    Returns:
      list[str]: list of strings.
    """
    ret_list = []
    for key, value in data_dict.items():
      if key in ('body', 'datetime', 'type', 'room', 'rooms', 'id'):
        continue
      ret_list.append('{0:s} = {1!s}'.format(key, value))

    return ret_list

  def _ExtractJQuery(self, jquery_raw):
    """Extracts values from a JQuery string.

    Args:
      jquery_raw (str): JQuery string.

    Returns:
      dict[str, str]: extracted values.
    """
    data_part = ''
    if not jquery_raw:
      return {}

    if '[' in jquery_raw:
      _, _, first_part = jquery_raw.partition('[')
      data_part, _, _ = first_part.partition(']')
    elif jquery_raw.startswith('//'):
      _, _, first_part = jquery_raw.partition('{')
      data_part = '{{{0:s}'.format(first_part)
    elif '({' in jquery_raw:
      _, _, first_part = jquery_raw.partition('(')
      data_part, _, _ = first_part.rpartition(')')

    if not data_part:
      return {}

    try:
      data_dict = json.loads(data_part)
    except ValueError:
      return {}

    return data_dict

  def _ParseChatData(self, data):
    """Parses chat comment data.

    Args:
      data (dict[str, object]): chat comment data as returned by SQLite.

    Returns:
      dict[str, object]: parsed chat comment data.
    """
    data_store = {}

    if 'body' in data:
      body = data.get('body', '').replace('\n', ' ')
      if body.startswith('//') and '{' in body:
        body_dict = self._ExtractJQuery(body)
        title, _, _ = body.partition('{')
        body = '{0:s} <{1!s}>'.format(
            title[2:], self._DictToListOfStrings(body_dict))
    else:
      body = 'No text.'

    data_store['text'] = body

    room = data.get('rooms', None)
    if not room:
      room = data.get('room', None)
    if room:
      data_store['room'] = room

    data_store['id'] = data.get('id', None)
    user = data.get('user', None)
    if user:
      try:
        user_sid = int(user)
        data_store['sid'] = user_sid
      except (ValueError, TypeError):
        data_store['user'] = user

    return data_store

  def ParseReceiverData(
      self, parser_mediator, query, row, **unused_kwargs):
    """Parses a single row from the receiver and cache response table.

    Args:
      parser_mediator (ParserMediator): mediates interactions between parsers
          and other components, such as storage and dfvfs.
      query (str): query that created the row.
      row (sqlite3.Row): row.
    """
    query_hash = hash(query)

    data = {}
    key_url = self._GetRowValue(query_hash, row, 'request_key')

    data_dict = {}
    description = 'MacKeeper Entry'
    # Check the URL, since that contains vital information about the type of
    # event we are dealing with.
    if key_url.endswith('plist'):
      description = 'Configuration Definition'
      data['text'] = 'Plist content added to cache.'

    elif key_url.startswith('http://event.zeobit.com'):
      description = 'MacKeeper Event'
      try:
        _, _, part = key_url.partition('?')
        data['text'] = part.replace('&', ' ')
      except UnicodeDecodeError:
        data['text'] = 'N/A'

    elif key_url.startswith('http://account.zeobit.com'):
      description = 'Account Activity'
      _, _, activity = key_url.partition('#')
      if activity:
        data['text'] = 'Action started: {0:s}'.format(activity)
      else:
        data['text'] = 'Unknown activity.'

    elif key_url.startswith('http://support.') and 'chat' in key_url:
      description = 'Chat '
      try:
        jquery = self._GetRowValue(query_hash, row, 'data')
        jquery = codecs.decode(jquery, 'utf-8')
      except UnicodeDecodeError:
        jquery = ''

      data_dict = self._ExtractJQuery(jquery)
      data = self._ParseChatData(data_dict)

      data['entry_type'] = data_dict.get('type', '')
      if data['entry_type'] == 'comment':
        description += 'Comment'
      elif data['entry_type'] == 'outgoing':
        description += 'Outgoing Message'
      elif data['entry_type'] == 'incoming':
        description += 'Incoming Message'
      else:
        # Empty or not known entry type, generic status message.
        description += 'Entry'
        data['text'] = ';'.join(self._DictToListOfStrings(data_dict))
        if not data['text']:
          data['text'] = 'No additional data.'

    event_data = MacKeeperCacheEventData()
    event_data.description = description
    event_data.event_type = data.get('event_type', None)
    event_data.offset = self._GetRowValue(query_hash, row, 'id')
    event_data.query = query
    event_data.record_id = data.get('id', None)
    event_data.room = data.get('room', None)
    event_data.text = data.get('text', None)
    event_data.url = key_url
    event_data.user_name = data.get('user', None)
    event_data.user_sid = data.get('sid', None)

    time_value = self._GetRowValue(query_hash, row, 'time_string')
    if isinstance(time_value, int):
      date_time = dfdatetime_java_time.JavaTime(timestamp=time_value)
    else:
      try:
        date_time = dfdatetime_time_elements.TimeElements()
        date_time.CopyFromDateTimeString(time_value)
      except ValueError as exception:
        parser_mediator.ProduceExtractionWarning(
            'Unable to parse time string: {0:s} with error: {1!s}'.format(
                time_value, exception))
        date_time = dfdatetime_semantic_time.InvalidTime()

    event = time_events.DateTimeValuesEvent(
        date_time, definitions.TIME_DESCRIPTION_ADDED)
    parser_mediator.ProduceEventWithEventData(event, event_data)

sqlite.SQLiteParser.RegisterPlugin(MacKeeperCachePlugin)

redpajama_set_name: RedPajamaGithub


text:
Q: How Can I Test a .catch Promise Return in AngularJS using Jasmine? I'm fairly new to Javascript and just learning AngularJS but I've gotten most of my test cases to work with some great examples I've found.  Unfortunately I can't seem to find anything to help me test my current case.
I'm testing a Controller using a mocked Service whose method returns a promise.  I would like the mocked Service to return an error in order to execute the '.catch' block in the controller method.  I can tell that it's not getting called correctly in a couple of ways:

*

*I'm using istanbul for code coverage and it's telling me I'm not covering the 'catch'

*The code in the '.catch' block is not getting executed from what I can tell via debugging

The controller under test, specifically need to test the '.catch' in $scope.login:
login.js
'use strict';

angular.module('ibcwebDashApp')
  .controller('LoginCtrl', function ($scope, Auth, $location) {
    $scope.user = {};
    $scope.errors = {};

    $scope.login = function(form) {
      $scope.submitted = true;

      if(form.$valid) {
        Auth.login({
          email: $scope.user.email,
          password: $scope.user.password
        })
        .then( function() {
          // Logged in, redirect to home
          $location.path('/');
        })
        .catch( function(err) {
          err = err.data;
          $scope.errors.other = err.message;
        });
      }
    };
  });

The service and method I'm attempting to mock:
Auth.login
'use strict';

angular.module('ibcwebDashApp')
  .factory('Auth', function Auth($location, $rootScope, Session, User, $cookieStore) {

    // Get currentUser from cookie
    $rootScope.currentUser = $cookieStore.get('user') || null;
    $cookieStore.remove('user');

    return {

      /**
       * Authenticate user
       *
       * @param  {Object}   user     - login info
       * @param  {Function} callback - optional
       * @return {Promise}
       */
      login: function(user, callback) {
        var cb = callback || angular.noop;

        return Session.save({
          email: user.email,
          password: user.password
        }, function(user) {
          $rootScope.currentUser = user;
          return cb();
        }, function(err) {
          return cb(err);
        }).$promise;
      },

And finally, my test file.  The funny part is that all tests are passing but the 'expect' in the last test can be changed to pretty much anything and it still passes.  The first two tests seem to run as expected but the last test is where I'm trying to execute the catch block by throwing an error from the mock Auth service:
login.unit.js
'use strict';

describe('Controller: LoginCtrl', function () {
  var $scope, $location, loginCtrl, mockAuthService;

  beforeEach(function() {
    mockAuthService = jasmine.createSpyObj('Auth', ['login']);

    module('ibcwebDashApp');

    module(function($provide) {
      $provide.value('Auth', mockAuthService);
    });

    inject(function($rootScope, $controller, $q, _$location_) {
      //create an empty scope
      $scope = $rootScope.$new();
      $location = _$location_;
      //declare the controller and inject our empty scope
      loginCtrl = $controller('LoginCtrl', {$scope: $scope, Auth: mockAuthService});

    });

  });

  describe('successful login', function() {

    beforeEach(function() {
      inject(function($q) {
        mockAuthService.login.andReturn($q.when());
      });

    });

    it('should call auth.login with the scope email and password when form is valid', function() {
      //given
      $scope.form = {};
      $scope.form.$valid = true;
      $scope.user.email = 'user@test.com';
      $scope.user.password = 'password123';

      //when
      $scope.login($scope.form);

      //then
      expect($scope.submitted).toBe(true);
      expect(mockAuthService.login).toHaveBeenCalledWith({email:'user@test.com', password:'password123'});

      $scope.$apply(); //force return of auth.login promise

      expect($location.path()).toBe('/');
    });

    it('should not call auth.login if form is invalid', function() {
      //given
      $scope.form = {};
      $scope.form.$valid = false;

      //when
      $scope.login($scope.form);

      expect(mockAuthService.login).not.toHaveBeenCalled();
    });
  });

  describe('unsuccessful login', function() {

    beforeEach(function () {
      inject(function () {
        mockAuthService.login.andReturn($q.when(new Error('Bad Login!')));
      });

      it('should set errors.other to the returned auth error message', function() {
        //given
        $scope.form = {};
        $scope.form.$valid = true;

        //when
        $scope.login($scope.form);

        $scope.$apply();

        //then
        expect($scope.errors.other).toEqual('Bad Login!');
      });

    });
  });
});

I apologize for posting so much code but I wanted to provide as much context as possible.  I really appreciate anyone who can help me out as I learn my way around unit testing Angular and promises!  Thanks!!!
**UPDATE**
I was able to solve my issue with some help from below and discovering some syntactic errors.  Here's what fixed this:

*

*My beforeEach on the last test was not closed properly and actually enclosed the last test causing it not to run correctly (or maybe at all). This is why changing the expect conditions resulted in no errors.

*I changed my beforeEach inject to: mockAuthService.login.andReturn($q.reject({data: {message: 'Bad Login!'}})); using the reject suggested below.

*Once I properly closed the beforeEach I got an error message that $q was not defined so I had to added it to inject(function($q)
Once I corrected these issues the promise was correctly rejected and the error was caught by the appropriate code in the controller.

A: Before or while running your test, mock out part of the environment like this:
var originalAuthLogin = Auth.login;
Auth.login = function() {
  return Promise.reject({data: {message: 'Error message'}});
};

After the test restore the environment to sanity:
Auth.login = originalAuthLogin;

This immediately calls the .catch() block of the code you're trying to test.

redpajama_set_name: RedPajamaStackExchange


It continues. And what continues? Freedom continues.
Our dearest is becoming aware of a vastly different pattern of thinking. This she is. And to what has her thinking changed? It has changed to caring about herself. Is this not so, dearest?
Yes, it is absolutely true. I have been marveling about this recently.
And can you give an example or two?
The major differences I see and feel relate to how I think about my day. Recently I began to learn piano keyboard; something I've wanted to do all my life. I find myself constructing my day in a fashion that combines pleasure and work, but with a view to enjoying my day. This is very different from times past when I didn't spend time and energy doing something for me and me alone.
I am also thinking about the food I will eat and ensuring I'm doing that which is good for my body; such as sitting in the winter sun to feed my body vitamin D. There are many more 'little' snippets of self care slipping into my thinking. Life really has become about taking care of me, and enjoying myself.
We know this is true, dearest. And the future?
I'm not totally sure about the future. I know, at this moment, I can't foresee doing anything that would bring me harm. However, I do believe there will be challenges, though just how they will present is something I'll need to experience when the time comes.
I do know, though, I will be skilled sufficiently to deal with whatever happens. This is something I'm constantly aware of as my thinking has changed from needing approval, and the fear this generates; to having a mindset that envisions fun and enjoyment at the top of the thinking pyramid.
Well said, dearest. Yes, fun and enjoyment coupled with challenges geared to progression, will become the order of the day.
When it all comes down, attitude is all we have!
Thinking has changed to work conciously for my happiness as against natural tendency of being self oriented selfishly. The difference is subttle but important. But how will it make me prepared for future challenge. I am wondering.
Yes, I do agree with you; there is a subtle yet wonderful difference between selfishness and caring for the self.
As I have rid myself of the negatives (the fears that held me captive in so many ways) I am feeling an incredible sense of freedom. It is this sense of freedom from 'fear', I believe, that will be the basis of confidence needed to handle life's challenges. Without 'fear' we can think clearly; act bravely, and bring about joy within.
I am also thinking about the food I will eat and ensuring I'm doing that which is good for my body. -//- I need to do more of this. Much more.
Seems we, more often than not, David, think about the simple things like looking after ourselves at the bottom of a very long list of things to do!
We seem to be in sync, as I ramp up my enjoyments.
Of course, street art has been a most enjoyable hobby, which the universe presented to me while my mother was dying. Her hospice was surrounded by many of Winniipeg's stunning murals. I still enjoy greatly this hobby, for many, many reasons. One is the exercise I get while searching. The other is the many souls who find the beauty in what I share. Some, like you, have become very special to me.
Then when mom died, I needed more beauty. So, I made my first Art Gown. I can still hear her say…let this be your last movie, spend some time for yourself. I only do 1 project a year, now.
Whether or not I get into the Art Show I'm trying for remains to be seen. Nonetheless, I am enjoying.
So, if I'm correct, we are both enjoying…. and in sync!
How wonderful for you and your Art Gowns. I do hope you'll publish an extract, or two, of the write up when you receive it. Nothing less than you deserve, my dear Resa.
I am enjoying life tremendously, at the moment. In fact, doing any kind of work (head) is a little beyond me at present… I'm far too relaxed for that.. hahahaaaa…..
Beautiful post, I just wonder how I missed it ! 🙂 I'm thrilled to read this: "I will be skilled sufficiently to deal with whatever happens", truly motivating words, thanks so much.
Yes, it is indeed the best approach.


text:
B-to-B, Mobile
B-to-B Insights: The Death of the BRC
QR Codes are the culprit—and how B-to-B marketers can integrate this mobile response device
By Bob Bly
When I was starting out in marketing in the late 1970s, the standard response device in direct marketing was the business reply card (BRC). With the advent of PURLs (personalized URLs), use of the BRC declined dramatically. Many argued that the BRC was an unnecessary component of a direct mail package. Why waste a piece of card stock when the prospect could just go to a URL?
Now, the rising popularity of QR Codes has further driven a stake into the BRC's heart. Why fill out a BRC with a pen when you can respond to a promotion by scanning it with your smartphone in about a second?
Deciphering the Code
According to a study published by comScore, more than 55 percent of Americans are now smartphone users, and most are between the ages of 24 and 35. The gender mix is about 50-50. One in every five American smartphone users scanned a QR Code in a retail store in 2011. And 57 percent of those who scanned QR Codes in 2011 did so at home on their mobile devices.
The more data you put into the code, the smaller the dots (the dark pixel squares) become, as the QR Code adjusts itself to increase its data storage capacity. And, as the size of the dots decrease, they become harder for the scanner in the smartphone to "see," so the QR Code itself needs to be made larger in order for it to be reliably scanned. Here are seven other factoids and tips to help you decipher QR Codes:
1. The density of the code is described by a version number that is based on the number of rows and columns of dots. A Version 1 QR Code will have 21 rows and 21 columns of dots and the version number will then increase by 1 for every 4 extra rows and columns. So, for example, a Version 2 QR Code will have 25 rows and columns, a Version 3 QR Code will have 29 rows and columns, right through to a Version 25 QR Code that will have 117 rows and columns.
1 2 3 4 AllNext »
Bob Bly
E Bob Bly Author's page
Bob Bly is a freelance copywriter who has written copy for more than 100 clients including IBM, AT&T, Praxair, Intuit, Forbes, and Ingersoll-Rand. McGraw-Hill calls Bob "America's top copywriter" and he is the author of 90 books, including "The Copywriter's Handbook." Find him online at www.bly.com or call (973) 263-0562.
Here's How B2B Marketers Can Make Sites Better
Using Marketing to Decrease Risk
Walker Sands Q&A Responds to Google Ads News
Prospect Experience Marketing and Lead Generation
How to Craft Powerful Value Propositions
Achieving Authenticity in Marketing, at Scale

redpajama_set_name: RedPajamaCommonCrawl


hop on hop off san francisco map. You probably know already that hop on hop off san francisco map is among the most popular issues online nowadays. According to information we had from google adwords, hop on hop off san francisco map has a lot of search online search engine. We think that hop on hop off san francisco map deliver fresh options or references for audience.
We have found lots of sources about hop on hop off san francisco map but we feel this one is the greatest. I hope you would also agree with our opinion. This picture has been uploaded by admin and is in category tags page. You are able to obtain this image by simply clicking on the save link or right click on the graphic and choose save.
We sincerely hope that whatever we give to you can be useful. If you would like, you can distribute this content for your friend, loved ones, community, or you can also bookmark this page.


text:
Densho Digital Repository Densho Digital Repository
By Narrator
By Facility
Using Materials in the DDR
densho.org
ddr-densho-357
Hanako Yoshioka and girl
Download large (164.1 KB) Download full-size (3.5 MB)
Free to use This object is offered under a Creative Commons license. You are free to use it for any non-commercial purpose as long as you properly cite it, and if you share what you have created.
Densho
Visit partner
ddr-densho-357-53
PARENT COLLECTION
Terakawa Collection
Hanako Yoshioka and an unnamed young woman walk on a road while carrying a bouquet of flowers.
Hayward, California
OBJECT GENRE
OBJECT FORMAT
Terakawa, Hanako Yoshioka
Courtesy of the Terakawa Collection, Densho
ddr-densho-357-53-mezzanine-484a04b939 - Photograph: Hanako and young woman carrying flowers
https://ddr.densho.org/ddr-densho-357-53-mezzanine-484a04b939/
© Densho, 2022. Terms of Use/Privacy Policy BACK TO TOP
The text of this page is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Where indicated, images and other primary source materials may be subject to use restrictions by their respective rights holders. More information
This material is based upon work assisted by a grant from the U.S. Department of the Interior, National Park Service. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the U.S. Department of the Interior.
Visit Densho.org


text:
Q: Is SU(2) a normal subgroup of SL(2,C)? I am defining a map from SL(2/C)/SU(2) -> SL(2,C) and obviously it would be convenient if SU(2) is a normal subgroup so that I can define a group homomorphism.  However, I'm not sure whether or not it is normal.

A: No. More generally, $\mathfrak{sl}(2,\mathbb C)$ is simple as a real Lie algebra, and so any normal subgroup of $\mathrm{SL}(2,\mathbb C)$ must be discrete.  Indeed, the notion of "simple Lie algebra" doesn't care how big a field your Lie algebra is defined over.  This is an important example to keep in mind.  You probably know that the compact (real) simple Lie groups are in bijection with the simple complex Lie groups, but that there are other real simple Lie groups, which exist as "real forms" (fixed points under an involution) on a complex guy.  But the important thing to remember is that even if you only care about simples (and not, say, semisimples), then to classify the simples over $\mathbb R$ you must look at non-simple semisimples over $\mathbb C$.  The example here is that the complexification $\mathfrak{sl}(2,\mathbb C) \otimes_{\mathbb R} \mathbb C \cong \mathfrak{sl}(2,\mathbb C) \oplus \mathfrak{sl}(2,\mathbb C)$, which is not simple even though it has a simple real form.
In the future, I would suggest that this particular question is better suited for math.stackexchange.  Nearby questions may be appropriate for this site, but an important part in making them so is for you to include a little bit more motivation and background.  Namely, please include a little indication of what you already know (what is your level of expertise in related topics?), and also please include some discussion of how this question relates to your mathematical research.  Lie Theory certainly is a part of active professional mathematical research, but it is also a part of some undergraduate curriculums, and you will get better answers if the answerers know their audience.


text:
Netherlands: 61 South African passengers test positive for COVID, variant exists 'probably'
The Dutch health authorities said, on Saturday, that the Omicron variant "probably" caused COVID-19 contamination of some of the 61 South African passengers who tested positive after arriving in the Netherlands on Friday.
• Read also: US: Seven doctors promoting fake treatment for COVID-19 tested positive
• Read also: Germany: First suspected case of Omicron . variant detected
"It is likely that an Omicron variant will be found among those tested," the National Institute of Public Health (RIVM) said in a statement, adding that it "will be determined whether an Omicron variant was involved" after further analysis, the results of which should be known Sunday.
RIVM also recommends that travelers who have recently returned from South Africa – which includes South Africa, Botswana, Lesotho, Malawi, Mozambique, Namibia, Eswatini (Swaziland) and Zimbabwe – get a test. symptoms".
The Dutch Health Authority (GGD) announced on Saturday that about 61 passengers from Johannesburg and Cape Town (South Africa) tested positive for Covid-19 when they arrived in Amsterdam on Friday, while another 531 tested negative.
The positive cases have been placed in quarantine at a hotel near Amsterdam Schiphol Airport.
The new variant of the coronavirus, Omicron, which was first detected in South Africa, is considered "worrying" by the World Health Organization (WHO).
The European Center for Disease Prevention and Control (ECDC) warned Friday night that it poses "high to very high" risks to Europe.
It may represent an increased risk of infection compared to other variants, including delta, which are currently prevalent and already highly contagious.
See also Biden's success depends on reforming the Senate
More countries are suspending travel to and from South Africa to limit the use of Omicron. The anxiety it causes plunged global stock markets and oil prices, dealing another blow to the global economy in full recovery.
Entry into the Netherlands from South Africa is only allowed for Dutch nationals, from EU countries, and residents of the Schengen area, who must submit a negative Covid test and self-isolate after arrival.
COVID-19 coronavirus screening: 95% of the time slots are filled
Recommended configuration Farming Simulator 2022, what is the minimum configuration? – Break Flip


As you might know we Indians, celebrate by having powwows. Incase powwows are not familiar to you they are a celebration used by Indians. These Powwows help all Indians come together and celebrate their heritage. Let me take you into a more descriptive paragraph to tell you why we have Powwows. I will also tell you more facts about our Powwows.
Some people celebrate by parties, but we Indians have Powwows instead. Powwows help our people come together and remember that it is our job to keep our heritage alive. At these Powwows, we serve food such as succotash - which is lima beans with corn, fry bread, Indian Tacos, hotdogs and hamburgers, and much more. As for drinks, we have a various number of food stands that also serve drinks such as water or soda, but there is one stand that serves just drinks. In the afternoon we have a dance session. That is when all dancers gather in a circle and dance our dances. We tell the stories of how each regalia came to be. Dances are Jingle, Traditional, Women's Fancy, Hoop, Men's Fancy and many more. Some of these dances such as, Traditional are slower then maybe, Jingle or Fancy. Hoop dancing is done very fast as you dance with the hoops. There is one dance called the Eagle Dance. You dance gracefully just as if you were a Eagle. You flap your wings and start to dance. People make Eagle noises too. Jingle and Fancy are dances that require maybe a tad bit more time to learn than traditional. Each jingle for the Jingle dress represents a prayer. There are 365 Jingles on a Jingle Dress. The fancy, is where you have a shawl around you and dance. If you have a sharp eye you will see how the dancer gently lifts her feet off the ground. Now the Traditional Dress is done slowly but peacefully. You step on beat swaying back and forth. With each step you make you are gracefully dancing. Moccasins are the shoes you would wear when attending the powwow. Well, not attending but if you were dancing. But with Jingle you might want to wear leggings. The Nanticoke Indian Powwow is about two days. It is in September. I am not sure what date but I think it is sometime after Labor Day. The days of powwow are Saturday and Sunday. People who do not completely understand Indians might refer to regalia as costumes, but I will assure you that ARE NOT costumes. These are the dresses we dance with. These dresses keep our culture alive. These dresses mean everything to our culture and without them we would not be remembered now or in the nearby future. So next time you think of Indians think of this.
I hope you learned more about the Nanticoke Indian Powwow now. We still celebrate our culture but in a different way than you might do if you are not an Indian. Remember we Indians would never be remembered by what we live for if we did not have this Powwow yearly. I hope to see the Nanticoke Indian Powwow in the future. If not come on down and stop by the Nanticoke Indian Museum. They have a lot of stuff for you to see, like a wolf that was once alive. We even have things to buy.
All that is why we have Powwows.


text:
Get $15 off ED treatment (if prescribed). Start now
Melynda Barnes, MD
Dr. Barnes is a double board-certified Facial Plastic and Reconstructive Surgeon and Otolaryngologist. Prior to joining Ro, she was an Assistant Professor of Surgery-Otolaryngology at Yale School of Medicine and served on Yale Medical Group's Board of Directors. As a Facial Plastic and Reconstructive Surgeon, Dr. B specialized in cosmetic and aesthetic surgery, skincare, and reconstructive surgery.
Dr. Barnes has been recognized as one of Business Insider's 30 under 40 in Health, Crain's New York Notable Black Executives, Fierce Healthcare's Most Influential Minority Executives, and a 40 Under 40 Leader in Health. She has been invited to speak at Harvard Business School and the American Telemedicine Association National Conference and has been featured in Fast Company, Fortune, Forbes, Shape, and more. Dr. Barnes is a founding member of CHIEF, a network of female executives, and is on the board of the Fund for Public Health in New York City.
Undergraduate: Biology and Spanish with distinction from Stanford University
Medical School: The Icahn School of Medicine at Mount Sinai
Residency: Otolaryngology—Head and Neck Surgery at Stanford University
Fellowship: Facial Plastic and Reconstructive Surgery at Oregon Health & Science University
Board-certified in Otolaryngology—Head and Neck Surgery by the American Board of Otolaryngology—Head and Neck Surgery (ABOHNS)
Board-certified in Facial Plastic and Reconstructive Surgery by the American Board of Facial Plastic and Reconstructive Surgery (ABFPRS)
Certified yoga instructor
Doris Duke Clinical Research Fellow at Washington University in St. Louis
Gold Humanism in Medicine recipient
Named as one of Business Insider's 30 under 40 Changing Healthcare in 2021
Named as one of Crain's 2021 New York Notable Black Leaders & Executives
Named as one of Fierce Healthcare's Most Influential Minority Executives
Awarded 40 Under 40 Leader in Health
Top Doctor in Connecticut in 2015 & 2016
Top Doctor in New York in 2017 & 2018
Our medical review process
Every article on Health Guide goes through rigorous fact-checking by our team of medical reviewers. Our reviewers are trained medical professionals who ensure each article contains the most up-to-date information, and that medical details have been correctly interpreted by the writer. Learn more about our medical review team and process here.
Before undergoing rigorous medical review, every Health Guide article is held to the highest editorial standards. Our editorial team ensures each article aligns with our tone of voice, style, and grammatical standards. Learn more about our editorial guidelines.


In this episode Ben and John Paul introduce a new segment call the Student Ministry Hot Seat. Ben and John Paul will call a student pastor and talk about student ministry and how God is working in their life. In this episode Ben and John Paul call Zach Ethridge, student pastor at Liberty Baptist Church.


text:
Q: How to search for X character set item in cell divided by underscore Let's say I have the following value in a cell "test1_test2_test3_test4_test5". In another cell it could be "test1_test2_test3" or even "test 1_t est2".
What I would like is to have a 'general' function that I can specify to only give me back e.g. all characters before the first underscore, between the first en second underscore etc...and all the characters after the last underscore. And....if there isn't anything found, don't give back an error but just empty or nothing.
Thusfar I've googled a working format for when having a maximum of 2 underscores present (each different in formula):
For locating and displaying the characters before the first underscore: =LEFT(D32; SEARCH("";D32;1)-1)
For locating the characters after the first and before the second underscore: =MID(D32;SEARCH("";D32;1)+1;SEARCH("";D32;SEARCH("";D32;1)+1)-(SEARCH("";D32;1))-1)
For locating the characters after the second underscore (not limiting untill the next one is/is not present): =RIGHT(D32;LEN(D32)-SEARCH("";D32;SEARCH("_";D32;1)+1))
Ps: because my native (excel) language is Dutch, I've done my best to translate my working Excel functions to the English syntax.

A: With data in A1, in B1 enter:
=TRIM(MID(SUBSTITUTE($A1,"_",REPT(" ",999)),COLUMNS($A:A)*999-998,999))

and copy across:

A: I suggest Text to Columns with underscore as the delimiter, count how many pieces result (COUNTA) and then pick to suit accordingly. Use IF to return blank ("") if say you want the text after the second underscore and the count is 1.


text:
package com.jwetherell.quick_response_code.camera;

import java.util.Collection;
import java.util.List;

import android.content.Context;
import android.graphics.Point;
import android.hardware.Camera;
import android.util.Log;
import android.view.Display;
import android.view.WindowManager;

import com.jwetherell.quick_response_code.data.Preferences;

/**
 * A class which deals with reading, parsing, and setting the camera parameters
 * which are used to configure the camera hardware.
 */
public final class CameraConfigurationManager {

    private static final String TAG = "CameraConfiguration";
    private static final int MIN_PREVIEW_PIXELS = 320 * 240; // small screen
    private static final int MAX_PREVIEW_PIXELS = 800 * 480; // large/HD screen

    private final Context context;
    private Point screenResolution;
    private Point cameraResolution;

    public CameraConfigurationManager(Context context) {
        this.context = context;
    }

    /**
     * Reads, one time, values from the camera that are needed by the app.
     */
    void initFromCameraParameters(Camera camera) {
        WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
        Display display = manager.getDefaultDisplay();
        int width = display.getWidth();
        int height = display.getHeight();
        // We're landscape-only, and have apparently seen issues with display
        // thinking it's portrait
        // when waking from sleep. If it's not landscape, assume it's mistaken
        // and reverse them:
        if (width < height) {
            Log.i(TAG, "Display reports portrait orientation; assuming this is incorrect");
            int temp = width;
            width = height;
            height = temp;
        }
        initFromCameraParameters(camera, width, height);
    }

    void initFromCameraParameters(Camera camera, int w, int h) {
        Camera.Parameters parameters = camera.getParameters();
        screenResolution = new Point(w, h);
        Log.i(TAG, "Screen resolution: " + screenResolution);
        Camera.Size s = getOptimalPreviewSize(parameters.getSupportedPreviewSizes(), w, h);
        cameraResolution = new Point(s.width, s.height);//findBestPreviewSizeValue(parameters, screenResolution, true);
        Log.i(TAG, "Camera resolution: " + cameraResolution);
    }

    Point setDesiredCameraParameters(Camera camera) {
        Camera.Parameters parameters = camera.getParameters();

        if (parameters == null) {
            Log.w(TAG, "Device error: no camera parameters are available. Proceeding without configuration.");
            return null;
        }

        initializeTorch(parameters);
        String focusMode = findSettableValue(parameters.getSupportedFocusModes(), Camera.Parameters.FOCUS_MODE_AUTO, Camera.Parameters.FOCUS_MODE_MACRO);
        if (focusMode != null) {
            parameters.setFocusMode(focusMode);
        }

        parameters.setPreviewSize(cameraResolution.x, cameraResolution.y);
        camera.setParameters(parameters);

        return cameraResolution;
    }

    public Point getCameraResolution() {
        return cameraResolution;
    }

    public Point getScreenResolution() {
        return screenResolution;
    }

    void setTorch(Camera camera, boolean newSetting) {
        Camera.Parameters parameters = camera.getParameters();
        doSetTorch(parameters, newSetting);
        camera.setParameters(parameters);
    }

    private static void initializeTorch(Camera.Parameters parameters) {
        doSetTorch(parameters, Preferences.KEY_FRONT_LIGHT);
    }

    private static void doSetTorch(Camera.Parameters parameters, boolean newSetting) {
        String flashMode;
        if (newSetting) {
            flashMode = findSettableValue(parameters.getSupportedFlashModes(), Camera.Parameters.FLASH_MODE_TORCH, Camera.Parameters.FLASH_MODE_ON);
        } else {
            flashMode = findSettableValue(parameters.getSupportedFlashModes(), Camera.Parameters.FLASH_MODE_OFF);
        }
        if (flashMode != null) {
            parameters.setFlashMode(flashMode);
        }
    }

    private Camera.Size getOptimalPreviewSize(List<Camera.Size> sizes, int w, int h) {
        final double ASPECT_TOLERANCE = 0.05;
        double targetRatio = (double) w/h;

        if (sizes==null) return null;

        Camera.Size optimalSize = null;

        double minDiff = Double.MAX_VALUE;

        int targetHeight = h;

        // Find size
        for (Camera.Size size : sizes) {
            double ratio = (double) size.width / size.height;
            if (Math.abs(ratio - targetRatio) > ASPECT_TOLERANCE) continue;
            if (Math.abs(size.height - targetHeight) < minDiff) {
                optimalSize = size;
                minDiff = Math.abs(size.height - targetHeight);
            }
        }

        if (optimalSize == null) {
            minDiff = Double.MAX_VALUE;
            for (Camera.Size size : sizes) {
                if (Math.abs(size.height - targetHeight) < minDiff) {
                    optimalSize = size;
                    minDiff = Math.abs(size.height - targetHeight);
                }
            }
        }
        return optimalSize;
    }

    private static Point findBestPreviewSizeValue(Camera.Parameters parameters, Point screenResolution, boolean portrait) {
        Point bestSize = null;
        int diff = Integer.MAX_VALUE;
        for (Camera.Size supportedPreviewSize : parameters.getSupportedPreviewSizes()) {
            int pixels = supportedPreviewSize.height * supportedPreviewSize.width;
            if (pixels < MIN_PREVIEW_PIXELS || pixels > MAX_PREVIEW_PIXELS) {
                continue;
            }
            int supportedWidth = portrait ? supportedPreviewSize.height : supportedPreviewSize.width;
            int supportedHeight = portrait ? supportedPreviewSize.width : supportedPreviewSize.height;
            int newDiff = Math.abs(screenResolution.x * supportedHeight - supportedWidth * screenResolution.y);
            if (newDiff == 0) {
                bestSize = new Point(supportedWidth, supportedHeight);
                break;
            }
            if (newDiff < diff) {
                bestSize = new Point(supportedWidth, supportedHeight);
                diff = newDiff;
            }
        }
        if (bestSize == null) {
            Camera.Size defaultSize = parameters.getPreviewSize();
            bestSize = new Point(defaultSize.width, defaultSize.height);
        }
        return bestSize;
    }

    private static String findSettableValue(Collection<String> supportedValues, String... desiredValues) {
        Log.i(TAG, "Supported values: " + supportedValues);
        String result = null;
        if (supportedValues != null) {
            for (String desiredValue : desiredValues) {
                if (supportedValues.contains(desiredValue)) {
                    result = desiredValue;
                    break;
                }
            }
        }
        Log.i(TAG, "Settable value: " + result);
        return result;
    }

}


text:
Fit am Ball Africa ist ein "Dribbel-Spendenrekord" und Deutschlands größtes wissenschaftliches Projekt zur Förderung des Schulsports. Ziel war es bis zur Fußball-Weltmeisterschaft 2010 in Südafrika am 11. Juni 2010 eine Spendensumme von 1 Million Euro zu erdribbeln. Die Dribbel-Spenden kommen Schul- und Bildungsprojekten in 13 afrikanischen Ländern zugute.
2011 geht Fit am Ball in die nächste Runde, das Motto in diesem Jahr lautet "Kinder in Deutschland dribbeln für Kinder in Afrika". Immer mehr Mädchen und Frauen begeistern sich für den Fußball. Die Fußball-WM für Frauen 2011 in Deutschland rückt dieses Interesse weiter in den Fokus der Öffentlichkeit. Deshalb geht es bei "Fit am Ball 2011" auch um eine neue und gesonderte Spielmethodik und Sportspiel-Didaktik, mit der Mädchen in freiwilligen Sport-AGs besonders gefördert werden können. Am Ende der Projektphase soll deutlich sein, welchen Gewinn Mädchen und Jungen gemeinsam vom Fußballspiel haben können. Außerdem werden wieder Spenden für afrikanische Schulprojekte gesammelt.

Viele prominente Sportler, bekannte Persönlichkeiten und Spitzensportvereine unterstützen "Fit am Ball". Unter anderem die Nationalspieler Lukas Podolski und Bastian Schweinsteiger oder der Ex-Manager der Fußballmannschaft von Bayer 04 Leverkusen Reiner Calmund. Passend zur Fußball-WM der Frauen in Deutschland unterstützen auch die Nationalspielerinnen Sonja Fuss, Inka Grings und die OK-Chefin der Frauen WM Steffi Jones das Projekt.

Außerdem existiert zur jährlichen Ergebnissicherung und Weiterentwicklung der Idee "Fit am Ball" die "Fit am Ball"-Nachhaltigkeitskonferenz FABCON, die jährlich an der Deutschen Sporthochschule Köln stattfindet. Teilnehmer der FABCON 2011 waren unter anderem Gabriele Rath von Projektpartner Misereor und Eva-Maria Hertkens von UNICEF sowie der Soziologe Ulrich Oevermann von der Johann-Wolfgang-Goethe-Universität Frankfurt am Main.

Geschichte
Fit am Ball Africa ging aus einem wissenschaftlichen Projekt zur Förderung des Schulsports hervor, welches die Deutsche Sporthochschule in Köln initiierte. Seit 2003 wurden in über 1.500 Schulen freiwillige Schulsport-AGs aufgebaut und unterstützt.

2008 stand der Dribbel-Weltrekord "Fit am Ball 3000" im Mittelpunkt des Projektes. Dabei dribbelten mehr als 4.000 Schülerinnen und Schüler einen Ball über 3.000 Kilometer als ununterbrochene Staffel durch Deutschland. Die spektakuläre, 100-tägige Aktion wurde vor dem Eröffnungsspiel zur Fußball-EM in Basel am 7. Juni 2008 als offizieller "Guinness World Record" zertifiziert.

Initiiert und finanziert wird die Aktivität für mehr Freude an regelmäßiger Bewegung und für mehr Teamgeist und Solidarität in der Schule vom Kölner Kartoffelchips- und Knabberartikel-Hersteller Intersnack.

Spenden
Die Dribbel-Spenden kommen Schul- und Bildungsprojekten in 13 afrikanischen Ländern zugute. Für die ordnungsgemäße und transparente Abwicklung bürgen die Projektpartner Misereor und Unicef. Unterstützt wird "Fit am Ball Africa" von der Deutschen Sporthochschule Köln mit Lehrer-Fortbildungen, speziellen Handreichungen, Organisationshilfen und Unterrichtsmaterialien für Schulen und Kinder. Kontakte zu Schulen und Bildungseinrichtungen in Afrika werden vermittelt; im Zentrum steht somit nicht nur eine Rekord-Spendensumme, erzielt durch freiwilligen Schulsport, sondern unter dem Motto "Freunde gesucht!" vor allem das Ziel nachhaltiger Partnerschaften zwischen deutschen "Fit am Ball"-Schulen sowie Schulen und Bildungsprojekten in Afrika.

Unterstützer
 Hauptsponsor und Projektleitung: Funny-frisch, Deutsche Sporthochschule Köln
 Co-Sponsor: Garmin
 Sport-Vereine (u. a.): 1. FC Kaiserslautern, 1. FC Köln, TSV 1860 München, FC Schalke 04, Dynamo Dresden, Borussia Dortmund, TSG 1899 Hoffenheim, Hamburger SV, MSV Duisburg, VfL Wolfsburg, Hertha BSC.
 Prominente Persönlichkeiten (u. a.):Bastian Schweinsteiger, Lukas Podolski, Steffi Jones, Inka Grings, Sonja Fuss, Jürgen Roters (Kölner Oberbürgermeister), Reiner Calmund, Monika Staab (frühere Nationalspielerin, heute international für die FIFA aktiv) und Marlyse Bernadette Ngo Ndoumbouk (Spieler beim FF USV Jena).
 Sonstige Einrichtungen (u. a.): Allwetterzoo Münster, Phantasialand Brühl bei Köln, Serengeti-Park Hodenhagen, Zoo Köln, Zoo Duisburg, Zoo Erfurt, Safariland Stukenbrock, die Musikband Mama Afrika und Deutsches Jugendherbergswerk.

Die Strecke
Aktuell unterstützt "Fit am Ball Africa" 18 Hilfsprojekte in 13 afrikanischen Ländern. Verbindet man die Projekte von Kairo in Ägypten bis Kapstadt in Südafrika mit einer Linie, so ergibt sich eine imaginäre Strecke, die etwa 16.000 Kilometer lang von Norden bis Süden durch ganz Afrika führt.

Im Rahmen der Dribbel-Spendenläufe wurde von den Teilnehmerinnen und Teilnehmern an "Fit am Ball Africa" auf dem Weg zum Weltrekord diese Strecke in Deutschland sozusagen "virtuell" zurücklegen.

Weblinks
 Website von Fit am Ball Africa

Sportlicher Rekord
Humanitäre Hilfsaktion
Sportpädagogik
Fußballkultur
Fußballgeschichte
Sport 2011

redpajama_set_name: RedPajamaWikipedia


text:
Home Health "Thus medicine disadvantages women. And abuse and genital mutilation among immigrants"
"Thus medicine disadvantages women. And abuse and genital mutilation among immigrants"
"Certain medical controls are not as valuable for men as they are for women, for example colon cancer screening which uses more sensitive markers for the male gender. But the analysis can also be reversed, thinking of the HPIV test administered mostly to women and rarely to men". It is the concrete example that the gynecologist Valeria Cerri led to the conference "Violence in gender medicine" which took place today on the Credit Agricole campus in via San Bartolomeo in Piacenza.
Among the speakers, also present the head of migration medicine of the Ausl Alessandra Donini and the infectious disease specialist Marzio Sistiwith the introduction of the president of the anti-violence center "La città delle donne" Donatella Scardi and the moderation of the director of Telelibertà Nicoletta Beagles. According to the promoters of the initiative, "medicine was born in an androcentric way, that is with man at the centre. Only in the 1980s was the awareness shared that women do not receive treatment suited to their characteristics". From here – at the beginning of the 2000s – the so-called "gender medicine" was established with the aim of understanding the differences between sexes in the course of many diseases.
Gender medicine is a broad observation point, which also affects sexually transmitted diseases: "Contagion – Sisti clarified – is an act of violence in the event that a partner, often a man, does not communicate that he has an infection or does not put in place the adequate protection mechanisms". Furthermore, gender-based violence is an emergency among immigrant patients: "In our clinics – Donini explained – we see cases of female genital mutilation and serious psychological situations due to abuse during migration".
See also OpenAI machine learning to play Minecraft successfully made a diamond pickaxe in 20 minutes | 4Gamers
© Copyright 2022 Freedom Editorial
donatella scardigender medicinegender violencemarzio sistimedicinenicoletta bracchivaleria cerris
The return of Bossi: "If you cancel the identity you die, the League must be renewed". La Russa: "Salvini whistled the national anthem, Renzi was an upstart of the left"
The number of deaths from the epidemic in Hong Kong is on the rise | New | Confirmed
Goggia-Jacobs, queen and king of speed together in Dubai
JPMorgan, ready €1bn financing for Serie A


text:
How the unheralded AFF Cup is opening the world to the footballing talents of Southeast Asia
Boasting crowds of upto 100,000, the 2019 AFF Cup provided shocks and sublime class as many unknown talents shone in Southeast Asia
Paul Murphy 21/01/2019
How the devilishly talented Shunsuke Nakamura became a Celtic legend
Despite its relative success, it's fair to say that Celtic fans don't look back as fondly on Gordon Strachan's stint as manager as they do on Martin O'Neill's five-year tenure. O'Neill put Celtic…
Mario Gjurovski, one of Thai football's greatest imports, talks Fowler, Jokanović and moving to Asia
For many people reading this article, Macedonian maestro and star of the Thai League Mario Gjurovski may be one of the best players they have never seen. Those that know of him…
Jason Brown: the former Wales, Blackburn and Gillingham goalkeeper forging a coaching career in Thailand
Jason Brown is embarking on a management career in the unlikely environment of Thailand and firmly believes there would be an extra barrier to getting such an opportunity back in Great Britain.…
Chanathip Songkrasin and the first steps to producing a world-class Thai footballer
When Chanathip Songkrasin cynically barged an opponent off the ball less than five minutes into his J League debut, the Thai playmaker had made a statement of sorts. He may have picked up…
Christian Vieri: a decade of beastly brilliance and bad luck
Two of the finest strikers of their generation took to the field for Inter Milan on the final day of the 2001/02 Serie A season, with their side needing to win at Lazio…
Southeast Asia: the last frontier of the football world
THE EYES OF THE FOOTBALL WORLD have been firmly focused on the Far East since Chinese Super League teams began splashing vast amounts of cash on some top European, South American and…
How Timor-Leste, like others, (probably) flouted FIFA's eligibility rules
There is nothing new in international teams seeking an edge through claiming talent with even the most tenuous connections to their countries. But Timor Leste's attempt to fill their squad with Brazilians…
A man of decency and talent: remembering Celtic hero Tommy Burns
For most Scots and fans of poetry around the world, the surname Burns is associated with the famous 18th Century poet, Robert. For Celtic fans, however, the Bard of Ayrshire comes a distant…
Why Thailand is becoming a new football destination
North America remains the destination of choice for big-name players past their prime looking to prolong their careers in a new environment. China has tried to muscle in on that market and…
The Indomitable Lions and Africa's false dawn
In 1977, Pelé predicted that an African team would win the World Cup before the year 2000, but this was widely met with scepticism by those who had seen the dismal efforts…
How the wily, jinking Jimmy Johnstone became the greatest Celtic player of all
A witty, jovial man, Jimmy Johnstone stands tall as arguably Celtic's greatest player; a great dribbler who tormented a generation of defenders
The end of the great Scottish manager
For more than half a century, a few managers from the West of Scotland had a huge influence on British and European football. From Matt Busby in the 1950s to Sir Alex Ferguson,…
Germany 2002: the worst World Cup finalists ever?
Some of the best football teams in history have fallen just short of World Cup glory. The Mighty Magyars of Hungary were widely considered the best team of the era when they…
Henrik Larsson and the cult of a king
IT IS THE 1994 WORLD CUP QUARTER-FINAL and Sweden have 13 minutes to find an equaliser as they trail Romania 2-1. They turn to 22-year-old Feyenoord forward Henrik Larsson, a player who…
Ľubomír Moravčík: the little-known Slovak sensation who lit up Celtic Park
Arriving as a relative unknown with little backing in the press, Lubomir Moravcik went on to establish himself as one of Celtic's greatest players
The unrelenting rise of Buriram United
NESTLED IN NORTH EAST THAILAND, 400km from the gleaming skyscrapers and tourist traps of Bangkok, at first sight Buriram seems an unlikely place for a football revolution to be taking place. The north…


text:
Hanwha Defense utilizes know-how in submarine battery to develop ESS technology for civilian ships
Lim Chang-won Reporter(cwlim34@ajunews.com) | Posted : June 24, 2021, 10:42 | Updated : June 24, 2021, 10:42
[Courtesy of Hanwha Defense]
SEOUL -- Hanwha Defense, a key defense contractor in South Korea, will utilize its know-how in a submarine lithium-ion battery pack to lead a three-year state project aimed at developing technology for a marine energy storage system with a high level of safety that would replace imports and target foreign clients.
The project, supervised by the state-run Korea Institue of Energy Technology Evaluation and Planning (KETEP), requires some 15.8 billion won ($13.9 million) to localize an integrated lithium-ion battery energy storage system (ESS). ESS is a power storage system that consists of batteries or specially designed battery packs.
Hanwha Defense has established a consortium with three research bodies, including the Korea Research Institute of Ships and Ocean Engineering (KRISO), and companies such as Daewoo Shipbuilding & Marine Engineering (DSME). In February 2020, the shipbuilder partnered with Hanwha Defense for the development of a lithium-ion battery-based energy storage system that can reduce fuel use and emissions of pollutants generated by ships.
lithium battery-based energy storage devices are seen as a next-generation ship energy source. Through a technology development deal with KETEP, Hanwha Defense hopes to set up an important bridgehead for entering the market for civilian eco-friendly ships. The company has developed its own energy storage system for state-run ships.
Hanwha Defense CEO Sohn Jae-il said his company would cooperate with partners to focus on standardizing "the world's safest and most competitive ESS product" for ships. "We hope that this will contribute to enhancing the competitiveness of our nation by activating the development and dissemination of eco-friendly ship technologies in South Korea," Sohn said in a statement on June 24.
Hanwha Defense and its partners would focus on energy storage systems for 1MWh-class and 200kWh-class ships and carry out evaluation, certification and safety verification tests. They would develop technologies such as preventing heat transfer, firefighting in module units, optimal design for marine environments, lightweight and miniaturization and safety control.
Hanwha Defense would upgrade fire safety technologies and lead the standardization of ESS products targeting the global market. The International Maritime Organization (IMO), a U.N. maritime safety agency, has adopted mandatory energy-efficiency measures to reduce greenhouse gas emissions from ships.
Hanwha Defense said it has accumulated technology and know-how related to large-capacity marine energy storage devices through the development of a submarine battery pack that demonstrated world-class safety and reliability through a performance verification test in a harsh test environment.
South Korea has carried out the preliminary design of a diesel-electric submarine carrying lithium-ion batteries that are more power-efficient, take up less space and improve underwater navigation capability and high-speed maneuvering compared to conventional lead-acid batteries. Safety and reliability were prioritized for the development of lithium-ion batteries for submarines.
Samsung shipyard acquires independent technologies for wind turbine installation vessel
Daewoo shipyard partners with defense company to develop lithium battery-based energy storage device
Hyundai partners with Hanwha Q Cells to develop ESS based on spent EV batteries


Its a Brand New car Star Prize to Give Away, N500,000 cash Prize and an International Pageant to go for with all Expense Paid Trip.
So why not get involved and stand the chance of taking home this Wonderful Prizes.
Registration for the MR AND MISS FRESHER NIGERIA 2018 [M.F.N.] is already ongoing, Early Preparation leads to Good Achievements and Success.
Are you Beautiful, handsome, poise, Elegant, Brainy and Smart?
Between the ages of 18 - 28yrs?
Then Its time to take that Bold Step to Fame.
Contact our help lines: 08084902786. 08027007090.


The University also offers a Post-Baccalaureate Certificate program with admission limited to those students who possess an earned bachelor's degree (or higher) in any field prior to commencing Legal Studies at the University. The Post-Baccalaureate Certificate Program is a credit program that can generally be completed in one year (or less) and consists of 8 substantive legal courses totaling 24 credit hours. A grade of C or higher in each course is required to receive a Post-Baccalaureate Certificate of Completion.
Recipients of either the 60 credit hours Undergraduate or Post-Baccalaureate Certificates of Completion, or the Bachelor of Science in Administration degree with the Legal Studies major specialization are eligible to sit for the Certified Legal Assistant ("CLA") examination that is administered by the National Association of Legal Assistants, Inc. ("NALA").


text:
Photos-Videos
CJ Data
Louisville Storytellers
Kentucky State Fair
Kentucky Derby Festival
Cars DIY
Kroger in the Kitchen
Intelligent Construction
Xtras!
Comics & Puzzles
Newest Supreme Court justice at U of L: 'Judges should wear robes, not capes'
Justice Neil Gorsuch delivers soft-spoken message on virtues of judicial restraint and interpreting the Constitution in the spirit of the framers
Newest Supreme Court justice at U of L: 'Judges should wear robes, not capes' Justice Neil Gorsuch delivers soft-spoken message on virtues of judicial restraint and interpreting the Constitution in the spirit of the framers Check out this story on courier-journal.com: https://www.courier-journal.com/story/news/2017/09/21/justice-gorsuch-mcconnell-center-speech/658400001/
Andrew Wolfson, @adwolfson Published 5:48 p.m. ET Sept. 21, 2017 | Updated 5:52 p.m. ET Sept. 21, 2017
Neil Gorsuch has been formally sworn in as the 113th justice of the Supreme Court after taking his second oath at the White House on Monday. (April 10) AP
Neil Gorsuch, associate justice of the Supreme Court of the United States, acknowledges the applause just before making remarks during the McConnell Center's Distinguished Speakers Series at the University of Louisville. Senator Mitch McConnell looked on in the background. Sep. 21, 2017(Photo: Sam Upshaw Jr./CJ)Buy Photo
Supreme Court Justice Neil Gorsuch, who owes his appointment to Sen. Majority Leader Mitch McConnell, returned the favor by speaking Thursday at the University of Louisville's McConnell Center.
Tailoring his message of judicial conservatism to his local audience, Gorsuch said allowing unelected judges to "make law" is "like asking Lamar Jackson to do the kicking."
Speaking before a full house of 550 attorneys, judges, students and dignitaries at Comstock Hall, Gorsuch said judges should "take the baton" from the founders and interpret the Constitution as it was written.
Supreme Court Associate Justice Neil Gorsuch listens while being introduced just before he made remarks during the McConnell Center's Distinguished Speakers Series at the University of Louisville. Sep. 21, 2017 (Photo: Sam Upshaw Jr./CJ)
"Judges should wear robes – not capes," said Gorsuch, who was introduced by McConnell. "They should say what the law is, not what it should be."
Gorsuch was making one of his first public appearances since he was affirmed in April. President Barack Obama last year nominated Judge Merrick Garland to replace Justice Antonin Scalia, who died in February 2016, but McConnell blocked the appointment, claiming the next president should have the right to make the nomination
Gorsuch has voted on only 15 Supreme Court cases but so far has walked in Scalia's footsteps: In every case he has sided with the court's most conservative member, Justice Clarence Thomas, according to FiveThirtyEight, a statistics-based news site. In his first vote on a death penalty case, he cast the fifth and deciding vote that allowed Arkansas to execute Ledell Lee, one of eight inmates the state sought to put to death in 11 days before a sedative used in lethal injections was set to expire.
Speaking in a soft voice that was sometimes hard to hear, Gorsuch talked about important mementos in his chambers, including a giant stuffed elk that Scalia bagged and named "Leroy."
"We are both from Colorado and neither of us will forget Justice Scalia," he quipped.
Senator Mitch McConnell, right, greeted Supreme Court Associate Justice Neil Gorsuch just before he made remarks during the McConnell Center's Distinguished Speakers Series at the University of Louisville. Sep. 21, 2017 (Photo: Sam Upshaw Jr./CJ)
But getting more serious, he also cited two portraits on his office walls – one of Justice John Marshall Harlan of Kentucky, who cast the court's lone dissent in Plessy vs Ferguson, the 1896 case in which the court upheld racial segregation for public facilities under the separate but equal doctrine.
Gorsuch called the opinion a stain on the court and said Harlan's portrait reminds him that the law must be colorblind. He said another picture, of James Madison, the author of the Bill of Rights, serves as a reminder for him of the importance of obeying the Constitution.
Opinion: Gorsuch's confirmation worth the fight | McConnell
Background: Gorsuch confirmation to have major impact on all three branches of government
But Gorsuch said the dispersal of power among the three branches of government – rather than the Bill of Rights, "is what make makes us free." He noted that Scalia once said "every tin horn dictator in the world today, every president for life, has a Bill of Rights."
In a 45-minute address, Gorsuch, who took no questions, said judges should ignore policy debates and avoid trying to reach certain results. "Sometimes the good guy loses and the bad guy wins – but that is what the law demands," he said.
"Why bother winning elections if judges can make the law?" he added.
A look at Neil Gorsuch, the newest justice of the Supreme Court
Gorsuch leaves after attending a discussion about civility and professionalism in the practice of law at an American Inns of Court event in Washington on Oct. 21, 2017. Sait Serkan Gurbuz, AP
Gorsuch speaks at the 50th anniversary of the Fund for America Studies luncheon at the Trump Hotel in Washington on Sept. 28, 2017. Pablo Martinez Monsivais, AP
Gorsuch speaks to an audience as a guest of Senate Majority Leader Mitch McConnell at the University of Louisville on Sept. 21, 2017, in Louisville, Ky. Timothy D. Easley, AP
Gorsuch and Chief Justice John Roberts stand together at the Supreme Court following Gorsuch's investiture ceremony on June 15, 2017. MICHAEL REYNOLDS, EPA
This Supreme Court handout photo shows President Trump and Gorsuch at a courtesy visit in the Justices' Conference Room prior to the investiture ceremony on June 15, 2017. Fred Schilling, AFP/Getty Images
The justices of the U.S. Supreme Court gather for an official group portrait to include Gorsuch on June 1, 2017. J. Scott Applewhite, AP
President Trump watches as Justice Anthony Kennedy administers the oath of office to Neil Gorsuch as an associate justice of the Supreme Court in the Rose Garden of the White House on April 10, 2017. Mandel Ngan, AFP/Getty Images
In this photo provided by the Supreme Court's Public Information Office, Chief Justice John Roberts and fellow justices watch as Neil Gorsuch signs the constitutional oath after a private ceremony on April 10, 2017, at the Supreme Court. Franz Jantzen, AP
Gorsuch prepares to testify on Capitol Hill on March 22, 2017, the third day of his confirmation hearing before the Senate Judiciary Committee. J. Scott Applewhite, AP
Gorsuch testifies before the Senate Judiciary Committee during the third day of his confirmation hearings on March 22, 2017. Jack Gruber, USA TODAY
A Senate staff member hands documents to Gorsuch during Day Two of his confirmation hearings before the Senate Judiciary Committee on March 21, 2017. Jack Gruber, USA TODAY
Gorsuch arrives on Capitol Hill on March 20, 2017, for his confirmation hearing before the Senate Judiciary Committee. Pablo Martinez Monsivais, AP
Gorsuch looks toward his wife, Louise, before the start of his Senate Judiciary Committee confirmation hearing on March 20, 2017. Brendan Smialowski, AFP/Getty Images
Gorsuch arrives for the first day of his Supreme Court confirmation hearings before the Senate Judiciary Committee in the Hart Senate Office Building on March 20, 2017. Chip Somodevilla, Getty Images
Gorsuch meets with Sen. Al Franken, D-Minn., in Franken's office on Capitol Hill on March 7, 2017. Justin Sullivan, Getty Images
Gorsuch meets with Sen. Angus King, I-Maine, in his office on Capitol Hill on March 1, 2017. Mark Wilson, Getty Images
Gorsuch, seen through glass, makes an animated gesture while speaking with staff members before his meeting with Sen. Tom Udall, D-N.M., on Feb. 27, 2017, on Capitol Hill. J. Scott Applewhite, AP
Gorsuch meets with Sen. Tom Udall, D-N.M., on Capitol Hill on Feb. 27, 2017. J. Scott Applewhite, AP
Sen. Chris Murphy, D-Conn., meets with Gorsuch on Capitol Hill on Feb. 16, 2017. Susan Walsh, AP
Sen. Bob Casey, D-Pa., shares a laugh with Gorsuch at the beginning of their meeting on Capitol Hill on Feb. 16, 2017. Susan Walsh, AP
Gorsuch meets with Sen. Chris Coons, D-Del., on Capitol Hill on Feb. 14, 2017. Andrew Harnik, AP
Gorsuch meets with Sen. Dick Durbin, D-Ill., in Durbin's office in the U.S. Capitol on Feb. 13, 2017. Win McNamee, Getty Images
Gorsuch meets with Sen. Joni Ernst, R-Iowa, in Ernst's office on Capitol Hill on Feb. 13, 2017. Win McNamee, Getty Images
Gorsuch meets with Sen. Roy Blunt, R-Mo., in Blunt's office on Capitol Hill on Feb. 10, 2017. Win McNamee, Getty Images
Gorsuch meets with Sen. David Perdue, R-Ga., on Capitol Hill on Feb. 10, 2017. J. Scott Applewhite, AP
Gorsuch meets with Sen. Roger Wicker, R-Miss., on Capitol Hill on Feb. 10, 2017. J. Scott Applewhite, AP
Gorsuch meets with Sen. Susan Collins, R-Maine, on Capitol Hill on Feb. 9, 2017. J. Scott Applewhite, AP
Gorsuch meets with Sen. Steve Daines, R-Mont., in the senator's office on Capitol Hill on Feb. 9, 2017. Michael Reynolds, European Pressphoto Agency
Gorsuch arrives with former senator Kelly Ayotte at the office of Sen. Richard Blumenthal, D-Conn., on Capitol Hill on Feb. 8, 2017. Alex Wong, Getty Images
Gorsuch fist-bumps 4-year-old Charles Marshall III of Dover, Del., during a visit to Capitol Hill on Feb. 8, 2017. Alex Wong, Getty Images
Gorsuch meets with Sen. Claire McCaskil, D-Mo., on Capitol Hill on Feb. 8, 2017. Michael Reynolds, European Pressphoto Agency
Gorsuch meets with Sen. Tom Cotton, R-Ark., in Cotton's office on Feb. 8, 2017, on Capitol Hill. Alex Wong, Getty Images
Gorsuch meets with Sen. Heidi Heitkamp, D-N.D., on Capitol Hill on Feb. 8, 2017. Shawn Thew, European Pressphoto Agency
Gorsuch meets with Sen. Jeff Flake, R-Ariz., on Feb. 8, 2017, on Capitol Hill. J. Scott Applewhite, AP
Gorsuch talks with Sen. Ben Sasse, R-Neb., on Capitol Hill on Feb. 7, 2017. Mark Wilson, Getty Images
Gorsuch meets with Senate Minority Leader Chuck Schumer, D-N.Y., in Schumer's office at the U.S. Capitol on Feb. 7, 2017. Win McNamee, Getty Images
Gorsuch meets with Sen. Dianne Feinstein, D-Calif., ranking member of the Senate Judiciary Committee, in her office on Capitol Hill on Feb. 6, 2017. J. Scott Applewhite, AP
Sen. Ted Cruz, R-Texas, speaks with Gorsuch during a meeting on Capitol Hill on Feb. 2, 2017. Saul Loeb, AFP/Getty Images
Gorsuch meets with Sen. Lindsey Graham, R-S.C., in his office on Capitol Hill on Feb. 2, 2017. Mark Wilson, Getty Images
Gorsuch meets with Sen. Bob Corker, R-Tenn. in Corker's office on Capitol Hill on Feb. 2, 2017. Susan Walsh, AP
Gorsuch meets with Sen. Shelley Moore Capito, R-W.Va., at the Russell Senate Office Building on Capitol Hill on Feb. 2, 2017. Chip Somodevilla, Getty Images
Gorsuch faces members of the news media on Capitol Hill on Feb. 1, 2017. Chip Somodevilla, Getty Images
Gorsuch meets with Sen. Joe Manchin, D-W.Va., on Capitol Hill on Feb. 1, 2017. Chip Somodevilla, Getty Images
Gorsuch meets with Sen. Orrin Hatch on Capitol Hill on Feb. 1, 2017. Zach Gibson, AFP/Getty Images
Gorsuch walks with Sen. Cory Gardner, R-Colo., on Capitol Hill on Feb. 1, 2017. Jose Luis Magana, AP
Gorsuch listens as Senate Judiciary Chairman Chuck Grassley, R-Iowa, speaks on Capitol Hill on Feb. 1, 2017. Jose Luis Magana, AP
Former Republican senator Kelly Ayotte, center, introduces Gorsuch to Sen. Dianne Feinstein, D-Calif., in the hallway of the U.S. Capitol on Feb. 1, 2017. Chip Somodevilla, Getty Images
Gorsuch meets with Senate Majority Whip John Cornyn, R-Texas, in his office in the U.S. Capitol on Feb. 1, 2017. Chip Somodevilla, Getty Images
Gorsuch is accompanied by former senator Kelly Ayotte and Vice President Pence in a visit to Capitol Hill on Feb. 1, 2017. Jim Lo Scalzo, European Pressphoto Agency
Senate Majority Leader Mitch McConnell shakes hands with Gorsuch during a meeting on Feb. 1, 2017, at the U.S. Capitol. Alex Wong, Getty Images
Gorsuch speaks in the East Room of the White House after President Trump announced his nomination on Jan. 31, 2017. Brendan Smialowski, AFP/Getty Images
Gorsuch speaks alongside his wife, Louise, and President Trump in the East Room of the White House on Jan. 31, 2017. "It is the role of judges to apply, not alter, the work of the people's representatives," he said in his remarks. "A judge who likes every outcome he reaches is very likely a bad judge, stretching for results he prefers rather than those the law demands." Carolyn Kaster, AP
Gorsuch stands with his wife, Louise, as President Trump announces his Supreme Court nomination in the East Room of the White House on Jan. 31, 2017. Carolyn Kaster, AP
Gorsuch delivers remarks before a group of attorneys at a luncheon in Denver on Jan. 27, 2017. David Zalubowski, AP
Gorsuch, a 49-year-old federal appeals court judge from Colorado, is seen as a natural replacement for the late Justice Antonin Scalia. David Zalubowski, AP
The son of Anne Gorsuch Burford, President Ronald Reagan's EPA administrator, Gorsuch, 50, is from Denver, attended Harvard Law School and served on the 10th U.S. Circuit Court of Appeals.
He was confirmed by the Senate after Republicans triggered the so-called "nuclear option," lowering the vote threshold on nominations from 60 to 51, allowing Republicans to break a Democratic filibuster.
Gorsuch, who met privately with McConnell Scholars as part of the center's distinguished speaker series, was the third justice to speak at the center.
The program, which celebrated its 25th anniversary last year, has provided more than $3.5 million in scholarships to 250 students.
Reporter Andrew Wolfson can be reached at 502-582-7189 or awolfson@courier-journal.com
Neil Gorsuch, associate justice of the Supreme Court of the United States, made remarks during the McConnell Center's Distinguished Speakers Series at the University of Louisville. Sep. 21, 2017 (Photo: Sam Upshaw Jr./CJ)
Read or Share this story: https://www.courier-journal.com/story/news/2017/09/21/justice-gorsuch-mcconnell-center-speech/658400001/
Matt Jones pulled from TV show amid US Senate speculation
'America's Day as the Racist': Trump's 'go back' tweet spurs graffiti
McConnell: President Trump 'is not a racist'
Police: 2 Kentucky massage parlors promoted prostitution
Braidy Industries on the clock to raise $300M in four months
Louisville man missing for 19 days found dead in Alaska


text:
PCMag Australia Computers & Electronics Laptops Ultrabooks
First Tests: Are Nvidia's GeForce RTX Super Laptop Chips a Big Step Up?
The first laptops packing Nvidia GeForce RTX Super graphics just hit PC Labs, and we did some early hands-on testing. Do these high-end graphics chips deliver a new tier of power for mobile gamers?
By Matthew Buzzi
15 Apr 2020, 11:02 p.m.
Earlier this month, Nvidia announced it would be shipping mobile versions of its GeForce RTX 2070 Super and RTX 2080 Super GPUs on laptops. Now, we're able to bring you some early first-hand testing to see how they stack up against existing GeForce laptop GPUs.
In the time since the announcement, we were able to get hold of and start testing two laptops that carried the GeForce RTX 2070 Super and the RTX 2080 Super (both of them in dialed-back Max-Q configurations). The former is in the Gigabyte Aero 15 OLED XB, while the latter is installed in the MSI GS66 Stealth, both part of a new 2020 wave of gaming laptops that boast Nvidia GeForce RTX Super GPUs and Intel's 10th Generation Core H-Series processors.
We were able to do this testing with early versions of the soon-to-be available public drivers, and of course only have these two samples to go on so far. As a result, these early tests below may be representative of what these components can do, but bear in mind: This is just two laptops, an early sampling, with first drivers and lots of variables between and among them and earlier laptops we'll use for comparison.
An 'RTX Super' Refresher
For background, these top-end graphics chips will, in theory, push the higher end of Nvidia's laptop-GPU offerings even further for laptops. On the desktop, the GeForce RTX Super series delivered better performance than the original graphics cards at a lower price point. In practice, Super-izing the GeForce RTX 2070, for example, turned it nearly into an RTX 2080, at a lower price than the original stock model. You can see our reviews of the GeForce RTX 2070 Super and GeForce RTX 2080 Super desktop cards for many more details and lots of testing.
Like with the desktop cards, the laptop versions of these GPUs should give hardcore gamers even higher frame rates in AAA games, make it more likely you can use Nvidia's advanced ray-tracing technology without tanking frame rates, and serve as a boon for high-refresh-rate gaming (as long as the laptop's display panel allows it). You can see the new Super GPUs in relation to the rest of the Nvidia laptop-GPU lineup here...
As I wrote in my original analysis, until this launch, the original GeForce RTX 2070 and RTX 2080 were the premium GPU options in Nvidia's laptop-GPU stack, so these new upticked Super versions should push performance further in elite, enthusiast-grade gaming laptops. You will not see them in value-focused laptops, though the existence of new high-end options does have a knock-on price effect at the entry level, which will be lower going forward. For example, Nvidia notes that shoppers should see laptops with the GeForce RTX 2060 starting at $999, a new low for RTX-based gaming machines.
The Gigabyte Aero 15 OLED XB and the MSI GS66 Stealth are two such premium laptops, with slim designs and an array of advanced features in addition to the powerful GPUs. You can read our full review of the Gigabyte Aero 15 OLED XB today, while the MSI GS66 Stealth arrived scant hours ahead of this article, so a full review will be forthcoming soon. (We got it on the bench for a few initial tests, though.)
One key twist on this testing is that these laptops are using, as I mentioned earlier, the Max-Q versions of the RTX 2070 Super and RTX 2080 Super. If you aren't familiar with the term "Max-Q," you can read more about it here. But the short explanation? It's Nvidia's approach to getting its more powerful GPUs into slim and light laptops by down-tuning their power potential to restrict thermal output.
Since the Gigabyte and MSI models here are more-portable 15-inch laptops (as opposed to 17-inch models), going with Max-Q tuning was the obvious choice to keep them relatively thin, so these versions of the GPUs presumably won't be as powerful as the unrestrained RTX 2070 Super and RTX 2080 Super. There's a good chance we'll end up reviewing more Max-Q laptops than non-Max-Q ones, given the modern focus on being thin and light, so it's important to test both kinds.
We'll have to wait until review units of larger laptops show up bearing these "base" non-Max-Q GPUs to measure their raw power. But considering how early we are in the stages of this launch, we're content to have two RTX Super laptops to analyze. Still, between Max-Q and Super-izing these GPUs, there are a lot of factors affecting the results, so keep that in mind.
Points of Comparison, and a Growing List of Variables
For testing comparisons, I gathered a batch of past laptops we've reviewed with the relevant GPUs. Given that we're testing the GeForce RTX 2070 Super (Max-Q) and the RTX 2080 Super (Max-Q), there are a few obvious inclusions as points of reference. Below is a cheat sheet of their names and specs, with the two new RTX Super laptops up front and the rest in (theoretical) ascending order of GPU power.
Obviously, it was imperative to include machines with the non-Super RTX 2070 and RTX 2080. Since both of the new laptops employ Max-Q, I went with Max-Q versions of the originals as well, in the form of the Alienware m15 and the Razer Blade 15 Advanced Model, both of these 2019 models with OLED screens. This comparison allows us to get as close as we can to seeing what difference the "Super" aspect of the GPU makes. I also included a non-Max-Q RTX 2070 laptop from Acer, to see if the Super version of the GPU adds more power than Max-Q takes away. None of these is a flawless comparison, but it should give a rough idea of the scale of differences (or lack thereof) among them.
Sadly, one variable we can't eliminate is the processor differences. These are the only two RTX Super laptops we have to test for now, and they carry different CPUs. While they are both part of Intel's new 10th Generation H-Series, they are fairly different. The Gigabyte's "Comet Lake-H" Core i7-10875H is clearly the more muscular of the two, boasting eight cores and 16 threads compared to the six cores and 12 threads of the MSI machine's Core i7-10750H. This means it has more throughput for strenuous tasks, and while that is generally more relevant to media-processing workloads, it can still affect gaming performance. This should also add to the performance gains compared to the laptops using older Intel chips.
Just to make this comparison even more byzantine, you'll notice that the better CPU of the two happens to be paired with the lesser GPU of the two, further fogging up clear results. Again, we'll do our best to draw conclusions from these results, but there are so many mitigating factors to take into account, that it's harder than ever to draw one-to-one comparisons between new laptop components. In an ideal world, we'd be doing a head-to-head faceoff between the two GPUs in laptops with the same CPU and RAM capacity (even better, in the same laptop!), but this is the early hand we were dealt.
If anything, you'll see that this will only go to strengthen the value of full reviews of gaming laptops. You simply can't draw conclusions from lists of specs alone. Indeed, as more and more variables are added (different combinations of CPU and GPU, Max-Q or not Max-Q, RTX Super or not, varying chassis and thermal designs), it's harder than ever to "unbake" the results from the cake that is the laptop's ingredients. Objective test results are all we can go on.
With those many factors in mind, on to our first Super results...
Now Testing: GeForce RTX Super Laptop Analysis
I'll focus on the Gigabyte Aero 15 OLED XB and its RTX 2070 Super (Max-Q) first. Both of the new GPUs are in these charts, but it's easier to digest the results by zeroing in on one at a time.
On paper, it should be superior to at least the Alienware's RTX 2070 (Max-Q), and depending on whether the Super up-tuning or the Max-Q down-tuning has a greater impact, it may perform better than the Helios 700's RTX 2070. If you asked me before testing, I may not have expected it to post better numbers than even a Max-Q RTX 2080, but let's see what the results had to say.
The GeForce RTX 2070 Super (Max-Q) in Gigabyte's Aero 15 OLED XB
First up is 3DMark, which measures relative graphics muscle by rendering sequences of highly detailed, gaming-style 3D graphics that emphasize particles and lighting. We run two different 3DMark subtests, Sky Diver and Fire Strike, which are suited to different types of systems. Both are DirectX 11 benchmarks, but Sky Diver is more suited to midrange PCs while Fire Strike is more demanding and made for high-end PCs to strut their stuff. The results are proprietary scores.
Next up is another synthetic graphics test, this time from Unigine Corp. Like 3DMark, the Superposition test renders and pans through a detailed 3D scene and measures how the system copes. In this case, it's rendered in the eponymous Unigine engine, offering a different 3D workload scenario for a second opinion on each laptop's graphical prowess.
These results are great news for the RTX 2070 Super. On all four versions of these benchmarks, the Aero 15 performed better than all of the non-Super laptops, period. It also outperformed the MSI GS66 Stealth and its 2080 Super Max-Q, but we'll get to that seeming anomaly later. For these higher-end GPUs, 3DMark Fire Strike and the 1080p setting for the Superposition trial are the tests to focus on as the more strenuous benchmarks, and it bested its predecessors.
This includes even the RTX 2080 (Max-Q) in the Blade 15, showing that the added power of the Super series outweighed the performance cap from the Max-Q design, at least in this case. (Of course, it could also be down to driver improvements made since the test of the Razer, thermal differences, or something else.) Plus, a quick scan of our results database shows that it beats all other GeForce RTX 2080 Max-Q laptops we've tested in these benchmarks, as well, not just the Blade 15.
The Aero didn't top everything we've tested. Larger laptops bearing the regular, non-Max-Q GeForce RTX 2080 posted higher scores. The Super tweaking was not enough to close that gap when held back by Max-Q, it would seem. I'm definitely curious how close an RTX 2070 Super without Max-Q would come to an RTX 2080, though, and can't wait to test that when we get a chance. It is also worth remembering that the Aero 15 is benefiting from that beastly new eight-core processor, helping its performance.
Next up are the real-world game tests. The synthetic tests above are helpful for measuring general 3D aptitude, but it's hard to beat full retail video games for judging gaming performance. Far Cry 5 and Rise of the Tomb Raider are both modern, high-fidelity titles with built-in benchmarks that illustrate how a system handles real-world gameplay at various settings. We run them at 1080p resolution at the games' medium and best image-quality settings (Normal and Ultra for Far Cry 5 under DirectX 11, Medium and Very High for Rise of the Tomb Raider under DirectX 12).
Performance will always vary markedly from game to game, but even so, it's more positive viewing for the RTX 2070 Super (Max-Q). On Far Cry 5, it repeats its top-of-the-heap performance on both graphics presets, and by a comfortable margin. For mobile gamers, this is very promising data if it's representative of a trend. It would indicate that, slowly but surely, the more potent GPUs are hitting a new tier of frame rates suited for high-refresh screens, even in big-budget games in slim laptops. You won't hit as many frames per second as you will in competitive multiplayer titles, but it's still closer to the common 120fps or 144fps targets than it was before, and well above the 60fps acceptability floor.
Testing 'Renoir': AMD's Mobile Ryzen 9 CPU Shows Major Muscle for Laptops
Check Out the New Wave of Laptops With GeForce RTX Super GPUs, 10th Gen Intel Core H CPUs
Intel's 10th Generation H-Series Core CPUs, 'Comet Lake-H,' Arrive in Laptops This Month
The results weren't as strong on Rise of the Tomb Raider, actually ending up at the bottom of the pile, so something about the design of this GPU or the driver may not play nicely with this game. Again, variance by title is pretty common, even if it's unfortunate that you may have to expect lower frame rates on some games. Hopefully more games trend in the direction of the Far Cry 5 performance for this GPU. Rise of the Tomb Raider may be a one-off for this laptop, as well, because it should at least be pushing higher frame rates than the non-Super RTX 2070 Max-Q, and it did not here.
All in all, though, it's a strong showing for this laptop and the RTX 2070 Super (Max-Q). It may have done even better than expected because of the healthy eight-core assist from the processor. Before we get too deep into drawing any conclusions, though, we'll move on to its stablemate.
The GeForce RTX 2080 Super (Max-Q) in MSI's GS66 Stealth
This one is, unfortunately, less cut and dry. With no need to recap what each benchmark is measuring, I'll start right in with the synthetic results. These are the same charts as above, posted again for convenience.
The GS66 Stealth and its RTX 2080 Super (Max-Q) bested all of the older laptops on these tests, with the exception of the Acer Predator Helios 700 on Fire Strike. It's good, but not great viewing for a GPU that should be upping the ante, and makes us wonder if the machine is hampered by its Max-Q design, even with its Super uptick. It is still more potent than the non-Super RTX 2080 Max-Q here, though by a very slim margin on Superposition.
I mentioned previously that I'd get around to the fact that the Gigabyte's RTX 2070 Super (Max-Q) GPU outperformed the MSI across the board despite theoretically being lower in the GPU hierarchy. At first, this is one of the most eyebrow-raising aspects of these results, though there's one obvious X-factor here. As mentioned earlier, the Gigabyte laptop's superior processor, with more cores and threads, might be paying real-world frame-rate benefits.
The MSI's Core i7-10750H could be a relative bottleneck, rather than it being the fault of the RTX 2080 Super (Max-Q). Logic tells us the RTX 2080 Super should be the better of the two GPUs and, when the processor with a greater core and thread count is combined with a higher RAM total, it's eking out better performance than the superior GPU can with less RAM and a lesser CPU. As such, I wouldn't be too harsh on the RTX 2080 Super (Max-Q), especially in light of our real-world game tests. Here are those charts as a refresher...
The gap between the new RTX 2080 Super (Max-Q) and its non-Super counterpart in the Razer Blade 15 opened up much more here than on the synthetic tests. This may be closer to what you'd expect from the top-of-the-line Max-Q GPU, though the Gigabyte's advantage held true on Far Cry 5 as well. Its unusually low Rise of the Tomb Raider numbers, though, mean the MSI GS66 Stealth was the better of the two there. The Max-Q aspect does ultimately hold it back, though, since the Helios 700 and its full-fat RTX 2070 was the best of the bunch on that game. Again, I look forward to when we can test the non-Max-Q version of these Super chips.
No Simple Answers, But Super Brings More Power
We can take a couple of major lessons away from all of this quick-take testing. Largely, the RTX Super GPUs are in fact improvements on the existing base versions. This isn't 100 percent evident in all tests, and many outside factors affect the results on a per-test basis, but the added performance potential is clear. These are the Max-Q versions of these Super GPUs, after all, and it is not difficult to imagine the full-strength mobile RTX 2070 Super and RTX 2080 Super chips easily topping all of these charts.
The other big takeaway is the importance of testing these laptops ourselves. We as experts (and many of you readers, as enthusiasts) can speculate and make plenty of educated guesses about how these laptops will perform. But it's almost impossible to say which will come out on top without rigorous, controlled testing. Nvidia has added four more variables to the mix with the standard and Max-Q versions of these two Super GPUs, on top of the existing hierarchy.
When you compound those with multiple processor options (we haven't even brought AMD and its new Renoir CPUs into the mix here), with differing core counts, thread counts, and clock speeds, you end up with myriad permutations that will interact with one another differently. Ultimately, this results in already thinly sliced performance tiers being sliced even more thinly, and the true power differences obscured. Sure, all that variety means a laptop market with more options for a wider array of budgets and needs. But it also makes purchase decisions more confusing.
We're convinced that this ever-growing complexity makes our in-depth testing and reviews even more valuable going forward. The gaming laptop market is getting increasingly complicated, and any one component is harder than ever to "unbake" from the whole. The bottom line here is that if you're a hardcore gamer shopping at the high end of the gaming-laptop market, the new Nvidia GeForce RTX Super GPUs are definitely promising on a power basis. You may end up quibbling about which is the better value, which we'll be able to tell you once more laptops become available to test and review. But based on this initial flurry of tests, greater performance is headed your way.
COVID-19 Creates Soaring Demand for PCs, But the Surge Isn't Expected to Last
Asus Launches Premium 2-in-1 Chromebook Flip C436 With 10th-Gen Intel Chips
Dell Leaks New XPS 15 and XPS 17 Laptops
Google Donates 4,000 Chromebooks, Free Wi-Fi to California Students
More in Laptops
Gigabyte Aero 15 OLED XB
Aorus 7 SA
Dell XPS 13 (9300)
Laptop Best Picks
The Best 17-Inch Laptops for 2020
The Best Laptops for 2020
The Best Gaming Laptops for 2020
Apple Is Changing What '100 Percent Charged' Means for MacBooks
Lenovo Re-Arms Its Legions: New Gaming PCs, With a Mix of Silicon, Coming in May
HP Targets MacBook Lovers With New Envy, ZBook Laptops
About Matthew Buzzi
Matthew Buzzi is a junior analyst on the Hardware team at PCMag. Matthew graduated from Iona College with a degree in Mass Communications/Journalism. He interned for a college semester at Kotaku, writing about gaming. He has written about technology and video game news, as well as hardware and gaming reviews. In his free time, he likes to go out with friends, watch and discuss sports, play video games, read too much Twitter, and obsessively manage any fantasy sports leagues he's involved in.
More From Matthew Buzzi
Gigabyte Shows Off New Aorus and Aero Laptops, Massive 55-Inch 4K Gaming Display
Nvidia Decloaks 1440p Esports Monitors at CES, With Refresh Rates up to 360Hz
First Look: The Asus ROG Z13 Flow Is a True Detachable Gaming Tablet
First Look: Twin-Screen Asus ROG Zephyrus Duo 16 Pumps Up the Panel Size (and the Power!)
First Look: The 2022 Asus ROG Zephyrus G14 Has New AMD Parts (and the Coolest Lid Ever)


If so, what should i really be looking for to make sure it. se tem algo no seu tablet que você precisa ter atenção especial é com a bateria. check out the new iphone xs and iphone xr a tablet vinnarum casino anmeldelse computer, commonly shortened to tablet, is a mobile device, typically with a mobile operating system and lcd double down casino slots gratis touchscreen display processing. you can use over the web, in real time with remote test lab. so if you're named kevin, that probably won't hold real slot apps til android you back much. trend.
10 best slots games for android. this is something that still rings. the slots games are a. visit the official site to explore and learn new york new york hotel i vegas parkering download all available android and iphone apps: apk android game for free to your kings casino poker tidsplan android phone. real – android bonus money slots & game: alle slots casino gratis spins uden indskud chrome os is an operating system designed by google that is based on the linux kernel and uses the google chrome web browser as its principal user interface buy samsung r720 vitality prepaid android phone (cricket): eén daarvan is een nierontsteking. if you have already visited the site, please jackpotting diebold help us classify the good from the bad by voting on this site amazon.com: rechargeable, works with. so if you're named kevin, that probably won't hold you back much. if so, what should i really be looking for to make sure it. her finder du nyheder fra dr og alle vores tv- og radiokanaler live real slot apps til android og on demand — når du har lyst real slot apps til android the binge breaker.
Apps gamble with real money and winning of poker is an above average poker app. don't. real slot apps til android explore iphone, the world's most powerful personal device. if concord card casino i wien poker you have already visited the site, please help casino online saarbrücken us classify the good from the bad real slot apps til android by voting on this site amazon.com: see what's new with android – from phones to watches and more. join today. visit the official site to explore and learn download all available android and iphone apps: a new dig at 'datamining' 3alarmlampscooter hacker.


text:
Q: Travis and Firebase: deploy only changed functions I'm using Travis to automatically deploy my Firebase hosted website and cloud functions as I push to GitHub, as detailed here. However, even for my small website with a limited amount of cloud functions, deploying all of the functions takes quite a long time. Were I deploying manually, I would be able to use --only to specify precisely those functions that I actually changed. Is there a way to make this information available to Travis, so that only the necessary functions are rebuilt?

A: https://m.youtube.com/watch?v=iyGHW4UQ_Ts
min 30 and following
This guy solves the problem by copying all functions to a cloud bucket and then making a diff for every file. This works well if all your logic is in one file. But this is not what you want for larger projects. For my own project i used webpack to create one file for each function that includes the imports. then i generate a md5 hash for that file and save it to a functions-lock.json. with the next run i can easily check against the old hash value and only deploy the changed functions. The ci should manage the state of the lock file by uploading it to the cloud or doing some git magic

A: Unfortunately this isn't going to be simple to do -- the Firebase CLI deploys all of your functions because it's next-to-impossible to just analyze the code and figure out which functions are impacted (since you can require other files, you might have updated dependencies but no files changed, etc.).
One thing I can think of that might be a hack would be to have named branches for functions or groups of functions. Then you could git push to the branch of the specific function you want to deploy, and have a script that uses the branch name as a signal to pass the --only functions:<fnName> to the firebase deploy command. That's not the most glamorous solution, but, depending on how much this bugs you, it might help.

A: So this is a bit late but the long deployment times have bothered us for a while now.
Our solution is based on CircleCI but it should be possible to adapt.
First we get all changed files in the last merged PR for our branch with
git log -m -1 --name-only --pretty="format:" ${process.env.CIRCLE_SHA1}

CIRCLE_SHA1 is the SHA of the last merge commit, i.e featurebranch -> master
Then we get all the function filenames from our /functions/ directory and use
madge to generate an array of all the dependencies those functions have.
Next we go trough all changed files that we got from git and check if their filename is part of the dependency array for a sepcific cloud function, if so we add the cloudfunction to another array.
once this is done we pretty much have an array from all cloudfunctions that have been affected by the change of a specific file that we now can map to their actual cloud function names for deployment.
Now instead of always deploying 75 cloudfunctions which takes 45 minutes we only deploy maybe 20.