text:
package com.flashbird.http.util

import java.io.{File, FileInputStream}

import com.flashbird.http.framework.authorization.{DefaultRedisAuthorizationProvider, Authorization}
import org.yaml.snakeyaml.Yaml
import scala.collection.JavaConverters._

/**
 * Created by yangguo on 15/10/10.
 */

object FlashBirdConfig {
  val key_access_token_info:String="id"

  private var _config:java.util.Map[String,AnyRef]= _
  def apply(configPath:String):Unit={
    val configFile=new File(configPath)
    if(!configFile.exists() || !configFile.isFile){
      throw new IllegalArgumentException(s"Config File[$configPath] Is Not Exists")
    }
    val yaml=new Yaml()
    val config= yaml.load(new FileInputStream(new File(configPath))).asInstanceOf[java.util.Map[String,AnyRef]]
    apply(config)
  }
  def apply(config:java.util.Map[String,AnyRef]):Unit={
    _config=config
    println(JsonParser.objectToJsonStringParser(_config))
  }

  def getServerName(key:String="com.ancare.name",defaultValue:String="ancare-01"):String=toString(key,defaultValue)

  private def toString(key:String,defaultValue:String):String={
    val obj=_config.get(key)
    if(obj==null) defaultValue
    else obj.toString
  }
  def getServerHost(key:String="com.ancare.host",defaultValue:String="localhost"):String=toString(key,defaultValue)

  private def toInt(key:String,defaultValue:Int):Int={
    val obj=_config.get(key)
    if(obj==null) defaultValue
    else {
      if (obj.isInstanceOf[Int]) obj.asInstanceOf[Int]
      else
        try {
          obj.toString.toInt
        } catch {
          case ex: Throwable => defaultValue
        }
    }
  }
  def getServerPort(key:String="com.ancare.port",defaultValue:Int=10001):Int=toInt(key,defaultValue)

  def getServerRequestTimeOut(key:String="com.ancare.server.request.timeout",defaultValue:Int=45):Int=toInt(key,defaultValue)

  def getServerRequestReadTimeOut(key:String="com.ancare.server.request.read.timeout",defaultValue:Int=15):Int=toInt(key,defaultValue)

  def getServerRequestMaxRecvBufferSize(key:String="com.ancare.server.max.recv.buffer.size",defaultValue:Int=5242880):Int=toInt(key,defaultValue)

  def getServerResponseMaxBufferSize(key:String="com.ancare.server.max.response.buffer.size",defaultValue:Int=5242880):Int=toInt(key,defaultValue)

  def getServerConnectMaxIdleTime(key:String="com.ancare.server.connect.max.idle.time",defaultValue:Int=5):Int=toInt(key,defaultValue)

  def getServerConnectMaxLifeCycleTime(key:String="com.ancare.server.connect.max.lifecycle.time",defaultValue:Int=60):Int=toInt(key,defaultValue)

  def getServerMaxConnectedClientNumber(key:String="com.ancare.server.max.connected.client.number",defaultValue:Int=1024):Int=toInt(key,defaultValue)

  def getSMSServerURL(key:String="com.changhong.sms.server.url",defaultValue:String="")=toString(key,defaultValue)
  def getSMSServerApiKey(key:String="com.changhong.sms.server.appkey",defaultValue:String="")=toString(key,defaultValue)
  def getSMSServerSecretKey(key:String="com.changhong.sms.server.secretkey",defaultValue:String="")=toString(key,defaultValue)

  private def toBoolean(key:String,defaultValue:Boolean):Boolean={
    val obj=_config.get(key)
    if(obj==null) defaultValue
    else {
      if (obj.isInstanceOf[Boolean]) obj.asInstanceOf[Boolean]
      else
        try {
          obj.toString.toBoolean
        } catch {
          case ex: Throwable => defaultValue
        }
    }
  }
  def getServerConnectIsKeepAlived(key:String="com.ancare.server.connect.keepalive",defaultValue:Boolean=false):Boolean=toBoolean(key,defaultValue)

  def getServerStorageLocalDir(key:String="com.ancare.storage.local.dir",defaultValue:String="/usr/share/nginx/html/lazystore/img_store/ancare"):String=toString(key,defaultValue)
  def getNginxFileStorageProxyUrl(key:String="com.ancare.nginx.filestorage.proxy.url",defaultValue:String="http://chphone.cn:8085/ancare"):String=toString(key,defaultValue)

  def getValue(key:String,defaultValue:String):String=toString(key,defaultValue)
  def getValue(key:String,defaultValue:List[String]):List[String]=toList(key,defaultValue)
  def getValue(key:String,defaultValue:Int):Int=toInt(key,defaultValue)
  private def toList[T:Manifest](key:String,defaultValue:List[T]):List[T]= {
    val obj = _config.get(key)
    if (obj != null) {
      if (obj.isInstanceOf[java.util.List[T]]) {
        try {
          val _tmp=obj.asInstanceOf[java.util.List[T]].asScala.toList
          if(_tmp.size>0) _tmp
          else defaultValue
        } catch {
          case ex: Throwable =>{
            ex.printStackTrace()
            defaultValue
          }
        }
      } else defaultValue
    } else defaultValue
  }
  def getRedisCacheServers(key:String="com.ancare.redis.cache.servers",defaultValues:List[String]=List("localhost:6379")):List[String]=toList(key,defaultValues)

  def getMysqlServerHosts(key:String="com.ancare.mysql.servers.hosts",defaultValue:String=""):String=toString(key,defaultValue)

  def getMysqlServerDatabaseName(key:String="com.ancare.mysql.servers.database",defaultValue:String=""):String=toString(key,defaultValue)
  def getMysqlServerUserName(key:String="com.ancare.mysql.servers.username",defaultValue:String=""):String=toString(key,defaultValue)
  def getMysqlServerUserPwd(key:String="com.ancare.mysql.servers.password",defaultValue:String=""):String=toString(key,defaultValue)

  def getRequestHeaderAuthorizationKey(key:String="com.ancare.authorization.key",defaultValue:String="Authorization"):String=toString(key,defaultValue)

  def getSMSVerifyCodeExpiredTime(key:String="com.ancare.server.user.register.verifycode.expired",defaultValue:Int=300)=toInt(key,defaultValue)

  def getTokenExpiredTime(key:String="com.ancare.server.user.token.expired",defaultValue:Int=86400):Int=toInt(key,defaultValue)

  private[this] var routerIsAuth:Boolean=true

  def setRouterIsAuth(boolean: Boolean)=routerIsAuth=boolean
  def getRouterIsAuth()=routerIsAuth

  private var authProvider:Authorization=null
  def getAuthProvider(key:String="com.flashbird.http.framework.authorization",defaultValue:Authorization=new DefaultRedisAuthorizationProvider)={
    if(authProvider==null) authProvider=try {
      val clsName=getValue(key,"com.flashbird.http.framework.authorization.DefaultRedisAuthorizationProvider")
      val cls=Class.forName(clsName)
      cls.newInstance().asInstanceOf[Authorization]
    }catch{
      case ex:Throwable=> new DefaultRedisAuthorizationProvider
    }
    authProvider
  }
  def getMaxLoginUserCount(key:String="com.flashbird.framework.max.login.size",defaultValue:Int=1):Int={
    getValue(key,defaultValue)
  }

}

