text:
Ormesby St. Margaret with Scratby
War memorial cross at Ormesby St Margaret
A Grade II Listed Building in Ormesby St Margaret, Norfolk
OS Grid: TG495147
Mapcode National: GBR YPR.G5M
Mapcode Global: WHNVR.Y24Q
Plus Code: 9F43MMFR+55
Entry Name: War memorial cross at Ormesby St Margaret
Location: Ormesby St. Margaret with Scratby, Great Yarmouth, Norfolk, NR29
County: Norfolk
District: Great Yarmouth
Civil Parish: Ormesby St. Margaret with Scratby
Built-Up Area: Ormesby St Margaret
Traditional County: Norfolk
Lieutenancy Area (Ceremonial County): Norfolk
Tagged with: War memorial
First World War granite memorial cross, with later additions for the Second World War.
The war memorial stands in a triangular gravelled area to the eastern end of the green in the junction of Cromer Road, North Road, and Station Street. It comprises a dressed grey granite wheel-head cross standing on a pedestal. The pedestal has a moulded cap and two-stage foot, and chamfered corners, and stands on an octagonal base.
The pedestal bears the inscriptions in applied metal lettering. The principal dedicatory inscription to the front face of the pedestal reads TO THE GLORY OF GOD/ AND/ IN MEMORY OF/ THOSE SAILORS AND SOLDIERS/ OF/ ORMESBY ST MARGARET/ ORMESBY ST MICHAEL/ SCRATBY AND CALIFORNIA/ WHO GAVE/ THEIR LIVES FOR THEIR COUNTRY/ IN THE/ GREAT WAR 1914 – 1918/ AND/ 1939 – 1945. The commemorated First World War names are listed on the other faces, whilst the Second World War casualty names are recorded on the chamfered faces of the upper stage of the pedestal foot.
The aftermath of the First World War saw the biggest single wave of public commemoration ever with tens of thousands of memorials erected across England. This was the result of both the huge impact on communities of the loss of three quarters of a million British lives, and also the official policy of not repatriating the dead which meant that the memorials provided the main focus of the grief felt at this great loss.
One such memorial was raised at Ormesby St Margaret as a permanent testament to the sacrifice made by the members of the local community, including the neighbouring villages, who lost their lives in the First World War. It commemorates 35 local servicemen who died in the First World War. Following the Second World War the names of 17 men who died in that conflict were added.
Reasons for Listing
The war memorial cross at Ormesby St Margaret is listed at Grade II for the following principal reasons:
Historic interest:
* as an eloquent witness to the tragic impact of world events on the local community, and the sacrifice it made in the conflicts of the C20.
Architectural interest:
* a simple yet poignant granite wheel-head cross.
Kent: West and the Weald: The Buildings of England (Pevsner Architectural Guides: Buildings of England)
Setting up a Listed Building Heritage Partnership Agreement: Historic England Advice Note 5
A Buying and Owning a Listed Building: A Brief Guide
Somerset: South and West (Pevsner Architectural Guides) (Pevsner Architectural Guides: Buildings of England)
II Ormesby Lodge
Ormesby St. Margaret with Scratby, Great Yarmouth, Norfolk, NR29
II* Church of St. Margaret
II Garden Walls to Ormesby Old Hall
II* Ormesby Old Hall
II Stables and Forecourt Walls to Ormesby Old Hall
II Old Hall Cottage
II Barn at Manor Farm with Attached Stable Block
Ormesby St. Michael, Great Yarmouth, Norfolk, NR29
II Manor Farmhouse


