text:
Grassroot Hot News
Achievers Grassroots Initiative
Over 370 Nigerians asked to move out of U.S. 'for violating laws'
July 17, 2020 July 17, 2020 GrassOfficial	1 Comment
Presently More than 370 Nigerians were ordered to move out of the United States this year, after being found guilty of breaking immigration laws and other crimes, data from the U.S. Immigration and Customs Enforcement (ICE) shows.
Data obtained from the ICE and compiled in a June report by a global tracking website on government policy, TRAC, says 376 Nigerians, who mainly resided in Texas, New Jersey, California, New York and others, were served court orders to leave the U.S. between January and June, having been convicted of immigration and criminal charges.
TRAC is a U.S.-based tracking website that keeps databases of immigration, FBI cases and firearms data for public access.
The data referenced in this story was obtained by TRAC and sourced directly from the ICE through FOI requests.
This comes even as the scramble to flatten the spread of COVID-19 continues with the Trump administration's aggressive immigration policy on immigrants.
About 3,019 Nigerians were deported from the U.S for criminal convictions in 15 years, starting from ICE's establishment in 2003 and ending in 2018, a PREMIUM TIMES analysis revealed.
But within the first half of this year, 335 Nigerians violated immigration laws including unlawful entry into the country, overstayed visas, fake documents and many others.
About 41 other Nigerians have criminal records of aggravated felonies such as fraud, drug crimes, sex and firearms offences.
Over time, 'criminal aliens' often top the list of priorities when it comes to deportation from the U.S.
This was laid bare more during the Trump administration as the American president vowed to "chase people with criminal records away from our country."
Once a foreign national is arrested for an offence by the Department of Homeland Security, they are tried before an immigration judge, which is often a lengthy legal process. The individual is most often flagged for deportation. Therefore, a deportation case is filed.
Deportation proceedings are conducted to determine whether the individual charged with violating immigration laws should be removed from the U.S. By removal, it means deportation.
During the proceedings, the individual could appeal the case and the term could be lessened to a voluntary departure but this does not provide for alternate erasure of criminal records.
The individual could be allowed to remain in the country if the judge finds the charges against him or her are not sustained or the government requests that the charges be dropped, as well as where the judge finds the other provisions in the immigration law entitles the individual "relief" from removal.
Between January and June this year, 2,700 deportation cases involving Nigerians were filed with immigration and criminal charges; the outcome of the court proceedings showed that 376 Nigerians were ordered deported.
Nigeria fell behind Cameroon which had the highest figure among the African countries – 647 – and was ahead of Democratic Republic of Congo and Ghana which had 229 and 175 deportees respectively.
But there are concerns by human rights activists that the U.S. may be brewing another crisis over the rights of the planned deportees who are reportedly kept in detention facilities across the country.
The 376 people are among the 901 Nigerians being held in detention facilities across the U.S., according to the 2019 report by ICE. No report of extradition of these deportees has been made yet.
However, in the wake of the coronavirus pandemic, the Human Rights Watch had urged the ICE to halt involuntary transfers of foreign nationals between facilities, and put in place policies at detention centres "that would allow safe social distancing and effective hygiene for as long as detainees remain in custody".
"The U.S. government should not force deportees to travel so long as it puts them and their communities at heightened risk of COVID-19," the Human Rights Watch said.
"Despite outbreaks of COVID-19 in U.S., immigration detention centres and government travel restrictions the world over, the U.S. has continued deportations with little regard for the consequences," the US program director at Human Rights Watch, Nicole Austin-Hillery, said.
"With these reckless deportations, the Trump administration is contributing to the spread of COVID-19 and endangering public health globally."
Repatriation, new threat?
Aside from the threat of importing COVID-19 into Nigeria, there are fears that the repatriation of the Nigerians could be detrimental to the West African country.
This is because Nigeria has no well-grounded structure for the reintegration of such people into the society, a Nigerian diplomatic analyst said.
"The truth is that the government, who is a major stakeholder in these deportation troubles, is unperturbed and unconcerned. Once deported and profiled, they are left to go on their own," Gbemisola Lawal said.
"With the rate of unemployment expected to soar and a possible slip into recession after the pandemic, there is little hope for the returnees to start life afresh without having to take to criminal acts again because they may constantly feel dejected," she adds.
Nigerian government reacts
When asked about the government's plans as regards the deportation orders on the convicted Nigerians by the U.S. government, an official of the Nigerians in Diaspora Commission (NIDCOM) said he had no comment since "it has not taken place yet."
This is according to the commission's spokesperson, Abdul-Rahman Balogun, who made it known.
This 376 deportation proceedings outcome you claimed for this year alone, has not taken place. Until then, I can't say more," Mr Balogun said.
Attempts to get the reaction of the Nigerian Immigration Service were unsuccessful as calls and messages sent to the spokesperson, Sunday James, were not responded to.
← Kogi guber: The Large number of APC aspirants is due to my efforts – Gov Bello
Tola Odutola reveals why he left Redeem Christian Church Of God →
One thought on "Over 370 Nigerians asked to move out of U.S. 'for violating laws'"
Increase DAMoz
Thanks a bunch for sharing this with all people you really know what you're speakingabout! Bookmarked. Please additionally consult with mysite =). We will have a hyperlink exchange arrangement among us	However, Domain Authority (Moz) is a parameter to check the ranking in Google. If you want to increase your DA at very low cost, please check out on profile link.
Speaker Reaffirms Readiness To Support Youth Capacity Building
January 19, 2021 January 19, 2021 GrassOfficial 0
Amb. Michael Ayemere. The Speaker, Edo State House of Assembly, Rt. Hon. Marcus Onobun has reiterated his commitment to youth
FIRS Generates ₦4.9trn, Meets 98% Of 2020 Target
OGBONI CULT MEMBERS CHASE MAN AWAY OVER HIS REFUSAL TO JOIN, DECLARE HIM WANTED.
A MIDDLE- AGED MAN DECLARED WANTED BY THE POLICE OVER HIS ALLEGED INVOLVEMENT IN HOMOSEXUAL PRACTICE.
Gossips & Gists 158
Hot News 35
NGO's 2
Opinion 38
Popular News 8
Recent News 33
Trending News 6
Tributes 5
The Achievers Grassroots Initiative, AGI is a socio-political grassroot initiative/movement founded in November 2019 by Sir Monday Osagie Iyore, with its core values centred around Good Governance, Trust and Transparency.
Copyright © 2021 Grassroot Hot News. All rights reserved.
Copyright © 2020 Grassroot Hot News. All rights reserved.Designed by Inclide


text:
• Spread the word
• Contact the author Lawmakers push for work entitlements
The report of the Parliamentary Standing Committee on the National Rural Employment Guarantee Bill was tabled in Parliament on 27 July. The proposed legislation provides that anyone who is willing to do manual work in rural areas at the statutory minimum wage is entitled to work within 15 days. If work is not provided within 15 days, he/she is entitled to an unemployment allowance from the goverment.
The committee's report is favourable and endorses most of the demands made by people's organisations during the last few months. The report will eventually become for the basis for a debate in Parliament. An amended draft bill based on the committee's recommendations is expected to be circulated soon. Citizens will need to keep an eye out for whether and how many of the committee's recommendations are actually incorporated in the amended bill.
Congress Party president Sonia Gandhi has reportedly said that the employment guarantee bill needed changes and (from the original version that was tabled in Parliament in December 2004). She said that eligibility for the benefits should be universal and irreversible and that the Act could be fully funded by the Centre and implemented and monitored by panchayats. "I am confident that the final Act (sic) that we will pass will have these changes incorporated", Sonia Gandhi said. (Source: NDTV report)
Summary of recommendations from the Standing Committee
1. Universal eligibility. BPL cards should not be used as an eligibility criterion.
2. Individual entitlements - anyone who comes forward should be given work.
3. Time bound extension - within four years to the entire country.
4. Removal of the provision for "switching off" the guarantee.
5. States must notify within 6 months.
Wages & Compensation
6. Wages in according with the Minimum Wages Act, 1948. Also tied to National floor minimum wage.
7. Wages must be paid within a week.
8. Wages to be de-linked from quality and quantity of work.
9. In case of worker death, compensation increased from Rs 10,000 to Rs 25,000.
10. Full cost to be borne by Central government.
11. Foodgrains to be valued at BPL prices
Unemployment allowances
12. Unemployment allowance to be paid by states except when Central government is responsible for delay in providing work.
13. No eligibility criterion for unemployment allowance.
14. Recommends increasing the unemployment allowance to one half and three-fourths.
15. Debarring from unemployment allowance only for the duration that the worker does not report for work.
16. Panchayats to be the main implementing agency. Central role accorded to them.
17. Works should include those that can be performed easily by women and disabled persons.
18. Minimum number of applicants required to start new works reduced from 50 to 10.
19. Provision of crèche when there are a minimum of 5 women, other facilites as well.
20. Non-compliance will attract a penalty of Rs 5000 or 3 months imprisonment (or debarring from holding public office in the case of elected representative).
21. Less restrictive list of works.
22. States should be allowed greater flexibility in the list of works.
The Standing Committee's report.
Reetika Khera is a PhD student at the Delhi School of Economics and is associated with the Right to Food network.
Citizen Direct is India Together's channel for publishing reports from citizens who have detailed information about specific civil society concerns and matters, by virtue of their participation, association, or independent observation. These reports are therefore as witnessed and understood by the authors themselves; India Together accepts no liability or responsibility for them. More
• Contact the author
Post your comment below, or View Existing Comments (0)
Note: Your post will appear within 24 hours unless found inappropriate (spam, netabuse). See policy
For verification, please enter the security code you see below
EXISTING COMMENTS
powered by Movable Type 2.64

redpajama_set_name: RedPajamaCommonCrawl