redpajama_set_name: RedPajamaGithub


text:
Your Philanthropic Impact
At New England Baptist Hospital, the generosity of our donors, grateful patients, and friends strengthens our ability to provide patients with exceptional musculoskeletal care—and brings us closer to our goal of becoming the best musculoskeletal hospital anywhere.
We are grateful to each of you for your support, and we hope you are excited about the opportunities that lie ahead for New England Baptist Hospital.
If you would like to make a gift today, please make an online donation.
If you would like to make a gift in honor of your caregiver, please make an online donation here.
You Keep Us Moving
Every Move is Extraordinary: The Campaign for New England Baptist Hospital
NEBH has a unique opportunity.
The health care industry is in the midst of a transformation driven by innovation, shifting health care policy, and even greater demand for high-quality care at reasonable cost.
NEBH has been called upon to take a leadership role in the formation of a world-class health care system in which it will be the sole orthopedic specialty provider.
This strategic merger will create the second-largest health care system in Massachusetts and will provide care for millions of patients, dramatically expanding our regional reach and bringing New England Baptist Hospital care to many more patients.
Our goal is to seize this opportunity to maintain and enhance our reputation as one of the best musculoskeletal hospitals in the nation.
We seek philanthropic support to achieve this goal, securing our future and preserving the culture of excellence that has set us apart.
Strategic philanthropic investments will strengthen the hospital as it enters the new system, while keeping NEBH poised to capitalize on future opportunities.
By enhancing selected priority programs, NEBH will accelerate its ability to provide the best musculoskeletal care to more patients, enter the newly formed system in a position of strength, and fulfill our moral and ethical obligations to the patients and physicians who believe in and rely upon the Baptist as their orthopedic hospital.
Philanthropic investments will be made in three areas: People, Programs, Places
To learn more about our campaign, please contact our Office of Philanthropy at 617-754-6880.
Who Will We Be Tomorrow?
One of the best musculoskeletal hospitals in the nation.
Nursing Excellence at NEBH
The incredible skill and genuine compassion of NEBH nurses help to set us apart. And with the ongoing transformation of the health care landscape, nurses play an increasingly important role in the continuum of care. By providing scholarships to our nurses pursuing advanced degrees, NEBH improves the care provided by our staff—and, most importantly, our patients' results. The generosity of our nursing scholarship donors makes a meaningful impact on nursing care at NEBH not only by advancing our nurses' careers, but also by increasing the skill and expertise of our entire nursing staff.
Donor support allows us to:
Provide an average of 20 nursing scholarships per year for coursework required for Bachelor's, Master's, and Doctorate degrees in nursing as well as other professional certifications. Currently, 77% of our nurses hold Bachelor's degrees in nursing (BSN); our goal is for 80% to obtain a BSN degree, which is a national standard.
Advance to the final stages of our journey toward the celebrated Magnet® designation in nursing, which is the hallmark of exceptional patient care and a prestigious distinction for hospitals everywhere, by increasing the overall educational level of our nursing staff.
Continued donor support will expand the ability of NEBH leadership to provide flexible support for scholarships and training for NEBH nurses and other clinical staff.
"I love being able to help patients get through those first few days after a knee or hip replacement, to help them see the light at the end of their recovery. I knew I wanted to earn my Master's, and I always appreciated the role of the nursing educators who trained me. So I went back to school while working full-time, thanks to my NEBH scholarship, and earned my Master's in Nursing Education. The availability of this scholarship also helped NEBH retain me as an employee; it shows that the Baptist is motivated to help nurses advance their careers and skills."
Lauren Jasminski, MSN, RN, a nurse who completed her Master's Degree thanks to NEBH scholarship support.
Click here to make a gift.
Please specify "Nursing Scholarship" in the comments section of the donation form.
Donor Societies
The Rose Society
Rose Society members are a special group of donors who share a commitment to securing the Hospital's future success. Unrestricted leadership gifts of $1,000 or more to the NEBH Annual Fund are recognized within the Rose Society and provide essential funds to areas of the hospital where the need is greatest.
Physicians' Heritage Society
The Physicians' Heritage Society recognizes the generosity of physicians who make significant philanthropic gifts to NEBH—with cumulative giving of $10,000 or more—to advance the Hospital's strategic priorities.
The 1893 Legacy Society
The 1893 Legacy Society was established to recognize, honor, and thank individuals during their lifetime for provisions they have made to New England Baptist Hospital through estate planning. This honorary society recognizes the generosity of those special friends who provide a permanent legacy.
Learn more or join the Rose Society, Physicians' Heritage Society, or the 1893 Legacy Society by contacting the Office of Philanthropy at 617-754-6880 or philanthropy@nebh.org.
Advances is a publication for supporters and friends of New England Baptist Hospital.
This newsletter highlights the stories of our generous donors and the progress they make possible, physician and caregiver profiles, event coverage, our annual donor rolls, and ways to get involved.
If you are interested in receiving Advances, simply make a gift to NEBH to be added to our mailing list, or contact the Philanthropy Department at philanthropy@nebh.org.
Rose Society Celebration
Kirkby Memorial Service Award at the Rose Society Celebration
From 1941 until her retirement in 1974, Elinor Kirkby, RN, served as NEBH nurse, administrator, and board member and helped define NEBH as an orthopedic specialty hospital. She was a pioneer in the special way we treat patients at NEBH, and her commitment to creating a warm and highly personalized experience has lived on at the Baptist ever since.
At our annual Rose Society Celebration each year, the hospital gives the annual Elinor Kirkby Memorial Service Award in honor of Elinor's legacy. The award is given each year to someone who has demonstrated extraordinary commitment to the mission, vision, and values of the hospital. At this year's Rose Society Celebration, held on November 7, 2019 at The Country Club in Chestnut Hill, MA, NEBH honored the Currie Family as the recipients of the 2019 Kirkby Award.
The custom of welcoming each patient to the hospital with a red rose was established in 1958 by the late Carl J.B. Currie, a longtime hospital committee member and donor, who felt that every patient at NEBH should receive a flower.
In 2019, his granddaughter, Mrs. Barbara L. Currie, and other members of the Currie family, made a generous multi-generational gift to underwrite the rose program so that it may continue for many years to come. We extend our deep thanks to the Currie family for ensuring the future of this unique culture!
View photos from the event.
Start Your Own Fundraiser
Our community fundraising program is fueled by grateful patients, their families, NEBH employees, and partnering businesses and organizations who host events and organize fundraisers for expert musculoskeletal care at New England Baptist Hospital.
From golf tournaments and spin classes to dinner parties and bake sales, there are many fun and easy ways to participate in our community fundraising program. Use your creativity and passion to raise funds that can be directed to a specific area of the Hospital, or to where the need and opportunity is greatest.
Our team is ready to talk through your ideas, share best practices and advice, and help set you up for a successful fundraiser. Contact the Office of Philanthropy at philanthropy@nebh.org or call 617-754-6800 today to get started!
Office of Philanthropy
New England Baptist Hospital
125 Parker Hill Avenue
MAIN LINE PHONE
If you do not wish to receive future fundraising communications, please contact us by e-mail, call us toll-free at 844-275-1581, or send a letter to the Office of Philanthropy, New England Baptist Hospital, 125 Parker Hill Avenue, Boston, MA 02120. Please allow 10 business days for processing.
Read our Donor Bill of Rights
Ted Reardon
Vice President, Philanthropy
Maria Clark
Director of Major Gifts and Campaign Planning
Dana Karas
Donor Relations Officer
Ashley Salvato
Philanthropy Coordinator
Zoe Schmitter
Senior Major Gifts Officer
Kathy Shaw
Major Gifts Officer

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Adal.js error AADSTS65001 with external API I have a Web API project. Authentication is wired against Azure AD per following code:
string tenant = "[tenant]";
string audience = "https://[tenant]/MyApp.Backend";