How did Adolf Hitler — described by one eminent magazine editor in 1930 as a "half-insane rascal," a "pathetic dunderhead," a "nowhere fool," a "big mouth" — rise to power in the land of Goethe and Beethoven? What persuaded millions of ordinary Germans to embrace him and his doctrine of hatred? How did this "most unlikely pretender to high state office" achieve absolute power in a once democratic country and set it on a course of monstrous horror?
This is the first of two volumes (it ends in 1939 with the dictator's 50th birthday) and there is little here that is substantially new. However, Mr. Ullrich offers a fascinating Shakespearean parable about how the confluence of circumstance, chance, a ruthless individual and the willful blindness of others can transform a country — and, in Hitler's case, lead to an unimaginable nightmare for the world.
• Hitler was an effective orator and actor, Mr. Ullrich reminds readers, adept at assuming various masks and feeding off the energy of his audiences. Although he concealed his anti-Semitism beneath a "mask of moderation" when trying to win the support of the socially liberal middle classes, he specialized in big, theatrical rallies staged with spectacular elements borrowed from the circus. Here, "Hitler adapted the content of his speeches to suit the tastes of his lower-middle-class, nationalist-conservative, ethnic-chauvinist and anti-Semitic listeners," Mr. Ullrich writes. He peppered his speeches with coarse phrases and put-downs of hecklers. Even as he fomented chaos by playing to crowds' fears and resentments, he offered himself as the visionary leader who could restore law and order.
Illustrated. 998 pages. Knopf. $40.


Welcome to Dr. K. Ashraf Dentistry in Kitchener-Waterloo, Ontario where we believe that patient experience is paramount. We restore health, beauty, function, and confidence in your smile through our various services of family, cosmetic, and sedation dentistry. There's no need to feel anxious or fearful of scheduling your dental appointment. We are here to alleviate your nerves through compassionate and effective dental care.
Are you living with missing teeth? Dental implants are one of the few tooth replacement options available that can restore not only your smile but the health of your entire mouth too.
Your smile communicates confidence. With our cosmetic dental services, our Kitchener-Waterloo dentist can help you transform your smile to the next level with teeth whitening, porcelain crowns and bridges, and CEREC restorations.
Dr. Ashraf's dental office welcomes patients of all ages. We provide comprehensive dental cleanings and examinations, composite fillings, gum disease treatment, and more to keep your smile healthy.
Dr. K Ashraf, a Waterloo native, focuses to provide comfortable and safe care to his patients every visit. Our practice features dental technologies like CAD/CAM digital impressions with CEREC AC and Single Tooth Anesthesia System (STA), ensuring you receive personalized treatment plans that your smile deserves.
Combined with a dedication to dental education and valuable training programs, Dr. Ashraf has built a career on bringing his patients the latest treatment techniques. Whether you're visiting Dr. Ashraf for the first time or have been coming to us for years, our team is dedicated to providing you with a welcoming, enjoyable experience.
If you are apprehensive about going to the dentist, then sedation dentistry could be a safe solution to help you get through your next visit. You will be completely relaxed during your procedure and you won't feel any pain.
Our anesthesiologist, Dr. Biswas, is a physician who specializes in Anesthesiology and Pain Management and will be alongside you during the process. He will monitor your sedation level and adjust it when necessary throughout your procedure. Leave all your worries behind with the help and benefits from our sedation dentistry.
Ready for your next appointment? Fill out the form with your contact information and we will get back to you soon. Dr. Ashraf and his team look forward to meeting you!


Business English is a full-time course which provides students with a broad business vocabulary and terminology in a range of applied business settings and situations.
The programme is extremely useful for students aiming to use English in their future professional careers, especially for those hoping to work in an English-speaking country.  It provides a rewarding challenge for high-level students and is integrated with key business topics.


text:
Main » Games » Cuphead
The original name: Cuphead
Developer: Studio MDHR, Studio MDHR Entertainment Inc.
Publisher: Studio MDHR Entertainment Inc.
Platform: Nintendo Switch
Demo: http://www.cupheadgame.com/
Plot & Details
Cuphead is a shoot 'em up game developed and released by the Canadian studio StudioMDHR Entertainment. In the role of the title character "Cuphead" the player fights thereby different bosses, in order to settle a debt with the devil. The game is based heavily on cartoons from the 1930s, in particular on the work of Walt Disney and Max Fleischer and the surrealism used in it as a stylistic device. Cuphead was released on September 29, 2017 for Microsoft Windows and Xbox One. On 19 October 2018, a version for macOS followed.
Cuphead is a shoot-'em-up game with a walk-in level selection similar to those found in Mario & Luigi games. The individual levels consist almost exclusively of boss fights, which can be divided into several phases. The character can continuously fire shots and has a jump and a swing ability that can be used at any time. The player can also buy new weapons and amulets that can be paid for with coins found in each level. Amulets give the character special abilities or extra health. As the game progresses, the player unlocks so-called "super" attacks. A total of six weapons, six amulets and three "super" attacks can be earned. The pawns have the ability to parry certain attacks. After five consecutive parades, the player can perform a "super" attack. The game also has a local co-op mode that allows a second player to join the battles. This also makes the game heavier.
Release on Switch
Downloadable content for the game, titled The Delicious Last Course and featuring a new playable character, levels, and bosses, was revealed at E3 2018 for release in 2019. A port of Cuphead for macOS was released on October 19, 2018, and advertised with an animated short titled "Crisp Apples". A port for the Nintendo Switch is planned for release on April 18, 2019.
Can I Run Cuphead?
If the game will be released on the PC, then the game at medium settings in the FHD (1980x1080) 30FPS you need a PC with the minimum system requirements. System requirements Cuphead see above.
You can register on site, add Cuphead to your personal waitlist and take part in the construction of the rankings anticipated games 2019. Now the most anticipated game is GTA 6.
Marvel's Avengers
Totem Teller
Cuphead release date
Subscribe to receive last news and updates status Cuphead. You will receive an automatic email when the game released.

redpajama_set_name: RedPajamaCommonCrawl


Gabe's babes: Happy Valentine's Day!
We've had Valentine fun all week here!
The kids made Valentines on Monday to send out to Grandparents. All of the kids enjoyed making the cards but Mr. S really got into using the ink pad and glue. That was a fun, red, sticky mess!
G'ma and Grandad sent a gift certificate to See's so on Tuesday we went to get our chocolates. The kids had fun picking out their own chocolates, it was fun to watch them as they made their choices. They each got to choose one row in the box and then we marked their rows so that they would be sure to get to enjoy their own choices.
Rob brought pink roses home for me earlier this week and pink carnations for the girls to share! Miss J enjoyed walking around with a couple of them for a while before she put them in the vase too.
I made some little "pillow case" dresses for the girls. Miss E and I had fun going shopping for fabrics, she did a good job picking out some cute Valentine prints. The girls looked so cute in their dresses, but I did not manage to get pictures of them in the dresses. These dresses should fit them for years, since as they grow they can just be worn as tops!
Rob makes pancakes every Saturday morning, but he drew on the griddle with pink batter to make the pancakes special for Valentines day. Most of us got hearts, but Mr. M got an MP5, I guess that was in honor of the St. Valentine's day massacre.
This morning I got up early (thanks to Miss C who is still stuffed up), and made doughnuts.
Miss E was up early too, so we had some nice time together and she helped me make the doughnuts. They were even better this time and the doughnut holes turned out very well also! We had a fun morning, and then Rob headed off to church while the rest of us stayed home since we are all still sick, though everyone seems to be past the worst of it.


As we age, it's important not to push our bodies too far. That doesn't mean we can't take on progressively more challenging exercises. It just means we need to think about how the impact affects our bodies. High impact workouts put pressure on our joints and our muscles will compensate by overworking to reduce the pain of impact. This can lead to severe muscle pain. Instead, try low impact workouts like bicycling riding, yoga, or swimming.
Hydration is key to preventing muscle pain. As you work out, your body will pull hydration from different areas to compensate for loss. This can lead to both a build up of toxins and strained muscles. So sip water throughout your day and increase your water intake during your workout.
Muscle pain is likely to develop over time from doing the same exercises over and over again. So switch up your exercises. Some people like to focus on different muscle groups each day, while others like to try different activities like spin class, pilates, and weight training.
Stretching your muscles helps make them more flexible and limber. The more flexible your muscles the less likely you are to strain or injure them. There are different schools of thought on when you should stretch for maximum benefit. However, all experts agree, if you are working out, no matter when you stretch, you should always stretch.
Warming up and cooling down can both prevent injury. They support healthy blood flow which reduces inflammation and can protect against strains and sprains from injury. A few minutes before and after each workout can really help keep muscle pain away.
A lot of the time, people only take rest days after they've experienced muscle pain. However, rest days are not only important for recovery, but they also support muscle growth. You should always schedule at least one rest day a week.
Sadly, no matter what we do to prevent muscle pain, there will be times after a hard workout that we will be sore. During these times it's great to use a natural remedy for muscle pain like Noxicare™. Noxicare™ uses 7 healthy ingredients to provide a powerful natural remedy for muscle pain and soreness. The best part is a lot of these ingredients also help with support hydration, muscle flexibility, and reduce inflammation–all of which can make your workouts more effective!


text:
Badger Daylighting Ltd. Announces Resignation of David Calnan From Board of Directors
Home » Posts » Badger Daylighting Ltd. Announces Resignation of David Calnan From Board of Directors
Badger Daylighting Inc
December 10, 2018 06:00 ET | Source: Badger Daylighting Ltd
CALGARY, Alberta, Dec. 10, 2018 (GLOBE NEWSWIRE) — Badger Daylighting Ltd. ("Badger" or the "Company") announces the resignation of David Calnan from the Board of Directors of the Company (the "Board"). On behalf of the Board, Mr. Glen Roane, Chair of the Board, would like to thank Mr. Calnan for his years of service and contributions to the Company. The Board does not currently intend to fill the vacancy caused by Mr. Calnan's resignation due to the recent appointment to the Board of Mr. William Derwin.
Mr. Calnan's resignation included a written statement giving the reasons for his resignation. The Alberta Business Corporations Act (the "ABCA") governs the Company and requires that these reasons be disclosed to shareholders of the Company. In accordance with the terms of the ABCA, the Company will be disclosing these reasons in the management proxy circular to be provided to the shareholders of the Company in connection with the next meeting of the shareholders of the Company. The Board has concluded that in the meantime the Company would also disclose to the shareholders of the Company an overview of these reasons.
Mr. Calnan advised in his resignation letter that he disagreed with the manner in which the Board dealt with a confidential unsolicited acquisition proposal made to the Company by a third party in mid-July of 2018. The consideration offered by the third party consisted of a combination of cash and shares of the third party. Mr. Calnan advised the Company in his resignation letter that he is of the view that the proposed acquisition price was sufficiently high and its terms sufficiently attractive that the Board should have transitioned the proposal into a formal offer and presented the offer to Badger's shareholders for consideration or in the alternative, the Board should have engaged in a market check process to determine if the terms of the proposal could be enhanced.
Following receipt of the proposal in mid-July of 2018, the Board concluded that it constituted a bona fide proposal that required a thorough review. The Board subsequently engaged financial and legal advisors to assist in its review of the proposal, including the consideration offered by the third party. The Board's review of the proposal was conducted over a three month period during which the Board completed a comprehensive review of the Company's strategic plan, operations and financial condition and considered all of the strategic alternatives available to the Company. Following such review, the Board unanimously concluded that the consideration being offered by the third party was not sufficiently compelling to induce the Company to enter into exclusive negotiations because such consideration did not adequately reflect the fair value of the Company and discussions with the third party terminated. The Company subsequently announced record financial results for the third quarter of the 2018 fiscal year in which Adjusted EBITDA was $50.9 million or $1.37 per share, a 31% increase over the prior year comparative quarter, and revenue was $168.7 million, a 20% increase over the prior year comparative quarter. The Board concluded its review of strategic alternatives and after taking into account the risks and opportunities associated with the current strategic plan of the Company, determined, with Mr. Calnan dissenting, that the best alternative for the Company to achieve the goal of maximizing value for Badger shareholders is to pursue the current strategic plan of the Company.
This press release contains references to "Adjusted EBITDA", which does not have any standardized meaning prescribed by International Financial Reporting Standards and may not be comparable to similar measures presented by other companies or entities.
"Adjusted EBITDA" is earnings before interest, taxes, depreciation and amortization, share-based compensation, gains and losses on sale of property, plant and equipment, and gains and losses on foreign exchange. Adjusted EBITDA is a measure of the Company's operating profitability and is therefore useful to management and investors as it provides improved continuity with respect to the comparison of operating results over time. Adjusted EBITDA provides an indication of the results generated by the Company's principal business activities prior to how these activities are financed, the results are taxed in various jurisdictions, and assets are amortized. In addition, Adjusted EBITDA excludes gains and losses on sale of property, plant and equipment as these gains and losses are considered incidental and secondary to the principal business activities, it excludes gains and losses on foreign exchange as such gains and losses can vary significantly based on factors beyond the Company's control and it excludes share-based compensation as these expenses can vary significantly with changes in the price of the Company's common shares.
About Badger Daylighting Ltd.
Badger Daylighting Ltd. (TSX:BAD) is North America's largest provider of non-destructive excavating services. Badger traditionally works for contractors and facility owners in a broad range of infrastructure industries. The Company's key technology is the Badger Hydrovac, which is used primarily for safe digging in congested grounds and challenging conditions. The Badger Hydrovac uses a pressurized water stream to liquefy the soil cover, which is then removed with a powerful vacuum system and deposited into a storage tank. Badger manufactures its truck-mounted hydrovac units.
Paul Vanderberg, President and CEO
Gerald Schiefelbein, Vice President, Finance and CFO
Jay Bachman, Vice President, Financial Operations and Investor Relations
Badger Corporate Office
ATCO Centre
Suite 400, 919 – 11th Avenue SW
Calgary, Alberta T2R 1P3
Source: Badger Daylighting Ltd.
Tags hydrovac hydrovac equipment hydrovac industry hydrovac nation hydrovac nation news hydrovac news
Day #7 – of the 12 days of nozzle giveaways
Day #11 – of the 12 days of nozzle giveaways


Chunka Mui is managing director of the Devil's Advocate Group and author of three books on strategy and innovation including, most recently, The New Killer Apps: How Large Companies Can Out-Innovate Start-Ups (with Paul B. Carroll; Cornerloft Press, 2013).
Google vaulted from nowhere to grab the lead in driverless cars, but Waymo aims to win the race.
We must discard several misconceptions and reimagine how our society confronts this deadly, and expensive, disease.
Why companies need directors with technological expertise.


text:
Q: npm install, npm -v, sudo npm install do nothing
~/nodecode$ sudo apt-get install

npm is already the newest version. 0 to upgrade, 0 to newly install, 0 to
  remove and 17 not to upgrade.>  Done Building dependency tree        Reading state information...

Having established that npm is installed I don't know why none of the listed commands do anything. What am I missing?

A: sudo su

root@PC_NAME:/home/# : sudo apt-get

You need to have nodecode folder in directory else you will get

bash: /root/nodecode$: No such file or directory

Info:

apt-get is a command line interface for retrieval of packages and
  information about them from authenticated sources and for
  installation, upgrade and removal of packages together with their
  dependencies.
npm is installed with Node.js npm is distributed with Node.js- which
  means that when you download Node.js, you automatically get npm
  installed on your computer. For checking the version of npm

StepI Install your nodejs
https://nodejs.org/en/
Ubuntu
Run the following on your command line to install the source for nodejs
curl -sL https://deb.nodesource.com/setup | sudo -E bash -

Then, run this to get the latest nodejs package
sudo apt-get install -y nodejs

Step II
Check that you have node and npm installed
To check if you have Node.js installed, run this command in your terminal:
node -v

To confirm that you have npm installed you can run this command in your terminal:
npm -v

A note on versions
npm versions

npm is a separate project from Node.js, and tends to update more
  frequently. As a result, even if you've just downloaded Node.js (and
  therefore npm), you'll probably need to update your npm. Luckily, npm
  knows how to update itself! To update your npm, type this into your
  terminal:

npm install npm@latest -g

Node versions and Long Term Support Node.js has lots of versions! To
  use Node.js, and therefore npm, effectively, you'll want to make sure
  that you are on a version that is supported by the Node.js team. In
  general, you should use the version of Node.js labelled "LTS".
Use a Node.js version manager Software is always changing, and so it's
  often a good practice to use a version manager to help account for
  this change. For this reason (and many others!) we recommend that you
  use a version manager for your Node.js installation. There are many
  great options; here are a few*:
NVM
nodist
n
nave

All References from
enter link description here

redpajama_set_name: RedPajamaStackExchange