text:
Community in Focus: Professor Tim Weninger on how we consume and curate information
Posted by Chris on December 21, 2017
In addition to publishing technical articles and tutorials, here at Overleaf and ShareLaTeX we like to share some of the interesting work and innovative research people in our community are involved with.
Today, we'd like to introduce you to Tim Weninger, who is an assistant professor in the Department of Computer Science and Engineering at the University of Notre Dame. Amongst other things (which we'll get into), Tim is working to make AI assistants like Siri and Alexa smarter, and has given a TED talk on social media manipulation.
But first, let's take a quick look at where it all began.
Tim grew up in a small town in Kansas, United States, and after high school went to Kansas State University. He enjoyed building things, but because he was "too impatient to wait for concrete to dry", Tim chose to major in computer science. The year after graduating Tim stayed in Kansas and was introduced to machine learning and data mining. After seeming to have a knack for the subject, Tim joined the University of Illinois Urbana-Champaign to work with Jiawei Han—who is considered by those in the field to be one of the fathers of data mining.
Four years later, around the time his son Caleb was born, Tim joined the faculty of the University of Notre Dame where he is now an assistant professor in the Department of Computer Science and Engineering.
An atypical computer scientist
Tim describes himself as "an atypical computer scientist who doesn't study programming languages or compilers or circuits". Instead, Tim says his goal is to "employ the tools and methods developed in computing to help understand and solve some of our most pressing challenges."
When I asked about his work, Tim told me "My students and I study how people consume and curate information".
With the sheer volume of information created and shared every day, the way we consume and curate information has become a core part of society. Looking at what we do with the masses of available data helps us to understand, and then to shape and define, how we interact with each other and understand the broader world around us.
Tim has three specific projects which are aiming to tackle this topic from different points of view:
social media manipulation
building blocks of a network
and we'll look at each of these in turn.
The goal of Tim's first project is to use modern machine learning tools to discover whether information is missing from a knowledge graph, and where it is, to identify what is missing and to fill the gaps.
Wikipedia makes a great case study, and is the subject of this project. Tim and the team are looking to learn the underlying meaning behind the relationships that are encoded in the knowledge graph.
Tim gave me a simple scenario as an example, "If a Wikipedia editor correctly identifies 47 of the 50 US state capitals, but incorrectly enters Chicago as the capital of Illinois and forgets Alaska and Hawaii, then our system will learn a model of what it means to be the capital of a US state.
The system will then reason about the knowledge graph to fix the incorrect relationships and fill-in the missing state capitals.
This is especially useful for services like Siri or Alexa that need to have reasoning capabilities and a more complete view of the state of world." If you'd like to dig a little deeper into this, you might find these papers interesting:
ProjE: Embedding Projection for Knowledge Graph Completion, Proc. of AAAI, 2017.
Discriminative predicate path mining for fact checking in knowledge graphs, Knowledge Based Systems, 2017.
Tim's next project investigates how the design of social media platforms might impact the spread of information. As a part of this work, the team are investigating how and why people upvote, like, or retweet news on social media.
Tim presented some of his work at a TED event a few years ago, which you can see here. As Tim explains in his talk, he found that just one quarter of one percent of viewers on Reddit determine what the rest of the site's readers see.
For anyone who is familiar with Reddit, that might seem a surprising conclusion to draw about a platform which at the very least gives the impression that every user is able to equally influence the potential exposure of a post (if this is you, watch the video where Tim explains his work).
Behind every social, technological, and biological system is an intricate network that encodes the relationship between the objects in the system. Extracting the useful and interesting building blocks of a network is critical to the understanding of many systems.
And so Tim's third project investigates a newfound relationship between graph theory and formal language theory wherein, "for lack of better terminology, we parse a graph into its small-pieces."
"This project is directly analogous to how a high school student might learn to parse a sentence into its subject, predicate, nouns and verbs, except, instead of discovering the parts-of-speech, we parse a graph into triangles, squares and other shapes to understand how the graph is constructed."
The focus of this work is on developing and evaluating principled techniques that learn the building blocks of real world networks. The team have put together a paper with preliminary results, which you can find here: Growing Graphs from Hyperedge Replacement Graph Grammars. Proc. of CIKM, 2016.
Consume and curate
As Tim said earlier, his studies are focussed on how people consume and curate information. The understanding coming out of work like this has a direct impact on the world around us.
Tim explained:
"Reasoning about knowledge graphs will make AI assistants like Siri and Alexa smarter. A principled understanding of the structure of graphs will provide valuable insight into the networks that govern natural phenomena, and a deep understanding of the role that social media plays in our world is critical to the maintenance of our society."
Our thanks to Tim
I'd like to thank Tim for his time in talking to me and sharing some details of his fascinating research projects.
We're keen to highlight other interesting work from anyone using our platforms over the coming months. Please get in touch if you have a story to share.
If you're interested in reading more about connections within collaborations, check out this research report on collaboration we published with Digital Science earlier this year.
Sign up for a free account and receive regular updates
Start writing now!
Overleaf is Gratis
New to LaTeX?


So a jolly old man walks into a bar on Christmas Eve. He couldn't possibly be…could he?
Just in time for Christmas, here's a short holiday video from the UCB's Neil Campbell, featuring himself and Paul Rust in a bar where a fat, old jolly man stops in for a drink on Christmas Eve. He looks like Santa. He talks like Santa. He couldn't possibly be Santa. Or could he?
Roll it, dummies, and drink up some Christmas cheer.


text:
by Stacy Beechview
In her debut novel, S.A. Chakraborty begins her story in 18th century Cairo and weaves together an adventure story with a dash of romance and plenty of political intrigue. It's told from two very different perspectives, with both characters struggling with their own morality in a world where high-ranking positions have power that can be brutal with seemingly little consequences.
One of our main characters, Nahri, is a con artist who does not believe in magic and uses quick thinking and deception to make a living by extorting money from the wealthy through their superstitious beliefs. During one of her cons, Nahri accidentally summons a fierce Djinn warrior, Dara. Because of Nahri's lineage, Dara is tasked with finding a safe location for her now that she's shown to have otherworldly powers and is being pursued by other, not-quite-as-friendly, mythological beings.
Our other main character, Alizyd, is an idealistic second prince who is working to prevent an uprising in his city due to socio-political tensions. When the story brings Nahri to Alizyd's city, the citizens that have been repressed for centuries see her as a beacon of hope and rally around her. This only continues to escalate tensions and increase danger in an already treacherous city.
Mix together Nahri, Dara and Alizyd's diverse plots and you get an engaging tale incorporating different aspects of Islamic mythology to capture the reader from start to finish. I'm excited to see what the second book in this trilogy has in store.
Related Formats
by S.A. Chakraborty
In the first book of the Daevabad trilogy, Islamic mythology comes to life to create a world filled with Djinns, Ifrits and other fantastical beings. The story centers around three characters, one is a con artist with supernatural gifts, another is a prince of a legendary city, while the third is a feared warrior Djinn. Each must attempt to find a balance between the actions expected from them because of their public positions versus the actions they feel are morally right while navigating through a dangerous city where one misstep could lead to disastrous consequences.


text:
/* List of contributors:
 *
 *  Initial  Name/description
 *  -------------------------------------------------------------------
 *  MF       Mario Fortier
 *  AC       Angelo Ciceri
 *
 *
 * Change history:
 *
 *  MMDDYY BY   Description
 *  -------------------------------------------------------------------
 *  112400 MF   First version.
 *  082004 AC   Add TA_SetCandleSettings, TA_RestoreCandleDefaultSettings
 *              and call to TA_RestoreCandleDefaultSettings in TA_Initialize
 *  041106 MF   Add prefix to theGlobals to avoid clash with other libs.
 *  040707 MF   Change global initialization to eliminate Mac OS X link error.
 */

/* Description:
 *   Provides initialization / shutdown functionality for all modules.
 */

/**** Headers ****/
#include <stdlib.h>
#include <string.h>
#include <time.h>

#include "ta_common.h"
#include "ta_magic_nb.h"
#include "ta_global.h"
#include "ta_func.h"

#ifdef TA_LIB_PRO
/* Section for code distributed with TA-Lib Pro only. */
#endif

/**** External functions declarations. ****/
/* None */

/**** External variables declarations. ****/
/* None */

/**** Global variables definitions.    ****/

/* The entry point for all globals */
TA_LibcPriv ta_theGlobals = {0,{{0,0,0}},0,0,0,0,(TA_Compatibility)0,{0},{{(TA_CandleSettingType)0,(TA_RangeType)0,0,0}}};

TA_LibcPriv *TA_Globals = &ta_theGlobals;

/**** Local declarations.              ****/
/* None */

/**** Local functions declarations.    ****/
/* None */

/**** Local variables definitions.     ****/
/* None */

/**** Global functions definitions.   ****/
TA_RetCode TA_Initialize( void )
{
   /* Initialize the "global variable" used to manage the global
    * variables of all other modules...
    */
   memset( TA_Globals, 0, sizeof( TA_LibcPriv ) );
   TA_Globals->magicNb = TA_LIBC_PRIV_MAGIC_NB;

#ifdef TA_LIB_PRO
      /* Section for code distributed with TA-Lib Pro only. */
#endif

   /*** At this point, TA_Shutdown can be called to clean-up. ***/

   /* Set the default value to global variables */
   TA_RestoreCandleDefaultSettings( TA_AllCandleSettings );

   return TA_SUCCESS;
}

TA_RetCode TA_Shutdown( void )
{
   if( TA_Globals->magicNb != TA_LIBC_PRIV_MAGIC_NB )
      return TA_LIB_NOT_INITIALIZE;

   /* Initialize to all zero to make sure we invalidate that object. */
   memset( TA_Globals, 0, sizeof( TA_LibcPriv ) );

   return TA_SUCCESS;
}

TA_RetCode TA_SetCandleSettings( TA_CandleSettingType settingType,
                                 TA_RangeType rangeType,
                                 int avgPeriod,
                                 double factor )
{
    /*printf("setcdlset:%d  ",settingType);*/
    if( settingType >= TA_AllCandleSettings )
        return TA_BAD_PARAM;
    TA_Globals->candleSettings[settingType].settingType = settingType;
    TA_Globals->candleSettings[settingType].rangeType = rangeType;
    TA_Globals->candleSettings[settingType].avgPeriod = avgPeriod;
    TA_Globals->candleSettings[settingType].factor = factor;
    /*printf("cdlset: %d %d %d %f\n",TA_Globals->candleSettings[settingType].settingType,TA_Globals->candleSettings[settingType].rangeType,
        TA_Globals->candleSettings[settingType].avgPeriod,TA_Globals->candleSettings[settingType].factor);*/
    return TA_SUCCESS;
}