app.UseWindowsAzureActiveDirectoryBearerAuthentication(
  new WindowsAzureActiveDirectoryBearerAuthenticationOptions
  {
    Tenant = tenant,
    TokenValidationParameters = new TokenValidationParameters
    {
      ValidAudience = audience
    }
  });

These are the properties of the app registration in Azure AD:

*

*Name: MyApp.Backend

*Application Type: Web app / API

*Application ID: 03486f5a-...

*URI: https://[tenant]/MyApp.Backend

*oauth2AllowImplicitFlow: false

I have a console client which is consuming the backend Web API. This console application is also registered in Azure AD:

*

*Name: MyApp.Frontend.Console

*Application Type: Native

*Application ID: 505f3928-...

*oauth2AllowImplicitFlow: false

*Delegated Permission: (MyAppBackend | Access MyApp.Backend)

Using this code I can login and get a access token which I can use to authenticate in the backend:
var ctx = new AuthenticationContext("https://login.windows.net/[tenant]/");
AuthenticationResult result = ctx.AcquireTokenAsync(
  "https://[tenant]/MyApp.Backend",
  "505f3928-...",
  new Uri("https://[tenant]/MyApp.Frontend.Console"),
  new PlatformParameters(PromptBehavior.RefreshSession)).GetAwaiter().GetResult();

The problem starts with SPA. Following app registration describes the app:

*

*Name: MyApp.Frontend.Web

*Application Type: Web app / API

*Application ID: ea939554-...

*URI: https://[tenant]/c4e415b6-...

*oauth2AllowImplicitFlow: true

*Delegated Permission: (MyAppBackend | Access MyApp.Backend), (Microsoft Graph | Read users files)

The adal.js code looks like this:
window.config = {
  instance: 'https://login.microsoftonline.com/',
  tenant: '[tenant]',
  clientId: 'ea939554-...',
  postLogoutRedirectUri: window.location.origin,
  cacheLocation: 'localStorage', // enable this for IE, as sessionStorage does not work for localhost.
};

let authContext = new AuthenticationContext(config);
let isCallback = authContext.isCallback(window.location.hash);
if (isCallback) {
  authContext.handleWindowCallback();
}

let loginError = authContext.getLoginError();
if (isCallback && !loginError) {
  window.location = authContext._getItem(authContext.CONSTANTS.STORAGE.LOGIN_REQUEST);
} else {
  console.log('login error:', loginError);
}

loginButton.onclick = function () {
  authContext.login();
};

logoutButton.onclick = function () {
  authContext.logOut();
};

actionButton.onclick = function () {
  authContext.acquireToken('https://[tenant]/MyApp.Backend', function (error, token) {
    // this results in error AADSTS65001
  });
};

The token will not be fetched and the operation will result in the error AADSTS65001: The user or administrator has not consented to use the application with ID 'ea939554-...'. Send an interactive authorization request for this user and resource.
If I try to get a token for the Microsoft Graph then there is no error. The callback will be called with a valid token. So the app registration for the SPA is correct. The error/misconfiguration has to be somewhere in the MyApp.Backend registration but I don't know where. I have tried to set implicit flow in the backend manifest to true, inserted web frontend as knownClientApplications in the backend manifest. But it all results in the same error.
Who can help me?

redpajama_set_name: RedPajamaStackExchange


text:
import itertools
import json
from argparse import ArgumentDefaultsHelpFormatter, ArgumentParser
import os
import queue as Queue
import subprocess
import re
import sys
import tempfile
import threading

from sig_utils import make, handle_function_list, get_signatures
from signature_parser import SignatureParser
from code_generator import CodeGenerator

HERE = os.path.dirname(os.path.realpath(__file__))
TEST_FOLDER = os.path.abspath(os.path.join(HERE, "..", "test"))
sys.path.append(TEST_FOLDER)
WORKING_FOLDER = "test/varmat-compatibility"

TEST_TEMPLATE = """
static void {test_name}() {{
{code}
}}
"""

def run_command(command):
    """
    Runs given command and waits until it finishes executing.
    :param command: command to execute
    """
    proc = subprocess.Popen(command, stdout = subprocess.PIPE, stderr = subprocess.PIPE)
    stdout, stderr = proc.communicate()

    if proc.poll() == 0:
        return (True, stdout, stderr)
    else:
        return (False, stdout, stderr)

def build_signature(prefix, cpp_code, debug):
    """
    Try to build the given cpp code

    Return true if the code was successfully built

    :param prefix: Prefix to give file names so easier to debug
    :param cpp_code: Code to build
    :param debug: If true, don't delete temporary files
    """
    f = tempfile.NamedTemporaryFile("w", dir = WORKING_FOLDER, prefix = prefix + "_", suffix = "_test.cpp", delete = False)
    f.write("#include <test/expressions/expression_test_helpers.hpp>\n\n")
    f.write(cpp_code)
    f.close()

    cpp_path = os.path.join(WORKING_FOLDER, os.path.basename(f.name))

    object_path = cpp_path.replace(".cpp", ".o")
    dependency_path = cpp_path.replace(".cpp", ".d")
    stdout_path = cpp_path.replace(".cpp", ".stdout")
    stderr_path = cpp_path.replace(".cpp", ".stderr")

    successful, stdout, stderr = run_command([make, object_path])

    if successful or not debug:
        try:
            os.remove(cpp_path)
        except OSError:
            pass

        try:
            os.remove(dependency_path)
        except OSError:
            pass

        try:
            os.remove(object_path)
        except OSError:
            pass
    else:
        if debug:
            with open(stdout_path, "w") as stdout_f:
                stdout_f.write(stdout.decode("utf-8"))

            with open(stderr_path, "w") as stderr_f:
                stderr_f.write(stderr.decode("utf-8"))

    return successful