text:
March 16, 2018 / 12:12 AM / a year ago
Mattis: Don't restrict U.S. support to Saudi-led forces in Yemen
Phil Stewart
WASHINGTON (Reuters) - Defense Secretary Jim Mattis defended U.S. military support to Saudi Arabian-led coalition forces in Yemen on Thursday as he explained a personal appeal to lawmakers who are considering whether to end Washington's involvement in the devastating conflict.
FILE PHOTO: U.S. Defense Secretary James Mattis testifies about authorizations for the use of military force before the Senate Foreign Relations Committee on Capitol Hill in Washington, U.S. October 30, 2017. REUTERS/Jonathan Ernst/File Photo
The Trump administration has been warning Saudi Arabia since last year that concern in Congress over the humanitarian situation in Yemen, including civil casualties in the war, could constrain U.S. assistance.
Since it began in 2015, the conflict has killed more than 10,000 people, displaced more than 2 million and driven Yemen –already the poorest country on the Arabian Peninsula – to the verge of widespread famine.
Mattis said the U.S. assistance, which includes limited intelligence support and refueling of coalition jets, was ultimately aimed at bringing the war toward a negotiated, U.N.-brokered resolution.
"We need to get this to a negotiated settlement, and we believe our policy right now is correct for doing this," Mattis told reporters, as he flew back to Washington from the Middle East.
A bipartisan group of senators, Republican Mike Lee, independent Bernie Sanders and Democrat Chris Murphy, are attempting to take advantage of a provision in the 1973 war powers act that allows any senator to introduce a resolution on whether to withdraw U.S. armed forces from a conflict not authorized by Congress.
Their resolution would force Trump "to remove United States Armed Forces from hostilities in or affecting the Republic of Yemen," except operations against al Qaeda or associated forces. Those are authorized under a 2001 congressional authorization.
Their action is the latest salvo in an ongoing battle between the U.S. Congress and the White House over control of military conflicts.
In a March 14 letter to Senate majority leader Mitch McConnell, and copied to other lawmakers, Mattis described the U.S. assistance as "non-combat support" focused on helping reduce the risk of civilian casualties.
"New restrictions on this limited U.S. military support could increase civilian casualties, jeopardize cooperation with our partners on counter-terrorism and reduce our influence with the Saudis - all of which would further exacerbate the situation and humanitarian crisis," Mattis wrote.
Mattis also warned that a withdrawal would embolden the Iran-aligned Houthi rebels, who have fired missiles at Saudi Arabia and targeted commercial and military vessels off Yemen'scoast.
Lawmakers have argued for years that Congress has ceded too much authority over the military to the White House. Under the Constitution, Congress – not the president – has the authority to declare war.
But divisions over how much control they should exert over the president have stymied efforts to pass new war authorizations.
Reporting by Phil Stewart; Editing by Leslie Adler


Vaishnav is the largest community within Hinduism that worships lord Vishnu and his reincarnations such as Rama and Krishna. They are responsible for the Bhakti renaissance and are found across India. Hindu Vaishnav is an educated community engaged in various occupations. Weddings among Vaishnavs are an elaborate and highly decorated event attended by large number of guests. Hindu Vaishnav groom usually wear heavy work Achkan or Sherwani on his wedding and mostly prefer arranged marriages.


WEST VIRGINIA – July 24, 2001 –As reported by the Associated Press: "Some West Virginia bar owners say they cannot afford to operate legalized video poker machines to be licensed in bars and clubs under a new state law.
"That complaint was among several the state Lottery Commission looked at Monday as it reviewed public comments on proposed rules for the video poker law.
"…Lottery spokeswoman Libby White said the commission has so far received 132 applications for retail licenses. White said Monday she was unsure how many machines were requested.
"…The law legalizes 9,000 video poker machines, restricts the number of machines per business and allows the state to tax the games to fund scholarships, teacher pay raises and infrastructure…"


Beautifully textured Venetian blown glass chandelier has six lights and pink accents to compliment the clear body. Milky pink glass flowers perched on glass stems surround the column with scalloped pink crests on the bobeches. A pink bottom ball completes the look of this precious and opulent chandelier.


At Hinchingbrooke we are extremely lucky to have a successful equestrian team which competes in regional competitions through the National School Equestrian Association (NSEA). Please read on for further information.
If your child is a competent rider, has their own horse and would like to represent Hinchingbrooke in either show-jumping, eventing, dressage or cross-country, then please print of the attached letter and return it to Mrs Olsen in the Club's Office, Middle School, as soon as possible.
To be able to represent the school, each rider must be registered with the NSEA.


text:
Sears at the Poughkeepsie Galleria set to close
Katelyn Cordero
Sears at the Poughkeepsie Galleria is set to close it's doors, amid mass store closures nationwide by its parent company Transformco.
"Store closing sale" and "everything must go" signs were hung throughout the store on Saturday afternoon. Journal inquiries to Sears and the Poughkeepsie Galleria were unanswered.
The store is among 51 Sears and 45 Kmart stores with going-out-of-business liquidation sales, announced by Transformco in November. Company spokesman Larry Costello confirmed on Jan. 31 that sales are expected wrap up by mid-February. But USA Today has found liquidation sales slated to continue into March and April at dozens of stores
In early November, Transformco, which acquired Sears and Kmart out of bankruptcy in February 2019, said after 96 stores closed in February that the company would operate 182 stores.
"We will continue to evaluate our Sears and Kmart footprint, consistent with our overall retail and service strategy," Transformco said in a November statement.
Sears and Kmart have closed more than 3,500 stores and cut about 250,000 jobs in the past 15 years.


text:
NCP Fantasy Systems Thinking "A" Team - Ackoff and Argyris
The next two team members on the NCP five-member Fantasy Systems Thinking Team again consists of one the same as the SP UK course and one new as with the previous post. The difference is that this time the course choice is featured more extensively in the course material discussed on these pages.
Jay Forrester and Systems Dynamics added to the team in the last post, provided what was seen as a clear, straightforward, and relatively uncluttered perspective on the basic internal mechanism comprising a system without a need for any additional lens or any particular overlaid specialized procedures. No doubt there are limitations and levels of complexity increase rapidly but it is inherent complexity not imposed layers.
Russel L. Ackoff's career provides us with insightful, overall perspectives on our approach to systems. It was Ackoff who admonished us to Never improve a part of the system unless it also improves the whole. It was Ackoff, cited in the SP UK course, who had us consider, Why Few Organizations Adopt Systems Thinking, and who, as discussed in Approaching a Systems Practice, Yet Again, contrasted "messes" with difficulties.
Managers are not confronted with problems that are independent of each other, but with dynamic situations that consist of complex systems of changing problems that interact with each other. I call such situations messes. Problems are abstractions extracted from messes by analysis; they are to messes as atoms are to tables and charts …
Managers do not solve problems, they manage messes.
Russell Ackoff (1979, s. 93) The
Future of Operational Research is Past
He also discussed messes in the paper, Systems, Messes and Interactive Planning - Modern Times Workplace, which dealt with the evolution of systems at a paradigm level, as well as extolling the benefits of Participative Planning as something done not for or to an organization but by it, and listing the four attitudes towards planning, Inactive, Reactive, Pre-active and Interactive. There is also the four principles of planning practice that Inter-activists have extracted from their experience - participative, coordinated, integrated and continuous.
More Thinking on Mastering Systems Practice, Dealing with Messes contrasted the SP UK course's concept of Ackoff's idea of messes with, for this blog, the more familiar concept of wicked problems, questioning how are "messes" qualitatively different from"wicked problems"?
In Toward a System of Systems Concepts, Ackoff spoke of concrete systems meaning a system that contains at least two elements which are objects. A so-called concrete result then is a supposed state within a moment of time of a concrete system. Jay Forrester and Systems Dynamics seem especially attuned to these types of systems.
Many systems though, such as explored in Digging Systematically Deeper into Designing for a Public Participation Process are mostly abstract, meaning that they are composed of concepts which are defined in large part by the relationships between them and preset assumptions, axioms or postulates. Forrester and Systems Dynamics could still provide valuable insight but more has to be considered.
Such systems also have agents involved in them. They are a purposeful system, which Ackoff defined as one that can, "…produce the outcome in different ways in the same (internal or external) state and can produce different outcomes in the same and different states". More importantly, it can be also an Ideal-seeking system (Kumu) requiring consideration of differences between goals, objectives, and ideals and some concepts related to them. They are also invariably non-linear.
In Creating the Corporate Future 1981, pp. 26–33, Ackoff, as featured in Systems of Complexity, Complexity of Systems Part 1, asserted that for a set of elements to be usefully viewed as a system, it was necessary that the behavior of each element of the set should have an effect on the behavior of the whole set and that their effects on the whole set should be interdependent. Each subgroup, regardless of how they are formed, should have the same effect on the behavior of the whole and none should be completely independent. It was the phrase "usefully viewed as a system" or purposeful that is pertinent here in my view. The solely mechanical aspects of a car (running the engine) do not necessarily require all subsystems of the automobile to work in unison towards a purpose but as a (personal) transportation system, it could be argued that they are so required.
The outsider is Chris Argyris whose ideas on Ladder of Inference, as well as his theories of action, single and double-loop learning and organizational learning in, "Teaching Smart People How To Learn" were cited in Systems of Complexity, Complexity of Systems Part 2 and previously by New Community Paradigms in addressing meta-issues discussed in Dancing through the Complexities of Thinking Systematically about Systems Thinking.
Argyris has been more predominantly featured in the exploration and experimentation done first through Insight Maker models and then in Kumu maps. New Organizational Learning Inhibited through Bureaucratic Over Complicatedness & Corruption (IM-16192) is an Insight Maker model with three reinforcing, repeating single loops which, as defined by Argyris, twist the entire system into knots, entrenching the system into the larger environment. The storytelling format (use the "Step Forward" button at the bottom right corner) moves through the model to assert that institutions within entrenched systems can result in the "Corruption of the System" through a "Status Quo Politically Based Corruption of Entrenched Institutions" (R3).
This model was later revised in the Kumu map Inhibited Community Learning Entrenched Institutions which explored How Institutional Entities Created to Benefit Public Organizations Becomes Entrenched to Benefit Only Themselves.
Defending the institutional system's continued existence in its current form which means maintaining the system in its current form and status of power does not necessarily mean benefiting those individuals in or coming to power. New players may be brought in but the system will be maintained regardless of any well-meaning but ineffectual attempts to change it. A system exists beyond the individuals which are a part of it, the momentum of ongoing processes, the legacy of historical structure and the conscious and unconscious mental models can thoroughly entrench a system, particularly an institutional one.
There is also the ability of institutions such as public sector institutions like city halls to impose legally sanctioned constraints that benefit the few rather than the system as a whole. This is corruption of the system going beyond the usual idea of corruption as an illegal or unethical act by someone. Corruption of a system here is seen as anything that prevents a system from fulfilling its espoused and intended purpose. Well-meaning regulations that result in unintended and unfailingly detrimental consequences are therefore also corruptions of a system.
More recently, the post Active Digital Citizens Seeking New Community Paradigms pt. 3 saw "volunteering" through civil society as important to a community because the political institutions and market institutions cannot be expected to be able or to be trusted to fulfill all the needs of the community, especially in addressing Wicked Problems. Our community challenges are increasingly complex. Our responses to these challenges, therefore, cannot be merely simplistic but needs to be coherently complex.
The blog post Virtual Systemic Inquiry - GPS for New Community Paradigms? asserted that:
"Wicked problems have become so complex, incoherently complex, that they're broken down and perceived as complicated by not only the general public but also those tasked with addressing them with top-down complicated and reductionistic based management systems, sometimes tending to reach high levels of bureaucratic complicatedness."
There is still, however, the added value question regarding any additional complexity system thinking and systems mapping might have to a complex situation or system. It is not up to the system thinker to come up with the expert answer but to first facilitate the true community question and then have them provide the answer.
The Kumu mapping project Changing Assumptions was based on Argyris' Ladder of Inference and involved both exploration and (thought) experimentation resulting in a presentation which while it still gets increasingly complex and remains hypothetical, hopefully, could be made to provide some helpful insights. It does not provide an out of the box, one size fits all answer, each community must find its own answer.
A systems thinking approach has the potential to take a significantly different path than one dictated by a command and control management approach. The systems thinking approach can call upon the stakeholders of the system in question to take an investigation resulting from a preceding exploration and craft a strategy which will use points of leverage to address the current situation in a manner that is beneficial to the whole system by changing stakeholder and organizational behaviors and avoiding unintended consequences to the greatest extent possible.
The perception is that systemic interventions will promote successful interventions and those successful interventions will result in a better world as well as promote the perceived utility of Systems Thinking." (Ackoff?)
0 comments Links to this post Labels: community management, complex adaptive systems, complexity, entrenched, entrenched city hall, management, System Dynamics, systems design, systems practice, systems thinking, virtual systemic inquiry
NCP Fantasy Systems Thinking "A" Team - Ackoff and...