TA_RetCode TA_RestoreCandleDefaultSettings( TA_CandleSettingType settingType )
{
    const TA_CandleSetting TA_CandleDefaultSettings[] = {
        /* real body is long when it's longer than the average of the 10 previous candles' real body */
        { TA_BodyLong, TA_RangeType_RealBody, 10, 1.0 },
        /* real body is very long when it's longer than 3 times the average of the 10 previous candles' real body */
        { TA_BodyVeryLong, TA_RangeType_RealBody, 10, 3.0 },
        /* real body is short when it's shorter than the average of the 10 previous candles' real bodies */
        { TA_BodyShort, TA_RangeType_RealBody, 10, 1.0 },
        /* real body is like doji's body when it's shorter than 10% the average of the 10 previous candles' high-low range */
        { TA_BodyDoji, TA_RangeType_HighLow, 10, 0.1 },
        /* shadow is long when it's longer than the real body */
        { TA_ShadowLong, TA_RangeType_RealBody, 0, 1.0 },
        /* shadow is very long when it's longer than 2 times the real body */
        { TA_ShadowVeryLong, TA_RangeType_RealBody, 0, 2.0 },
        /* shadow is short when it's shorter than half the average of the 10 previous candles' sum of shadows */
        { TA_ShadowShort, TA_RangeType_Shadows, 10, 1.0 },
        /* shadow is very short when it's shorter than 10% the average of the 10 previous candles' high-low range */
        { TA_ShadowVeryShort, TA_RangeType_HighLow, 10, 0.1 },
        /* when measuring distance between parts of candles or width of gaps */
        /* "near" means "<= 20% of the average of the 5 previous candles' high-low range" */
        { TA_Near, TA_RangeType_HighLow, 5, 0.2 },
        /* when measuring distance between parts of candles or width of gaps */
        /* "far" means ">= 60% of the average of the 5 previous candles' high-low range" */
        { TA_Far, TA_RangeType_HighLow, 5, 0.6 },
        /* when measuring distance between parts of candles or width of gaps */
        /* "equal" means "<= 5% of the average of the 5 previous candles' high-low range" */
        { TA_Equal, TA_RangeType_HighLow, 5, 0.05 }
    };

    int i;
    if( settingType > TA_AllCandleSettings )
        return TA_BAD_PARAM;
    if( settingType == TA_AllCandleSettings )
        for( i = 0; i < TA_AllCandleSettings; ++i )
            TA_Globals->candleSettings[i] = TA_CandleDefaultSettings[i];
    else
        TA_Globals->candleSettings[settingType] = TA_CandleDefaultSettings[settingType];
    return TA_SUCCESS;
}

/**** Local functions definitions.     ****/
/* None */

redpajama_set_name: RedPajamaGithub


text:
<!DOCTYPE html>

  <link href="http://gmpg.org/xfn/11" rel="profile">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta http-equiv="content-type" content="text/html; charset=utf-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">

  <title>

      Dynamic first boot scripts with Imagr and Flask: Part 4 · graham gilbert

  </title>

  <link rel="stylesheet" href="/public/css/poole.css">
  <link rel="stylesheet" href="/public/css/syntax.css">
  <link rel="stylesheet" href="/public/css/hyde.css">
  <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=PT+Sans:400,400italic,700|Abril+Fatface">

  <link rel="alternate" type="application/rss+xml" title="RSS" href="/feed.xml">
  <link href='/stylesheets/all-b18cc7d6d5710987503b687ec013f838.css' media='all' rel='stylesheet' type='text/css'>
  <link type="application/atom+xml" rel="alternate" href="https://grahamgilbert.com//atom.xml" title="graham gilbert" />

          graham gilbert

A Mac admin, automating the hell out of things.

      Home

            About

            Projects

            Talks

      The opinions on this site are my own, and are not necessarily shared by my employer.

Dynamic first boot scripts with Imagr and Flask: Part 4

  19 Jan 2016

If you are just starting with this series, it is highly recommended you start with Part 1.

The last part of this series is making it work in a Docker container. This is not a Docker tutorial - please head over to Docker's getting started pages to get yourself set up with the Docker Toolbox.

All done? Let's crack on with first creating our Dockerfile.

In the same ~/src/boostrapapp directory as your main script, create a new file called Dockerfile with the following contents:

~/src/boostrapapp/Dockerfile

FROM python:2.7-slim

ENV BOOTSTRAP_DEBUG=false BOOTSTRAP_USERNAME=admin BOOTSTRAP_PASSWORD=secret BOOTSTRAP_URL="http://localhost:5000"

COPY requirements.txt /requirements.txt

COPY gunicorn_config.py /gunicorn_config.py

COPY bootstrap.py /bootstrap.py

RUN pip install -r /requirements.txt && \

    rm /requirements.txt && \

    pip install gunicorn futures

CMD gunicorn -c gunicorn_config.py bootstrap:app

EXPOSE 5000

VOLUME ["/munki_repo"]

In the Dockerfile we copied a couple of files. The first is the requirements file - this will install the bits into python we need to run our app. Fortunately, this is incredibly easy to generate:

$ source ~/virtualenvs/bootstrapapp/bin/activate

$ cd ~/src/bootstrapapp

$ pip freeze > requirements.txt

And now for gunicorn_config.py. Up until now we have been using Flask's built in web server. This is fine for development, but in production it is better to use a more robust server. You would normally put an app running with Gunicorn behind a proxy server (you could use my Proxy image), but this time we won't for the sake of simplicity.

import multiprocessing

from os import getenv

bind = '0.0.0.0:5000'

workers = multiprocessing.cpu_count() * 2 + 1

timeout = 600

threads = multiprocessing.cpu_count() * 2

max_requests = 600

max_requests_jitter = 50

errorlog = '-'

accesslog = '-'

loglevel = 'warning'

# Read the DEBUG setting from env var

try:

    if getenv('BOOTSTRAP_DEBUG').lower() == 'true':

        loglevel = 'debug'

except:

    pass

Our last step before building the image is to replace a few parts that we've hardcoded into bootstrap.py with environment variables so they can be customised when the Docker image is run.

First off we have our username and password for HTTP authentication. Change:

~/src/boostrapapp/bootstrap.py

try:

    my_username = sys.argv[1]

except:

    my_username = 'admin'

try:

    my_password = sys.argv[2]

except:

    my_password = 'secret'

To look like:

~/src/boostrapapp/bootstrap.py

try:

    my_username = os.getenv('BOOTSTRAP_USERNAME', 'admin')

except:

    my_username = 'admin'

try:

    my_password = os.getenv('BOOTSTRAP_PASSWORD', 'secret')

except:

    my_password = 'secret'

Running our app in debug mode is useful during development, but can pose a security risk in production - let's be able to turn that on and off. Replace DEBUG = True at the top of boostrap.py with:

~/src/bootstrapapp/bootstrap.py

try:

    if getenv('BOOTSTRAP_DEBUG').lower() == 'true':

        DEBUG = True

    else:

        DEBUG = False

except:

    DEBUG = False

One last part is to be able to set our URL that the app is served on - we return this in the script that is sent to our clients, so we need to tell the container about it. Replace your def index section with:

~/src/bootstrapapp/bootstrap.py

@app.route('/')

@requires_auth

def index():

    build = request.headers.get('X-bootstrap-build')

    site = request.headers.get('X-bootstrap-site')

    url = os.getenv('BOOTSTRAP_URL', 'http://localhost:5000')

    script = '''#!/usr/bin/python

import subprocess

import re

import urllib

import os

site='{0}'

build='{1}'

username='{2}'

password='{3}'

url='{4}'

def get_hardware_info():

    cmd = ['/usr/sbin/system_profiler', 'SPHardwareDataType', '-xml']

    proc = subprocess.Popen(cmd, shell=False, bufsize=-1,

                            stdin=subprocess.PIPE,

                            stdout=subprocess.PIPE, stderr=subprocess.PIPE)

    (output, unused_error) = proc.communicate()

    try:

        plist = FoundationPlist.readPlistFromString(output)

        # system_profiler xml is an array

        sp_dict = plist[0]

        items = sp_dict['_items']

        sp_hardware_dict = items[0]

        return sp_hardware_dict

    except Exception:

        return {{}}

hardware_info = get_hardware_info()

serial = hardware_info.get('serial_number', 'UNKNOWN')

serial = re.sub('[^A-Za-z0-9]+', '', serial)

serial_lower = serial.lower()

username_and_password = username+':'+password

data = {{

'serial': serial,

'site': site,

'build': build

}}

cmd = ['/usr/bin/curl', '-u', username_and_password, '--data', urllib.urlencode(data), url+'/gen_manifest']

task = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0]

'''.format(site, build, my_username, my_password, url)

    return script

Prepare the build

Now we're ready to build our Docker image. Make sure your  Docker Machine VM is running and that you've run all the commands the Docker guide told you to and:

docker build -t bootstrapapp .

You'll see the base image being downloaded (if you don't already have it) and then each step of your Dockerfile being run. Now we've got an image built, let's run it. Assuming your VM's IP address is 172.16.155.136 (you can get yours by running docker-machine ip YOURVMNAME):

$ docker run -d --name=bootstrap \

    -e BOOTSTRAP_URL='http://172.16.155.136:5000' \

    -e BOOTSTRAP_USERNAME=myadmin \

    -e BOOTSTRAP_PASSWORD=mypassword \

    -v /Users/grahamgilbert/src/bootstrapapp/munki_repo:/munki_repo \

    -p 5000:5000 \

    bootstrapapp

Obviously replace /Users/grahamgilbert with your own home directory.

Will it blend?

Let's try pulling the script down:

curl --user "myadmin:mypassword" --header "X-bootstrap-build: build" --header "X-bootstrap-site: site" http://172.16.155.136:5000

Let's test manifest creation:

$ curl --user "myadmin:mypassword" --data 'serial=xyz789&site=london&build=somebuild' http://172.16.155.136:5000/gen_manifest

You should see your manifest being created on your Mac's filesystem.

And you can also see what your container is doing:

docker logs bootstrap

Using it with Imagr

Now to last part - using the thing. Let's generate the hash of your chosen username and password:

$ python -c 'import base64; print "Authorization: Basic %s" % base64.b64encode("USERNAME:PASSWORD")'

Authorization: Basic VVNFUk5BTUU6UEFTU1dPUkQ=

And add the following component to your Imagr workflow, substituting the output of the previous command:

<dict>

    <key>additional_headers</key>

    <array>

        <string>Authorization: Basic VVNFUk5BTUU6UEFTU1dPUkQ=</string>

        <string>X-enrolment-build: some_build</string>

        <string>X-enrolment-site: test_site</string>

    </array>

    <key>type</key>

    <string>script</string>

    <key>url</key>

    <string>http://172.16.155.136:5000</string>

</dict>

What's next?

You could now push this image to the Docker Hub, or you could build it on your server. If you want to see the completed project, I've posted it on GitHub, and I've set up an automated build on the Docker Hub if you want to use it and be lazy ;)

Fin

Congratulations - you've build a web app using the Flask framework, dynamically served scripts to Imagr, made your manifests for Munki on the fly and wrapped it all up into a Docker image.

Please enable JavaScript to view the comments powered by Disqus.

Related Posts

            Something something commercial, something something opensource
            08 Feb 2017

            Pocket Mac admin's guide to London
            19 Jan 2017

            Imagr with target disk mode
            11 Jan 2017


Holdings: Arsy versy or, the second martyrdom of the Rump.
Arsy versy or, the second martyrdom of the Rump. To the tune of, The blind beggar of Bednall-green.
Political ballads and songs > England > 17th century.
Great Britain > Politics and government > 1649-1660 > Humor > Early works to 1800.
Arsy versy: or, the second martyrdom of the Rump To the tune of, The blind beggar of Bednall-green.
Arsy versy: or, The second martyrdom of the Rump. To the tune of, The blind beggar of Bednall-green.
The Rump ululant, or Penitence per force; being The recantation of the old rust-roguy-rebellious-rampant, and now ruinous rotten-rosted Rump. To the tune of Gerrards mistresse.
A vindication of the Rump: or, the Rump, re-advanc'd To the tune of, Up tails all.