def main(functions_or_sigs, results_file, cores, debug):
    """
    Attempt to build all the signatures in functions_or_sigs, or all the signatures
    associated with all the functions in functions_or_sigs, or if functions_or_sigs
    is empty every signature the stanc3 compiler exposes.

    Results are written to a results json file. Individual signatures are classified
    as either compatible, incompatible, or irrelevant.

    Compatible signatures can be compiled with varmat types in every argument that
    could possibly be a varmat (the matrix-like ones).

    Incompatible signatures cannot all be built, and for irrelevant signatures it does
    not make sense to try to build them (there are no matrix arguments, or the function
    does not support reverse mode autodiff, etc).

    Compilation is done in parallel using the number of specified cores.

    :param functions_or_sigs: List of function names and/or signatures to benchmark
    :param results_file: File to use as a results cache
    :param cores: Number of cores to use for compiling
    :param debug: If true, don't delete temporary files
    """
    all_signatures = get_signatures()
    functions, signatures = handle_function_list(functions_or_sigs)

    requested_functions = set(functions)

    compatible_signatures = set()
    incompatible_signatures = set()
    irrelevant_signatures = set()

    # Read the arguments and figure out the exact list of signatures to test
    signatures_to_check = set()
    for signature in all_signatures:
        sp = SignatureParser(signature)

        if len(requested_functions) > 0 and sp.function_name not in requested_functions:
            continue

        signatures_to_check.add(signature)

    work_queue = Queue.Queue()

    # For each signature, generate cpp code to test
    for signature in signatures_to_check:
        sp = SignatureParser(signature)

        if sp.is_high_order():
            work_queue.put((n, signature, None))
            continue

        cpp_code = ""
        any_overload_uses_varmat = False

        for m, overloads in enumerate(itertools.product(("Prim", "Rev", "RevVarmat"), repeat = sp.number_arguments())):
            cg = CodeGenerator()

            arg_list_base = cg.build_arguments(sp, overloads, size = 1)

            arg_list = []
            for overload, arg in zip(overloads, arg_list_base):
                if arg.is_reverse_mode() and arg.is_varmat_compatible() and overload.endswith("Varmat"):
                    any_overload_uses_varmat = True
                    arg = cg.to_var_value(arg)

                arg_list.append(arg)

            cg.function_call_assign("stan::math::" + sp.function_name, *arg_list)

            cpp_code += TEST_TEMPLATE.format(
                test_name = sp.function_name + repr(m),
                code=cg.cpp(),
            )

        if any_overload_uses_varmat:
            work_queue.put((work_queue.qsize(), signature, cpp_code))
        else:
            print("{0} ... Irrelevant".format(signature.strip()))
            irrelevant_signatures.add(signature)

    output_lock = threading.Lock()

    if not os.path.exists(WORKING_FOLDER):
        os.mkdir(WORKING_FOLDER)

    work_queue_original_length = work_queue.qsize()

    # Test if each cpp file builds and update the output file
    # This part is done in parallel
    def worker():
        while True:
            try:
                n, signature, cpp_code = work_queue.get(False)
            except Queue.Empty:
                return # If queue is empty, worker quits

            # Use signature as filename prefix to make it easier to find
            prefix = re.sub('[^0-9a-zA-Z]+', '_', signature.strip())

            # Test the signature
            successful = build_signature(prefix, cpp_code, debug)

            # Acquire a lock to do I/O
            with output_lock:
                if successful:
                    result_string = "Success"
                    compatible_signatures.add(signature)
                else:
                    result_string = "Fail"
                    incompatible_signatures.add(signature)

                print("Results of test {0} / {1}, {2} ... ".format(n, work_queue_original_length, signature.strip()) + result_string)

            work_queue.task_done()

    for i in range(cores):
        threading.Thread(target = worker).start()

    work_queue.join()

    with open(results_file, "w") as f:
        json.dump({ "compatible_signatures" : list(compatible_signatures),
                    "incompatible_signatures" : list(incompatible_signatures),
                    "irrelevant_signatures" : list(irrelevant_signatures)
        }, f, indent = 4, sort_keys = True)

class FullErrorMsgParser(ArgumentParser):
    """
    Modified ArgumentParser that prints full error message on any error.
    """

    def error(self, message):
        sys.stderr.write("error: %s\n" % message)
        self.print_help()
        sys.exit(2)

def processCLIArgs():
    """
    Define and process the command line interface to the benchmark.py script.
    """
    parser = FullErrorMsgParser(
        description="Generate and run_command benchmarks.",
        formatter_class=ArgumentDefaultsHelpFormatter,
    )
    parser.add_argument(
        "--functions",
        nargs="+",
        type=str,
        default=[],
        help="Signatures and/or function names to benchmark.",
    )
    parser.add_argument(
        "-j",
        type=int,
        default=1,
        help="Number of parallel cores to use.",
    )
    parser.add_argument(
        "--debug",
        action="store_true",
        help="Keep cpp, stdout, and stderr for incompatible functions.",
    )
    parser.add_argument(
        "results_file",
        type=str,
        default=None,
        help="File to save results in.",
    )
    args = parser.parse_args()

    main(functions_or_sigs=args.functions, results_file = args.results_file, cores = args.j, debug = args.debug)

if __name__ == "__main__":
    processCLIArgs()


US President Donald Trump on Friday called former Secretary of State Rex Tillerson "dumb as a rock" and "lazy as hell" a day after the former diplomat said he had warned the president against doing things that would violate the law.
US President Donald Trump on Friday called former Secretary of State Rex Tillerson 'dumb as a rock' and 'lazy as hell' a day after the former diplomat said he had warned the president against doing things that would violate the law.
"Mike Pompeo is doing a great job, I am very proud of him. His predecessor, Rex Tillerson, didn't have the mental capacity needed. He was dumb as a rock and I couldn't get rid of him fast enough. He was lazy as hell. Now it is a whole new ballgame, great spirit at State!" Trump wrote on Twitter.
In an interview with CBS News political contributor Bob Schieffer on Thursday, Tillerson described Trump as "pretty undisciplined, doesn't like to read, doesnâ't read briefing reports ... doesn't like to get into the details of a lot of things."
"I'd have to say to him, well Mr. President, I understand what you want to do, but you can't do it that way. It violates the law, it violates the treaty," Tillerson said. "You know, he got really frustrated."
An aide to Tillerson, who served as secretary of state from Feb. 1, 2017, through March 31, 2018, did not immediately respond to a request for comment.
When he selected Tillerson to serve as the 69th secretary of state, Trump praised him lavishly, saying: "His tenacity, broad experience and deep understanding of geopolitics make him an excellent choice for Secretary of State."
However, Tillerson led a demoralized State Department which saw its role vastly diminished, with several high-profile posts unoccupied and many allies questioning the efficacy of dealing with a diplomat they suspected never had Trump's ear.