There are many ways to save money decorating your home. This page has links to articles that contain information about decorating specific rooms in your home. Some articles focus on ideas, while other articles are more geared to saving money.
Kitchen Cabinets - Reface Or Replace?
Crammed For Space In The Master Bedroom?
How Many Threads Does a Bed Sheet Need?


It took a health crisis for me to realize we all deserve to be looked after.
Over the past 2 1/2 years, I have been on the receiving end of this question more than at any point in my life. It isn't only because I'm a runner who does races where there are aid stations with rad volunteers and generous helpings of salt tablets. It isn't because I'm a runner who has done a bunch of marathons and ultramarathons and enjoys them immensely. It is because I am fat. Fat and a little bit famous.
I write a blog about my experiences as a larger runner existing in a sport previously thought to be reserved for thinner athletes. The media took notice of my blog, Fat Girl Running, a couple years ago and since then I've had my "story" written about and presented on television. In my big body, I've picked up some sponsors and have had the opportunity to collaborate with some athletic brands ready to showcase all kinds of athletes. I've also experienced the beauty and honor of being catered to.
"What do you need?" someone will ask me. This question always takes be aback a little and I often feel guilty answering.
"Can you, um, pour me some ginger ale?
Truth be told, I'm not always comfortable admitting that I could use a little tending to once in a while. Because I'm supposed to be able to do and shoulder everything. Except that's the kind of thinking that got me in trouble in the first place.
About nine years ago, I had a health scare. After having been very active since high school, running took a back seat as life became busier, more stressful. I became a parent of a kid who was constantly ill, I took on a new job with a high learning curve three states away from home, and in the process, I left behind the one thing that had helped to keep my body and spirit functional, flexible, and strong. Although this job held great professional benefits, my health and wellness progressively worsened. I eventually left that job for another one. Despite absolutely adoring my new gig, my health problems continued.
One day, as I made my weekly trek back up from my side-hustle teaching music lessons in Maryland, I thought I was having a heart attack. It turned out not to be, but in the doctors' visits that followed, I learned that it easily could have been. Suddenly I was forced to look at my own life and was confronted with a litany of hard truths: Inflammation, hip bursitis, poor dental health, skin problems, and other issues were inhibiting my movement and threatening my health.
I had been so concerned with being everything for everyone that I had forgotten myself in the process. I was mom, wife, teacher, dorm-parent, grad-student, private music instructor…. I left my own health and wellness to chance. But my body in its bruised but infinite wisdom sounded a painful warning signal. I had forgotten to take care of my own needs, at the expense of me. I had forgotten that I, myself, actually mattered.
My body told me what it needed, and I finally heeded this urgent message—this unlikely gift. I started training again, setting goals and crushing them, eating well and finally, finally putting my needs first.
I hope that you, sisters, will do the same.
We are always taught to be these self-sufficient super humans—so much so that it's difficult to have our own needs on our own radars. We are conditioned to be selfless, and when we do take the time to engage in self-care we are chided for being selfish. There seems to be no way to win.
But we must. Or else we risk poor health (and all of the things associated with stress and existing in a constant state of being overwhelmed); we risk our sanity and mental well-being.
So, when someone asks us what we need, we should be able and willing to answer.
I need someone to make a meal for me, with things I like to eat.
I need a kind person to take care of my children/my parents for me so that I can take a bath and a nap.
I need to take a walk outside or go for a run.
I need to not have to take care of everyone at work.
Your worth is not determined by how much you can do for others. And if you want to care for them, you first have to attend to yourself. When we forsake our own needs, we are killing ourselves, literally and figuratively. We are stomping on our dreams to allow others to fulfill theirs. And we are forgoing our own wellness to ensure others are well.
There is room in the center for one more person: you.
You matter. You are worthy just as you are and you are worthy enough to inhabit the center of your own life. You are worthy enough to have goals for yourself and work toward them. You are worthy enough to have dreams, and to make those dreams reality. You are worthy enough to ask the question "What do I need?" and give yourself or do for yourself whatever that is.
In the last couple years, I have been the recipient of lots of love and support when it comes to my fitness and personal goals. At times the support is overwhelming and there are moments when I don't think that I deserve it. I think I didn't work hard enough, or shouldn't the support go to someone who really needs it? Or I don't need anything, I'm doing just fine.
I catch myself thinking these godawful thoughts, and I stop. Why is it that I don't allow myself to be uplifted and centered by others? I do deserve for someone to look after my needs. And so do you. We all deserve it.
All of us women, who shoulder much of the weight and responsibility of everyone else's health and well-being whether or not we want to, deserve to be at the center of our lives. We are entitled to answer the question "What do you need" without shame or humility.
Ask yourself: What do I need?
Mirna Valerio, a native of Brooklyn, New York, is an educator, diversity practitioner, cross-country coach, ultrarunner, obstacle-course racing enthusiast, and writer. Mirna writes about all things running on her blog Fat Girl Running and for Women's Running Magazine. Mirna's athletic story was featured in the Wall Street Journal, Runner's World, on the NBC Nightly News, CNN, and on the CW Network. She is a global ambassador for Merrell, an ambassador for Skirt Sports, and an athlete for Swiftwick and NY Custom Performance. She is married to Cito Nikiema, and together they have a very tall basketball-loving teenage son, Rashid. She loves being in nature and frequently runs trails in the north Georgia mountains. Her memoir, A Beautiful Work in Progress (Grand Harbor Press), was released in October.


text:
\section{Introduction}

The ALICE detector~\cite{Alice}, which is aimed at investigating
nucleus--nucleus collisions at the LHC, will be fully instrumented
for hadron and photon identification only in the limited
angular region around mid-rapidity, covering the pseudorapidity
interval $ | \eta | \le 1. $ An additional muon detector~\cite{Muons}
will be installed on one side and will cover the pseudorapidity
interval $ 2.5 \le \eta \le 4.0 $. A pre-shower photon multiplicity
detector~\cite{PMD} will also be installed on one side and will cover
the pseudorapidity interval $ 2.3 \le \eta \le 3.3 $.
Finally a small-aperture zero degree calorimeter is also foreseen,
at a distance of about 100 m from the interaction point, to provide
the centrality trigger. The very small acceptance and lack of longitudinal
and transverse segmentation in the present design of the zero degree
calorimeter make it suitable for this purpose only.

This constitutes only a small part of the total available phase
space which, at the design beam energy of 2.75 A TeV for $Pb$ ions
at the LHC, extends to $| \eta | = 8.7. $
Already at the early stages of the preparation of the ALICE proposal
some of us pointed out that there is interesting physics beyond
mid-rapidity~\cite{Note0,Gladysz1}. From these considerations evolved
the idea of a dedicated forward detector, CASTOR~\cite{DraftPro,Angelis1},
to provide physics information on hadrons and photons emitted in the
fragmentation region. At LHC $Pb$-ion energies this region of phase
space extends beyond $|\eta | =$ 5 or 6, depending on the effective
baryonic stopping power which is different for the various Monte-Carlo
models employed. In this region of extremely high baryon number density
one can expect to discover new phenomena related to the high baryochemical
potential, in particular the formation of Deconfined Quark Matter (DQM),
which could exist e.g. in the core of neutron stars, with characteristics
different from those expected in the much higher temperature baryon-free
region around mid-rapidity,

The LHC, with an energy equivalent to $10^{17}$ eV for a moving proton
impinging on one at rest, will be the first accelerator to effectively
probe the highest cosmic ray energy domain. Cosmic ray experiments have
detected numerous most unusual events whose nature is still not understood.
These events, observed in the projectile fragmentation rapidity region,
will be produced and studied at the LHC in controlled conditions.
Here we mention the ``Centauro'' events and the ``long-flying component''.
Centauros~\cite{Lates} exhibit relatively small multiplicity, complete
absence (or strong suppression) of the electromagnetic component and very
high $\langle p_{\rm T} \rangle$.
In addition, some hadron-rich events are accompanied by a strongly
penetrating component observed in the form of halo, strongly penetrating
clusters~\cite{Baradzei,Hasegawa} or long-living cascades, whose transition
curves exhibit a characteristic form with many maxima~\cite{Buja,Arisawa}.

\section{A model for the production of Centauro and Strangelets}

A model has been developed in which Centauros are considered to originate
from the hadronization of a DQM fireball of very high baryon density
$\rm (\rho_b \gtrsim 2~fm^{-3})$ and baryochemical potential
$\rm (\mu_b >> m_n)$, produced in ultrarelativistic nucleus--nucleus
collisions in the upper atmosphere~\cite{Panagio1,Panagio2,Panagio3}.
In this model the DQM fireball initially consists of u, d quarks and gluons.
The very high baryochemical potential prohibits the creation of $\rm u\bar{u}$
and $\rm d\bar{d}$ quark pairs because of Pauli blocking of u and d quarks
and the factor exp~$\rm (-\mu_q/T)$ for $\rm \bar{u}$ and $\rm \bar{d}$
antiquarks, resulting in the fragmentation of gluons into s$\bar{\rm s}$
pairs predominantly. In the subsequent hadronization this leads to the
strong suppression of pions and hence of photons, but allows kaons to be
emitted, carrying away strange antiquarks, positive charge, entropy and
temperature. This process of strangeness distillation
transforms the initial quark matter fireball into a slightly strange quark
matter state. In the subsequent decay and hadronization of this state
non-strange baryons and strangelets will be formed. Simulations show that
strangelets could be identified as the strongly penetrating particles
frequently seen accompanying hadron-rich cosmic ray
events~\cite{Gladysz1,Gladysz2}.
In this manner, both the basic characteristics of the Centauro events
(small multiplicities and extreme imbalance of hadronic to photonic
content) and the strongly penetrating component are naturally explained.
In table~\ref{tab:CRtoLHC} we compare characteristics of Centauro and
strongly penetrating components (strangelets), either experimentally
observed or calculated within the context of the above model, for cosmic
ray interactions and for nucleus--nucleus interactions at the LHC.