text:
Bhool, Episodes 9 and 10: The World Never Lets One Forget Their Past
By Sophia Qureshi Thursday, 11 July 2019
In Bhool, Saboor Aly's character makes her appearance and further cements that one could move on, but society will never allow for it
Poster for Bhool
Pakistani society, or society in general, is a funny thing. "Yeh duniya humein bhoolne nahin degi" (This world will never let us forget). Yet those bemoaning their situation will turn around and discuss the problems of others with equal jest and enthusiasm. What a wonderful world this would be if each individual could learn to mind their own business, take care of themselves and allow others to live their lives without judgement. As long as actions are not harming others, why does society interfere in the matters of others? Lectures aside, stories like "Bhool" would not exist if not for the way South Asian society operates.
Aiman (Saheefa Jabbar Khattak) made a mistake 21 years ago by running away from home on her wedding day to marry Awais (Affan Waheed), a man who was under the influence of his scheming, viciously malicious mother (Uzma Gillani). After getting married, Awais divorces Aiman under the orders of his mother and turns Aiman away. Left with nowhere else to go, Aiman returns home to her family only to discover her father has passed away. An object of disgrace in the eyes of society, Aiman fights with her idea of self-worth, especially after discovering she's pregnant. While her brother Rashid (Kashif Mehmood) supports her, her sister in law Shabana (Nadia Afgan) treats her with open contempt, which is worsened after Aiman's mother passes away (Saba Hameed). Awais is divorced by his second wife, Rania, after she discovers the truth regarding his past with Aiman. While Rania proves to be a support for Aiman during a trying time, she soon leaves the country. Left at the mercy of her brother's good graces, Aiman raises her young daughter, Aisha, alongside Rashid's two children – children who have been raised by Shabana to treat Aiman and Aisha with disdain as well.
In episodes 9 and 10, the story takes a 20 year leap with Aisha (Saboor Aly) now grown up and headed off to college. Aiman, unable to trust or release her grip on Aisha, accompanies Aisha everywhere she goes, including college. This causes Aisha to be an outcast amongst her peers and unsure of her place in society. Things take a supposed-to-be-interesting turn when Imran (Hassan Hayat Khan) is instantly attracted to Aisha. When he approaches Aisha's cousin Sidra to inquire about her, Sidra becomes interested in Imran. There could not be a more cliched storyline here, considering Imran is painfully transparent regarding his interest in Aisha and Sidra meets him when he inquires about Aisha in this blunt, ridiculous way. So in what world does a self-respecting, confident girl begin panting like a lovesick puppy over a man so obviously interested in her cousin? This does not sit well and is clearly just a plotline to create further hostility towards Aisha and Aimen.
On the other end, Awais returns from abroad after decades of absence with a new resolve – he wants to make amends for his behavior towards Aimen and Aisha. Aisha, the daughter he has never met or acknowledged, is now his priority and he seeks to alleviate himself from his intense guilt. Awais visits Aisha's school and introduces himself to a shocked Aisha, as she believes her father to be dead. This action forces Aimen to tell Aisha the truth – a truth that fills Aisha with much bitterness. Later, Awais approaches Aimen and they discuss her struggles, Aimen making it clear that she is not interested in his interference in her life.
What can be appreciated about Bhool is the pace. Each episode offers something of worth and interest, the episodes fast-paced and storyline driven. In this double episode, some aspects are now brought to light, including the effects of Aiman's struggle. Now clearly visible is Aiman's battle in proving herself to society, a battle she now fights for her daughter as well. But is this fight easy when Aiman is so lacking in self confidence herself? She does not understand how to deal with her circumstances, but also has not taught Aisha how to defend herself – rather, Aisha has been taught to live in the shadows and avoid confrontation by watching her mother do the same. Aiman's words to Aisha are to fight against those who treat her badly, but can a daughter learn differently based on a mother's words when her actions scream something else? Aisha is meek and lacking in confidence, unprepared when her world turns upside down at the appearance of her father, a father she didn't realize existed. Bhool is an interesting show that touches upon the unforgiving nature of society and its inability to allow a person to move beyond their past mistakes. How the show continues on from here will be a challenge, as keeping the pace consistent will be essential to maintaining interest.
Khaas, Episode 12: Saba's Situat...
Bhool: An Interesting Story, Poor Presentation
Surkh Chandni, Episodes 9 & 10: Tragedy Strikes Once Again
Inkaar, Episode 18: Character Assassination and the Implications of Guilt
Anaa, Episode 21: Slowly Inching Towards A Blowout
Saaho Has Reportedly Been Postponed for Release: Here's Why
Student Of The Year 2 Actress Tara Sutaria Reveals How She Will Never Feel 'Arrived' in Bollywood


Sculpt your figure and build toned muscle with Dynamic Reformer Pilates classes – Studios across London.
Think Pilates, but with extra bite.
Yes, Ten's Dynamic Reformer Pilates offers all the postural, flexibility toning and injury-prevention benefits of traditional Pilates. But it goes a step or three further. Along with our own refinements, we've added elements from other exercise disciplines, including circuits, weights and spin.
The result is an intense and demanding full body-workout that sculpts figures, builds lean, toned muscle, fast, and will leave you buzzing with endorphins.
If you're new to Ten or to the Reformer, your first class should be a Beginners session, regardless of your fitness level. This is to make sure that you're familiar with the Reformer, and comfortable with the techniques you'll be using.
New to Ten? Start moving better with 4 classes for £50.
Start here if you're new to all of this, haven't exercised in a while, or are looking to refine and practice your technique at a gentler pace.
A step up in pace and intensity, and definitely not for first-timers. Expect a varied and challenging workout with more functional progressions and an emphasis firmly on effort and results.
A full-on, properly demanding class, with more exercises, faster flow and even greater intensity. Absolutely not for the inexperienced.
Let Pilates help strengthen your body for an easier labour and a faster recovery. Safe and specially designed for women in their second and third trimester.
TenStretch uses this most versatile and effective pieces of exercise equipment to enable a deeper and more thorough stretch than you could achieve unassisted.
Adding a Jumpboard to our Reformers brings plyometric and cardio benefits. A demanding workout, expect to sweat, and feel your legs (and lungs) burning.
Using the only piece of equipment you're never without Expect to be pushing, pulling, squatting, lunging, rotating, bending and balancing. Just don't expect easy.
Led by a Physio, and with everyone working on their own bespoke programme based around – but not limited to – a range of specialist Pilates equipment.


Skanska has secured the assignment to modernize and expand the student center at the University of Washington, in Seattle. The contract amounts to USD 44 M, approximately SEK 300 M, which is included in the order bookings for the fourth quarter of 2010. The customer is the University of Washington.
The assignment includes the expansion of the Husky Union Building (HUB), which is located at the heart of the university campus and serves the university's approximately 50,000 students.
When complete, the HUB will comprise about 30,000 square meters of floor space, with offices, conference rooms, auditorium, banquet rooms and retail stores. A bowling alley and certain other elements of the original 1949 building will be retained.
The project is being designed to achieve Gold environmental certification in accordance with the LEED international rating system.
Skanska USA Building has conducted parts of the project totaling USD 30 M, which were included in order bookings previously. The project will be completed in 2012.


If you believe your citation was issued in error, you have the option to appeal to the Office of the City Clerk within fourteen (14) calendar days from the date the citation was issued. Please keep in mind that submitting an appeal does not guarantee a dismissal of your citation.
If extenuating circumstances are presented as cause for appeal, supporting documentation should be included (e.g., accident reports, auto repair bills).
Enclose a photograph, map or diagram of the parking space in question if you believe it will help the Office of the City Clerk understand the basis of your appeal.
When an appellant submits an appeal, the citation in question is marked to show it is on appeal. This annotation prevents the appellant from being billed before a decision is reached. It also freezes the fine for the duration of the appeals process.
When the appeal is decided, the appellant will be informed by mail or email. The decision is final, and a violation may not be re-appealed.
Understanding parking regulations is the responsibility of a motorized vehicle driver. Ignorance of the parking regulations is not an excuse.
Your past parking record may be a factor in the decision.
Possession of a parking permit does not guarantee a parking space.
Parking permits must be displayed correctly to be considered valid.
The registered owner of the vehicle is ultimately responsible for the citation(s), regardless of who is driving the vehicle at the time of the violation.
Granted: If your appeal has been granted, the parking citation was dismissed and there will be no further action required on your part. You will, whenever possible, receive written notification of the decision.
Denied: If your appeal has been denied, this means that the Parking Enforcement Office considers you responsible for the fine and expects you to pay the entire parking violation fine by the date listed on the notification of decision letter.
There may have been other extenuating circumstances that prevented you from avoiding a citation.
Parking for "just a short period"