text:
Movement of a Particle I
The position vector of a particle changes with time according to relation:
\[\vec{r}\left(t\right)\,=\,15\,\mathrm{m \cdot s^{-2}}\cdot t^2\vec{i}+(4\,\mathrm{m}-20\,\mathrm{m \cdot s^{-2}}\cdot t^2)\vec{j}\]
where \(\vec{i}\), \(\vec{j}\)are unit vectors in directions of the coordinate axes x and y.
Examine the movement of the particle according to the following points:
a) Which relations describe the movement of the particle in directions of the coordinate axes x, y, z?
b) At what time does the particle cross the y axis?
c) At what time does the particle cross the x axis?
d) How does the velocity of the particle and its components change with time?
e) What motions does the particle perform in directions of the axes x, y, z?
f) How does the speed of the particle change with time? (speed refers to the magnitude of velocity)
g) Is the movement of the particle uniform?
h) How does the acceleration of the particle and its components change with time?
i) How does the magnitude of acceleration of the particle change with time?
j) What is the speed and the acceleration at the moment the particle crosses:
1) x 2) y?
Note: Parametric equations should be written in the following form:
\[y\,=\,1\,\mathrm{m} - 2\,\mathrm{m \cdot s^{-1}}\cdot t\]
We do not use units in relations to simplify the notation.
Given values
\(\vec{i}\), \(\vec{j}\), \(\vec{k}\)
unit vectors in directions of the coordinate axes x, y, z
\[\vec{r}\left(t\right)\,=\,15\ t^2\vec{i}+(4-20t^2)\vec{j}\] position vector of the particle at time t
t1 = ? (s) time at which the particle crosses the y axis
t2 = ? (s) time at which the particle crosses the x axis
v = ? (m·s-1) velocity of the particle at the time it crosses the x axis (resp. the y axis)
a = ? (m·s-2) acceleration of the particle at the time crosses the x axis (resp. the y axis)
Hint 1 for a): Movement of the particle in directions of the coordinate axes
You can easily obtain the individual relations for movement in directions of the coordinate axes from the given position vector.
Solution of Hint 1
We can write the position vector as:
\[\vec{r}\left(t\right)\,=\, x\vec{i}+ y\vec{j}+ z\vec{k}\,,\]
where \(\vec{i}\), \(\vec{j}\), \(\vec{k}\) are unit vectors in directions of the coordinate axes.
\[x\left(t\right)\,=\,15t^{2}\,,\] \[y\left(t\right)\,=\,4-20t^{2}\,,\] \[z\left(t\right)\,=\,0\,.\]
Hint 2 for b): Time at which the particle crosses the y axis
How can you determine the time t1 at which the particle crosses the y axis?
What is the x coordinate at that moment?
The particle will cross the y axis at the moment its x coordinate is equal to 0:
\[x\left(t\right)\,=\,15t^{2}\,,\] \[0\,=\,15t_1^{2}\,,\] \[t_1\,=\,0\,\mathrm{s}\,.\]
Hint 3 for c): Time at which the particle crosses the x x axis
How can you determine time t2 at which the particle crosses the x axis?
What is the y coordinate at that moment?
The particle crosses the x axis at the moment its y coordinate is equal to 0:
\[y\left(t\right)\,=\,4-20t^{2}\,,\] \[0\,=\,4-20t_2^{2}\,,\] \[t_2^{2}\,=\,\frac{1}{5}\,,\] \[t_2\,=\,\frac{1}{\sqrt{5}}\,\mathrm{s}\,.\]
(The mathematical solution \(t_2\,=\,\frac{-1}{\sqrt{5}}\,\mathrm{s}\) bears no physical significance.)
Hint 4 for d): Velocity of the particle
You know the corresponding relations describing the movement of the particle in directions of the coordinate axes.
How can you use them and the definition of velocity to obtain the behaviour of the velocity of the particle?
From the definition of velocity we obtain:
\[\vec{v}(t)\,=\,\frac{\mathrm{d}\vec{r}\left(t\right)}{\mathrm{d}t}\,=\,\frac{\mathrm{d}x\left(t\right)}{\mathrm{d}t}\vec{i}+\frac{\mathrm{d}y\left(t\right)}{\mathrm{d}t}\vec{j}+\frac{\mathrm{d}z\left(t\right)}{\mathrm{d}t}\vec{k}\,,\] \[v_\mathrm{x}\,=\,\frac{\mathrm{d}x}{\mathrm{d}t}\,=\, \frac{\mathrm{d}}{\mathrm{d}t}\left(15t^{2}\right)\,=\, 30t\,,\] \[v_\mathrm{y}\,=\,\frac{\mathrm{d}y}{\mathrm{d}t}\,=\, \frac{\mathrm{d}}{\mathrm{d}t}\left(4-20t^{2}\right)\,=\, -40t \,,\] \[v_\mathrm{z}\,=\,\frac{\mathrm{d}z}{\mathrm{d}t}\,=\,\frac{\mathrm{d}}{\mathrm{d}t}\left(0\right)\,=\, 0\,,\] \[\vec{v}\left(t\right)\,=\, 30t\vec{i}+\left(-40t\right)\vec{j}+0\vec{k}\,,\]
Hint 5 for e): Movement of the particle in directions of the coordinate axes
What motions does the particle perform in directions of the axes x, y, z?
Look at the relations with which the movement of the particle in directions of the coordinate axes is described and how the coordinates of velocity change with time.
In the direction of x:
\[x\left(t\right)\,=\,15t^{2}\,,\] \[v_x\left(t\right)\,=\, 30t\,.\]
The movement is uniformly accelerated.
In the direction of y:
\[y\left(t\right)\,=\,4-20t^{2}\,,\] \[v_y\left(t\right)\,=\, -40t\,.\]
The movement is uniformly accelerated in the opposite direction.
In the direction of z:
\[z\left(t\right)\,=\, 0\,,\] \[v_z\left(t\right)\,=\, 0\,.\]
The particle is at rest.
Hint 6 for f): Speed of the particle
You know the behaviour of the velocity of the particle and its coordinates. How can you determine the behaviour of its magnitude?
From the definition of speed we obtain:
\[v\left(t\right)\,=\,\left|\vec{v}\left(t\right)\right|\,=\,\sqrt{v_\mathrm{x}^{2}\left(t\right)+v_\mathrm{y}^{2}\left(t\right)+v_\mathrm{z}^{2}\left(t\right)}\,,\] \[v\left(t\right)\,=\,\sqrt{(900t^{2}+1600t^{2})}\,=\,\sqrt{(2500t^{2})}\,=\,50\left|t\right| \,=\, 50t\,.\]
(time does not assume negative values)
\[v\left(t\right)\,=\, 50\,\mathrm{m \cdot s^{-2}}\cdot t\,.\]
Hint 7 for g): Uniformity of the particle motion
Realize when the movement of the particle is uniform. What holds for its speed?
The particle performs a uniform motion if its speed is constant.
In our scenario, speed is a linear function of time:
\[v\,=\,50\,\mathrm{m \cdot s^{-2}}\cdot t\,.\]
Therefore movement of the particle is not uniform (it is a case of a uniformly accelerated motion).
Hint 8 for h): Acceleration of the particle
You know the components of the velocity of the particle in directions of the coordinate axes.
How can you use them and the definition of acceleration to obtain the behaviour of the acceleration of the particle?
From the definition of acceleration we obtain:
\[\vec{a}\left(t\right)\,=\,\frac{\mathrm{d}\vec{v}\left(t\right)}{\mathrm{d}t}\,=\,\frac{\mathrm{d}^{2}\vec{r}\left(t\right)}{\mathrm{d}t^{2}}\,=\,\frac{\mathrm{d}v_\mathrm{x}\left(t\right)}{\mathrm{d}t}\vec{i}+\frac{\mathrm{d}v_\mathrm{y}\left(t\right)}{\mathrm{d}t}\vec{j}+\frac{\mathrm{d}v_\mathrm{z}\left(t\right)}{\mathrm{d}t}\vec{k}\,,\] \[a_\mathrm{x}\,=\,\frac{\mathrm{d}v_\mathrm{x}}{\mathrm{d}t}\,=\, \frac{\mathrm{d}}{\mathrm{d}t}(30t)\,=\, 30\,,\] \[a_\mathrm{y}\,=\,\frac{\mathrm{d}v_\mathrm{y}}{\mathrm{d}t}\,=\, \frac{\mathrm{d}}{\mathrm{d}t}\left(-40t\right)\,=\,-40\,, \] \[a_\mathrm{z}\,=\,\frac{\mathrm{d}v_\mathrm{z}}{\mathrm{d}t}\,=\,\frac{\mathrm{d}}{\mathrm{d}t}(0)\,=\,0\,,\] \[\vec{a}\left(t\right)\,=\,30\vec{i}+(-40)\vec{j}+0\vec{k}\,,\]
Hint 9 for i): Magnitude of acceleration of the particle
You know the behaviour of the acceleration of the particle and its coordinates. How can you determine the behaviour of its magnitude?
\[a\left(t\right)\,=\,\left|\vec{a}\left(t\right)\right|\,=\,\sqrt{(a_\mathrm{x}^{2}\left(t\right)+a_\mathrm{y}^{2}\left(t\right)+a_\mathrm{z}^{2})}\] \[a\left(t\right)\,=\,\sqrt{\left(900+1600\right)}\,=\,\sqrt{\left(2500\right)}\,=\,50\] \[a\left(t\right)\,=\,50\,\mathrm{m \cdot s^{-2}}\]
Hint 10 for j): Speed and acceleration of the particle when crossing the axes
To calculate the speed of the particle you need to know the relation describing the behaviour of speed and time at which the particle will cross the x axis (or the y axis). You know both from previous Hints (3 and 6).
Proceed similarly to calculate the magnitude of acceleration. Do you need to know the time the particle will cross the axes in this case as well?
Solution of Hint 10
1) The particle crosses the x axis at the moment when:
\[t\,=\,\frac{1}{\sqrt{5}}\,\mathrm{s}\,.\]
From the relation for speed and the magnitude of acceleration we obtain:
\[v\,=\,50t\,,\] \[v\,=\,50(\frac{1}{\sqrt{5}})\,,\] \[v\,=\,10\sqrt{5}\,\mathrm{m \cdot s^{-1}}\,,\] \[a\,=\,50\,\mathrm{m \cdot s^{-2}}\,.\]
The magnitude of acceleration is constant, therefore we do not need to know the time when the particle crosses the axis.
2) The particle crosses the y axis at the moment when:
\[t\,=\,0\,\mathrm{s}\,.\]
Similarly to 1):
\[v\,=\,50{\cdot}0\,,\] \[v\,=\,0\,\mathrm{m \cdot s^{-1}}\,,\] \[a\,=\,50\,\mathrm{m \cdot s^{-2}}\,.\]
OVERALL SOLUTION
The particle crosses the y axis at the moment its x coordinate is equal to 0:
Note: We do not use units in relations to increase clarity of notation.
The particle will cross the y axis at time:
\[t_\mathrm{1}\,=\,0\,\mathrm{s}\,.\]
The particle will cross the x axis at time:
\[t_\mathrm{2}\,=\,\frac{1}{\sqrt{5}}\,\mathrm{s}\,\dot{=}\,0{,}45\,\mathrm{s}\,.\]
\[v_\mathrm{x}\left(t\right)\,=\,30t\,,\] \[v_\mathrm{y}\left(t\right)\,=\,-40t\,,\] \[v_\mathrm{z}\left(t\right)\,=\,0\,,\] \[\vec{v}\left(t\right)\,=\,30t\vec{i}+\left(-40t\right)\vec{j}+0\vec{k}\,,\]
In the direction of x: uniformly accelerated motion
In the direction of y: uniformly accelerated motion in the opposite direction
In the direction of z: the particle is at rest.
\[v\left(t\right)\,=\,50\,\mathrm{m \cdot s^{-2}}t\,.\]
Speed is a linear function of time:
Therefore the movement of the particle is not uniform (it is a case of uniformly accelerated motion).
\[a_\mathrm{x}\,=\,30\,,\] \[a_\mathrm{y}\,=\,-40\,,\] \[a_\mathrm{z}\,=\,0\,,\] \[\vec{a}\left(t\right)\,=\,30\vec{i}+(-40)\vec{j}+0\vec{k}\,,\]
\[a\left(t\right)\,=\,50\,\mathrm{m \cdot s^{-2}}\,.\]
Tedy:
\[v\,=\,10\sqrt{5}\,\mathrm{m \cdot s^{-1}}\,,\] \[a\,=\,50\,\mathrm{m \cdot s^{-2}}\,.\]
\[v\,=\,0\,\mathrm{m \cdot s^{-1}}\,,\] \[a\,=\,50\,\mathrm{m \cdot s^{-2}}\,.\]
×Original source: Mandíková, D., Rojko, M.: Soubor úloh z mechaniky pro studium učitelství. I. část. Interní materiál, MFF UK, Praha 1994
Zpracováno v diplomové práci Jany Moltašové (2011).
Updated: Oct. 14th, 2017