\begin{table}[htb]
\begin{center}
\setlength{\tabcolsep}{1.5pc}
\vspace*{-3mm}
\caption{Average characteristic quantities of Centauro events and
Strangelets produced in Cosmic Rays and expected at the LHC.}
\label{tab:CRtoLHC}
\begin{tabular}{|c|c|c|}
\hline
  Centauro             &  Cosmic Rays             &  LHC                  \\
\hline
  Interaction          &  ``$Fe + N$''            & $ Pb + Pb $           \\
 $ \sqrt{s} $          & $ \gtrsim $ 6.76 TeV     &  5.5 TeV              \\
  Fireball mass        & $ \gtrsim $ 180  GeV     & $ \sim $ 500 GeV      \\
 $ y_{proj} $          & $ \geq $ 11              &   8.67                \\
 $ \gamma $            & $ \geq 10^4 $            & $ \simeq $ 300        \\
 $ \eta_{cent} $       &      9.9                 & $ \simeq $ 5.6        \\
 $ \Delta\eta_{cent} $ &      1                   & $ \simeq $  0.8       \\
 $ <p_T> $             &     1.75 GeV             &    1.75 GeV (*)       \\
  Life-time            & $ 10^{-9} $ s            & $ 10^{-9} $ s (*)     \\
  Decay prob.          & 10 \% (x $\geq$ 10 km)   & 1 \% (x $\leq$ 1 m)   \\
  Strangeness          &   14                     &  60 - 80              \\
 $ f_s $ (S/A)         & $ \simeq $ 0.2           & 0.30 - 0.45           \\
    Z/A                & $ \simeq $ 0.4           & $ \simeq 0.3 $        \\
 Event rate            & $ \gtrsim $ 1 \%         & $ \simeq $ 1000/ALICE-year \\
\hline
 ``Strangelet''        &  Cosmic Rays             &  LHC                  \\
\hline
  Mass                 & $ \simeq $ 7 - 15 GeV    & 10 - 80 GeV           \\
    Z                  & $ \lesssim $ 0           & $ \lesssim $ 0        \\
 $ f_s $               & $ \simeq $ 1             & $ \simeq $ 1          \\
 $ \eta_{str} $        & $ \eta_{cent} + 1.2 $    & $ \eta_{cent} + 1.6 $ \\
\hline
\end{tabular}
\end{center}
(*) assumed
\vspace*{-5mm}
\end{table}

\section{The design of the CASTOR detector}

With the above considerations in mind we have designed the CASTOR
(Centauro And STrange Object Research) detector, to be placed in the
fragmentation region. CASTOR will cover the pseudorapidity interval
$5.6 \le \eta \le 7.2$. Figures \ref{fig:Nf}, \ref{fig:Nch}, \ref{fig:Eem}
and \ref{fig:Ehad} depict the hadron and photon pseudorapidity distributions
as predicted by the HIJING Monte-Carlo generator for central $Pb+Pb$
collisions at the LHC. The upper plots show distributions of
multiplicity while the lower plots show distributions of energy flux.
Figures \ref{fig:Nb_hij} and \ref{fig:Nb_ven} depict the baryon number
pseudorapidity distributions as predicted by the HIJING and VENUS
Monte-Carlo generators for central $Pb+Pb$ collisions at the LHC.
The acceptance of CASTOR is superimposed on each plot.
As can be seen from the plots, while CASTOR will receive a moderate
multiplicity, its position has been optimized to probe the maximum of
the baryon number density and energy flow and to identify any effects
connected with these conditions.

\vspace*{-6mm}

\begin{figure}[H]
\begin{center}
\parbox{0.48\hsize}{\epsfxsize=\hsize \epsfbox{hijing_cen50av_nfo_eta_bw.eps}
                    \vspace*{-8mm}
                    \caption[]{Average photon multiplicity pseudorapidity
                               distribution obtained from 50 central $Pb+Pb$
                               HIJING events.}
                    \label{fig:Nf}
                   }
\hfill
\parbox{0.48\hsize}{\epsfxsize=\hsize \epsfbox{hijing_cen50av_nch_eta_bw.eps}
                    \vspace*{-8mm}
                    \caption[]{Average charged particle multiplicity pseudorapidity
                               distribution obtained from 50 central $Pb+Pb$
                               HIJING events.}
                    \label{fig:Nch}
                   }
\end{center}
\end{figure}

\vspace*{-14mm}

\begin{figure}[H]
\begin{center}
\parbox{0.48\hsize}{\epsfxsize=\hsize \epsfbox{hijing_cen50av_eem_eta_bw.eps}
                    \vspace*{-8mm}
                    \caption[]{Average electromagnetic energy pseudorapidity
                               distribution obtained from 50 central $Pb+Pb$
                               HIJING events.}
                    \label{fig:Eem}
                   }
\hfill
\parbox{0.48\hsize}{\epsfxsize=\hsize \epsfbox{hijing_cen50av_ehad_eta_bw.eps}
                    \vspace*{-8mm}
                    \caption[]{Average hadronic energy pseudorapidity
                               distribution obtained from 50 central $Pb+Pb$
                               HIJING events.}
                    \label{fig:Ehad}
                   }
\end{center}
\end{figure}

\begin{figure}[H]
\begin{center}
\parbox{0.48\hsize}{\epsfxsize=\hsize \epsfbox{hijing_cen50av_nb_eta_bw.eps}
                    \vspace*{-7mm}
                    \caption[]{Average net baryon number pseudorapidity
                               distribution obtained from 50 central $Pb+Pb$
                               HIJING events.}
                    \label{fig:Nb_hij}
                   }
\hfill
\parbox{0.48\hsize}{\epsfxsize=\hsize \epsfbox{venus_cen47av_nb_eta_bw.eps}
                    \vspace*{-7mm}
                    \caption[]{Average net baryon number pdeudorapidity
                               distribution obtained from 47 central $Pb+Pb$
                               VENUS events.}
                    \label{fig:Nb_ven}
                   }
\end{center}
\end{figure}

\vspace*{-4mm}
A schematic view of the CASTOR detector~\cite{DraftPro,Angelis1} is
shown in figure~\ref{fig:castor}.
It is optimized to measure the hadronic and photonic content of an
interaction, both in energy and multiplicity, and to search for
strongly penetrating particles.
It will consist of a $Si$ pad charged particle multiplicity detector
followed by a $Si$ pad pre-shower photon multiplicity detector and of
a longitudinally segmented tungsten/quartz-fibre calorimeter with
electromagnetic and hadronic sections.

\begin{figure}[H]
\begin{center}
\vspace*{-2mm}
\includegraphics[width=9.5cm]{CastorLayout_W.eps}
\vspace*{-25mm}
\caption[]{Schematic representation of the CASTOR detector.}
\label{fig:castor}
\end{center}
\end{figure}

The multiplicity detectors have the form of annular discs of about 129 mm
outer and 26 mm inner radius, constructed in two half-rings to be positioned
around the beam pipe.

The calorimeter is made of layers of active medium sandwiched between
tungsten absorber plates. The active medium consists of planes of silica
fibres and the signal is the Cherenkov light produced as they are
traversed by the charged particles in the shower.
The fibres are inclined at 45 degrees relative to the incoming particles
to maximize light output.
The calorimeter is azimuthally divided into 8 octants.
Each octant is longitudinally segmented into 80 layers, the first 8
($\simeq$ 14.7 X$_0$) comprising the electromagnetic section and the
remaining 72 ($\simeq$ 9.47 $\lambda_{\rm I}$) the hadronic section.
The light output from groups of 4 consecutive active layers is coupled
into the same light guide, giving a total of 20 readout channels along
each octant.
More detailed specifications are given in table~\ref{tab:CaloSpecs} and
a general view of the calorimeter, including its support, is shown in
figure~\ref{fig:fcalo}.
Mechanically the calorimeter is a structure built in two sections, left
and right, each consisting of four octants connected together at each
corner through bolted plates. The two sections and each of the octants
are self-supporting. It is envisaged to cut the edges of the absorber
plates in the azimuthal direction at an angle in such a way as to avoid
cracks between adjacent modules. The outer plates shown in
figure~\ref{fig:fcalo} (one omitted for clarity) constitute the support
for the light guides and photomultipliers.

\begin{table}[H]
\begin{center}
\vspace*{-3mm}
\caption{CASTOR calorimeter specifications.}
\label{tab:CaloSpecs}
\begin{tabular}{|c|c|c|}
\hline
                & Electromagnetic               & Hadronic                                        \\
\hline
Material        & Tungsten + Quartz Fibre       & Tungsten + Quartz Fibre                         \\
Dimensions      & $\rm \langle R_{in}\rangle = 26~mm,$  & $\rm \langle R_{in}\rangle = 27~mm,$  \\
                & $\rm \langle R_{out}\rangle = 129~mm$ & $\rm \langle R_{out}\rangle = 134~mm$ \\
Absorber Plates & Thickness = 5 mm              & Thickness = 10 mm                               \\
(at 45$^\circ$) & Eff. thickness = 7.07 mm      & Eff. thickness = 14.1 mm                        \\
No. Layers      &  8                            & 72                                              \\
Eff. length     & 56.6 mm $\simeq$ 14.7 X$_0$ $\simeq$ 0.53 $\lambda_{\rm I}$
                & 1018.1 mm $\simeq$ 9.47 $\lambda_{\rm I}$                                       \\
Quartz Fibre    & $\sim 0.45$ mm                & $\sim 0.45$ mm                                  \\
No. QF planes   &  2 per sampling               &  4 per sampling                                 \\
Sampling        & $\simeq$ 1.84 X$_0$           & $\simeq$ 0.13 $\lambda_{\rm I}$                 \\
Reading         & Coupling of 4 samplings       & Coupling of 4 samplings                         \\
No. Readings    &  2                            & 18                                              \\
No. Channels    & $ 2 \times 8 = 16$            & $18 \times 8 = 144$                             \\
QF/W vol.       & 10\%                          & 10\%                                            \\
\hline
\end{tabular}
\end{center}
\end{table}

\begin{figure}[H]
\begin{center}
\begin{turn}{+90}
\includegraphics[width=4.6cm]{MechSupp_Complete_1.eps}
\end{turn}
\vspace*{-2mm}
\caption[]{General view of the CASTOR calorimeter construction
           including support.}
\label{fig:fcalo}
\end{center}
\end{figure}
\vspace*{-9mm}

\section{Simulation of the CASTOR calorimeter performance}