text:
Walgreens Boots Alliance reports fiscal year 2021 earnings
PUBLISHED ON 2021-10-14 01:25:00 EST Hemanth
Picture credit: Proactive investor
Walgreens Boots Alliance, Inc. (Nasdaq: WBA) today announced financial results for the fiscal year and fourth quarter that ended Aug. 31, 2021.
Chief Executive Officer Roz Brewer said, "Our fourth quarter and fiscal year results exceeded expectations, driven by strong performance in our core business. Comparable U.S. pharmacy and retail sales both saw robust growth and recovery continued in our UK business as COVID-19restrictions eased in the quarter. I remain extremely proud of our team members' unwavering commitment to meeting the needs of our patients, customers and communities. The role of the pharmacist and local pharmacy is now more vital than ever."
Brewer added, "I look forward to sharing more about the future of WBA at our Virtual Investor Conference today."
Fourth quarter and fiscal year highlights:
•	Fourth quarter earnings per share (EPS) from continuing operations were $0.41, an increase of 6.4 percent from the year-ago quarter; adjusted EPS1,2 increased 29.5 percent to $1.17, up 28.1 percent on a constant currency basis
•	Fourth quarter sales from continuing operations increased 12.8 percent year-over-year, to $34.3 billion, up11.8 percent on a constant currency basis
•	Fiscal 2021 EPS from continuing operations was $2.30 compared with $0.20 in the year-ago period; adjusted EPS increased 14.6 percent to $4.91, up 13.7 percent on a constant currency basis
•	Fiscal 2021 sales from continuing operations increased 8.6 percent to $132.5 billion, up 7.5 percent on a constant currency basis
•	Net cash provided by operating activities in fiscal 2021 was $5.6 billion, an increase of $70 million comparedwith fiscal 2020; Free cash flow was $4.2 billion, up $65 million year-over-year
Overview of Fourth Quarter Results:
WBA fiscal 2021 fourth quarter sales from continuing operations increased 12.8 percent from the year-ago quarter to $34.3 billion, up 11.8 percent on a constant currency basis1,reflecting strong growth in both the International and United States segments.
Operating income from continuing operations increased 49.7 percent to$910 million in the fourth quarter compared with the year-ago quarter. Adjusted operating income from continuing operations increased 22.9 percent on a reported currency basis to $1.2 billion, an increase of 22.1 percent on a constant currency basis. The increase reflects strong gross profit growth across pharmacy and retail in the United States and higher International segment sales and profitability due to strong operational performance and ongoing recovery in the UK, where COVID-19 restrictions were lifted in July.
Net earnings from continuing operations in the fourth quarter were $358 million, up 6.4 percent from the year-ago quarter, reflecting increased operating income in both segments. This was partially offset by higher tax provisions related to the enactment of the UK tax rate increase. Adjusted net earnings from continuing operations increased 29.6 percent to $1.0 billion, up 28.1 percent on a constant currency basis compared with the year-ago quarter.
EPS2 from continuing operations increased 6.4 percent to $0.41, compared with the year-ago quarter. Adjusted EPS from continuing operations increased 29.5 percent to $1.17, reflecting an increase of 28.1 percent on a constant currency basis.
Net cash provided by operating activities was $1.2 billion in the fourth quarter and free cash flow was $867 million, an $808 million decrease comparedwith the year-ago quarter primarily due to the divestiture of the Alliance Healthcare business.
Overview of Fiscal Year Results:
Fiscal 2021 sales from continuing operations increased 8.6 percent from the year-ago period to$132.5 billion, up 7.5 percent on a constant currency basis1.
Operating income from continuing operations in fiscal 2021 increased to $2.3 billion compared with $982 million in the year-ago period. This was partly driven by $2 billion non-cash impairment charges in the year-ago period. This was partially offset by a $1.5 billion charge from the company's equity earnings in AmerisourceBergen in the first quarter of fiscal 2021. Adjusted operating income from continuing operations increased 8.2 percent on a reported basis to $5.1 billion, up 7.7 percent on a constant currency basis. The increase reflects strong adjusted gross profit growth across the United States and International segments, and cost savings from the Transformational Cost Management Program.
Net earnings from continuing operations were $2.0 billion, compared with $180 million in the year-ago period, reflecting non-cash impairment charges in the year-ago period, strong growth across both segments, and earnings from the company's equity method investment related to Option Care Health, partially offset by a charge from the company's equity earnings in AmerisourceBergen. Adjusted net earnings from continuing operations increased 12.8 percent compared with the year-ago period to $4.3 billion, up 11.9 percent on a constant currency basis.
EPS2 from continuing operations for fiscal 2021 increased to $2.30, compared with $0.20 in the year-ago period. Adjusted EPS from continuing operations was $4.91, an increase of 14.6 percent on a reported basis and an increase of 13.7 percent on a constant currency basis.
Net cash provided by operating activities was $5.6 billion in fiscal 2021, an increase of $70 million from fiscal 2020, and free cash flow was$4.2 billion, an increase of $65 million from fiscal 2020.
In line with the company's long-term capital policy to maintain a strong balance sheet and financial flexibility, WBA reduced its leverage by approximately $6.5 billion compared with the prior fiscal year end.
EX-99.1 2 d97976dex991.htm EX-99.1 EX-99.1
Fourth Quarter Results Exceed Expectations, Reflecting Strong Operational Performance and Surpassing Vaccination Goals
Fourth quarter and fiscal year highlights
Fourth quarter earnings per share (EPS) from continuing operations were $0.41, an increase of 6.4 percent from the year-ago quarter; adjusted EPS1,2 increased 29.5 percent to $1.17, up 28.1 percent on a constant currency basis
Fourth quarter sales from continuing operations increased 12.8 percent year-over-year, to $34.3 billion, up 11.8 percent on a constant currency basis
Fiscal 2021 EPS from continuing operations was $2.30 compared with $0.20 in the year-ago period; adjusted EPS increased 14.6 percent to $4.91, up 13.7 percent on a constant currency basis
Fiscal 2021 sales from continuing operations increased 8.6 percent to $132.5 billion, up 7.5 percent on a constant currency basis
Net cash provided by operating activities in fiscal 2021 was $5.6 billion, an increase of $70 million compared with fiscal 2020; Free cash flow was $4.2 billion, up $65 million year-over-year
Company delivered strong operational performance in the fourth quarter
Results exceeded expectations across business segments
Walgreens surpassed COVID-19 vaccination goal, providing 13.5 million vaccinations in the quarter and 34.6 million in fiscal 2021
The company's Transformational Cost Management Program delivered in excess of $2 billion in annual cost savings by fiscal 2021, a year ahead of schedule
Company leadership to discuss strategic priorities for the future and fiscal 2022 guidance at Virtual Investor Conference today
DEERFIELD, Ill., Oct. 14, 2021 - Walgreens Boots Alliance, Inc. (Nasdaq: WBA) today announced financial results for the fiscal year and fourth quarter that ended Aug. 31, 2021.
Chief Executive Officer Roz Brewer said, "Our fourth quarter and fiscal year results exceeded expectations, driven by strong performance in our core business. Comparable U.S. pharmacy and retail sales both saw robust growth and recovery continued in our UK business as COVID-19 restrictions eased in the quarter. I remain extremely proud of our team members' unwavering commitment to meeting the needs of our patients, customers and communities. The role of the pharmacist and local pharmacy is now more vital than ever."
Overview of Fourth Quarter Results
WBA fiscal 2021 fourth quarter sales from continuing operations increased 12.8 percent from the year-ago quarter to $34.3 billion, up 11.8 percent on a constant currency basis1, reflecting strong growth in both the International and United States segments.
Operating income from continuing operations increased 49.7 percent to $910 million in the fourth quarter compared with the year-ago quarter. Adjusted operating income from continuing operations increased 22.9 percent on a reported currency basis to $1.2 billion, an increase of 22.1 percent on a constant currency basis. The increase reflects strong gross profit growth across pharmacy and retail in the United States and higher International segment sales and profitability due to strong operational performance and ongoing recovery in the UK, where COVID-19 restrictions were lifted in July.
Net cash provided by operating activities was $1.2 billion in the fourth quarter and free cash flow was $867 million, an $808 million decrease compared with the year-ago quarter primarily due to the divestiture of the Alliance Healthcare business.
Overview of Fiscal Year Results
Fiscal 2021 sales from continuing operations increased 8.6 percent from the year-ago period to $132.5 billion, up 7.5 percent on a constant currency basis1.
Net cash provided by operating activities was $5.6 billion in fiscal 2021, an increase of $70 million from fiscal 2020, and free cash flow was $4.2 billion, an increase of $65 million from fiscal 2020.
WBA continued to achieve strong results across its business, including:
Leading during the pandemic
To date Walgreens has administered more than 40 million COVID-19 vaccinations and more than 16 million COVID-19 tests.
Boots is one of the UK's leading COVID-19 test providers with more than 3.7 million COVID-19 tests administered to date, the majority in partnership with the National Health Service (NHS).
Walgreens recognized pharmacy team members for their critical role in fighting the pandemic through new bonuses and rewards, as well as increased starting wage for U.S. hourly team members to $15.00 an hour to be fully implemented by November 2022.
Growing the core
Continued to accelerate Walgreens omnichannel offerings, with curbside and drive-thru pickup contributing to strong digital growth and 3.3 million same-day transactions completed in the fourth quarter.
MyWalgreens membership increased to 85 million members to date, up from 75 million members in the third quarter.
Walgreens launched 'Scarlet' bank account and debit card nationwide to promote financial security and provide rewards.
Continued expansion of beauty in the UK, with market share for premium makeup and skincare the highest on record, underpinned by one of the largest Boots UK marketing campaigns to date.
iA automated micro-fulfillment centers currently serve more than 800 Walgreens locations in Phoenix and Dallas, on track for nine operational markets by the end of fiscal 2022.
WBA announced a majority investment in Shields, an industry leader in integrated, health system-owned specialty pharmacy care.
Blue Shield of California and Walgreens announced a new strategic collaboration to expand access to healthcare, lower costs and bring innovative services to enhance the consumer experience for individuals, families and communities throughout California.
WBA and VillageMD continued roll-out of Village Medical at Walgreens, with 52 primary care practice locations currently open, and will have more than 80 open by the end of calendar year 2021.
The United States segment had fourth quarter sales of $28.8 billion, an increase of 6.6 percent from the year-ago quarter. Comparable sales increased 8.1 percent from the year-ago quarter.
Pharmacy sales increased 6.7 percent and comparable pharmacy sales increased 8.9 percent in the fourth quarter compared with the year-ago quarter. Within comparable pharmacy sales, prescriptions filled in the fourth quarter increased 8.8 percent from a year earlier, including a positive impact of 485 basis points from COVID-19 vaccinations. Total prescriptions filled in the quarter increased 8.6 percent to 313 million, including immunizations, adjusted to 30-day equivalents.
Retail sales increased 6.5 percent and comparable retail sales increased 6.2 percent in the fourth quarter compared with the year-ago quarter. Excluding tobacco and e-cigarettes, they increased 7.2 percent, reflecting broad based growth across all categories. In particular, health and wellness sales increased 14 percent aided by cough cold flu, at-home COVID-19 tests and vitamins.
Gross profit increased 14.9 percent compared with the year-ago quarter. Adjusted gross profit increased 13.7 percent due to strong sales growth; improved pharmacy margin, aided by COVID-19 vaccinations partially offset by reimbursement; and favorable retail margin.
Selling, general and administrative expenses (SG&A) increased 12.9 percent compared with year-ago quarter. Adjusted SG&A increased 13.1 percent driven by costs to support COVID-19 vaccinations and testing, and from higher growth investments, partially offset by savings from the Transformational Cost Management program.
Operating income in the fourth quarter increased 25.2 percent to $1.0 billion compared with the year-ago quarter. Adjusted operating income increased 16.4 percent to $1.2 billion.
The International segment had fourth quarter sales of $5.5 billion, an increase of 61.8 percent from the year-ago quarter, including a favorable currency impact of 9.2 percent. Sales increased 52.6 percent on a constant currency basis, including higher sales associated with the formation of company's wholesale joint venture in Germany. Excluding this, International segment sales on a constant currency basis increased 9.3 percent, reflecting the ongoing recovery in the UK market, where COVID-19 restrictions were lifted on July 19.
Boots UK comparable pharmacy sales increased 11.4 percent compared with the year-ago quarter, reflecting stronger demand for pharmacy services, notably COVID-19 tests.
Boots UK comparable retail sales increased 15.0 percent compared with the year-ago quarter. Footfall on the high street recovered as lockdown measures were removed, although it remains below pre-COVID levels.
Boots.com continued to perform ahead of expectations, with digital sales in the fourth quarter more than doubling compared with pre-COVID levels.
Gross profit increased 43.0 percent compared with the same quarter a year ago, including a favorable currency impact of 10.4 percent. Adjusted gross profit increased 32.7 percent on a constant currency basis, reflecting strong growth in retail sales and pharmacy services.
SG&A in the quarter increased 19.0 percent from the year-ago quarter to $1.2 billion, including an adverse currency impact of 8.2 percent, offset by lower costs associated with the Transformational Cost Management Program in the current year. Adjusted SG&A increased 17.3 percent on a constant currency basis, including higher adjusted SG&A associated with the formation of the company's wholesale joint venture in Germany.
Operating income, including a favorable currency impact of 6.1 percent, was $46 million compared with a loss of $130 million in the year-ago quarter. Adjusted operating income grew strongly on a constant currency basis to $140 million, an increase of $129 million compared with the year-ago quarter.
Virtual Investor Conference
WBA will hold a Virtual Investor Conference to discuss strategic priorities for the future, fiscal 2022 guidance and fourth quarter and fiscal 2021 earnings results beginning at 8:30 a.m. Eastern time today, Oct. 14, 2021. A live simulcast as well as related presentation materials will be available through WBA's investor relations website at: http://investor.walgreensbootsalliance.com. A replay of the conference will be archived on the website for at least 12 months after the event.
Please see the "Supplemental Information (Unaudited) Regarding Non-GAAP Financial Measures" at the end of this press release for more detailed information regarding non-GAAP financial measures used, including all measures presented as "adjusted" or on a "constant currency" basis, and free cash flow.
All references to net earnings are to net earnings attributable to WBA and all references to EPS are to diluted EPS attributable to WBA.
Cautionary Note Regarding Forward-Looking Statements: This release contains forward-looking statements made pursuant to the safe harbor provisions of the Private Securities Litigation Reform Act of 1995. These include, without limitation, any statements regarding WBA's future operations, financial or operating results, capital allocation, anticipated debt levels and ratios, future earnings, planned activities, anticipated growth, market opportunities, strategies, competition, the potential impacts on our business of the spread and impacts of the COVID-19 pandemic, our cost-savings and growth initiatives, including statements relating to our expected cost savings under our Transformational Cost Management and store optimization programs and other expectations and targets for future periods. Words such as "expect," "outlook," "forecast," "would," "could," "should," "can," "will," "project," "intend," "plan," "goal," "guidance," "target," "aim," continue," "transform," "accelerate," "model," "longterm," "believe," "seek," "estimate," "anticipate," "may," "possible," "assume," and variations of such words and similar expressions are intended to identify such forward-looking statements.
These forward-looking statements are not guarantees of future performance and are subject to risks, uncertainties and assumptions, known or unknown, that could cause actual results to vary materially from those indicated or anticipated.
These risks, assumptions and uncertainties include those described in Item 1A (Risk Factors) of our Form 10-K for the fiscal year ended August 31, 2021 and in other documents that we file or furnish with the Securities and Exchange Commission. If one or more of these risks or uncertainties materializes, or if underlying assumptions prove incorrect, actual results may vary materially from those indicated or anticipated by such forward-looking statements. All forward-looking statements we make or that are made on our behalf are qualified by these cautionary statements. Accordingly, you should not place undue reliance on these forward-looking statements, which speak only as of the date they are made.
We do not undertake, and expressly disclaim, any duty or obligation to update publicly any forward-looking statement after the date of this release, whether as a result of new information, future events, changes in assumptions or otherwise.
Please refer to the supplemental information presented below for reconciliations of the non-GAAP financial measures used in this release to the most comparable GAAP financial measure and related disclosures.
About Walgreens Boots Alliance
Walgreens Boots Alliance (Nasdaq: WBA) is a global leader in retail pharmacy, impacting millions of lives every day through dispensing medicines, and providing accessible, high-quality care. With more than 170 years of trusted healthcare heritage and innovation in community pharmacy, the company is meeting customers' and patients' needs through its convenient retail locations, digital platforms and health and beauty products.
WBA has a presence in more than 9 countries, employs more than 315,000 people and has more than 13,000 stores in the U.S., Europe and Latin America.
WBA's purpose is to inspire more joyful lives through better health. The company is proud of its contributions to healthy communities, a healthy planet, an inclusive workplace and a sustainable marketplace. WBA is a Participant of the United Nations Global Compact and adheres to its principles-based approach to responsible business.
More company information is available at www.walgreensbootsalliance.com.
(WBA-ER)
U.S. / Morry Smulevitz
Gerald Gradwell and Jay Spitzer
WALGREENS BOOTS ALLIANCE, INC. AND SUBSIDIARIES
CONSOLIDATED STATEMENTS OF EARNINGS
(in millions, except per share amounts)
Three months ended August 31, Twelve months ended August 31,
$ 34,262 $ 30,371 $ 132,509 $ 121,982
26,759 24,046 104,442 95,905
7,503 6,324 28,067 26,078
Equity earnings (loss) in AmerisourceBergen
56 57 (1,139 ) 341
910 608 2,342 982
Earnings before interest and income tax provision
Interest expense (income), net
88 (151 ) 905 613
Earnings before income tax provision
Income tax provision
Post tax earnings from other equity method investments
Net earnings from continuing operations
Net earnings from discontinued operations
Net (loss) attributable to noncontrolling interests - continuing operations
(14 ) (19 ) (39 ) (42 )
Net earnings attributable to noncontrolling interests - discontinued operations
Net earnings attributable to Walgreens Boots Alliance, Inc.
$ 627 $ 373 $ 2,542 $ 456
Net earnings attributable to Walgreens Boots Alliance, Inc.:
Basic net earnings per common share:
Diluted net earnings per common share:
Weighted average common shares outstanding:
865.1 866.5 864.8 879.4
$ 1,193 $ 469
Assets of discontinued operations - current
— 4,979
Non-current assets:
Operating lease right-of-use assets
Equity method investments
Other non-current assets
Assets of discontinued operations - non-current
Total non-current assets
$ 81,285 $ 87,174
Liabilities, redeemable noncontrolling interest and equity
Trade accounts payable
Operating lease obligation
Liabilities of discontinued operations - current
Non-current liabilities:
Other non-current liabilities
Liabilities of discontinued operations - non-current
Total non-current liabilities
Redeemable noncontrolling interest
Total liabilities, redeemable noncontrolling interest and equity
Twelve months ended August 31,
Adjustments to reconcile net earnings to net cash provided by operating activities:
233 (43 )
Equity earnings (loss) from equity method investments
498 (382 )
Goodwill and intangible impairments
Loss on early extinguishment of debt
Gain on sale of business
(322 ) —
Gain on sale of equity method investment
(64 ) 464
(1,451 ) 163
Other non-current assets and liabilities
(288 ) (16 )
Additions to property, plant and equipment
(1,379 ) (1,374 )
Proceeds from sale leaseback transactions
Proceeds from sale of business, net of cash disposed
5,527 —
Proceeds from sale of other assets
Business, investment and asset acquisitions, net of cash acquired
(1,431 ) (718 )
46 (19 )
Net cash provided by (used for) investing activities
4,072 (1,297 )
Net change in short-term debt with maturities of 3 months or less
(909 ) (161 )
Proceeds from debt
Stock purchases
(110 ) (1,589 )
Proceeds related to employee stock plans
Cash dividends paid
Early debt extinguishment
(3,687 ) —
Net cash used for financing activities
(66 ) (1 )
Changes in cash, cash equivalents and restricted cash
Net increase (decrease) in cash, cash equivalents and restricted cash
Cash, cash equivalents and restricted cash at beginning of period
Cash, cash equivalents and restricted cash at end of period
SUPPLEMENTAL INFORMATION (UNAUDITED)
REGARDING NON-GAAP FINANCIAL MEASURES
The following information provides reconciliations of the supplemental non-GAAP financial measures, as defined under SEC rules, presented in this press release to the most directly comparable financial measures calculated and presented in accordance with generally accepted accounting principles in the United States (GAAP). The company has provided the non-GAAP financial measures in the press release, which are not calculated or presented in accordance with GAAP, as supplemental information and in addition to the financial measures that are calculated and presented in accordance with GAAP.
These supplemental non-GAAP financial measures are presented because management has evaluated the company's financial results both including and excluding the adjusted items or the effects of foreign currency translation, as applicable, and believes that the supplemental non-GAAP financial measures presented provide additional perspective and insights when analyzing the core operating performance of the company's business from period to period and trends in the company's historical operating results. These supplemental non-GAAP financial measures should not be considered superior to, as a substitute for or as an alternative to, and should be considered in conjunction with, the GAAP financial measures presented in the press release.
The company does not provide a reconciliation for non-GAAP estimates on a forward-looking basis where it is unable to provide a meaningful or accurate calculation or estimation of reconciling items and the information is not available without unreasonable effort. This is due to the inherent difficulty of forecasting the timing or amount of various items that have not yet occurred, are out of the company's control and/or cannot be reasonably predicted, and that would impact diluted net earnings per share, the most directly comparable forward-looking GAAP financial measure. For the same reasons, the company is unable to address the probable significance of the unavailable information. Forward-looking non-GAAP financial measures provided without the most directly comparable GAAP financial measures may vary materially from the corresponding GAAP financial measures.
Constant currency
The company also presents certain information related to current period operating results in "constant currency," which is a non-GAAP financial measure. These amounts are calculated by translating current period results at the foreign currency exchange rates used in the comparable period in the prior year. The company presents such constant currency financial information because it has significant operations outside of the United States reporting in currencies other than the U.S. dollar and this presentation provides a framework to assess how its business performed excluding the impact of foreign currency exchange rate fluctuations.
Comparable sales
For the company's United States and International segments, comparable sales are defined as sales from stores that have been open for at least 12 consecutive months without closure for seven or more consecutive days, including due to looting or store damage, and without a major remodel or being subject to a natural disaster in the past 12 months as well as e-commerce sales. E-commerce sales include digitally initiated sales online or through mobile applications. Relocated stores are not included as comparable stores for the first 12 months after the relocation. Acquired stores are not included as comparable sales for the first 12 months after acquisition or conversion, when applicable, whichever is later. Comparable sales, comparable pharmacy sales, comparable retail sales, comparable number of prescriptions and comparable number of 30-day equivalent prescriptions refer to total sales, pharmacy sales, retail sales, number of prescriptions and number of 30-day equivalent prescriptions, respectively. Comparable retail sales for previous periods have been restated to include e-commerce sales. The method of calculating comparable sales varies across the retail industry. As a result, the company's method of calculating comparable sales may not be the same as other retailers' methods.
With respect to the International segment, comparable sales, comparable pharmacy sales and comparable retail sales, are presented on a constant currency basis, which is a non-GAAP financial measure. Refer to the discussion above in "Constant currency" for further details on constant currency calculations.
The company considers certain metrics, including all comparable metrics, number of prescriptions, number of 30-day equivalent prescriptions and number of locations at period end, to be key performance indicators because the company's management has evaluated its results of operations using these metrics and believes that these key performance indicators presented provide additional perspective and insights when analyzing the core operating performance of the company from period to period and trends in its historical operating results. These key performance indicators should not be considered superior to, as a substitute for or as an alternative to, and should be considered in conjunction with, the GAAP financial measures presented herein. These measures may not be comparable to similarly-titled performance indicators used by other companies.
NET EARNINGS AND DILUTED NET EARNINGS PER SHARE
Net Earnings From Continuing Operations (GAAP)
Adjustments to operating income:
Adjustments to equity earnings (loss) in AmerisourceBergen 1
70 49 1,645 97
Acquisition-related amortization 2
Transformational cost management 3
Certain legal and regulatory accruals and settlements 4
15 — 75 —
Acquisition-related costs 5
Impairment of goodwill and intangible assets 6
49 15 49 2,016
LIFO provision 7
(73 ) 6 13 95
Store damage and inventory losses 8
— (7 ) — 68
Store optimization 3
— 5 — 53
Total adjustments to operating income
Adjustments to other income:
Net investment hedging (gain) loss 9
2 (4 ) 8 (11 )
Impairment of equity method investment
— — — 71
Gain on sale of equity method investment 10
— — (290 ) (1 )
Total adjustments to other income
3 (4 ) (281 ) 59
Adjustments to interest expense (income), net:
Early debt extinguishment 11
(5 ) — 414 —
Total adjustments to interest expense (income), net
Adjustments to income tax provision:
UK tax rate changes 12
U.S. tax law changes 12
— — — (6 )
Equity method non-cash tax 12
8 8 (161 ) 60
Tax impact of adjustments 12
(38 ) (84 ) (283 ) (433 )
Total adjustments to income tax provision
348 64 (65 ) (240 )
Adjustments to post-tax equity earnings from other equity method
investments:
Adjustments to equity earnings in other equity method investments 13
17 8 (504 ) 54
Total adjustments to post-tax equity earnings from other equity method investments 17 8 (504 ) 54
Adjustments to net earnings (loss) attributable to noncontrolling interests:
(30 ) (4 ) (75 ) (4 )
(2 ) (10 ) 1 (10 )
— — — (14 )
5 (1 ) (2 ) (1 )
Total adjustments to net earnings (loss) attributable to noncontrolling interests (27 ) (15 ) (77 ) (29 )
Adjusted net earnings attributable to Continuing Operations (Non-GAAP measure) $ 1,019 $ 786 $ 4,256 $ 3,772
Net earnings attributable to Walgreens Boots Alliance, Inc. – discontinued operations (GAAP) 268 36 548 277
— 19 28 76
— 58 1 73
Gain on disposal of discontinued operations
(322 ) — (322 ) —
10 (14 ) (6 ) (25 )
Total adjustments to net earnings attributable to Walgreens Boots Alliance, Inc. – discontinued operations $ (268 ) $ 64 $ (206 ) $ 126
Adjusted net earnings attributable to Walgreens Boots Alliance, Inc. – discontinued operations (Non-GAAP measure) $ — $ 100 $ 342 $ 403
Adjusted net earnings attributable to Walgreens Boots Alliance, Inc. - (Non-GAAP measure)
$ 1,019 $ 887 $ 4,598 $ 4,175
Diluted net earnings per common share - continuing operations (GAAP)
Adjustments to operating income
Adjustments to other income (expense)
— — (0.32 ) 0.07
Adjustments to interest expense, net
(0.01 ) — 0.48 —
Adjustments to income tax provision
0.40 0.07 (0.08 ) (0.27 )
Adjustments to earnings from other equity method investments 13
0.02 0.01 (0.58 ) 0.06
Adjustments to net earnings (loss) attributable to noncontrolling interests
(0.03 ) (0.02 ) (0.09 ) (0.03 )
Adjusted diluted net earnings per common share - continuing operations (Non-GAAP measure)
Diluted net earnings per common share - discontinued operations (GAAP)
Total adjustments to net earnings attributable to Walgreens Boots Alliance, Inc. – discontinued operations
(0.31 ) 0.07 (0.24 ) 0.14
Adjusted diluted net earnings per common share - discontinued operations (Non-GAAP measure)
$ — $ 0.12 $ 0.39 $ 0.46
Adjusted diluted net earnings per common share (Non-GAAP measure)
Weighted average common shares outstanding, diluted (in millions)
Adjustments to equity earnings (loss) in AmerisourceBergen consist of the Company's proportionate share of non-GAAP adjustments reported by AmerisourceBergen consistent with the Company's non-GAAP measures. The Company recognized equity losses in AmerisourceBergen of $1,373 million during the three months ended November 30, 2020. These equity losses are primarily due to AmerisourceBergen's recognition of $5.6 billion, net of tax, charges related to its ongoing opioid litigation in its financial statements for the three months period ended September 30, 2020.
Acquisition-related amortization includes amortization of acquisition-related intangible assets and inventory valuation adjustments. Amortization of acquisition-related intangible assets includes amortization of intangibles assets such as customer relationships, trade names, trademarks and contract intangibles. Intangible asset amortization excluded from the related non-GAAP measure represents the entire amount recorded within the Company's GAAP financial statements. The revenue generated by the associated intangible assets has not been excluded from the related non-GAAP measures. Amortization expense, unlike the related revenue, is not affected by operations of any particular period unless an intangible asset becomes impaired or the estimated useful life of an intangible asset is revised. These charges are primarily recorded within selling, general and administrative expenses. Business combination accounting principles require us to measure acquired inventory at fair value. The fair value of the inventory reflects cost of acquired inventory and a portion of the expected profit margin. The acquisition-related inventory valuation adjustments exclude the expected profit margin component from cost of sales recorded under the business combination accounting principles.
Transformational Cost Management Program and Store Optimization Program charges are costs associated with a formal restructuring plan. These charges are primarily recorded within selling, general and administrative expenses. These costs do not reflect current operating performance and are impacted by the timing of restructuring activity.
Certain legal and regulatory accruals and settlements relate to significant charges associated with certain legal proceedings. The Company excludes these charges when evaluating operating performance because it does not incur such charges on a predictable basis and exclusion of such charges enables more consistent evaluation of the Company's operating performance. These charges are recorded within selling, general and administrative expenses.
Acquisition-related costs are transaction and integration costs associated with certain merger, acquisition and divestitures related activities. These costs include all charges incurred on certain mergers, acquisition and divestitures related activities, for example, including costs related to integration efforts for successful merger, acquisition and divestitures activities. These charges are primarily recorded within selling, general and administrative expenses. These costs are significantly impacted by the timing and complexity of the underlying merger, acquisition and divestitures related activities and do not reflect the Company's current operating performance.
Goodwill and intangible assets arising from acquisition related activities are recorded by the Company following the analysis to determine the fair value of consideration paid and the assignment of fair values to all tangible and intangible assets acquired. Impairment of goodwill and intangible assets do not relate to the ordinary course of the Company's business. The Company excludes these charges when evaluating operating performance because it does not incur such charges on a predictable basis and exclusion of such charges enables more consistent evaluation of the Company's operating performance. These charges are recorded within selling, general and administrative expenses.
The Company's United States segment inventory is accounted for using the last-in-first-out ("LIFO") method. This adjustment represents the impact on cost of sales as if the United States segment inventory is accounted for using first-in first-out ("FIFO") method. The LIFO provision is affected by changes in inventory quantities, product mix, and manufacturer pricing practices, which may be impacted by market and other external influences. Therefore, the Company cannot control the amounts recognized or timing of these items.
Store damage and inventory losses as a result of looting in the U.S., net of insurance recoveries.
Gain or loss on certain derivative instruments used as economic hedges of the Company's net investments in foreign subsidiaries. These charges are recorded within other income (expense). We do not believe this volatility related to mark-to-market adjustment on the underlying derivative instruments reflects the Company's operational performance.
Includes significant gain on sale of equity method investment. During the fiscal year ended August 31, 2021, the Company recorded a gain of $290 million in Other income due to a partial sale of ownership interests in Option Care Health by the Company's equity method investee HC Group Holdings.
Loss on early extinguishment of debt related to the Company's cash tender offers to partially purchase and retire $3.3 billion of long term U.S. denominated notes. The Company excludes these charges to enable a more consistent evaluation of the Company's financial performance.
Adjustments to income tax provision include adjustments to the GAAP basis tax provision commensurate with non-GAAP adjustments and certain discrete tax items including tax law changes and equity method non-cash tax. These charges are recorded within income tax provision (benefit).
Adjustments to post tax equity earnings from other equity method investments consist of the proportionate share of certain equity method investees' non-cash items or unusual or infrequent items consistent with the Company's non-GAAP adjustments. These charges are recorded within post tax earnings (loss) from other equity method investments. Although the Company may have shareholder rights and board representation commensurate with its ownership interests in these equity method investees, adjustments relating to equity method investments are not intended to imply that the Company has direct control over their operations and resulting revenue and expenses. Moreover, these non-GAAP financial measures have limitations in that they do not reflect all revenue and expenses of these equity method investees. In the three months ended May 31, 2021 due to partial sales of ownership interests in Option Care Health, our equity method investee HC Group Holdings lost the ability to control Option Care Health and, therefore, deconsolidated Option Care Health in its financial statements. As a result of this deconsolidation, HC Group Holdings recognized a gain of $1.2 billion and the Company recorded its share of equity earnings in HC Group Holdings of $576 million during the three months ended May 31, 2021.
NON-GAAP RECONCILIATIONS BY SEGMENT
Three months ended August 31, 2021
United States 1 International Corporate and
Other Walgreens Boots
Alliance, Inc.
28,755 5,507 — 34,262
Gross profit (GAAP)
6,302 1,198 3 7,503
Acquisition-related amortization
Transformational cost management
LIFO provision
(73 ) — — (73 )
Adjusted gross profit (Non-GAAP measure)
Selling, general and administrative expenses (GAAP)
$ 5,347 $ 1,152 $ 150 $ 6,649
(132 ) (18 ) — (151 )
(66 ) (12 ) (2 ) (80 )
Certain legal and regulatory accruals and settlements
Acquisition-related costs
(4 ) (16 ) (9 ) (29 )
Impairment of goodwill and intangible assets
— (49 ) — (49 )
Adjusted selling, general and administrative expenses (Non-GAAP measure) $ 5,131 $ 1,057 $ 138 $ 6,326
Operating income (loss) (GAAP)
$ 1,011 $ 46 $ (147 ) $ 910
Adjustments to equity earnings (loss) in AmerisourceBergen
70 — — 70
137 18 — 156
— 49 — 49
Adjusted operating income (loss) (Non-GAAP measure)
$ 1,230 $ 140 $ (135 ) $ 1,236
Gross margin (GAAP)
21.9 % 21.8 % 21.9 %
Adjusted gross margin (Non-GAAP measure)
Selling, general and administrative expenses percent to sales (GAAP)
Adjusted selling, general and administrative expenses percent to sales (Non-GAAP measure)
Operating margin (GAAP) 2
3.3 % 0.8 % 2.5 %
Adjusted operating margin (Non-GAAP measure) 2
Operating income (loss) for United States includes equity earnings (loss) in AmerisourceBergen. As a result of the two month reporting lag, operating income (loss) for the three and twelve month period ended August 31, 2021 includes AmerisourceBergen equity earnings (loss) for the period of April 1, 2021 through June 30, 2021 and the period of July 1, 2020 through June 30, 2021, respectively. Operating income (loss) for the three and twelve month period ended August 31, 2020 includes AmerisourceBergen equity earnings for the period of April 1, 2020 through June 30, 2020, and the period of July 1, 2019 through June 30, 2020, respectively.
Operating margins and adjusted operating margins have been calculated excluding equity earnings (loss) in AmerisourceBergen and adjusted equity earnings (loss) in AmerisourceBergen, respectively.
$ 26,967 $ 3,403 $ — $ 30,371
$ 5,486 $ 838 $ — $ 6,324
(1 ) (1 ) — (2 )
Store damages and inventory losses
(6 ) — — (6 )
$ 4,736 $ 968 69 $ 5,773
(77 ) (17 ) — (94 )
(109 ) (96 ) (9 ) (213 )
(12 ) (4 ) (8 ) (24 )
Store optimization
Adjusted selling, general and administrative expenses (Non-GAAP measure) $ 4,535 $ 836 $ 52 $ 5,423
Operating income (GAAP)
$ 807 $ (130 ) $ (69 ) $ 608
77 17 — 94
108 95 9 211
Adjusted operating income (Non-GAAP measure)
$ 1,057 $ 2 $ (52 ) $ 1,006
Selling, general and administrative expenses percent to sales (GAAP) 17.6 % 28.4 % 19.0 %
Adjusted selling, general and administrative expenses percent to sales (Non-GAAP measure) 16.8 % 24.6 % 17.9 %
2.8 % (3.8 )% 1.8 %
3.5 % — % 3.0 %
Twelve months ended August 31, 2021
$ 112,005 $ 20,505 $ — $ 132,509
$ 23,736 $ 4,328 $ 4 $ 28,067
— (2 ) — (1 )
$ 20,042 $ 4,101 $ 442 $ 24,586
(279 ) (93 ) (46 ) (418 )
(6 ) (24 ) (24 ) (54 )
Adjusted selling, general and administrative expenses (Non-GAAP measure) $ 19,245 $ 3,861 $ 372 $ 23,477
1,645 — — 1,645
Store damage and inventory losses
(495 ) (179 ) (40 ) (714 )
(229 ) (6 ) (12 ) (248 )
(32 ) (1,984 ) — (2,016 )
$ 3,312 $ (2,090 ) $ (239 ) $ 982
32 1,984 — 2,016
2.8 % (14.6 )% 0.5 %
EQUITY EARNINGS IN AMERISOURCEBERGEN
Equity earnings (loss) in AmerisourceBergen (GAAP)
$ 56 $ 57 $ (1,139 ) $ 341
Litigation settlements and other
New York State Opioid Stewardship Act
— — 3 —
Asset Impairment
— — 3 75
Certain discrete tax benefits
— — — (206 )
PharMEDium remediation costs
Loss on early retirement of debt
— 5 — 5
Purchase price contingency - Profarma reversal
Non-controlling interest
— (1 ) (1 ) 1
(37 ) — (37 ) (2 )
37 — (46 ) —
(31 ) 1 (48 ) 21
Adjusted equity earnings in AmerisourceBergen (Non-GAAP measure)
$ 126 $ 106 $ 505 $ 437
ADJUSTED EFFECTIVE TAX RATE
Three months ended August 31, 2021 Three months ended August 31, 2020
provision Income tax Effective tax
rate Earnings
Effective tax rate (GAAP)
$ 908 $ 586 64.6 % $ 502 $ 210 41.9 %
Impact of non-GAAP adjustments
324 61 393 (84 )
Equity method non-cash tax
— (8 ) — 8
UK tax rate change
— (378 ) — 139
Adjusted tax rate true-up
— (23 ) — —
$ 1,231 $ 239 $ 896 $ 147
Exclude adjusted equity earnings in AmerisourceBergen
Adjusted effective tax rate excluding adjusted equity earnings in AmerisourceBergen (Non-GAAP measure) $ 1,105 $ 239 21.7 % $ 789 $ 147 18.6 %
Twelve months ended August 31, 2021 Twelve months ended August 31, 2020
$ 1,995 $ 667 33.4 % $ 446 $ 339 76.0 %
2,908 279 3,807 (433 )
U.S. tax law changes
— 161 — 60
$ 4,903 $ 733 $ 4,253 $ 579
Adjusted effective tax rate excluding adjusted equity earnings in AmerisourceBergen (Non-GAAP measure) $ 4,398 $ 733 16.7 % $ 3,816 $ 579 15.2 %
Net cash provided by operating activities (GAAP)
$ 1,245 $ 2,086 $ 5,555 $ 5,484
Less: Additions to property, plant and equipment
(378 ) (411 ) (1,379 ) (1,374 )
Free cash flow (Non-GAAP measure) 1
$ 867 $ 1,675 $ 4,176 $ 4,111
Free cash flow is defined as net cash provided by operating activities in a period less additions to property, plant and equipment (capital expenditures) made in that period. This measure does not represent residual cash flows available for discretionary expenditures as the measure does not deduct the payments required for debt service and other contractual obligations or payments for future business acquisitions. Therefore, we believe it is important to view free cash flow as a measure that provides supplemental information to our entire statements of cash flows.