text:
There is widespread anger and sadness in First Nations communities. Sisters, wives, mothers, and daughters are gone from their families without clear answers.
Facts About Missing and Murdered
There is widespread anger and sadness in First Nations communities. Sisters, wives, mothers, and daughters are gone from their families without clear answers. There are families whose loved ones are missing—babies growing up without mothers, mothers without daughters, and grandmothers without granddaughters. For Native America, this adds one more layer of trauma upon existing wounds that cannot heal. Communities are pleading for justice.
However, the data to confirm the scope of the problem is elusive.
"The National Crime Information Center reports that, in 2016, there were 5,712 reports of missing American Indian and Alaska Native women and girls, though the US Department of Justice's federal missing person database, NamUs, only logged 116 cases."
A red hand over the mouth has become the symbol of a growing movement, the Murdered and Missing Indigenous Women (MMIW) movement. It stands for all the missing sisters whose voices are not heard. It stands for the silence of the media and law enforcement in the midst of this crisis. It stands for the oppression and subjugation of Native women who are now rising up to say #NoMoreStolenSisters.
Why Is There Widespread Silence On This Issue?
There are numerous reasons, but at the forefront lie issues stemming from the Indian Relocation Act and federal policies. Many Native Americans do not live on the tribal lands or reservations (only 22%) where when someone goes missing, the community, and tribal law enforcement band together in search efforts. 78% of America's Native population lives off of the reservation with 60% of those residing in an urban area. Cities offer few ties to Native cultures, communities, and tribal law enforcement.
Many Urban Indians, people living in cities, fall into the "pipeline of vulnerability": people of color, people coming out of the foster care system, people of poverty. According to Janeen Comenote, executive director of the National Urban Indian Family Coalition, "poverty remains one of the most challenging aspects to contemporary urban Indian life. While I do recognize that a sizable chunk of our population[s] is solidly middle class, every Native person I know has either experienced poverty or has a family member who is. Housing and homelessness remain at the top-of-the-list of challenges."
Statistics on Missing and Murdered Indigenous Women
Native Americans today face some extraordinary challenges. These statistics from the Urban Indian Health Institute were compiled from a survey of 71 U.S. cities in 2016. The numbers speak for themselves: Native American women make up a significant portion of the missing and murdered cases. Not only is the murder rate ten times higher than the national average for women living on reservations but murder is the third leading cause of death for Native women. This is startling as Native people only make up 2% of the US overall population. Urban Indian Health Institute reports the youngest MMIW victim was a baby less than one year old and the oldest victim was an 83-year-old.
Stereotypes about Natives Perpetuate Injustice
Due to the lack of tribal jurisdiction beyond reservation borders, Urban Indians receive less than adequate assistance when a loved one goes missing. America has written a stereotypical narrative for its First People: "They are lazy, drug addicts, and alcoholics who rely on the government to survive."
Moreover, this modern stereotype was created through acts of colonization and cultural assimilation. Pre-colonization, Native societies traditionally revered and honored the sacredness of women. Women held positions of authority and did a large portion of labor within their camps, but the European colonists with patriarchal views took the women as slaves to the men. Soon, Native women had been victims of rape, violence, and submission. This mistreatment can be traced throughout America's history. Natives were viewed as "savages."
In Andrea Smith's paper "Not an Indian Tradition: The Sexual Colonization of Native Peoples," she explores the connection between sexual violence and colonialism on lives of Native people in the United States. Smith reveals that Natives were viewed as "dirty" for their lack of clothing which in the minds of the colonists made them "polluted with sexual sin." They were seen as less-than-human—therefore, "rapable."
Now, when a Native woman is reported missing, these negative stereotypes hinder the search process. Law enforcement tends to turn a blind eye, fail to take the report seriously, and do little to assist. The media rarely picks up on the story and if they do, there is normally a negative spin on the story making the victim seem at fault.
Women Leading the Charge
Thankfully, women and men, Native and non-Native, are working together through dozens of organizations to give voice to the MMIW.
MMIW found itself as a movement first in Canada where the grassroots efforts to raise awareness found footing around 2015. Since this time, MMIW has grown and is gaining momentum. It is because of the efforts of Native women and their families this crisis is gaining momentum. Women are finding innovative ways to sound their voices on this issue as it is profoundly affecting communities.
There has been increasing political attention to this issue. Arizona Governor Doug Ducey recently signed legislation to create a committee on the issue made up of law enforcement, victims' families, tribal leaders, and more.
At the federal level, the Not Invisible Act was introduced this spring in both the House and Senate. According to a statement from Rep. Deb Haaland's office, this is the first bill to be introduced by four members of federally recognized tribes: Representatives Deb Haaland (Pueblo of Laguna), Tom Cole (Chickasaw Nation of Oklahoma), Sharice Davids (Ho-Chunk Nation of Wisconsin), and Markwayne Mullin (Cherokee Nation).
The Not Invisible Act would bring together a committee of law enforcement, tribal authorities, federal partners, and more to study and discuss solutions to the crisis of murdered and missing Indigenous women and to establish better systems of coordination.