We have made detailed GEANT simulations of the performance of the
C~A~S~T~O~R calorimeter.
Figure~\ref{fig:simul1} shows its response to one central $Pb+Pb$ HIJING event:
figure~\ref{fig:simul1}a shows the number of charged particles (essentially
$e^+,e^-$) above Cherenkov threshold in the showers at each active layer,
while figure~\ref{fig:simul1}b shows the corresponding number of Cherenkov
photons which are produced, captured and propagated inside the fibres.

\vspace*{-5mm}
\begin{figure}[H]
\begin{center}
\parbox{0.48\hsize}{\epsfxsize=\hsize \epsfbox{fcalo_slide_xx1_19Jan99.eps}
                    \vspace*{-7mm}
                    \caption[]{Response of the CASTOR calorimeter:
                               (a) Number of charged particles above Cherenkov
                                   threshold at each active layer,
                               (b) Number of Cherenkov photons produced and
                                   propagated inside the fibres at each active
                                   layer.}
                    \label{fig:simul1}
                   }
\hfill
\parbox{0.48\hsize}{\epsfxsize=\hsize \vspace*{-5mm} \epsfbox{fcalo_slide_xx2_19Jan99.eps}
                    \vspace*{-6mm}
                    \caption[]{Total number of Cherenkov photons produced,
                               captured and propagated inside the fibres,
                               vs. incident particle energy:
                         (a) For incident photons, (b) For incident hadrons.}
                    \label{fig:simul2}
                   }
\end{center}
\end{figure}
\vspace*{-4mm}

Figure~\ref{fig:simul2} shows the total number of Cherenkov photons produced,
captured and propagated inside the fibres, as a function of the incident
particle energy, for incident photons and hadrons from one central $Pb+Pb$
HIJING event. About 210 Cherenkov photons per GeV are obtained for incident
photons and 129 Cherenkov photons per GeV for incident hadrons.

In addition we have simulated the interaction of a Strangelet with the
calorimeter material, using the simplified picture described
in~\cite{Gladysz2,Angelis2}.
As an example figure~\ref{fig:Slet} shows the response of the calorimeter
to one central $Pb+Pb$ HIJING event, which contains a Strangelet of
$\rm A_{str}$=20, $\rm E_{str}$=20 TeV and quark chemical potential
$\rm \mu_{str}$=600 MeV (energy conservation has been taken into account).
Figure~\ref{fig:Slet}a shows the energy deposition along the octant
containing the Strangelet,
while figure~\ref{fig:Slet}b shows the average of the energy deposition
along the other seven octants.

The study of such simulated events shows that the signal from an octant
containing a Strangelet is larger than the average of the others, while
its transition curve displays long penetration and many maxima structure,
such as observed in cosmic ray events.

\vspace*{-12mm}
\begin{figure}[H]
\begin{center}
\includegraphics[width=12cm]{a20mi600geo10dint0e1000_xx.eps}
\vspace*{-63mm}
\caption[]{Energy deposition in the readout layers (couplings of 4
           consecutive sampling layers) of the CASTOR calorimeter:
           (a) In the octant containing the Strangelet,
           (b) Average of the other octants.}
\label{fig:Slet}
\end{center}
\end{figure}
\vspace*{-8mm}

\section{Conclusions}

We have designed a detector system well suited to probe the very forward
region in $Pb+Pb$ collisions at the LHC, where very large baryon number
density and energy flow occur.
Our detector will identify any effects connected with these conditions.
It has been particularly optimised to search for signatures of Centauro
and for long penetrating objects.
We have developed a model which explains Centauro production in cosmic rays
and makes predictions for $Pb+Pb$ collisions at the LHC.
Our model naturally incorporates the possibility of Strangelet formation.
We have simulated the passage of Strangelets through the CASTOR calorimeter
and we find long penetration and many-maxima structures similar to those
observed in cosmic ray events.

\section*{Acknowledgements}
This work has been partly supported by the Hellenic General Secretariat
for Research and Technology $ \rm \Pi ENE \Delta $ 1361.1674/31-1/95,
the Polish State Committee for Scientific Research grants 2P03B 121 12
and SPUB P03/016/97,
and the Russian Foundation for Fundamental Research grant 96-02-18306.

redpajama_set_name: RedPajamaArXiv


Apple is expected to unveil iOS 7 on Monday, with a totally redesigned user interface also rumoured to be on the cards. But, if you can't wait until then, Recombu has created an interactive iPhone 5S and iOS 7 concept to keep you entertained in the meantime.
"This concept is intended to be a fun way for people to interact with the idea," says Recombu. "From a technical point of view, the challenge was to build this entire concept without using any images and instead, building the iPhone, icons and apps solely out of CSS and HTML code."
The developers of the concept have reimagined the Messages, Calendar, Camera, Notes, Phone, Mail, Safari, Music and Reminders apps. You can even use your webcam to capture a photograph in the Camera app.
To have a play with the interactive iPhone 5S and iOS 7 concept, click here.
How much will Apple change iOS and OS X ?


The World of Pets Expo and Educational Experience truly has something for everyone, this family friendly event features hundreds of things to do for pets, children and adults of all ages. This is an event you can spend the whole day at, events range from guest speakers, workshops, demonstrations, animal shows and pet shopping. Learn more about some of our Virginia Expo Events features below.


AREPA provides a comprehensive turn-key solution as part of every project. We not only professionally decontaminate the equipment, but our staff also project manages all aspects of the remaining recovery process. AREPA's project managers have over twenty (20) years of experience restoring medical, manufacturing, and computer network equipment.
A pertinent part of the recovery process includes coordinating with our client's vendors or qualifying third party vendors that can thoroughly test, repair, and calibrate the restored equipment. AREPA also reviews repair / replacement costs, and provides written status updates to all parties involved.
AREPA's project managers are backed by electrical and/or mechanical engineers that peer review the decontamination processes being deployed, monitor the repairs, and assist in the overall progression of the project to ensure that business interruption is minimized.


text:
Q: Book: girl from family of witches, best friend named Gabriel, time travel I read a book in middle school about a girl who came from a family of witches and they thought she had no powers. As the story progresses, she finds out she does. She also has a best friend named Gabriel (I think) and his power is to find objects, even if it means going in to the past.

A: Once a Witch by Carolyn MacCullough (2009).

Tamsin Greene comes from a long line of witches, and on the day she was born, her grandmother proclaimed she would be one of the most Talented among them.
  But Tamsin's magic never showed up.
  ...
  a childhood friend, Gabriel, comes back to live with her family and his Talent is finding lost objects.
  ...
  In a spellbinding display of storytelling, Carolyn MacCullough interweaves witchcraft, romance, and time travel in a fantasy that will exhilarate, enthrall, and thoroughly enchant.


It's book week and Ajapa had the honour of spending his Saturday at The Reading Corner.
The Reading Corner has to be the most well stocked children's bookstore he has seen in Lagos. They have all sorts of books about children and princesses and dragons and even dinosaurs! And of course they stock the Ajapa folk tales as well.
So on Saturday the 27th February, Ajapa took his crew with him for the Reading Corner book day and we listened to different authors tell their stories to the audience.
Soon it was the Old Man's turn to tell his story and boy does he know how to tell a good story. He told the tale of The Day The Tortoise Broke His Shell. But that was not all; Ajapa came out to dance with the children and took lots of pictures with them.
Then the old man went on stage again and told the tale of The Tortoise, The Dog and the Farmer's Yam. He selected children from the audience to assist him in telling the story, and these kids were wonderful at their acting.
The children were taught the pledge by aunty Obafunke and Mr Braithwaite appeared as if by magic to sign his books.
We had so much fun at The Reading Corner. There was a lot to do. They had two live tortoises for the children to look at and touch and there was even a colouring corner. And let's not forget all the books that were available for sale.
Ajapa had fun, what did you spend your Saturday doing?


text:
import {animate, AnimationPlayer, AnimationTriggerMetadata, state, style, transition, trigger} from '@angular/animations';
import {ɵAnimationEngine as AnimationEngine} from '@angular/animations/browser';
import {APP_INITIALIZER, Component, destroyPlatform, importProvidersFrom, Injectable, NgModule, NgZone, RendererFactory2, RendererType2, ViewChild} from '@angular/core';
import {TestBed} from '@angular/core/testing';
import {bootstrapApplication} from '@angular/platform-browser';
import {platformBrowserDynamic} from '@angular/platform-browser-dynamic';
import {BrowserAnimationsModule, ɵAnimationRendererFactory as AnimationRendererFactory, ɵInjectableAnimationEngine as InjectableAnimationEngine} from '@angular/platform-browser/animations';
import {DomRendererFactory2} from '@angular/platform-browser/src/dom/dom_renderer';
import {withBody} from '@angular/private/testing';

import {el} from '../../testing/src/browser_util';