In the highly competitive financial services industry, every decision is impactful. Providing superior customer service, while not getting bogged down with responding to ever-increasing regulatory and compliance requirements is an ongoing challenge. You find yourself facing increasing pressures - customers demanding specialized products, government mandates requiring widespread product changes, and your own firm offering larger portfolios that must be managed, updated, and maintained.


On behalf of Van Pelt and Dufour Law Firm posted in Georgia Workers' Compensation on Wednesday, February 22, 2017.
Serious work-related accidents occur on a fairly regular basis. Unfortunately, these incidents often lead to workers suffering severe injuries that have been known to prove fatal. The aftermath of such accidents may cause many hardships that surviving workers and families of deceased victims may have to handle. Georgia residents may be interested in one work accident that recently took place out of state.
Reports stated that two workers were injured while attempting to clear a mudslide from a roadway. A third individual had been driving a construction truck that had been hauling rocks and mud from the area. While the truck was moving in reverse, the driver of the truck hit and ran over the two other workers. A witness passing the site tried gaining the attention of others nearby.
The incident resulted in one of the workers -- a 54-year-old man -- suffering fatal injuries as a result of the accident. The second worker was rescued from beneath the truck and transported to an area hospital. He was conscious at the time of his transport. An investigation into the incident is now open.
A fatal work accident is never easy for individuals close to the situation to process. Families and other injured victims may struggle immensely with the financial burdens that stem from such events, which is why workers' compensation often plays a vital role in the aftermath. If Georgia families or workers have found themselves struggling due to the results of an on-the-job accident, they may wish to determine whether they may qualify for workers' comp benefits.