text:
Q: Generating signed apk getting error on inflating BottomNavigationView after switching to androidX App crashes with error error inflating class com.google.android.material.bottomnavigation.BottomNavigationView when generating signed apk. Running the app with debug apk from android studio directly to device has no problem. I have migrated my project to androidX as well.
I've read some other post saying the drawable or colors might have problem so I've confirm that there are no other drawable folders (e.g. drawable-v21, drawable-v24). Im not sure why but it only happens when I generate a signed apk.
app:itemIconTint="@drawable/drawable_selector"
app:itemTextColor="@drawable/drawable_selector"
app:itemBackground="@color/primary"

but it doesn't work
line 15 error starts here:
  <com.google.android.material.bottomnavigation.BottomNavigationView
    android:id="@+id/bottom_navigation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    app:menu="@menu/bottom_navigation"
    android:elevation="8dp"
    app:itemIconTint="@drawable/drawable_selector"
    app:itemTextColor="@drawable/drawable_selector"
    app:itemBackground="@color/primary"
    android:background="?android:attr/windowBackground"/>

have already included this in my gradle:
 implementation 'com.google.android.material:material:1.1.0-alpha06'
 implementation 'androidx.appcompat:appcompat:1.1.0-alpha05'
Caused by: android.view.InflateException: Binary XML file line #15: Binary XML file line #15: Error inflating class com.google.android.material.bottomnavigation.BottomNavigationView
     Caused by: android.view.InflateException: Binary XML file line #15: Error inflating class com.google.android.material.bottomnavigation.BottomNavigationView
     Caused by: java.lang.reflect.InvocationTargetException


We started 13 years ago, teaching kids to master an instrument and to enjoy doing so at the same time. More than this, we help them discover the rock star within themselves, whether that means to be a performing musician on stage with the crowd in your hands, or just to develop the self confidence required to be a rock star in life.
To date we've taught more than 20,000 students and currently teach more than 80 students playing in bands. We have a standing contract with Curro Private School and various others. Many of our teachers have gone on to become successful musicians, including Elvis Blue, Joshua na die Reen, Connell Cruise, Die Kat se Snor, and many others.
We believe we have discovered the recipe to transform weekly music lessons into a lifetime journey of fun and exploration for our students. From a young age, we offer kids an opportunity to learn to play in a band with our JamBands program. With our free Showcase Events, students build confidence and present their talent and skills to an audience and loved ones. When they progress and produce their own content we offer recording opportunities in our state-of-the-art recording studio. Our students have won numerous awards at Kids with Talent SA, a nationwide competition. Through all these services, we are able to make learning an instrument easier, simpler and faster.
Whether you are a 35 year old accountant by day who wants to play campfire songs for fun, a teenager who wants to perform in bands or a 7 year old aspiring fireman, Swallow15 will guide you to discover the rock star in you!