(function() {
if (isNode) return;
describe('AnimationRenderer', () => {
  let element: any;
  beforeEach(() => {
    element = el('

');

    TestBed.configureTestingModule({
      providers: [{provide: AnimationEngine, useClass: MockAnimationEngine}],
      imports: [BrowserAnimationsModule]
    });
  });

  function makeRenderer(animationTriggers: any[] = []) {
    const type = <RendererType2>{
      id: 'id',
      encapsulation: null!,
      styles: [],
      data: {'animation': animationTriggers}
    };
    return (TestBed.inject(RendererFactory2) as AnimationRendererFactory)
        .createRenderer(element, type);
  }

  it('should hook into the engine\'s insert operations when appending children', () => {
    const renderer = makeRenderer();
    const engine = TestBed.inject(AnimationEngine) as MockAnimationEngine;
    const container = el('

');

    renderer.appendChild(container, element);
    expect(engine.captures['onInsert'].pop()).toEqual([element]);
  });

  it('should hook into the engine\'s insert operations when inserting a child before another',
     () => {
       const renderer = makeRenderer();
       const engine = TestBed.inject(AnimationEngine) as MockAnimationEngine;
       const container = el('

');
       const element2 = el('

');
       container.appendChild(element2);

       renderer.insertBefore(container, element, element2);
       expect(engine.captures['onInsert'].pop()).toEqual([element]);
     });

  it('should hook into the engine\'s insert operations when removing children', () => {
    const renderer = makeRenderer();
    const engine = TestBed.inject(AnimationEngine) as MockAnimationEngine;
    const container = el('

');

    renderer.removeChild(container, element);
    expect(engine.captures['onRemove'].pop()).toEqual([element]);
  });

  it('should hook into the engine\'s setProperty call if the property begins with `@`', () => {
    const renderer = makeRenderer();
    const engine = TestBed.inject(AnimationEngine) as MockAnimationEngine;

    renderer.setProperty(element, 'prop', 'value');
    expect(engine.captures['setProperty']).toBeFalsy();

    renderer.setProperty(element, '@prop', 'value');
    expect(engine.captures['setProperty'].pop()).toEqual([element, 'prop', 'value']);
  });

  // https://github.com/angular/angular/issues/32794
  it('should support nested animation triggers', () => {
    makeRenderer([[trigger('myAnimation', [])]]);

    const {triggers} = TestBed.inject(AnimationEngine) as MockAnimationEngine;

    expect(triggers.length).toEqual(1);
    expect(triggers[0].name).toEqual('myAnimation');
  });

  describe('listen', () => {
    it('should hook into the engine\'s listen call if the property begins with `@`', () => {
      const renderer = makeRenderer();
      const engine = TestBed.inject(AnimationEngine) as MockAnimationEngine;

      const cb = (event: any): boolean => {
        return true;
      };

      renderer.listen(element, 'event', cb);
      expect(engine.captures['listen']).toBeFalsy();

      renderer.listen(element, '@event.phase', cb);
      expect(engine.captures['listen'].pop()).toEqual([element, 'event', 'phase']);
    });

    it('should resolve the body|document|window nodes given their values as strings as input',
       () => {
         const renderer = makeRenderer();
         const engine = TestBed.inject(AnimationEngine) as MockAnimationEngine;

         const cb = (event: any): boolean => {
           return true;
         };

         renderer.listen('body', '@event', cb);
         expect(engine.captures['listen'].pop()[0]).toBe(document.body);

         renderer.listen('document', '@event', cb);
         expect(engine.captures['listen'].pop()[0]).toBe(document);

         renderer.listen('window', '@event', cb);
         expect(engine.captures['listen'].pop()[0]).toBe(window);
       });
  });

  describe('registering animations', () => {
    it('should only create a trigger definition once even if the registered multiple times');
  });

  describe('flushing animations', () => {
    // these tests are only meant to be run within the DOM
    if (isNode) return;

    it('should flush and fire callbacks when the zone becomes stable', (async) => {
      @Component({
        selector: 'my-cmp',
        template: '

',
        animations: [trigger(
            'myAnimation',
            [transition(
                '* => state', [style({'opacity': '0'}), animate(500, style({'opacity': '1'}))])])],
      })
      class Cmp {
        exp: any;
        event: any;
        onStart(event: any) {
          this.event = event;
        }
      }

      TestBed.configureTestingModule({
        providers: [{provide: AnimationEngine, useClass: InjectableAnimationEngine}],
        declarations: [Cmp]
      });

      const engine = TestBed.inject(AnimationEngine);
      const fixture = TestBed.createComponent(Cmp);
      const cmp = fixture.componentInstance;
      cmp.exp = 'state';
      fixture.detectChanges();
      fixture.whenStable().then(() => {
        expect(cmp.event.triggerName).toEqual('myAnimation');
        expect(cmp.event.phaseName).toEqual('start');
        cmp.event = null;

        engine.flush();
        expect(cmp.event).toBeFalsy();
        async();
      });
    });

    it('should properly insert/remove nodes through the animation renderer that do not contain animations',
       (async) => {
         @Component({
           selector: 'my-cmp',
           template: '

',
           animations: [trigger(
               'someAnimation',
               [transition(
                   '* => *', [style({'opacity': '0'}), animate(500, style({'opacity': '1'}))])])],
         })
         class Cmp {
           exp: any;
           @ViewChild('elm') public element: any;
         }

         TestBed.configureTestingModule({
           providers: [{provide: AnimationEngine, useClass: InjectableAnimationEngine}],
           declarations: [Cmp]
         });

         const fixture = TestBed.createComponent(Cmp);
         const cmp = fixture.componentInstance;
         cmp.exp = true;
         fixture.detectChanges();

         fixture.whenStable().then(() => {
           cmp.exp = false;
           const element = cmp.element;
           expect(element.nativeElement.parentNode).toBeTruthy();

           fixture.detectChanges();
           fixture.whenStable().then(() => {
             expect(element.nativeElement.parentNode).toBeFalsy();
             async();
           });
         });
       });

    it('should only queue up dom removals if the element itself contains a valid leave animation',
       () => {
         @Component({
           selector: 'my-cmp',
           template: `

            `,
           animations: [
             trigger('animation1', [transition('a => b', [])]),
             trigger('animation2', [transition(':leave', [])]),
           ]
         })
         class Cmp {
           exp1: any = true;
           exp2: any = true;
           exp3: any = true;

           @ViewChild('elm1') public elm1: any;

           @ViewChild('elm2') public elm2: any;

           @ViewChild('elm3') public elm3: any;
         }

         TestBed.configureTestingModule({
           providers: [{provide: AnimationEngine, useClass: InjectableAnimationEngine}],
           declarations: [Cmp]
         });

         const engine = TestBed.inject(AnimationEngine);
         const fixture = TestBed.createComponent(Cmp);
         const cmp = fixture.componentInstance;

         fixture.detectChanges();
         const elm1 = cmp.elm1;
         const elm2 = cmp.elm2;
         const elm3 = cmp.elm3;
         assertHasParent(elm1);
         assertHasParent(elm2);
         assertHasParent(elm3);
         engine.flush();
         finishPlayers(engine.players);

         cmp.exp1 = false;
         fixture.detectChanges();
         assertHasParent(elm1, false);
         assertHasParent(elm2);
         assertHasParent(elm3);
         engine.flush();
         expect(engine.players.length).toEqual(0);

         cmp.exp2 = false;
         fixture.detectChanges();
         assertHasParent(elm1, false);
         assertHasParent(elm2, false);
         assertHasParent(elm3);
         engine.flush();
         expect(engine.players.length).toEqual(0);

         cmp.exp3 = false;
         fixture.detectChanges();
         assertHasParent(elm1, false);
         assertHasParent(elm2, false);
         assertHasParent(elm3);
         engine.flush();
         expect(engine.players.length).toEqual(1);
       });
  });
});

describe('AnimationRendererFactory', () => {
  beforeEach(() => {
    TestBed.configureTestingModule({
      providers: [{
        provide: RendererFactory2,
        useClass: ExtendedAnimationRendererFactory,
        deps: [DomRendererFactory2, AnimationEngine, NgZone]
      }],
      imports: [BrowserAnimationsModule]
    });
  });

  it('should provide hooks at the start and end of change detection', () => {
    @Component({
      selector: 'my-cmp',
      template: `

        `,
      animations: [trigger('myAnimation', [])]
    })
    class Cmp {
      public exp: any;
    }

    TestBed.configureTestingModule({
      providers: [{provide: AnimationEngine, useClass: InjectableAnimationEngine}],
      declarations: [Cmp]
    });

    const renderer = TestBed.inject(RendererFactory2) as ExtendedAnimationRendererFactory;
    const fixture = TestBed.createComponent(Cmp);
    const cmp = fixture.componentInstance;

    renderer.log = [];
    fixture.detectChanges();
    expect(renderer.log).toEqual(['begin', 'end']);

    renderer.log = [];
    fixture.detectChanges();
    expect(renderer.log).toEqual(['begin', 'end']);
  });
});

describe('destroy', () => {
  beforeEach(destroyPlatform);
  afterEach(destroyPlatform);

  // See https://github.com/angular/angular/issues/39955
  it('should clear bootstrapped component contents when the `BrowserAnimationsModule` is imported',
     withBody('
before
<app-root></app-root>
after
', async () => {
       @Component({selector: 'app-root', template: 'app-root content'})
       class AppComponent {
       }

       @NgModule({
         imports: [BrowserAnimationsModule],
         declarations: [AppComponent],
         bootstrap: [AppComponent]
       })
       class AppModule {
       }

       const ngModuleRef = await platformBrowserDynamic().bootstrapModule(AppModule);

       const root = document.body.querySelector('app-root')!;
       expect(root.textContent).toEqual('app-root content');
       expect(document.body.childNodes.length).toEqual(3);

       ngModuleRef.destroy();

       expect(document.body.querySelector('app-root')).toBeFalsy();  // host element is removed
       expect(document.body.childNodes.length).toEqual(2);           // other elements are preserved
     }));

  // See https://github.com/angular/angular/issues/45108
  it('should clear bootstrapped component contents when the animation engine is requested during initialization',
     withBody('
before
<app-root></app-root>
after
', async () => {
       @Injectable({providedIn: 'root'})
       class AppService {
         // The `RendererFactory2` is injected here explicitly because we import the
         // `BrowserAnimationsModule`. The `RendererFactory2` will be provided with
         // `AnimationRendererFactory` which relies on the `AnimationEngine`. We want to ensure that
         // `ApplicationRef` is created earlier before the `AnimationEngine`, because previously the
         // `AnimationEngine` was created before the `ApplicationRef` (see the link above to the
         // original issue). The `ApplicationRef` was created after `APP_INITIALIZER` has been run
         // but before the root module is bootstrapped.
         constructor(rendererFactory: RendererFactory2) {}
       }

       @Component({selector: 'app-root', template: 'app-root content'})
       class AppComponent {
       }

       @NgModule({
         imports: [BrowserAnimationsModule],
         declarations: [AppComponent],
         bootstrap: [AppComponent],
         providers: [
           // The `APP_INITIALIZER` token is requested before the root module is bootstrapped, the
           // `useFactory` just injects the `AppService` that injects the `RendererFactory2`.
           {
             provide: APP_INITIALIZER,
             useFactory: () => (appService: AppService) => appService,
             deps: [AppService],
             multi: true
           }
         ]
       })
       class AppModule {
       }

       const ngModuleRef = await platformBrowserDynamic().bootstrapModule(AppModule);

       const root = document.body.querySelector('app-root')!;
       expect(root.textContent).toEqual('app-root content');
       expect(document.body.childNodes.length).toEqual(3);

       ngModuleRef.destroy();

       expect(document.body.querySelector('app-root')).toBeFalsy();  // host element is removed
       expect(document.body.childNodes.length).toEqual(2);           // other elements are preserved
     }));

  // See https://github.com/angular/angular/issues/45108
  it('should clear standalone bootstrapped component contents when the animation engine is requested during initialization',
     withBody('
before
<app-root></app-root>
after
', async () => {
       @Injectable({providedIn: 'root'})
       class AppService {
         // The `RendererFactory2` is injected here explicitly because we import the
         // `BrowserAnimationsModule`. The `RendererFactory2` will be provided with
         // `AnimationRendererFactory` which relies on the `AnimationEngine`. We want to ensure
         // that `ApplicationRef` is created earlier before the `AnimationEngine`, because
         // previously the `AnimationEngine` was created before the `ApplicationRef` (see the link
         // above to the original issue). The `ApplicationRef` was created after `APP_INITIALIZER`
         // has been run but before the root module is bootstrapped.
         constructor(rendererFactory: RendererFactory2) {}
       }

       @Component({selector: 'app-root', template: 'app-root content', standalone: true})
       class AppComponent {
       }

       const appRef = await bootstrapApplication(AppComponent, {
         providers: [
           importProvidersFrom(BrowserAnimationsModule),
           // The `APP_INITIALIZER` token is requested before the standalone component is
           // bootstrapped, the `useFactory` just injects the `AppService` that injects the
           // `RendererFactory2`.
           {
             provide: APP_INITIALIZER,
             useFactory: () => (appService: AppService) => appService,
             deps: [AppService],
             multi: true
           }
         ]
       });

       const root = document.body.querySelector('app-root')!;
       expect(root.textContent).toEqual('app-root content');
       expect(document.body.childNodes.length).toEqual(3);

       appRef.destroy();

       expect(document.body.querySelector('app-root')).toBeFalsy();  // host element is removed
       expect(document.body.childNodes.length).toEqual(2);           // other elements are
     }));
});
})();

@Injectable()
class MockAnimationEngine extends InjectableAnimationEngine {
  captures: {[method: string]: any[]} = {};
  triggers: AnimationTriggerMetadata[] = [];

  private _capture(name: string, args: any[]) {
    const data = this.captures[name] = this.captures[name] || [];
    data.push(args);
  }

  override registerTrigger(
      componentId: string, namespaceId: string, hostElement: any, name: string,
      metadata: AnimationTriggerMetadata): void {
    this.triggers.push(metadata);
  }

  override onInsert(namespaceId: string, element: any): void {
    this._capture('onInsert', [element]);
  }

  override onRemove(namespaceId: string, element: any, domFn: () => any): void {
    this._capture('onRemove', [element]);
  }

  override process(namespaceId: string, element: any, property: string, value: any): boolean {
    this._capture('setProperty', [element, property, value]);
    return true;
  }

  override listen(
      namespaceId: string, element: any, eventName: string, eventPhase: string,
      callback: (event: any) => any): () => void {
    // we don't capture the callback here since the renderer wraps it in a zone
    this._capture('listen', [element, eventName, eventPhase]);
    return () => {};
  }

  override flush() {}

  override destroy(namespaceId: string) {}
}

@Injectable()
class ExtendedAnimationRendererFactory extends AnimationRendererFactory {
  public log: string[] = [];

  override begin() {
    super.begin();
    this.log.push('begin');
  }

  override end() {
    super.end();
    this.log.push('end');
  }
}

function assertHasParent(element: any, yes: boolean = true) {
  const parent = element.nativeElement.parentNode;
  if (yes) {
    expect(parent).toBeTruthy();
  } else {
    expect(parent).toBeFalsy();
  }
}

function finishPlayers(players: AnimationPlayer[]) {
  players.forEach(player => player.finish());
}

redpajama_set_name: RedPajamaGithub


text:
Q: DecimalFormat converts numbers with non-digits Using DecimalFormat gives no parse exception when using this kind of number:
123hello
which is obviously not really a number, and converts to 123.0 value. How can I avoid this kind of behaviour?
As a side note hello123 does give an exception, which is correct.
Thanks,
Marcel

A: Expanding on @Kal's answer, here's a utility method which you can use with any formatter to do "strict" parsing (uses apache commons StringUtils):
public static Object parseStrict(Format fmt, String value)
    throws ParseException
{
    ParsePosition pos = new ParsePosition(0);
    Object result = fmt.parseObject(value, pos);
    if(pos.getIndex() < value.length()) {
        // ignore trailing blanks
        String trailing = value.substring(pos.getIndex());
        if(!StringUtils.isBlank(trailing)) {
            throw new ParseException("Failed parsing '" + value + "' due to extra trailing character(s) '" +
                                     trailing + "'", pos.getIndex());
        }
    }
    return result;
}

A: To do exact parsing, you can use
public Number parse(String text,
                ParsePosition pos)

Initialize pos to 0 and when its finished it will give you the index after the last character that was used.
You can then compare this against string length to make sure the parse was accurate.
http://download.oracle.com/javase/1.4.2/docs/api/java/text/DecimalFormat.html#parse%28java.lang.String,%20java.text.ParsePosition%29

A: You can verify it is numeric using a RegEx:
String input = "123hello";
double d = parseDouble(input); // Runtime Error

public double parseDouble(String input, DecimalFormat format) throws NumberFormatException
{
    if (input.equals("-") || input.equals("-."))
       throw NumberFormatException.forInputString(input);
    if (!input.matches("\\-?[0-9]*(\\.[0-9]*)?"))
       throw NumberFormatException.forInputString(input);

    // From here, we are sure it is numeric.
    return format.parse(intput, new ParsePosition(0));
}


« LOST Countdown – 2 days to go!
There are so many great shows on tonight – I have no idea how I'm going to watch everything (even with 2 DVRs)!
ABC has an all new episode of THE BACHELOR – The gang heads to San Francisco with one lucky lady getting a trip to Napa Valley. After tonight, it's down to 4 women, all of whom go back to visit their families in next week's episode! Over on CBS, the whole night is new– on HOW I MET YOUR MOTHER, Barney decides to try to sleep with 7 women in 7 days, to complete the "Perfect Week"! On ACCIDENTALLY ON PURPOSE, Billie gets Zack to do chores around the house and Davis gets a job at a gay bar.
FOX has an all new episode of HOUSE – Foreman's brother (guest star Orlando Jones) visits. The case of the week has a college football star with a variety of symptoms that's going to keep him from an NFL tryout, among everything. NBC has an all new episode of CHUCK! Chuck trains Hannah (guest star Kristen Kreuk) at the Buy More, and he has to handle a new asset. Awesome tries to keep Chuck's secret, but isn't a very good liar. Over on The CW, catch an all new episode of ONE TREE HILL – the show pays homage to John Huges with nods to 16 CANDLES, HOME ALONE, and PRETTY IN PINK.
There's a new episode of THE SECRET LIFE OF THE AMERICAN TEENAGER on ABC Family – George tries to woo Anne. Ben and Grace grow close, and Adrian and Ricky babysit for John!
On ABC, THE BACHELOR: ON THE WINGS OF LOVE (seriously with that long title?) continues until 10. CBS has new eps of TWO AND A HALF MEN and THE BIG BANG THEORY. On 2.5, Alan gets arrested. Over on TBBT, Sheldon gets a job at the Cheesecake Factory when his real job slows down.
NBC has an all new episode of HEROES – Peter tries to save Sylar. FOX airs an all new hour of 24. Renee goes deep undercover, Chloe gives Arlo his comeuppance, and Hassan family turmoil threatens the peace talks. The CW has the next all new episode of LIFE UNEXPECTED. When Baze's parents decide they want to meet Lux, we get so see the most awkward family dinner ever. Cynthia Stevensen plays Cate's mom, and she is just AWESOME! In other news, Cate transfers Lux's school without her knowledge or consent and causes all kinds of problems! Over on ABC Family, MAKE IT OR BREAK IT has a new episode that has Payson shocked by a romantic gesture. Emily doesn't hear from Damon and worries, and Kaylie fights her attraction to Nicky. Meanwhile, Summer and Sasha (= true love) clash over gym problems. There's also an all new episode of INTERVENTION on A&E and TRUE LIFE…my relationship is at a crossroads on MTV.
ABC has a rerun of CASTLE. Castle and Beckett work on one murder while Esposito and Ryan work on another. Castle bets them that he'll solve his first, when the two cases suddenly become intertwined! CSI: MIAMI is all new – Anthony Michael Hall guests as a criminal on death row, and he is granted a 24 hour stay of execution while the Miami CSIs work to prove if he's innocent. Over on NBC, LENO is all new.
GREEK is all new on ABC Family – Ashleigh helps Rusty get a date at a geek auction. Casey has to save ZBZ and Rebecca and Cappie fight over the remaining open spot in a class they want. On FX, episode two of DAMAGES airs! Joe goes back and forth between family and integrity. The fallout of the big death reveal at the end of Episode 1 is explored, and we learn of even more shocking relationship news in the future!
Showtime has another episode of TRACEY ULLMAN as well as the season 3 premiere of SECRET DIARY OF A CALL GIRL. On TRACEY, she impersonates Candy Spelling, Matthew McConaughey, and the pharmacists Pradma! On SDOACG, Belle goes incognito to her book release party, and her editor tries to get her to write a follow up. In her "real life", Jackie (her sister) moves in when she finds ou t her hubby cheated on her. This season is SO good – you MUST WATCH! The is followed up at 11 by another ep of LALA LAND. On TNT, an all new episode of MEN OF A CERTAIN AGE has Joe's bookie exploiting Joe's golf skills. Owen gains too much weight, and his family starts to worry. Meanwhile, Terry moves, but struggles with being in charge. HOARDERS is all new on A&E. MTV has a new episode of THE BURIED LIFE and MY LIFE AS LIZ. On TBL, the boys try to get to a red carpet to ask Megan Fox on a date; on LIZ, Liz faces a lot pressure as the talent show nears.
…and you can't rely on Tuesday to catch up as I've heard you mention once or twice that some show is returning tomorrow night…if I could only remember what show it was….


text:
Black Moshannon State Park
4216 Beaver Rd., Philipsburg, PA 16866 GET DIRECTIONS
Perched on the top of the Allegheny Plateau, the park features the Black Moshannon Bog Natural Area. Trails and a boardwalk help people explore the birds and plants of the bog and surrounding forests. The park covers 3,394 acres of forests and wetlands that provide a variety of recreational opportunities. According to local tradition, American Indians called this watershed "Moss-Hanne," meaning "moose stream," thus the origin of the park's name. Call or go online for camping reservations. Cabins and group tenting available. The Dry Hollow Trail and Snowmobile Trail provide access to additional trails on state forest land for mountain bikes. State forest roads (unpaved) are also open to cycling. The lake provides habitat for warm water fishing. Trout anglers can enjoy their sport in several nearby streams including Six Mile and Black Bear runs. A 16-mile trail network invites you to explore. Seneca, Indian, Bog and Hay Road trails and a short section of Moss-Hanne Trail are connected, making them suitable for loop hikes. Winter activities include snowmobiling on the Dry Hollow Trail and Snowmobile Trail; cross-country skiing and ice fishing. Over 3,000 acres are open to hunting and trapping. Common game species are deer, wild turkey, bear, grouse and squirrel. Adjacent forest land is also open for public hunting.
Discounts Offered: Senior Citizen Discount
Facility Amenities: ADA-compliant, Concessions, Free Admission, Guided Tours, Handicapped Access, Pets Accepted
General Information: Dates Closed: Rustic Cabins and Campground closed mid December to Mid April, Hours: Spring and Fall office hours are 8 a.m. - 4 p.m. Mon. - Fri. Summer office hours 8 a.m. - 4 p.m. Sat. - Thurs.; 8 a.m. to 9 p.m. Fri., Open Year-round
On-site Activities: Bicycling, Boating, Canoeing, Fishing, Hiking, Hunting, Playground, Swimming
The Alleghenies
Central Pennsylvania Convention and Visitors Bureau