text:
Q: Windows Server 2012 AD DC/DNS/DHCP in single server I have to say I am not a system admin but I had to setup the development environment in my company and I ran into many issues and after searching for many hours I hope somebody can help me out here!
My Setup consist of an ADSL modem/router connected to NIC1 of server and NIC2 connected to switch!
I set static IP for NIC1 192.168.15.100 and add AD DC to server which added DNS then added DHCP to server! right now PCs connected to switch can get IP from switch but no internet access. I have internet on server but the NIC2 shows limited connectivity!
on PCs I get this
IP: 10.10.200.111
Subnet Mask: 255.0.0.0
Gateway: 10.10.200.1
DNS: 192.168.15.100
DHCP: 10.10.200.1
I cant join PCs to domain too, I get the error message that "The specified domain does not exist or could not be contacted"
on AD DC I get warnings for 2886, 1400 and 4013
on DNS I get warning for 4013
on DHCP I get warning for 10020
In DNS Manager I have 2 DNS servers, 1 for DEV-SERVER and another for dev-server.hq.mycompany.com.
Here is Server IP config details, any sort of help would be appreciated!
Windows IP Configuration

   Host Name . . . . . . . . . . . . : dev-server
   Primary Dns Suffix  . . . . . . . : hq.mycompany.com
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
   DNS Suffix Search List. . . . . . : hq.mycompany.com