Hallelujah! It's Friday, which not only means that the weekend is upon us, it also means that it's Friday Fix Day! Woohoo! Well, that warm weather we shunned at Christmas is now nice and wintery (but now I miss the warm weather; this realization has led me to conclude that the weather is like a husband on a '90s TGIF sitcom; there's no way he's going to get it right no matter how hard he tries to give me exactly what I asked for verbatim). My dysfunctional relationship with the weather aside, we've got a fully functional Friday Fix lined up for this lovely January day. First, we look at how you can have your best content marketing year ever (no, really), ways to launch your content marketing into hyper drive (and get it with the times), storytelling strategies, why you need visuals for engagement, and more! So, snuggle up to your space heater warm up with the Friday Fix!
Best year ever? Yes, please, Quinn Whissen. Early on, Quinn quotes Vertical Measures' Arnie Kuenn in saying that 2016 is the year content marketing will (finally) "hit the mainstream", and I agree. Recently, I've observed friends with businesses "liking" more content marketers pages in my area, and a friend whose (well-established) career was in journalism just transitioned to content marketing. So, if 2016 is the year of content marketing, how do you ride the wave? For starters, you need strong SEO and visual content. Speaking of content, trying out episodic content is another of Quinn's guidelines for your best content marketing year yet.
To me, Mark Schaefer's headline reads, "Extra! Extra! Content marketing behind the times!" And then I toss the paperboy a nickel to grab a copy because I thought content marketing was leading the times. As it turns out, I was wrong. Mark reveals what he learned at a conference on the future of technology and journalism at Columbia University, and as it turns out, content marketing is getting left in the dust by journalism. A few nuggets from the conference and Mark's article include the need to "think like a fashion designer" and to embrace new platforms "with urgency" and to embrace "at-a-glance" storytelling (similar to episodic storytelling in some ways) among other things.
This season of Modern Family had an episode where Claire pitched "creative" closet design ideas even though she was a "suit". It didn't go particularly well (okay, it ended with her covered in pigeons, which thankfully isn't the norm when we try to differentiate), but Pam Neely's article reminded me of that because most traditional marketers and content marketers probably never envisioned that telling stories would be among the most important paths to their audience (at least not the way Pam breaks it down). Thankfully, while, yes, some are more natural storytellers than others, the art of telling great stories can be learned.
Unless you've been hiding in a nuclear fallout shelter for the past 30 years (this could happen…I saw it in a Brendan Fraiser movie once, so it must be true), then you know the prevalence of YouTube as well as the importance of going visual (specifically video-visual) with your content marketing. Everyone knows this, you say; it's evidenced by the zillions of YouTube videos that are out there. True. Well, if you want to standout, take Erin Sagin's advice with these five tips for creating more memorable YouTube video ads. Erin suggests looking for ways you can leverage emotion, surprise, nostalgia, and other memorable qualities in your video.
Continuing with the rhetoric on the super powers of images, Jim Yu picks up the reigns to reveal this incomprehensible fun-fact: within the first 50 milliseconds of arriving on your website, people form their first impression. Slightly easier to wrap your head around is the fact that they'll make their decision to stay within 10 seconds (I assume that's how long it takes for us to process those first 50 milliseconds). Not to overload you with facts, but Jim also notes that images can be processed in a mere 13 milliseconds (meanwhile, I'm just trying to process what a millisecond is). So, obviously, images and videos –things that are attention-grabbing are important. Check out Jim's article for how to leverage them.
In this piece, Judith Aquino interviews Richard Krevolin, a screenwriter and consultant who touts that "the best brand narratives are about customer allies instead of heroes." At the essence of this idea is that even the best story can "fall flat" in terms of content marketing and branding if audience's don't connect to it. This goal is best-accomplished, according to Richard, if you let the brand act as a the customer's ally that helps them achieve their goals. It's a simple change in approach but is one that makes a world of difference. See what other insight Richard reveals to Judith in this fascinating interview.
Are 'Branded Content' Films More about Content than Brand?
Amit Bapna's article focuses on the concept of "brand connect" and the even scarier question of whether or not "great filmmaking makes for great brand-building?" In other words, is the focus on engaging content yielding too subtle a brand-message? Bapna gives an example of Indian clothing company Biba that concludes a 2-minute video on societal bias related to arranged marriages with the brand logo (as otherwise, viewers wouldn't know Biba had any involvement with the video). Throughout the article, Bapna questions the measurable success of this method and discusses shifts in various media and marketing formats (like TV and digital) before concluding that the subtle brand-content journey is a long road if it's to be successful.
Tyler Williams' article starts by arching a critical eyebrow at adopting a "one-size fits all" approach to content marketing as well as to other foibles; what he says content marketers must do, instead, is work around what's called the "customer lifecycle", which is where the customer is within their relationship to your brand (i.e., are they new, established, on the way out, etc.?). This is important because you'll want to employ different methods and materials for content marketing to each of these types of customers. Thankfully, Tyler includes a handy dandy infographic to who both a typical B2B customer's lifecycle as well as the suggested content forms for each stage (phew).
If you read Quinn Whissen's article, then you know that 2016 is (projected to be) a big year for content marketing, and if you're like many, you're just getting on the CM trolley. No worries if you're just getting on board or just getting the hang of it; Nicole Kersh dives in with three savvy tips on writing smart content: be purposeful, think outside of the box, and embrace humanity. Check out the article for the details on how to execute these things and why Nicole pinpointed them.
Should You Outsource Your Content Marketing?
It's easy to have a knee-jerk response to this question especially if you're operating on a slim budget, but Shaik Mahmood brings up a few relevant points for thought that may compel you to realize that outsourcing content marketing is the way to go. For example, precious time is precious money, and if you lack the existing skills, time, and infrastructure to effectively handle your own content marketing, you could be spending way more trying to DIY than you would to outsource. Additionally, Shaik urges readers to consider that content marketing is "dynamic" and is constantly evolving (which means you have to evolve with it if you want to stay ahead of (or even on) the curve.
Have you ever met someone who's said, "I don't really have a story to tell?" Well, I've found that it's usually the most humble with some of the most profound yet simplistic stories that tend to utter this (inaccurate) refrain. If you're company is like The Storyteller Agency, then you often do work with inspirational organizations and foundations that represent those in need (people or animals). This post looks at some of the relationships and stories Storyteller has cultivated with and through local organizations with whom we passionately work and with whom we intend to continue working in 2016 and beyond.


Rod is all about performance! He wakes up looking for the next sales obstacle, eager to solve his clients' problems and account challenges. If you are finding it difficult to break into new accounts and overcome barriers to gain new business, look no further.
Companies today are struggling to sell against price. They are forced to sell high into large organizations and move away from purchasing agents and buyers, while management is challenged to increase productivity as well as control and shorten the sales process. In order to increase sales performance, companies need to change their existing approach to selling.
Break down the existing process to determine what is working and what needs to be fixed to achieve results.
Realign or rebuild a new sales process to match the industry needs and differentiate your company to move you away from price.
Put in place a new system that measures progress against the objectives with more accountability for success.