Ethernet adapter Ethernet 2:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Broadcom BCM5716C NetXtreme II GigE (NDIS
 VBD Client) #33
   Physical Address. . . . . . . . . : 78-2B-CB-26-97-D3
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::450b:7913:9c5e:4be9%13(Preferred)
   IPv4 Address. . . . . . . . . . . : 10.10.200.1(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.0.0.0
   Default Gateway . . . . . . . . . :
   DHCPv6 IAID . . . . . . . . . . . : 326642635
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-18-B9-BC-E6-78-2B-CB-21-97-D2

   DNS Servers . . . . . . . . . . . : ::1
                                       127.0.0.1
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Broadcom BCM5716C NetXtreme II GigE (NDIS
 VBD Client) #32
   Physical Address. . . . . . . . . : 78-2B-CB-26-97-D2
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::393f:b832:6fb6:1216%12(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.15.100(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.15.1
   DHCPv6 IAID . . . . . . . . . . . : 259533771
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-18-B9-BC-E6-78-2B-CB-21-97-D2

   DNS Servers . . . . . . . . . . . : ::1
                                       127.0.0.1
   NetBIOS over Tcpip. . . . . . . . : Enabled

Tunnel adapter isatap.{8A7DB7D3-7E12-4A4B-9885-34080BF56936}:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Microsoft ISATAP Adapter
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes

Tunnel adapter Local Area Connection* 12:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes

Tunnel adapter isatap.{2ED762D8-71D0-40D3-9568-D9CA45135595}:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Microsoft ISATAP Adapter #2
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes

A: This setup is a mess.

*

*Don't multihome your Domain Controller.

*Don't have just one Domain Controller for a domain.

*You can't just use a server as a router (what you're trying to do) without explicitly configuring it to be one. You need to install RRAS, in this case.

*Don't run RRAS or any other roles on a Domain Controller. Get another server or a hardware router/L3 switch.

*Your clients need to point to the server for DNS to join the domain. It also has to be able to actually reach that interface. Your current config doesn't allow this.
There is really a lot here that is configured wrong. I'd throw it away and start from scratch with a new design. A design that doesn't involve multi-homing a DC and doesn't attempt to use it as a router.

redpajama_set_name: RedPajamaStackExchange