Our view: Becoming a bit of a 'classic', the 4 Saison offers guests a great place to stay; and people love it!
This chalet oozes 70's chic and in its heyday was no doubt the height of sophistication. Today it is looking a little retro, but the principles of spacious bedrooms, all en suite facilities, comfortable sofas, open fireplace, great valley views and a Jacuzzi and sauna to ease tired legs at the end of a day's skiing in this world class resort will never go out of fashion. When added to the first rate location of this property, the individual style and generous use of wood panelling is actually quite charming.
NB. Due to the proximity to the slopes there is a steep, snowy path up to the chalet (100m).
Verbier is credited as being one of the best resorts for advanced skiers, off-piste and après ski. This is not without due reason, as Verbier's breathtaking scenery invites ski holiday makers to enjoy unlimited off-piste and great black runs. There is also a small snowpark with access to bigger and better ones in nearby resorts. Access to 400km of varied pistes, excellent sun and snow records and some year round skiing on the Mont Fort glacier also means that Verbier appeals to most levels of skier. The disadvantages to skiing Verbier are that skiing lower down can be poor due to the sun, and that there can be long queues for the lifts.
Verbier ski resort offers an excellent variety of restaurants, very lively nightlife and plenty of off-snow activities. However, prices are a bit of a shocker, even for Switzerland.


text:
Q: Hiding Implementation Details in C++ I would like to hide implementation specific details from the interfaces defined in the header so the code is maintainable and quicker to compile when making updates (although I don't have statistics for the latter).
However, I cant use dynamic memory or c++ past 2003 (no 11/14/17). I also cant use libraries like boost. The application is real-time embedded and thus efficiency matters. The code in question is tightly coupled to the hardware.
I looked at several posts on here which suggested PIMPL idiom, however indirection and dynamic memory would seem to prohibit this. One option is to preallocate the classes and set the pointer but this seems inflexible.
Below is an oversimplified example of just using functions and static variables in the implementation file; are there problems related to encapsulation or the compile process? How else could I achieve the above given the constraints?
Example with detail in header:
#ifndef HARDWARE_IF_HPP
#define HARDWARE_IF_HPP

class hardware_if
{
public:
    enum cfg_mode { standby, enable, disable };
    void configure(cfg_mode mode);

private:
    void hardware_if_standby();
    void hardware_if_enable();
    void hardware_if_disable();

    static const uint32_t CONTROL_REGISTER = 0x10000000;
    static const uint32_t ENABLED_MODE     = 2;
    static const uint32_t DISABLED_MODE    = 3;
};

#endif

// CPP

#include <cstdio>
#include <stdint.h>
#include "hardware_if.hpp"

void hardware_if::hardware_if_standby()
{
    printf("set hardware into standby state; write %X to 0x%X\n",
        STANDBY_MODE, CONTROL_REGISTER);
}

void hardware_if::hardware_if_enable()
{
    printf("set hardware into enabled state; write %X to 0x%X\n",
        ENABLED_MODE, CONTROL_REGISTER);
}

void hardware_if::hardware_if_disable()
{
    printf("set hardware into disabled state; write %X to 0x%X\n",
        DISABLED_MODE, CONTROL_REGISTER);
}

void hardware_if::configure(cfg_mode mode)
{
    switch (mode)
    {
    case standby:
        hardware_if_standby();
        break;
    case enable:
        hardware_if_enable();
        break;
    default:
        hardware_if_disable();
        break;
    }
}

//

#include <stdint.h>
#include "hardware_if.hpp"

int main()
{
    hardware_if hdw;
    hdw.configure(hardware_if::enable);
    return 0;
}

Example with detail in implementation:
#ifndef HARDWARE_IF_HPP
#define HARDWARE_IF_HPP

class hardware_if
{
public:
    enum cfg_mode { standby, enable, disable };
    void configure(cfg_mode mode);
};

#endif

// CPP

#include <cstdio>
#include <stdint.h>
#include "hardware_if.hpp"

static const uint32_t CONTROL_REGISTER = 0x10000000;
static const uint32_t STANDBY_MODE     = 1;
static const uint32_t ENABLED_MODE     = 2;
static const uint32_t DISABLED_MODE    = 3;

void hardware_if_standby();
void hardware_if_enable();
void hardware_if_disable();

void hardware_if_standby()
{
    printf("set hardware into standby state; write %X to 0x%X\n",
        STANDBY_MODE, CONTROL_REGISTER);
}

void hardware_if_enable()
{
    printf("set hardware into enabled state; write %X to 0x%X\n",
        ENABLED_MODE, CONTROL_REGISTER);
}

void hardware_if_disable()
{
    printf("set hardware into disabled state; write %X to 0x%X\n",
        DISABLED_MODE, CONTROL_REGISTER);
}

void hardware_if::configure(cfg_mode mode)
{
    switch (mode)
    {
    case standby:
        hardware_if_standby();
        break;
    case enable:
        hardware_if_enable();
        break;
    default:
        hardware_if_disable();
        break;
    }
}

//

#include <stdint.h>
#include "hardware_if.hpp"

int main()
{
    hardware_if hdw;
    hdw.configure(hardware_if::enable);
    return 0;
}

A: Your particular example class doesn't have any data members to hide. The private static data members can be safely moved into the .cxx file into an unnamed namespace, the same applies to the non-public member functions.
But here is an example how to hide the data members without memory allocations:
// hardware_if.h
class hardware_if
{
public:
    hardware_if();
    ~hardware_if();

    enum cfg_mode { standby, enable, disable };
    void configure(cfg_mode mode);

    struct Impl;

private:
    hardware_if(hardware_if const&);
    hardware_if& operator=(hardware_if const&);

    enum { IMPL_SIZE = 16 };
    union {
        unsigned char storage[IMPL_SIZE];
        double align;
    };
};

// hardware_if.cxx
#include <new>

struct hardware_if::Impl {
    // The data members.
    int a, b, c, d;
};

namespace {

const uint32_t CONTROL_REGISTER = 0x10000000;
const uint32_t ENABLED_MODE     = 2;
const uint32_t DISABLED_MODE    = 3;

void hardware_if_standby(hardware_if::Impl&) { /* ... */ }
void hardware_if_enable(hardware_if::Impl&) { /* ... */ }
void hardware_if_disable(hardware_if::Impl&) { /* ... */ }

// Compiler error if IMPL_SIZE != sizeof(hardware_if::Impl).
inline hardware_if::Impl& get_impl(unsigned char(&storage)[sizeof(hardware_if::Impl)]) {
    return reinterpret_cast<hardware_if::Impl&>(storage);
}

}

hardware_if::hardware_if() {
    new (storage) Impl;
}

hardware_if::~hardware_if() {
    get_impl(storage).~Impl();
}

void hardware_if::configure(cfg_mode mode) {
    Impl& impl = get_impl(storage);
    switch(mode) {
        case standby:
            return hardware_if_standby(impl);
        // ...
        default:
            break;
    }
}

redpajama_set_name: RedPajamaStackExchange


text:
You are here: Home / *Articles of the Bound* / Cold War Redux: China's Nuclear Counterbalance
Cold War Redux: China's Nuclear Counterbalance
November 1, 2013, 1:15 pm by Terresa Monroe-Hamilton 2 Comments
Cross-Posted at Right Wing News
Image for Yu column Inside China Source: Global Times
For years, Trevor Loudon and I have been warning of the looming threat from China and Russia. We have been called crazy, ridiculed, maligned and ignored. If you ever needed proof that we were right and that America better get her military ducks in order, this is it. I will say it again… the Cold War never ended — it shifted. This week, Chinese state-run media for the first time showed exactly how Beijing's nuclear submarines could attack American cities (see the map above) as a means to counterbalance U.S. nuclear deterrence in the Pacific. This is a bold and blatant threat. If we get in the way, China will nuke us and they mean it.
In the 50's and 60's, this threat by China would have put the U.S. on war footing. Now, we hear crickets not only from our military leaders, but the media and our political leadership. From The Washington Times:
On Monday, leading media outlets including China Central TV, the People's Daily, the Global Times, the PLA Daily, the China Youth Daily and the Guangmin Daily ran identical, top-headlined reports about the "awesomeness" of the People's Liberation Army navy's strategic submarine force.
"This is the first time in 42 years since the establishment of our navy's strategic submarine force that we reveal on such a large scale the secrets of our first-generation underwater nuclear force," the Global Times said in a lengthy article titled "China for the First Time Possesses Effective Underwater Nuclear Deterrence against the United States."
The article features 30 photos and graphics detailing, among other things, damage projections for Seattle and Los Angeles after being hit by Chinese nuclear warheads and the deadly radiation that would spread all the way to Chicago.
In this photo taken on Oct. 26, 2010, and released by the Chinese Navy on Sunday, Oct. 27, 2013, a Chinese navy nuclear submarine takes part in a nuclear safety drill at the Qingdao submarine base in east China's Shandong province. In a sign of growing confidence, China's navy gave Chinese media on Sunday unprecedented publicity on its first nuclear submarine fleet, one of its most secretive military programs. China is devoting increasing resources to its naval forces to safeguard its maritime interests and assert its territorial claims. (AP Photo)
The Chinese sub-fleet is reportedly the world's second-largest, with approximately 70 vessels. I contend they are the largest, but in the end that is splitting radioactive hairs. About 10 of the vessels are nuclear-powered and four or more are nuclear ballistic submarines that can launch missiles. Our intel is so crappy on China though, I suspect it is much, much worse than this. And this is only the Navy. They have killer satellite systems that can take out communications and strike militarily in the blink of an eye. They have so many soldiers, that losing 100s of thousands is a drop in the military bucket. After all, they are fighting for their homeland and dominance and they hate the barbaric West, so they are willing to lose millions if need be in their quest for conquest and supremacy.
If I have not sufficiently chilled you to the bone, I apologize. The Chinese are not bluffing:
Chinese calculations for nuclear attacks on the U.S. are chillingly macabre.
"Because the Midwest states of the U.S. are sparsely populated, in order to increase the lethality, [our] nuclear attacks should mainly target the key cities on the West Coast of the United States, such as Seattle, Los Angeles, San Francisco and San Diego," the Global Times said.
"The 12 JL-2 nuclear warheads carried by one single Type 094 SSBN can kill and wound 5 million to 12 million Americans," the Global Times reported.
China also has developed land-based intercontinental ballistic missiles — notably the DF-31A, which has a range of 7,000 to 7,500 miles.
"If we launch our DF 31A ICBMs over the North Pole, we can easily destroy a whole list of metropolises on the East Coast and the New England region of the U.S., including Annapolis, Philadelphia, New York, Boston, Portland, Baltimore and Norfolk, whose population accounts for about one-eighth of America's total residents," the Global Times said.
All the state-run press reports stressed the point that the PLA's missile submarines are now on routine strategic patrol, "which means that China for the first time has acquired the strategic deterrence and second strike capability against the United States."
"Our JL-2 SLBMs have become the fourth type of Chinese nuclear missiles that threaten the continental United States, after our DF-31A, DF-5A and DF-5B ICBMs," said the Global Times.
Now, I want you to throw into the mix, the threat of EMPs. If it were me, I would launch those first and take out as much as I could that way to clear the path so to speak. Consider the fact that most of our electronics are manufactured by China. They claim to have embedded in our electronics 'kill switches' that can be triggered to cause failures and chaos. They also claim that they have back doors into our utility, communications, financial, military and Internet systems. You begin to see the trouble we are in and how negligent our military and leaders have also been.
But wait… there's more. A surveillance ship from China was spotted in Hawaiian waters for the first time. It is being described as an unprecedented move and as a provocative retaliation to the U.S. naval presence in the East China Sea. The ship is a 4,000 ton People's Liberation Army electronic reconnaissance ship and was recently spotted near Hawaii within the U.S. 200-nautical mile EEZ (Exclusive Economic Zone). It is a spy ship and it got within 2400 miles of San Francisco.
Why all this, you might ask. Well, it is a message to the U.S. to let China do as she pleases or she will crush us. And Russia is right there with China. This is what you get when you gut your military and have a weak kneed President. From InfoWars:
China's increasing aggressiveness in the East China Sea and its challenge to Japanese control of the Senkaku Islands has sparked tensions, with Japan repeatedly scrambling fighter jets earlier this week in response to Chinese military aircraft flying near Okinawa.
Back in September, China also reportedly sent warships to the coast of Syria to "observe" the actions of US and Russian vessels in the region.
"The recent deployment of a PLAN surveillance ship into Hawaiian waters is seen as Beijing's message to the US and the rest of the world that China can now contest the waters of the western Pacific and that the US Navy no longer has a free pass in the region. It is also seen as a form of retaliation for what Beijing considers the provocative naval exercises the US recently conducted in the Yellow Sea jointly with the navies of South Korea and Japan's Self-Defense Force," states the report.
Did anyone really believe that our enemies wouldn't seize an opportunity to put America in her place? We have entered a Cold War Redux and China's nuclear counterbalance is a terrifying warning shot off our bow. World War III is bearing down on America and our President is sacrificing us on a global Marxist altar. America needs to wake up and not be a lamb to the slaughter. If we fall, the rest of the free world will fall and a horrific darkness will descend on the U.S. Somebody better wake up the military and let them know we are being threatened by enemies who do not make idle threats and always, always keep their promises.
Filed Under: *Articles of the Bound*, *In the Searchlights*, *Solutions*, A War - Win It, Barack Obama, Collectivist Philosophies, Creating Class & Conflict, How We Got Here, Investigations, Marxist Spotting, Marxofascist Strategy, Militarily Weakening of America, Neo-Marxism Planned Mayhem Tagged With: anti-American revolution, Barack Hussein Obama II, communisty organizations, Democrat, history, Military, Republican, Sovereignty, U.S. Presidency (POTUS)
November 2, 2013, 2:40 am at 2:40 am
Seriously, we knew about where China had been covertly making their, around 20 submarines, years ago. We know where they come out from, tunnels from huge DAM (key word, Dam), into the sea, launched, yet now we alarm ourselves, and fear them??? Cyber espionage from subs outside our waters probably taking place too? So we should of off-set or are off-setting this yesterday..in my opinion.
Really?? I am not going to fill in the blanks how to end these threats from them. Because our Military
could send one big threat and end this in a heart beat in my opinion. I mean seriously, where are our
strategist?? We are dealing with so much scare tactics these days. I only hope it stops for the American people to have a reprieve from joy being robbed with all the rumors of war, of joblessness, of all the ranting. Our Military needs to just man up and do what it takes..no matter what anyone says, to keep us safe, and counter-act any threat from China with our knowledge/weapons we possess which could be used/done to check-mate any maneuvers China brags about. ..in my opinion. Fed-up
with all the posturing and never-ending-negative, "What Ifs". It all seems to be desensitizing anymore…..because there really could/should be more peace, jobs, plenty for all; yet our powers to be don't want this it appears. Why? They don't even make sense anymore……in my opinion. Prayers cool heads prevail, peace to all!!
Kapnlogos says
We should have a US newspaper show a map, annotated with pictures of Chinese products in shipping containers stacked up on docks, awaiting inspections. In the background would be Chinese container ships, still loaded, awaiting their unloading, estimated at 18 months in the future. The inspections of the containers would be searching for poisoned dog treats, poisoned milk formula, lead tainted children's toys, illegal immigrants, heroin, methamphetamine precursors, nuclear devices, bird flu virus, and products made with controlled materials such as ivory, illegally obtained hardwoods and products produced by slave labor from North Korea. I think Americans could deal with not buying Chinese imports a lot better than the Chinese could not selling them. It's time for a little feedback for the Chinese.

redpajama_set_name: RedPajamaCommonCrawl


Known by Native Americans for an indeterminate amount of time, there is some controversy about when exactly California Cavern was discovered by westerners. Some evidence points to 1849, and some to 1850.
However, we do know that the discovery is attributed to Captain Joseph Taylor who was target practicing on a rocky outcropping. Noticing that his targets were being moved by a breeze which seemed to emanate from the rocks, he investigated this curious phenomenon and discovered the entrance to the cave.
We also know that California Cavern was the very first cave in the state to be opened to the public for guided tours in 1850. In the early days, the cave was known as "Mammoth Cave." The original tours, though impressive, were shorter than they are today, since more of the cave system has been discovered over the years.
Early visitors included Bret Harte, Mark Twain and John Muir who wrote about his visit in his 1894 book "The Mountains of California." For 150 years, visitors have enjoyed the unique delicate beauty of the cavern's crystalline formations. Some speleothems, such as the beaded helictites found in the Middle Earth area are very rare. Others are so numerous as to be spectacular, such as the "Jungle Room's" array of stalactites. Besides 2 fun walking tours, we also offer the wonderful opportunity to participate in underground adventures – our professionally guided wild cavern spelunking trips – the Mammoth Cave Expedition and Middle Earth Expedition.
Visit their website for more information on the tours available.
See photos and more information on the Calaveras County website.


A delicious bake shop in St. Louis!
CinnaCrush serves baked goods that will dazzle your taste buds!
Try customer favorites like the cinnamon roll with pecans, cream cheese, or classic frosting!
Order from CinnaCrush, in St. Louis, for pickup or delivery, through SkipTheDishes.com!


ASCII or Binary? Which Files Are Which?
Uploading and downloading files with FTP in the proper mode is important. Find out why it matters, and which should be transferred as ascii & which as binary.
The general rule of thumb is if you can view the file in a text editor like notepad (ie. .html, .js, .css files etc) you should upload in ASCII mode, most others (including images, sound files, video, zip files, executable's etc) should be uploaded in Binary.
It seems all things related to computers have exceptions to the rules. Yes, this is yet another case of it.
If your text files contain international characters (ie. Chinese or Japanese text), they may have to be uploaded as binary. The reason is that ascii takes into account differences between DOS and UNIX files (7 bits) but it doesn't do well with text using higher bits.
Why Does It Matter What Mode You Transfer Files With?
Same thing with uploading text files as binary. While this is less important for html files, scripts will have a HUGE problem with it and will just not work. This is the most common cause of the "Server 500 Error - Malformed Headers", and other equally unlovely errors that have caused many a webmaster to bang their heads against their computers.
So What Does Uploading In ASCII Do?
I'd wondered this for a while and finally decided to learn why uploading in ascii is so important for some file types. What I found out is that different Operating System's use different ways to specify that a line has ended. So if you're using a different operating system than your server (which is very likely), the files will have extra characters at the end of each line that the server doesn't recognize. So it'll usually print them out resulting in script errors.
Setting Your FTP Program to "Auto"
Most FTP programs have the option to set your upload to auto. What this usually does is compare the file type you're transferring against a list of known file types and set it to binary or ascii upload on its own.
By default, most FTP programs will have a pre-set list of files to be transferred in ascii and will upload / download everything else in binary. (These settings are in different places depending on the program you are using. Check the "Read Me" file or their Website if you can't find it.) Be sure to double check that the files you want to transfer are in the appropriate list.
CHMOD - What is it?


text:
Nebraska Football continues to roll with Omarion Miller commitment
In what has been a very busy recruiting month for Nebraska football, they landed another commitment on Tuesday afternoon. 2023 four-star wide receiver Omarion Miller committed to the program.
Miller is the 14th overall wide receiver in the 2023 class, and the eighth overall player in his class from the state of Louisiana per the 247Sports Composite Rankings. Miller initially committed to LSU on August 2, 2021. He decommitted on May 30. He took a visit to Lincoln at the beginning of the month, and met with wide receivers coach Mickey Joseph.
He was recruited to the program by Joseph.
GBR Nation I'm home 🌽 @daboot02 @coach_frost @HuskerFBNation pic.twitter.com/d50B67phuW
— Omarion "O" Miller ✞ (@omarionmiller19) July 5, 2022
What can he bring to Nebraska football?
Miller brings another weapon to the Nebraska wide receiver room. He brings a little bit of everything to the table, in the sense that he is athletic as well as a downfield threat. Miller's game is not one-dimensional however. In addition to being a downfield threat, he can also make things happen after the catch. As soon as he gets the ball in his hands, he can turn upfield quickly. He is one of those receivers where you just get him the ball and let him go to work.
With this commitment, the 2023 Nebraska football recruiting class is continuing to improve. It ranks 33rd overall nationally per the 247Sports Team Rankings.
Mickey Joseph has wanted to leave his mark on the wide receiver room. So far, he has been able to do that. He has gotten the types of guys he wants in the room, and he has managed to add that as well. This sets up Nebraska football nicely for the future, and allows them to be able to have those down-the- -field playmakers they have been desperately needing.
Time will tell who the next commitment is for Nebraska football. As for now, the Huskers are absolutely putting in work for 2023.
2023 Nebraska Football recruiting
Nebraska Football adds speedster in WR Barry Jackson
Nebraska Football lands stud in LB Dylan Rogers


Are you using a blue light that is actually the color blue, or is it a light that emits a large amount of light in the blue spectrum (like those used in aquariums)?
If you answered in the affirmative to the first option, then I can't help you in your second question.
If you answered in the affirmative to the second option, then...... I turn mine on for about 12 hours a day, unless the grow chamber gets too hot.
Someone is being way too poetic here.
When I have the blues, my mushrooms get me up again.
Do mushrooms thrive better in blue moonlight than in yellow sunlight?
I don't know about moonlight, but they respond best (according to Stamets etc.) to blue light (wavelengths of around 400 or so nanometers).
786 topic views. 0 members, 4 guests and 0 web crawlers are browsing this forum.


Senseye is the only solution that offers scalable predictive maintenance. It uses machine learning to perform condition monitoring and prognostics analysis, without requiring deep pockets or a team of expert data analysts.
Driven by Industry 4.0 / the Industrial Internet of Things (IIoT), industrial operations are increasingly autonomous. Factories contain numerous sensors that provide real-time data on the status of production and machinery to optimise operations. Welcome to the fourth Industrial Revolution.
Senseye is your operations tool for reducing unplanned machine downtime and increasing Overall Equipment Effectiveness (OEE).
From one machine to thousands, Senseye delivers truly scalable predictive maintenance to ensure that your maintenance strategy can cover all of the assets that you depend upon. Senseye is machine agnostic, covering all of your machines, not just those that are critical or of high value.
Senseye is sold as Software as a Service (SaaS), with a scalable pricing model and a Return On Investment (ROI) of typically less than 3 months.
Senseye requires no customisation or extensive setup by expensive consultants. With a supported data connection, deployment is near-instant and actionable results start to be delivered within 14 days.
Senseye is Operational Technology (OT), designed to automate the analysis of detection, diagnostics and prognostics to give accurate and useful machine health insights for the team on the shop floor.
Senseye integrates seamlessly with your existing infrastructure investments, using data captured by your factory historian or IoT middleware to understand the future health of your machinery. The process is entirely automated, so there is no need for extensive condition monitoring or knowledge to get it up and running. By collecting key data such as abnormal vibrations, current or pressure and temperature fluctuations, the system generates machine behaviour models automatically, which can then be used in your on-going predictive maintenance efforts.
Senseye uses Condition Indicators collected from your machinery and stored in your factory historian or IoT middleware platform. The condition indicators used can be from vibration, temperature, current, acoustic, pressure and other sensor systems, either captured by the machine PLC or retrofitted.
Current (and if available) past data is utilised by the system and combined with asset maintenance information to automatically build prognostics models, allowing you to monitor the Remaining Useful Life of your machinery. Senseye uses the same levels of encryption as modern banks and needs only one-way communication.
There's no need to have a technical background in condition monitoring; Senseye is completely automated and can integrate with your existing maintenance management systems. This means that you're able to focus your maintenance efforts on the areas that need the most attention.
Using condition monitoring detection and diagnostics techniques as well as prognostics models, Senseye calculates the health and Remaining Useful Life of your machinery. This calculation is based on a series of algorithms, which are constantly in operation to watch over your assets.
Insights and alerts are generated and delivered to relevant organisation members, with information about matching failure modes and likely Remaining Useful Life. With this information, Predictive Maintenance can be effectively performed.
Get downtime down, using Senseye to power your predictive maintenance programme today.
Get in contact to share your requirements and discover how much Senseye could improve your operations.
Senseye runs a regular Predictive Maintenance webinar, Q&A and live demo, on the last Thursday of every month. Register to be sent information on joining the upcoming session.


text:
FTFull Time AETAfter Extra Time LIVEThis is a live match. ETExtra Time HTHalf Time
Iceland vs Croatia. FIFA World Cup Group D.
7:00pm, Tuesday 26th June 2018.
Rostov ArenaAttendance: Attendance43,472.
G Sigurdsson (76'76th minute pen)
M Badelj (53'53rd minute)
I Perisic (90'90th minute)
Latest FIFA World Cup Odds
Get a Sky Sports Pass
Iceland v Croatia preview: Iceland eye 'biggest success' of World Cup last 16
Croatia already through to the knockout rounds
Tuesday 26 June 2018 19:23, UK
Image: Iceland v Croatia
Iceland are eyeing the "biggest success" in their history as they look to make the last 16 of the World Cup against Croatia on Tuesday.
The Icelanders must beat Croatia - who are already through to the knockout rounds - in their final group game to give themselves the chance of qualification and currently have a better goal difference than Argentina.
Coach Heimir Hallgrimsson says a spot in the last 16 would be a big achievement for the national team, and described how impressed he has been with their Group D opponents.
"For nations like Argentina, Portugal, Germany, it would be a shock not to qualify, for the final 16. If we managed to qualify for the final 16 it would probably be the biggest success in the short Icelandic football history," he said.
LISTEN: World Cup Supplement podcast
Jason Burt and Matt Lawton join Neil Ashton to talk about England's 6-1 win over Panama.
"They've done amazingly in the first two games. The players are enjoying to play under the coach [Zlatko Dalic] and I think we have to give them a lot of credit for the way they started this competition. They deserve to go all the way if they keep on playing this way."
Lacazette hits post early on against Liverpool LIVE! & highlights
Arsenal vs Liverpool on Sky: Xhaka suspended for second leg
Papers: Spurs mull Ndombele-Veretout swap
Injured Raducanu: I didn't want to go out like that
For Croatia, they will need just a point to top the group, but coach Zlatko Dalic says his side will be targeting a victory.
"We want to beat Iceland to stay top of our group. We have our own style of play and we are going to stick to it while being watchful on their long balls and set pieces," he said. "We know everything about Iceland and they know everything about us."
World Cup latest
World Cup fixtures
World Cup group tables
World Cup profiles
Every World Cup squad
Image: Johann Berg Gudmundsson suffered the injury in Iceland's World Cup opening draw against Argentina
Iceland centre-back Ragnar Sigurdsson is a doubt after being forced off against Nigeria with a head injury while Johann Berg Gudmundsson will also be assessed.
Ivan Rakitic, Ante Rabic, Sime Vrsaljko, Mario Mandzukic, Marcelo Brozovic and Vedran Corluka are all one booking away from a ban, and are therefore unlikely to play for Croatia.
This will be the seventh different meeting between Iceland and Croatia but the first in a major tournament, with all of their previous encounters coming in World Cup qualifiers.
Iceland and Croatia met in World Cup 2018 qualifying - both sides winning their home fixtures (Croatia 2-0 and Iceland 1-0).
Iceland's only previous victory against Croatia came in the qualifying stages for this tournament, drawing one and losing four otherwise.
Croatia have won two World Cup games in a row for the first time since 1998 - they've never won three consecutively in the competition before.
Image: Luka Modric has scored in both games so far for Croatia
Croatia have kept a clean sheet in three of their last four World Cup games, as many as they had in their previous 12 in the competition.
Croatia have already guaranteed their place in the World Cup knockout stages, just their second appearance. They've never finished top in the group stage, finishing in second place when qualifying in 1998.
Iceland are without a win in their last eight games (D3 L5) - their longest winless run since September 2011 (9 games).
Iceland are looking to become the first World Cup debutants to make the knockout stages of a World Cup tournament since Slovakia in 2010.
Croatia's Luka Modric has scored with both of his shots on target so far at the 2018 World Cup.
Iceland midfielder Gylfi Sigurdsson attempted just three shots in his last game against Nigeria, with his first two shots landing on target in the first six minutes, and his other shot missing the target from the penalty spot in the 83rd minute.
Charlie's prediction
Croatia are another side that could make some changes. Some of the smaller nations that have captured the imagination, like Croatia, the structure of the team doesn't change too much and if you disrupt that with two or three changes it can cause a massive disruption. People might say they are already qualified but you want momentum to continue in this situation. You don't want to upset it by making too many changes and then not getting a result. Iceland have got to go for this if they are to have a chance of reaching the next round but I can see this being a draw. Iceland will just fall short.
CHARLIE PREDICTS: 1-1 (5/1 with Sky Bet)
World Cup Super 6
The jackpot was won again on Tuesday night. Will you be the next winner? Enter your predictions here.


text:
Contributed by Boxes and Booze on Dec 07, 2019
13 Votes Up!
Thirteen readers love this post.
Let's talk about sake for a moment. For goodness sake, it's one of the oldest known spirit distillates on historical record, dating at least to the eight century and possibly earlier. Sake is a spirit made from fermented rice, in which a brewing process similar to that used for beer converts starch into sugar, which is then converted to alcohol. Unlike with beer, where these two processes occur separately, they occur simultaneously during sake brewing. Like most unique spirits there are numerous styles and flavor profiles. Sake is traditionally served in different types of vessels, from the flat saucer sakazuki, to the small cup ochoko, to the wooden box masu. Sake is also served at many different temperatures, with warm sake typically reserved for winter, and for lower quality spirit. Most high quality sake is served chilled, like a fine white wine.
The masu, traditionally made from Japanese cypress wood, is a simple cubic box made to a very specific measurement. These were originally used to measure exactly 1 serving of rice, known in Japanese as "go", a Japanese "cup", which in modern equivalents equals 180ml or approximately 6.1 US fluid oz. This has also become the traditional serving size for an order of sake, which is often presented with an overflowing cup or glass, to symbolize generosity and prosperity. Here's a sake cocktail to toast this fine puzzle box, which looks just like a classic masu. Of course a masu full of sake alone would have been enough here, but we shall go the extra mile. For this drink I used a favorite sake of mine, nigori sake, often referred to as "cloud" sake because, well, it's cloudy. That's what nigori means in English. After fermentation sake is filtered to remove the remaining grain solids, with resulting clear spirit. Nigori sake is coarsely filtered, using a broad mesh, so that fine rice particles remain and impart a cloudy appearance. It is generally sweeter and milder in flavor.
I've used it to create a Japanese version of the classic James Bond drink, the Vesper. You are likely familiar with his famous shaken martini, which appears time and again in the novels and movies along with the catchphrase "shaken, not stirred". The drink he originally orders in the very first Ian Fleming novel, Casino Royal, 1953, is one of his own invention, composed of 3 parts gin, 1 part vodka, and ½ part Kina Lillet, shaken until ice cold and served with a lemon twist. The drink is unnamed until later, when he settles on "Vesper", the name of his original love interest, Vesper Lynd. The Vesper differs greatly from a traditional martini, which is made with gin and vermouth, and classically, stirred. Bond's version adds some vodka, and switches the vermouth for Kina Lillet in a very dry proportion. Kina Lillet is a French aromatized aperitif wine flavored with quinine that was popular at that time. Since then it has gone through a few formula changes, such that it was impossible to create a true Vesper for a long time. The "Kina" component is back again now in Lillet, however, so Bond fans can rejoice. For even more robust quinquina flavor Cocchi Americano can be added as well. In this version of the Vesper, I've swapped out the vodka for sake, and therefore adjusted the drink's name to reflect Bond's love interest from the 1967 film version of You Only Live Twice. Kampei!
1 oz sake
½ oz Kina Lillet
½ oz Cocchi Americano
Shake ingredients with ice and strain into a masu cup. Lemon twist.
For more about the masu measuring cup puzzle box see:
Boxes and Booze: Measuring Up
Cocktails and puzzle boxes ... an unusual and entertaining diversion of hand crafted creativity. Fine woodworking, artisanal spirits, the puzzling yet poetic symmetry of art and history in its many manifestations. Cheers!
Visit Steven C.'s Site
Cheers To Easy Holiday Cocktails!


text:
set -eo pipefail

SITE=$1
SITE_ESCAPED="${SITE//./\\.}"
REPO=$2
BRANCH=$3
VM_DIR=$4
SKIP_PROVISIONING=$5
NGINX_UPSTREAM=$6
VVV_PATH_TO_SITE=${VM_DIR} # used in site templates
VVV_SITE_NAME=${SITE}
VVV_HOSTS=""

SUCCESS=1

VVV_CONFIG=/vagrant/config.yml

. "/srv/provision/provisioners.sh"

# @description Takes 2 values, a key to fetch a value for, and an optional default value
#
# @example
#    echo $(get_config_value 'key' 'defaultvalue')
#
# @arg $1 string the name of the custom parameter
# @arg $2 string the default value
#
# @see vvv_get_site_config_value
function get_config_value() {
  vvv_get_site_config_value "custom.${1}" "${2}"
}

# @description Retrieves a list of hosts for this site from the config file. Internally this relies on `shyaml get-values-0`
#
# @noargs
# @see get_hosts_list
# @stdout a space separated string of domains, defaulting to `sitename.test` if none are specified
function get_hosts() {
  local value=$(shyaml -q get-values-0 "sites.${SITE_ESCAPED}.hosts" < ${VVV_CONFIG} | tr '\0' ' ' | sed 's/ *$//')
  echo "${value:-"${VVV_SITE_NAME}.test"}"
}

# @description Retrieves a list of hosts for this site from the config file. Internally this relies on `shyaml get-values`
#
# @noargs
# @see get_hosts
# @stdout a space separated string of domains, defaulting to `sitename.test` if none are specified
function get_hosts_list() {
  local value=$(shyaml -q get-values "sites.${SITE_ESCAPED}.hosts" < ${VVV_CONFIG})
  echo "${value:-"${VVV_SITE_NAME}.test"}"
}

# @description Retrieves the first host listed for a site.
#
# @noargs
# @see get_hosts
# @see get_hosts_list
# @stdout the first host listed in the config file for this site, defaulting to `sitename.test` if none are specified
function get_primary_host() {
  local value=$(shyaml -q get-value "sites.${SITE_ESCAPED}.hosts.0" "${1}" < ${VVV_CONFIG})
  echo "${value:-"${VVV_SITE_NAME}.test"}"
}

# @description processes and installs an Nginx config for a site.
# The function performs variable substitutions, and installs the resulting config.
# This includes inserting SSL key references, host names, and paths.
#
# @arg $1 string the name of the site
# @arg $2 string the Nginx config file to process and install
# @internal
function vvv_provision_site_nginx_config() {
  local SITE_NAME=$1
  local SITE_NGINX_FILE=$2
  local DEST_NGINX_FILE=${SITE_NGINX_FILE//\/srv\/www\//}
  local DEST_NGINX_FILE=${DEST_NGINX_FILE//\//\-}
  local DEST_NGINX_FILE=${DEST_NGINX_FILE/%-vvv-nginx.conf/}
  local DEST_NGINX_FILE="vvv-auto-${DEST_NGINX_FILE}-$(md5sum <<< "${SITE_NGINX_FILE}" | cut -c1-32).conf"
  VVV_HOSTS=$(get_hosts)

  # We allow the replacement of the {vvv_path_to_folder} token with
  # whatever you want, allowing flexible placement of the site folder
  # while still having an Nginx config which works.
  local DIR="$(dirname "$SITE_NGINX_FILE")"
  sed "s#{vvv_path_to_folder}#${DIR}#" "$SITE_NGINX_FILE" > "/etc/nginx/custom-sites/${DEST_NGINX_FILE}"
  sed -i "s#{vvv_path_to_site}#${VM_DIR}#" "/etc/nginx/custom-sites/${DEST_NGINX_FILE}"
  sed -i "s#{vvv_site_name}#${SITE_NAME}#" "/etc/nginx/custom-sites/${DEST_NGINX_FILE}"
  sed -i "s#{vvv_hosts}#${VVV_HOSTS}#" "/etc/nginx/custom-sites/${DEST_NGINX_FILE}"

  if [ 'php' != "${NGINX_UPSTREAM}" ] && [ ! -f "/etc/nginx/upstreams/${NGINX_UPSTREAM}.conf" ]; then
    vvv_warn " * Upstream value '${NGINX_UPSTREAM}' doesn't match a valid upstream. Defaulting to 'php'.${CRESET}"
    NGINX_UPSTREAM='php'
  fi
  sed -i "s#{upstream}#${NGINX_UPSTREAM}#" "/etc/nginx/custom-sites/${DEST_NGINX_FILE}"

  if /srv/config/homebin/is_utility_installed core tls-ca; then
    sed -i "s#{vvv_tls_cert}#ssl_certificate /srv/certificates/${SITE_NAME}/dev.crt;#" "/etc/nginx/custom-sites/${DEST_NGINX_FILE}"
    sed -i "s#{vvv_tls_key}#ssl_certificate_key /srv/certificates/${SITE_NAME}/dev.key;#" "/etc/nginx/custom-sites/${DEST_NGINX_FILE}"
  else
    sed -i "s#{vvv_tls_cert}#\# TLS cert not included as the core tls-ca is not installed#" "/etc/nginx/custom-sites/${DEST_NGINX_FILE}"
    sed -i "s#{vvv_tls_key}#\# TLS key not included as the core tls-ca is not installed#" "/etc/nginx/custom-sites/${DEST_NGINX_FILE}"
  fi

  # Resolve relative paths since not supported in Nginx root.
  while grep -sqE '/[^/][^/]*/\.\.' "/etc/nginx/custom-sites/${DEST_NGINX_FILE}"; do
    sed -i 's#/[^/][^/]*/\.\.##g' "/etc/nginx/custom-sites/${DEST_NGINX_FILE}"
  done
}

# @description add hosts from a file to VVVs hosts file (the guest, not the host machine)
#
# @arg $1 string a vvv-hosts file to process
# @internal
function vvv_provision_hosts_file() {
  local HOSTFILE=$1
  while read HOSTFILE; do
    while IFS='' read -r line || [ -n "$line" ]; do
      if [[ "#" != ${line:0:1} ]]; then
        if [[ -z "$(grep -q "^127.0.0.1 ${line}$" /etc/hosts)" ]]; then
          echo "127.0.0.1 $line # vvv-auto" >> "/etc/hosts"
          echo "   - Added ${line} from ${HOSTFILE}"
        fi
      fi
    done < "$HOSTFILE"
  done
}

# @description Parse any `vvv-hosts` files located in the site repository for domains to
# be added to the virtual machine's host file so that it is self aware.
#
# @internal
# @noargs
function vvv_process_site_hosts() {
  echo " * Adding domains to the virtual machine's /etc/hosts file..."
  local hosts=$(get_hosts_list)
  if [ ${#hosts[@]} -eq 0 ]; then
    echo " * No hosts were found in the VVV config, falling back to vvv-hosts"
    if [[ -f "${VM_DIR}/.vvv/vvv-hosts" ]]; then
      vvv_success " * Found a .vvv/vvv-hosts file"
      vvv_provision_hosts_file "${SITE}" "${VM_DIR}/.vvv/vvv-hosts"
    elif [[ -f "${VM_DIR}/provision/vvv-hosts" ]]; then
      vvv_success " * Found a provision/vvv-hosts file"
      vvv_provision_hosts_file "${SITE}" "${VM_DIR}/provision/vvv-hosts"
    elif [[ -f "${VM_DIR}/vvv-hosts" ]]; then
      vvv_success " * Found a vvv-hosts file"
      vvv_provision_hosts_file "${SITE}" "${VM_DIR}/vvv-hosts"
    else
      echo " * Searching subfolders 4 levels down for a vvv-hosts file ( this can be skipped by using ./vvv-hosts, .vvv/vvv-hosts, or provision/vvv-hosts"
      local HOST_FILES=$(find "${VM_DIR}" -maxdepth 4 -name 'vvv-hosts');
      if [[ -z $HOST_FILES ]] ; then
        vvv_error " ! Warning: No vvv-hosts file was found, and no hosts were defined in the vvv config, this site may be inaccessible"
      else
        for HOST_FILE in $HOST_FILES; do
          vvv_provision_hosts_file "$HOST_FILE"
        done
      fi
    fi
  else
    echo " * Adding hosts for the site to the VM hosts file"
    for line in $hosts; do
      if [[ -z "$(grep -q "^127.0.0.1 $line$" /etc/hosts)" ]]; then
        echo "127.0.0.1 ${line} # vvv-auto" >> "/etc/hosts"
        echo "   - Added ${line} from ${VVV_CONFIG}"
      fi
    done
  fi
}

# @description Clones a site provisioner repository or git repo as specified in the repo: field of a site
#
# @internal
# @noargs
function vvv_provision_site_repo() {
  if [[ false != "${REPO}" ]]; then
    if [[ -d "${VM_DIR}" ]] && [[ ! -z "$(ls -A "${VM_DIR}")" ]]; then
      if [[ -d "${VM_DIR}/.git" ]]; then
        echo " * Updating ${SITE} in ${VM_DIR}..."
        cd "${VM_DIR}"
        noroot git reset "origin/${BRANCH}" --hard -q
        noroot git pull origin "${BRANCH}" -q
        noroot git checkout "${BRANCH}" -q
      else
        vvv_error " ! Problem! A site folder for ${SITE} was found at ${VM_DIR} that doesn't use a site template, but a site template is defined in the config file. Either the config file is mistaken, or a previous attempt to provision has failed, VVV will not try to git clone the site template to avoid data destruction, either remove the folder, or fix the config/config.yml entry${CRESET}"
      fi
    else
      # Clone or pull the site repository
      vvv_info " * Downloading ${SITE}, git cloning from ${REPO} into ${VM_DIR}"
      noroot git clone --recursive --branch "${BRANCH}" "${REPO}" "${VM_DIR}" -q
      if [ $? -eq 0 ]; then
        vvv_success " * ${SITE} Site Template clone successful"
      else
        vvv_error " ! Git failed to clone the site template for ${SITE}. It tried to clone the ${BRANCH} of ${REPO} into ${VM_DIR}${CRESET}"
        vvv_error " ! VVV won't be able to provision ${SITE} without the template. Check that you have permission to access the repo, and that the filesystem is writable${CRESET}"
        exit 1
      fi
    fi
  else
    vvv_info " * The site: '${SITE}' does not have a site template, assuming custom provision/vvv-init.sh and provision/vvv-nginx.conf"
    if [[ ! -d "${VM_DIR}" ]]; then
      vvv_error " ! Error: The '${SITE}' has no folder, VVV does not create the folder for you, or set up the Nginx configs. Use a site template or create the folder and provisioner files, then reprovision VVV"
      exit 1
    fi
  fi
}

# @description Runs a site provisioner script to install and configure a site automatically.
#
# @arg $1 string the provisioner to run
# @arg $2 string the folder containing the provisioner to runn
# @internal
function vvv_run_site_template_script() {
  echo " * Found ${1} at ${2}/${1}"
  ( cd "${2}" && source "${1}" )
  if [ $? -eq 0 ]; then
    return 0
  else
    return 1
  fi
}

# @description Searches for and executes a site provisioner setup script
#
# @internal
# @noargs
function vvv_provision_site_script() {
  # Look for site setup scripts
  echo " * Searching for a site template provisioner, vvv-init.sh"
  if [[ -f "${VM_DIR}/.vvv/vvv-init.sh" ]]; then
    vvv_run_site_template_script "vvv-init.sh" "${VM_DIR}/.vvv"
    SUCCESS=$?
  elif [[ -f "${VM_DIR}/provision/vvv-init.sh" ]]; then
    vvv_run_site_template_script "vvv-init.sh" "${VM_DIR}/provision"
    SUCCESS=$?
  elif [[ -f "${VM_DIR}/vvv-init.sh" ]]; then
    vvv_run_site_template_script "vvv-init.sh" "${VM_DIR}"
    SUCCESS=$?
  else
    vvv_warn " * Warning: A site provisioner was not found at .vvv/vvv-init.sh provision/vvv-init.sh or vvv-init.sh, searching 3 folders down, please be patient..."
    local SITE_INIT_SCRIPTS=$(find "${VM_DIR}" -maxdepth 3 -name 'vvv-init.sh');
    if [[ -z $SITE_INIT_SCRIPTS ]] ; then
      vvv_warn " * Warning: No site provisioner was found, VVV could not perform any scripted setup that might install software for this site"
    else
      for SITE_INIT_SCRIPT in $SITE_INIT_SCRIPTS; do
        local DIR="$(dirname "$SITE_INIT_SCRIPT")"
        vvv_run_site_template_script "vvv-init.sh" "${DIR}"
      done
    fi
  fi
}

# @description Searches for and installs a site Nginx configuration.
#
# @internal
# @noargs
function vvv_provision_site_nginx() {
  # Look for Nginx vhost files, symlink them into the custom sites dir
  if [[ -f "${VM_DIR}/.vvv/vvv-nginx.conf" ]]; then
    vvv_provision_site_nginx_config "${SITE}" "${VM_DIR}/.vvv/vvv-nginx.conf"
  elif [[ -f "${VM_DIR}/provision/vvv-nginx.conf" ]]; then
    vvv_provision_site_nginx_config "${SITE}" "${VM_DIR}/provision/vvv-nginx.conf"
  elif [[ -f "${VM_DIR}/vvv-nginx.conf" ]]; then
    vvv_provision_site_nginx_config "${SITE}" "${VM_DIR}/vvv-nginx.conf"
  else
    vvv_warn " * Warning: An nginx config was not found at .vvv/vvv-nginx.conf provision/vvv-nginx.conf or vvv-nginx.conf, searching 3 folders down, please be patient..."
    local NGINX_CONFIGS=$(find "${VM_DIR}" -maxdepth 3 -name 'vvv-nginx.conf');
    if [[ -z $NGINX_CONFIGS ]] ; then
      vvv_error " ! Error: No nginx config was found, VVV will not know how to serve this site"
      exit 1
    else
      for SITE_CONFIG_FILE in $NGINX_CONFIGS; do
        vvv_provision_site_nginx_config "${SITE}" "${SITE_CONFIG_FILE}"
      done
    fi
  fi
}

# @description Retrieves a config value for the given site as specified in `config.yml`
#
# @arg $1 string
# @arg $2 string
function vvv_get_site_config_value() {
  local value=$(shyaml -q get-value "sites.${SITE_ESCAPED}.${1}" "${2}" < ${VVV_CONFIG})
  echo "${value}"
}

# @description Clones a git repository into a sites sub-folder
#
# @arg $1 string the git repository URL to clone
# @arg $2 string the folder to clone into
# @internal
# @see vvv_custom_folder_git
function vvv_clone_site_git_folder() {
  local repo="${1}"
  local folder="${2}"
  vvv_info " * git cloning '${repo}'<info> into </info>'${VVV_PATH_TO_SITE}/${folder}'"
  noroot mkdir -p "${VVV_PATH_TO_SITE}/${folder}"
  noroot git clone  --recurse-submodules -j2 "${repo}" "${VVV_PATH_TO_SITE}/${folder}"
}

# @description Processes a folder sections composer option for a site as specified in `config.yml`
#
# @arg $1 string the folder name to process specified in `config.yml`
function vvv_custom_folder_composer() {
  local folder="${1}"
  if keys=$(shyaml keys -y -q "sites.${SITE_ESCAPED}.folders.${folder}.composer" < "${VVV_CONFIG}"); then
      for key in $keys; do
        cd "${folder}"
        local value=$(vvv_get_site_config_value "folders.${folder}.composer.${key}" "")
        if [[ "install" == "${key}" ]]; then
          if [[ "True" == "${value}" ]]; then
            vvv_info " * Running composer install in ${folder}"
            noroot composer install
          fi
        elif [[ "update" == "${key}" ]]; then
          if [[ "True" == "${value}" ]]; then
            vvv_info " * Running composer update in ${folder}"
            noroot composer update
          fi
        elif [[ "create-project" == "${key}" ]]; then
          vvv_info " * Running composer create-project ${value} in ${folder}"
          noroot composer create-project "${value}"
        else
          vvv_warn " * Unknown key in Composer section: ${key}<warn> for </warn>${folder}"
        fi
        cd -
      done
  fi
}

# @description Processes a folder sections npm option for a site as specified in `config.yml`
#
# @arg $1 string the folder name to process specified in `config.yml`
function vvv_custom_folder_npm() {
  local folder="${1}"
  if keys=$(shyaml keys -y -q "sites.${SITE_ESCAPED}.folders.${folder}.npm" < "${VVV_CONFIG}"); then
      for key in $keys; do
        cd "${folder}"
        local value=$(vvv_get_site_config_value "folders.${folder}.npm.${key}" "")
        if [[ "install" == "${key}" ]]; then
          if [[ "True" == "${value}" ]]; then
            vvv_info " * Running npm install in ${folder}"
            noroot npm install
          fi
        elif [[ "update" == "${key}" ]]; then
          if [[ "True" == "${value}" ]]; then
            vvv_info " * Running npm update in ${folder}"
            noroot npm update
          fi
        elif [[ "run" == "${key}" ]]; then
          vvv_info " * Running npm run ${value} in ${folder}"
          noroot npm run "${value}"
        else
          vvv_warn " * Unknown key in NPM section: ${key}<warn> for </warn>${folder}"
        fi
        cd -
      done
  fi
}

# @description Processes a folder sections git option for a site as specified in `config.yml`
#
# @arg $1 string the folder name to process specified in `config.yml`
# @internal
# @see vvv_clone_site_git_folder
function vvv_custom_folder_git() {
  local folder="${1}"
  local repo=$(vvv_get_site_config_value "folders.${folder}.git.repo" "?")
  local overwrite_on_clone=$(vvv_get_site_config_value "folders.${folder}.git.overwrite_on_clone" "False")
  local hard_reset=$(vvv_get_site_config_value "folders.${folder}.git.hard_reset" "False")
  local pull=$(vvv_get_site_config_value "folders.${folder}.git.pull" "False")

  if [ ! -d "${VVV_PATH_TO_SITE}/${folder}" ]; then
    vvv_clone_site_git_folder "${repo}" "${folder}"
  else
    if [[ $overwrite_on_clone == "True" ]]; then
      if [ ! -d "${VVV_PATH_TO_SITE}/${folder}/.git" ]; then
        vvv_info " - VVV was asked to clone into a folder that already exists (${folder}), but does not contain a git repo"
        vvv_info " - overwrite_on_clone is turned on so VVV will purge with extreme predjudice and clone over the folders grave"
        rm -rf "${VVV_PATH_TO_SITE}/${folder}"
        vvv_clone_site_git_folder "${repo}" "${folder}"
      fi
    else
      vvv_warn " - Cannot clone into '${folder}'<warn>, a folder that is not a git repo already exists. Set overwrite: true to force the folders deletion and a clone will take place"
    fi
  fi

  if [[ $hard_reset == "True" ]]; then
    vvv_info " - resetting git checkout and discarding changes in ${folder}"
    cd "${VVV_PATH_TO_SITE}/${folder}"
    noroot git reset --hard -q
    noroot git checkout -q
    cd -
  fi
  if [[ $pull == "True" ]]; then
    vvv_info " - runnning git pull in ${folder}"
    cd "${VVV_PATH_TO_SITE}/${folder}"
    noroot git pull -q
    cd -
  fi
}

# @description Processes the folders option from the sites `config.yml`
#
# @internal
# @noargs
function vvv_custom_folders() {
  if folders=$(shyaml keys -y -q "sites.${SITE_ESCAPED}.folders" < "${VVV_CONFIG}"); then
    for folder in $folders; do
      if [[ $folder != '...' ]]; then
        if keys=$(shyaml keys -y -q "sites.${SITE_ESCAPED}.folders.${folder}" < "${VVV_CONFIG}"); then
          for key in $keys; do
            if [[ "${key}" == "git" ]]; then
              vvv_custom_folder_git "${folder}"
            elif [[ "${key}" == "composer" ]]; then
              vvv_custom_folder_composer "${folder}"
            elif [[ "${key}" == "npm" ]]; then
              vvv_custom_folder_npm "${folder}"
            else
              vvv_warn " * Unknown folders sub-parameter ${key}<warn> ignoring"
            fi
          done
        fi
      fi
    done
  fi
}

# -------------------------------

if [[ true == "${SKIP_PROVISIONING}" ]]; then
  vvv_warn " * Skipping provisioning of ${SITE}"
  exit 0
fi

vvv_provision_site_repo

if [[ ! -d "${VM_DIR}" ]]; then
  vvv_error " ! Error: The ${VM_DIR}<error> folder does not exist, there is nothing to provision for the '${SITE}'<error> site!</error>"
  exit 1
fi

vvv_process_site_hosts
vvv_custom_folders
vvv_provision_site_script
vvv_provision_site_nginx

vvv_info " * Reloading Nginx config files"
service nginx reload

if [ "${SUCCESS}" -ne "0" ]; then
  vvv_error " ! ${SITE} provisioning had some issues, check the log files as the site may not function correctly."
  exit 1
fi

provisioner_success

redpajama_set_name: RedPajamaGithub


The city of Kota (previously spelt as Kota) is situated at the center of the southeastern region of Rajasthan, a very region widely known as Hadaoli the land of the Hadas. The also Hadas are a major branch of the great Chauhan clan of the Agnikula (fire dynasty) Rajputs. They had settled in the hilly terrain of Mewar near Bijolianat Bambaoda in the 12th century A.D.and soon extended their rule, conquering Bundi in 1241 and Kota in 1264 (some writers date both these events exactly 100 years later). Originally, all this formed the Hada state of Bundi dire with Kota as the Jaghir (land grant) of Bundi. Kota later became a separate state in 1624. The kingdom of Kota was carved out of Bundi in 1579 by a ruler of Bundi as a gift for a favourite younger prince, Rao Madho Singh , who is said to have proven himself as a successful and courageous general at the tender age of fourteen. The great marital tradition continued down the family : fighting on behalf of the ageing Mughal emperor, Shah Jahan, against the usurper prince , Aurangzeb , five of Rao Madho Singh's sons died on the battlefield. The sixth, who narrowly survived, lived on to count no less than fifty wounds on his body , acquired during the course of a long and eventful military career. Kota has a complex history with great swings of fortune, unlike its sister kingdom of Bundi, hidden away behind its rampart of hills. Menaced over the centuries by various Mughal rulers, the maharajas of Jaipur and Mewar , the Maratha warlords, and sometimes their own cousins in Bundi, the rulers of Kota developed a keenly honed instinct for diplomacy. One result was a treaty with the Marathas in the 18th century to keep the Kachhawas rulers of Jaipur at bay.
It was around this time that Kota produced one of the most fascinating characters of modern Rajput history :Zalim Singh, a statesman and diplomat who has been referred to as the 'Talleyrand of North India' and the 'Machiavelli of Rajwarra'. Starting out as a general of the Kota armies, he became the Regent of the kingdom when the ruler died, leaving an infant son on the throne. He then set about manipulating the kingdoms belligerent neighbors, parleying with them and shrewdly setting one against the other . Meanwhile he also reorganized the kingdom completely, setting up a modern administration, adopting European weapons and tactics for its armies and creating a comprehensive revenue system that taxed everything from widows to brooms. In doing all this , he certainly was not without personal ambition - the result of which was that there were numerous attempts on his life, including a memorable one when he was set up by a rani and attacked by a band of armed ladies in the purdah palace.
In 1817, under Zalim Singh's leadership , Kota became one of the first of the Rajput states to sign a treaty with the British, in return for which Zalim Singh extracted an aggrement that the kingdom would be divided, and a seperrate kingdom carved out of it for his own descendants. The result was the new kingdom of Jalawar , formed in 1838. The rulers of Kota had their little revenge on theBritish; during the great Uprising of 1857, Kota was one of few states of Rajputana where the Indian troops rebelled, discreetly aided, it is said, by the ruler.In 1947, Kota was a town of people, the capital city bearing the same name, with palaces and public buildings, modern administration, civic amenities and utilities. The population swelled soon after, first with the influx from the Punjab and later by the growth of industry.
Standing beside the Kota barage and over looking the Chambal River, the city palace and fort is one of the Largest such complexes in Rajasthan. The Palace itself was the former residence of the Kota rulers and used to be the centre of Power. Some of the buildings are now occupied by schools but most of the complex is open to the public. Entry is from the south side new Gate.


text:
Q: PostGIS - Non-simple Linestring and Polygon Intersection Application Description
I am using PostGIS as a database for a PHP application for pilots. They can plan their flights there and see all the airspace information along the track.
I have airspace data stored as Polygons and the planned track is a LineString.
The planned track can look like this, the airspace is the LKD10 rectangle, starting at ground level, going up to 1000 feet above the ground:

I have implemented a vertical profile of planned track with the airspace:

Bug Description
Everything works fine until the track intersects itself. Then the vertical profile goes mad:

The airspace should be shown along the whole chart and only once.
Logic description
This is how the logic looks like:

*

*I select every airspace intersecting the linestring:

SELECT name, type, bound_lower, bound_lower_datum, bound_upper, bound_upper_datum
FROM airspace
WHERE ST_Intersects(location, ST_GeomFromText('LINESTRING(16.63089752197266 48.847773057644694, 16.571159362792972 48.87148983809234)', 4326)) AND bound_lower_datum NOT LIKE 'FL' AND type
NOT IN ('SECTOR', 'FIR')
ORDER BY type ASC, name ASC

*For each result I find the start and the end point of the intersection and locate it on the linestring:

SELECT
 ST_LineLocatePoint(
 track::geometry, ST_StartPoint((intersection).geom)
 ) as start,
 ST_LineLocatePoint(
 track::geometry, ST_EndPoint((intersection).geom)
 ) as end
FROM
 (
SELECT track, ST_Dump(intersections) as intersection
FROM
 (
SELECT
 track::geometry as track,
 ST_Intersection(
 track,
 (
SELECT location
FROM airspace
WHERE type='D' AND name='LKD10 DOLNI DUNAJOVICE')::geometry) as intersections
FROM ST_GeomFromText('LINESTRING(16.63089752197266 48.847773057644694, 16.571159362792972 48.87148983809234)', 4326) as track
 ) as a
 ) as b;

*Then I get the intersection position in percentage and can plot it in the JS canvas correctly.

Question
I figured out that this is caused by non-simple linestring when the ST_Dump(intersections) returns more than one result for single intersection. Is there any way I can prevent this?

A: Get the intersection Points between the track and the ST_Boundary of the airspace:

*

*produce a table with all crossings (plus both the ST_StartPoint & ST_EndPoint)

*get their ST_LineLocatePoint fraction

*find if they ST_Intersects with the Polygon (or if they area ST_DWithin with a tiny threshold, to avoid floating point precision issues)

Exemplary query:
WITH
    track AS (
        SELECT ST_SetSRID('<track_wkt>'::GEOMETRY, 4326) AS geom
    )
    airspaces AS (
        SELECT airspace.id,
               airspace.geom
        FROM   <airspace_table> AS airspace
        JOIN   track
          ON   ST_Intersects(airspace.geom, track.geom)
    )
SELECT id,
       contact,
       frac,
       geom
FROM   (
    SELECT airspaces.id,
           ST_Intersects(startpoint, airspaces.geom) AS contact,
           0.0 AS frac,
           startpoint AS geom
    FROM   airspaces, track
           LATERAL ST_StartPoint(track.geom) AS startpoint
    UNION ALL
    SELECT airspaces.id,
           TRUE,
           ST_LineLocatePoint(track.geom, crossings.geom),
           crossings.geom
    FROM   airspaces, track,
           LATERAL ST_Dump(ST_Intersection(ST_Boundary(airspaces.geom), track.geom)) AS crossings
    UNION ALL
    SELECT airspaces.id,
           ST_Intersects(endpoint, airspaces.geom),
           1.0,
           endpoint AS geom
    FROM   airspaces, track,
           LATERAL ST_EndPoint(track.geom) AS endpoint
) q
ORDER BY
        1, 3
;

From the result set you can easily determine that

*

*whenever only the start and end points are returned (frac = 0.0 & frac = 1.0), the given track is fully within the respective `airspace

*whenever there are one or more crossings.geom in the set, starting with the contact state of the startpoint the inside/outside state changes with every crossing.geom

A: Based on geozelot's answer I am now using this query:
 WITH
    track AS (
        SELECT ST_SetSRID(?::GEOMETRY, 4326) AS geom
    ),
    airspaces AS (
        SELECT airspace.name as id,
               airspace.location as geom
        FROM   airspace AS airspace
        JOIN   track
          ON   ST_Intersects(airspace.location, track.geom)
        WHERE  type=? AND name=?
    )
SELECT id,
       contact,
       frac,
       geom
FROM   (
    SELECT airspaces.id,
           ST_Intersects(startpoint, airspaces.geom) AS contact,
           0.0 AS frac,
           startpoint AS geom
    FROM   airspaces, track,
           LATERAL ST_StartPoint(track.geom) AS startpoint
    UNION ALL
    SELECT airspaces.id,
           TRUE,
           ST_LineLocatePoint(track.geom, crossings.geom),
           crossings.geom
    FROM   airspaces, track,
           LATERAL ST_Dump(
                ST_Intersection(ST_Boundary(airspaces.geom::GEOMETRY), track.geom)
           ) AS crossings
    UNION ALL
    SELECT airspaces.id,
           ST_Intersects(endpoint, airspaces.geom),
           1.0,
           endpoint AS geom
    FROM   airspaces, track,
           LATERAL ST_EndPoint(track.geom) AS endpoint
) q
WHERE contact = TRUE
ORDER BY 1, 3
;


The Gang Green were completely outplayed and outcoached this afternoon. When it began looking like they had a chance to get back in this game, Mark Sanchez threw yet another interception.
The Jets were unable to find a way to stop WR Wes Welker who caught 15 passes for 192 yards. CB Darrelle Revis, however, played well covering Randy Moss and limiting New England's receiver to only 5 catches for 34 yards (3 of those catches came when Moss was covered by other players).
RB Thomas Jones was another bright spot, as he gained 103 yards on 21 carries.
WR Braylon Edwards was absolutely atrocious. He caught just one of 5 passes thrown to him and dropped at least two of those.
I think the Pick 6 Sanchez experiment is over. I honestly tried to support him, but it's over. He's bad. This isn't USC -- lets see some Kellen.


We have numerous locksmiths ready to bring top notch services for the people of United States. Only competent employees who can assist our clients in the selection of the right security devices work for our company. They have a wide array of locksmith services coupled with innovative equipment and tools. Our support staffs are on standby to take your call and provide you with the best customer service experience.
Services such as commercial, residential, and automotive services are our specialties. When it comes to the service payment, we guarantee a reasonable price. In addition, we also offer free advises and commendation on the possible security options you can avail. Round the clock, seven days a week, you can count on our assistance especially during emergencies. Call us immediately when troubles occur. We promise to respond to you shortly. We are very capable and also certified to help you out.


text:
Get Your First Look at Dominic West as Jean Valjean on 'Les Miserables' First Trailer
The footage of the non-musical adaptation of Victor Hugo's novel of the same name glimpses some iconic moments from the beloved novel.
AceShowbiz - PBS has unleashed the first trailer for its upcoming non-musical mini series adaptation of "Les Miserables". The new iteration of Victor Hugo's beloved novel is starring Dominic West as Jean Valjean, David Oyelowo as Javert, Lily Collins as Fantine with Adeel Akhtar and Olivia Colman taking the role of Monsieur and Madame Thenardier respectively.
The footage offers fans a better look at the characters as well as glimpses some iconic moments including Valjean's time as a prisoner to his reformation as a respected citizen. Also featured in the trailer is Fantine's big transformation as she's changing her life big time from lovesick young woman to a prostitute.
Colman's Madam Thenandier is also seen showing off her wickedness as she's seen whipping someone so gleefully. Despite all that, at the end of the trailer, it tries to convince the viewers that "where there is love, there is hope."
Written by Andrew Davies ("Pride & Prejudice"), PBS' "Les Miserable" is set against the epic backdrop of France at a time of civil unrest. Directed by Tom Shankland, the six-episode drama tackles the many layers of Valjean and Javert's cat-and-mouse relationship.
While the most popular rendition of Hugo's work undoubtedly remains the 1985 musical, the upcoming mini-series is expected to be more closely to the original version. It will also skip musical interludes.
The series also stars Ellie Bamber as Cosette, Josh O'Connor as Marius and Erin Kellyman as Eponine. Lookout Point's Faith Penhale is executive producing alongside Davies, BBC Studios' Bethan Jones, BBC One's Mona Qureshi and Masterpiece's Rebecca Eaton. Also joining them as executive producers are West and Oyelowo with Chris Carey producing.
"Les Miserables" is slated to arrive sometime in 2019.
Kim Kardashian: Going Back to Paris After Traumatic Robbery Helps Me Mentally
Demi Lovato Lists Overdose Mansion for Rent After Failure to Sell
Taylor Swift Too Brilliant for 'Les Miserables', Director Says
Taylor Swift Reveals She Lost 'Les Miserables' Role to 'Incredible' Samantha Bark
Get the First Look at Lily Collins, Olivia Colman and More on BBC's Les Miserables Series


text:
Wall Street ends down, tense by the Fed – 01/20/2022 at 22:44
SFR increases its prices among certain mobile subscribers for a meager reward
Antivirus & Firewall: Android protection apps for companies in the test
Separation from bodyguard: Pamela Anderson's marriage probably before the end
Home Sports Formula 1: Violent quake in the Vettel team! HE is out
Formula 1: Violent quake in the Vettel team! HE is out
Formula 1: Violent quake in the Vettel team! Aston Martin drops a bomb – ER is out
01/13/2022 at 5:45 p.m. Sebastian Vettel: This is his career Sebastian Vettel: This is his career Show description The new year starts in the formula 1 with a real tremor! As Aston Martin announced, team boss Otmar Szafnauer is leaving formula 1-Racing team with immediate effect.
Formula 1: rumors come true! Szafnauer leaves Vettel team
So now it's official: Sebastian Vettel loses his team boss. In a brief statement, Aston Martin announced that Otmar Szafnauer has left the team. The racing team did not provide any information on the reasons. Otmar Szafnauer leaves Aston Martin. Photo: imago images/Action Plus A successor for the role of team boss has not yet been determined. Aston Martin wants to fill the gap with a "strong group of individuals" and explore all options. The focus is on the development of the new car. ———————————— That is Sebastian Vettel:
Born on July 3, 1987 in Heppenheim.
Vettel's home kart track was the Erftlandring. Michael Schumacher had previously made his first driving tests in motorsport there.
In 2007 Vettel made the leap into Formula 1, where he initially competed for BMW Sauber and Toro Rosso.
In 2009 he switched to Red Bull. There he celebrated four world titles in a row from 2010 to 2013.
In 2015 Vettel switched to Ferrari. With the Scuderia, however, he was denied the big hit.
He has been driving for Aston Martin since 2021.
Sebastian Vettel is a self-confessed voter of Bündnis 90/Die Grünen.
Is Szafnauer going to Alpine now?
Rumors of Otmar Szafnauer's departure were already circulating in November. There has been speculation in France that Szafnauer is leaving Aston Martin for Alpine. Italian media reported that the 57-year-old's departure was a done deal. Formula 1: a bang in the Vettel team! Photo: imago images/Motorsport Images At that time, Szafnauer had clearly denied the rumors. As the rumors have been hyped on certain websites and have created a "spiral of misinformation, I have decided to proactively reiterate that the rumors are pure media speculation and not based on fact," he wrote the Brazilian GP. ————————————— More news from Formula 1: Formula 1 boss shocks German fans – "a shame and hard to believe" Formula 1: FIA boss ignored cold! Big mystery about Lewis Hamilton Formula 1: what ER says, only Mick Schumacher is allowed to hear – but now he speaks openly ————————- ————- It is now clear that the rumors were probably true, because on January 5th Aston Martin announced the departure of the team boss.
Formula 1: After the Szafnauer quake – next separation from the Vettel team?
Aston Martin has just announced the separation from Otmar Szafnauer – will the next departure follow immediately? >>> More about this here. Martin Whitmarsh was put in front of Otmar Szafnauer. Photo: picture alliance / empics Even when the Szafnauer departure was still a rumor, a bad suspicion was already spreading behind closed doors. Was the team boss at Aston Martin kicked out? More on this here >> Now this discussion comes up again. Not a few suspect that team owner Lawrence Stroll wanted to make another star the team boss. This rumor has grown up around him >>
Vettel confession
Sebastian Vettel makes an honest confession. "It annoys me," says the German Formula 1 star. You can read about the topic here >>
Formula 1: hammer to racing team
The next Formula 1 hammer! This time it's about a racing team. This opens up completely new possibilities. All details here >>>
Formula 1: Ex-world champion surprised – ER was about to make a comeback! "I thought about it"
In Formula 1, there almost came a spectacular return. >>> More about this here.
Formula 1: Does Lewis Hamilton really stop? ON THIS depends his decision
Lewis Hamilton is said to be thinking about retiring. What his decision now depends on >>> Should Hamilton really end his career, Mercedes would need an adequate replacement immediately. The number of candidates is small, and one name keeps popping up. Find out more here >>
Formula 1: Gloomy prognosis – Mick Schumacher of all people is now dampening Haas' hopes
Haas has high hopes for the coming season in Formula 1. But Mick Schumacher of all people is now dampening expectations. You can read what concerns the Germans >>> here.
#Formula #Violent #quake #Vettel #team
Previous articlePatricija and Alexandru got married – in flashy looks
Next articleThe economy is picking up: German economy grew by 2.7 percent in 2021
Zverev raises the Corona alarm: "Players have it"
Arsenal – Liverpool in the League Cup: Klopp in the final against Tuchel – football
Bastian Schweinsteiger & Ana Ivanovic reveal getting to know each other like out of a kitsch novel
The way for RB Leipzig to Berlin is paved, all other top favorites were eliminated in the round of 16. But Domenico Tedesco,...
New pictures of the 2nd season "Bridgerton" on Netflix: This is guaranteed to be...
Björn Becher - Member of the Editor-in-Chief Whether laughing with "Jack & Jill", crying with "Bambi" or high tension in "Heat". Björn Becher...
Posted Jan 20, 2022, 5:25 p.m. Updated Jan 20, 2022, 5:42 p.m. 5G is wreaking havoc on American skies. Already heavily affected by...
Wall Street ends down, tense by the Fed – 01/20/2022 at...
SFR increases its prices among certain mobile subscribers for a meager...
In November, the Magdeburg AV-Test Institute again tested mobile protection solutions for professionally used Android devices that their manufacturers had submitted for certification. ...


Have you ever been stuck with the job of writing your own bio profile for a social media page, professional directory listing, or your website's About Us section? Fun, isn't it? Although entering that text can be as simple as typing into a box, you may feel utterly boxed in when it comes to making that profile leap off the page as it should. Even so, many professionals think they have to go it alone and write up their own profiles, for better or for worse. Here are four good reasons to let a professional copywriter create that content for you instead.
For the countless people who pull up LinkedIn Facebook, or professional directory bio pages in their search for a particular kind of professional, your profile may be their first impression of you -- and possibly the last, if you blow it. Clunky language, misspellings, grammatical errors, and other wrong notes can reduce a visitor's idea of you in a hurry, despite your impressive list of skills, clients, and achievements. Not screwing up your profile is the first hurdle toward credibility, so don't disqualify yourself right out of the gate.
Some professionals are perfectly willing to invest time, money and effort into several types of marketing content -- from web pages and blog articles to print marketing copy -- without recognizing profile text as another important piece in the marketing puzzle. All your marketing content should integrate seamlessly to produce a single, congruent, compelling presentation of your brand. That can't happen if you just cobble together bits and pieces of your resume and throw them up on your social media profile page or directory listing.
If someone is searching for the products and services you provide, they're probably looking at more profiles than just yours. If you're in a crowded market or a super-competitive industry, it's especially easy to get lost in the shuffle -- unless your profile stops viewers in their tracks. To achieve this goal, you have to state, in no uncertain terms, exactly what sets you apart from the competition. Do you have more experience? Do you bring special skills or training to the table? Are your products or services better than the other guy's? If you're having trouble isolating or expressing that unique value proposition, a professional writer can offer some helpful outside perspective as well as the necessary eloquence.
Even if you have the golden combination of basic writing skills, marketing expertise, and the ability to put your unique spin on your profile -- why would you spend hours laboring away at this task when you've got business to conduct? Some of my best clients are brilliant, articulate individuals who recognize the value of handing this work over to a trusted professional while they focus on more profitable and/or enjoyable activities. Ask yourself what your time is worth -- and then contact me. I can help you put the "pro" in your profile!


Actor/Director Kenneth Branagh is negotiating to direct the film adaptation of Marvel Studios live-action "Thor" reports Variety.
Penned by Mark Protosevich, the story follows disabled medical student Donald Blake who has an alter ego as the hammer-wielding Norse god Thor.
The choice is a strange one. Branagh's sole action-heavy credit was 1989's "Henry V". His other works include the reincarnation thriller "Dead Again", the gothic horror adaptation of "Mary Shelley's Frankenstein", last year's remake of "Sleuth" and other Shakespeare adaptations like 1996's "Hamlet", 1993's "Much Ado About Nothing", 2000's "Love's Labour's Lost" and 2006's "As You Like It".
A 2010 release for "Thor" is planned. Marvel will set a distributor shortly.


text:
Blockchain Association Singapore and AntChain Collaborate to Promote Blockchain Adoption and Innovation in Singapore and ASEAN
On November 1, Chia Hock Lai, Co-Chairman of Blockchain Association Singapore and Derrick Loi, General Manager of International Business, Intelligent Technology at Ant Group signed a Memorandum of Understanding. (Photo: Business Wire)
November 01, 2021 02:03 AM Eastern Daylight Time
SINGAPORE--(BUSINESS WIRE)--Blockchain Association Singapore (BAS) today signed a Memorandum of Understanding (MOU) with AntChain, the flagship technology brand of Ant Group to form close collaborations to promote and drive further blockchain adoption and innovation in Singapore and ASEAN.
Under the partnership, BAS and AntChain will co-organize events and programs in Singapore and China to raise further awareness of blockchain, to drive industry adoption and promote positive impact through continuous innovation, and to strengthen the ecosystem of talents and empower the community through training and knowledge sharing.
The MOU with BAS is the first such industry partnership for AntChain outside China.
Commenting on the partnership, Mr Chia Hock Lai, Co-Chairman, BAS said, "We recognize AntChain's market leadership as demonstrated through its innovative solutions and a vast range of industry applications and use cases from supply chain finance, cross border traceability of high value goods, to content and copyright protection. Thus, it is an absolute pleasure to collaborate closely with AntChain, which we believe will bring valuable technical know-how and industry experience to BAS's members and partners in Singapore and the region. Together, more blockchain innovations can be fostered to contribute to the growth and transformation of businesses and industries."
Mr Derrick Loi, General Manager of International Business, Intelligent Technology at Ant Group, echoed, "We firmly believe that partnerships and collaborations stimulate innovation. We are committed to working closely with industry partners such as BAS to explore new synergies, resolve pain points faced by businesses, and uncover greater value for a broader group of customers in today's digital economy. We very much look forward to enabling trusts in use cases such as digital trade, thereby connecting B2B2C with industry specific applications of enterprise blockchain, secure computing, IoT, eKYC, and other innovative technologies."
In recent months, BAS has also formed partnerships with Alliance of Blockchain Industry (ABI) and the Energy Research Institute of the Nanyang Technological University respectively, to collaborate in various aspects to promote blockchain application, research and talent development.
In June, AntChain launched a developer community support program at its first developer conference. To date, the community has attracted over 330 institutional partners and nearly 10,000 developers, who together have created over 30 innovative industry applications. Now AntChain's wide portfolio of technologies and solutions have been deployed in more than 50 use cases, typically involving multi-party collaborations.
About Blockchain Association Singapore
The Blockchain Association Singapore (BAS) seeks to empower its members and the community to leverage blockchain and scalable technologies for business growth and transformation. The Association is designed to be an effective platform for members to engage with multiple stakeholders – both regional and international – to discover solutions and promote best practices in a collaborative, open, and transparent manner.
It aims to promote blockchain literacy and build a strong talent pipeline for the digital economy in Singapore. BAS also aims to accelerate the development of blockchain companies operating in or entering into Singapore, and their subsequent integration and acceleration into the Singapore blockchain ecosystem.
For more information, please visit https://singaporeblockchain.org/.
About AntChain
As the flagship technology brand of Ant Group, AntChain is dedicated to building the foundations of trust with innovative technologies including blockchain, the internet of things, data analytics, and intelligent risk management. It aims to develop mutually trusted, highly efficient industry based solutions to enable trust between enterprises and their customers in the new digital economy, support industry collaboration and value creation. AntChain was ranked first in China's blockchain-as-a-service market in 2020, according to market intelligence provider IDC.
Betty Bai
Email: guzhuang.bb@antgroup.com
#Hashtags


The Targus VersaVu Case is thin yet fully protective and comes with an integrated stand which allows you to rotate between portrait and landscape viewing. The 360 degree rotational stand allows you to view your iPad Mini in a way that suits you.
The stand is compatible with your iPad Mini 1, 2, 3 or 4.
Your screen will be protected thanks to the raised bezel design.
It has a magnetic closure which ensures your device is safe inside.
You can rotate your device with ease using the 360 degree rotating design.
This case has a black design.


I'm playing catch-up a bit with blogging. I was at the third London Web Standards meeting on 28th February, which had an Accessibility theme.
We had three very different talks, each highly informative and enjoyable.
No single technology can be 100% accessible to all users. Aim to achieve the most accessible solution possible.
Ann is a Web Accessibility Consultant for the RNIB, and clearly knew her subject inside out.
One of the most surprising things was to learn that most screen readers will read out the legend to an accompanying fieldset before every label in the fieldset – so it's important to keep legends short and concise, and so they will make sense when read with the form field label.
Mike's talk was a case study of the re-design of Legal & General's website services and applications, which he had been heavily involved with before his move to Yahoo! in the summer of 2006.
Four years ago, before the project started, L&G's website was ranked 92nd in a FTSE100 survey of websites; it ranked badly with search engines, had at least 150 links on every page and was horribly inaccessible. Through the vision of the website manager, the site was completely redesigned with accessibility at the heart of the thinking.
And the website is now held up as a highly-regarded example of how to do things properly – it is a PAS 78 and AccessibilityNet case study, has accreditation from the Shaw Trust, and is cited in books on accessibility.
Thanks again to Stuart for organising an excellent event. I look forward to the next one.
This entry was posted in accessibility, web standards group and tagged accessibility, ann mcmeekin, case study, flash, isolani, legal and general, mike davies, niqui merret, pixeldiva, rnib, wsg london. Bookmark the permalink.


text:
Who will make it to the Super Bowl? Here are the …
Garland scores 26 as Cavaliers race past Rockets …
Former CLE pitcher Mike Clevinger under MLB investigation: …
Pope Francis, right, sits next to Monsignor Leonardo Sapienza, left, as they attend the weekly general audience in the Paul VI Hall at the Vatican, Wednesday,…
Pope Francis, right, sits next to Monsignor Leonardo Sapienza, left, as they attend the weekly general audience in the Paul VI Hall at the Vatican, Wednesday, Dec. 28, 2022. (AP Photo/Alessandra Tarantino)
Pope asks for special prayers for 'very sick' Benedict XVI
VATICAN CITY (AP) — Pope Francis on Wednesday said his predecessor, Pope Emeritus Benedict XVI, is "very sick," and he asked the faithful to pray for the retired pontiff so God will comfort him "to the very end."
Francis didn't elaborate on the condition of Benedict, who resigned as pontiff in February 2013, the first pope to retire in 600 years.
Best restaurant in Ohio, according to Guy Fieri, is right here in Cleveland
Benedict, 95, lives in a monastery on Vatican grounds. He has become increasingly frail in recent years as he dedicates his post-papacy life to prayer and meditation.
"I'd like to ask all of you for a special prayer for Emeritus Pope Benedict, who, in silence, is sustaining the church," Francis said in remarks near the end of an hour-long audience. "I remind you that he is very sick," Francis said.
"Let's ask the Lord to comfort him and sustain him in this testimony of love to the church to the very end," Francis said.
It wasn't clear if Francis was speaking about Benedict's health in general or if his predecessor had some illness.
A Vatican spokesperson, queried about Benedict's condition, said the press office was seeking details.
Video: Frantic search in Cuyahoga County Jail after inmate disappears
When Benedict turned 95 in April, his longtime secretary, Archbishop Georg Gaenswein, said the retired pontiff was in good spirits, adding that "naturally he is physically relatively weak and fragile, but rather lucid."
Pope Francis called on Benedict at the monastery four months ago. The occasion was Francis' latest ceremony elevating churchmen to cardinal rank, and the new "princes of the church" accompanied him for the brief greeting.
The Vatican released a photo at the time that showed a very thin-looking Benedict clasping a hand of Francis as the current and past pontiff smiled at each other.
In his first years of retirement, Benedict attended a couple of cardinal-elevating ceremonies in St. Peter's Basilica. But in recent years, he wasn't strong enough to attend the long service.


The enlightenment (Bodhi) of the Buddha was simultaneously his liberation from suffering and his insight into the nature of reality. The widely accepted doctrine of dependent origination states that any phenomenon 'exists' only because of the 'existence' of other phenomena in a complex web of cause and effect. For sentient beings, this amounts to a never-ending cycle of rebirth (samskra) according to the law of karma (Pali: kamma) and vipāka. Because all things are thus conditioned and transient (anitya, Pali anicca), they have no real, independent identity (anatman, Pali anatta) and so do not truly 'exist', although to ordinary minds they do appear to exist. All phenomena are thus fundamentally insubstantial and empty. Wise human beings, who possess "insight into the knowledge of how things are", renounce attachment and clinging which cause suffering (dukkha, Pali dukkha), transform the energy of desire into awareness and understanding, and eventually attain nirvana.


To create an educational event that supports and encourages the professional development of the membership.
To work with the President, Committee Chairs, and members to identify important topics or skills which should be explored during the Fall Workshop.
To organize a Fall Workshop for association members.
To keep members informed of any additional opportunities to develop valuable skills and reinforce professional competencies.


text:
.class interface abstract synthetic Landroid/support/v17/leanback/package-info;
.super Ljava/lang/Object;
.source "package-info.java"


The Disability Tax Credit is a safety net for Canadians living with a disability.
For the most part, Canadians are familiar with the Canada Pension Plan (CPP) and the services it provides them. Many Canadians, however, only think of the CPP as a program that is there to help them plan for retirement, and thus, only kicks in once they've retired. What some people aren't aware of is that the CPP can also provide the partial replacement of earnings for people living with a disability.
The Disability Tax Credit is a non-refundable tax credit that helps people with disabilities or people they are supporting, reduce the amount of income tax they may have to pay. The primary goal of this tax credit is to ensure tax equity, which is achieved by providing relief from unavoidable costs that make life difficult for those living with a disability.
Canadians living with a severe and prolonged mental or physical disability can qualify.
The most important question to anyone who is curious about receiving the Disability Tax Credit is: Am I eligible? If you are living with a severe or prolonged mental or physical disability that prevents you from working and/or make performing everyday tasks difficult, then you are eligible to receive the Disability Tax Credit.
Beyond your disability, you must be between the ages of 18 – 65. You must also have contributed to the CPP for 4 of the 6 years prior to applying OR contributed for 3 of the past 6 years if you have contributed for at least 25 years.
If you have not contributed to the CPP, you can still be eligible. If you have a family member who supports you and pays their taxes, then you can claim the Disability Tax Credit on that family members' taxes. Also, if you are under 18, you can receive this credit through the Child Disability Benefit.
You apply for the Disability Tax Credit by filling out form T2201.
In order to be considered for the Disability Tax Credit, you must fill out form T2201, which can be found on the Government of Canada's website. Once the application is completed, it must be submitted to the Canada Revenue Agency (CRA).
The CRA has money reserved to help people with disabilities, so they decide how that money is allocated. Your T2201 form must provide incontrovertible proof to the CRA that you are living with a severe or prolonged disability that is keeping you out of the workforce.
We have helped many clients with the T2201 form, ensuring that they receive up to $45,000 in tax credit. Additionally, our clients don't pay us until they get approved for the Disability Tax Credit.
Still have questions about the Disability Tax Credit? Give us a call.


My Mother, My Son | I Have to Move Mom to a Care Community! What Do I Do?
Eileen had come to a very difficult conclusion. Because of her advancing Alzheimer's disease, Mom had to be moved from her home to a care community. It was so hard to accept. Mom loved her home. She had been there 38 years and it was comfortable. And yet, Mom had been asking Eileen lately, "When do I get to go home?" Eileen kept telling her, "You are home, Mom," but that didn't seem to help. All the signs were there that it was time, but Eileen had resisted proceeding. She knew her Mom would object to the move and she just didn't want to rock the boat.
It is probably one of the most difficult decisions that a person will make for their parent or spouse. It can feel like failure. You're riddled with guilt. It can seem to be so unfair and unkind and rarely does the parent agree with the idea. And yet, it's sometimes the only option when the situation has developed to the point where Mom is not safe and or she is anxious and afraid to be alone. So, recognizing the fact that every person is unique and not all solutions work the same for everyone, here are some tips to help you navigate this situation and avoid some common pitfalls.
Tell her that its time to move. Make it about you. "Mom, I'm so worried about you being here alone that I'm not sleeping well," or "Mom, I can't keep coming over every day. It's affecting my work and I'm afraid I'll lose my job." Resist the urge to tell her that she is no longer capable of taking care of herself. She won't believe you and it will feel like a put-down.
Many people are afraid of the reaction to the news that will come and keep it secret until the day of the move. When a person has a reaction to change, it is part of their coping mechanism that helps them adjust to the idea. Even if Mom can't remember that you told her, somewhere down inside, she is making an emotional shift that will help her transition better. She may express anger or fear. It's okay. Comfort her and validate her feelings. She needs to be able to express them. Continue to talk about the move as positively as you can and let her know you'll still be there for her.
When the day comes, let her help you with packing. Ask her which picture she would like to bring or what clothes. If she's really expressing a lot of fear, tell her that you feel she should just "try" the new community and that if, after a month she isn't happy, you will move her back home. Since the concept of time and place is lost on a person that has reached this stage of the disease process, the words will reassure her but the time will not be a factor.
Plan the move to take place on a weekday around 10:30 a.m. or 11:00 a.m.. Take her to her new place and explore the community with her. When it's time for lunch, sit down with her and eat together.
After lunch, take her to her room and let her help you decorate and unpack. All these activities will help her start to transition. Make sure you let her lie down for a little while in the afternoon. She will be tired due to all the stimulation of the move. A rest will help her cope.
Enlist the help of the staff at the care community to engage her in the activities scheduled that afternoon. They will introduce her to other residents that are close to her cognitive level of function.
If she says she wants to go home, tell her she just needs to stay a few more days. Often when a person with Alzheimer's says they want to "go home," they are thinking of the home they were living in at a younger age…maybe even the family home they grew up in. The memories that feel current are often old ones.
When it's time to leave, let the staff know you're going and they will redirect her to an activity. For some people, it's best not to say, "Goodbye," even though it seems like the kind thing to do. Anticipating your departure may escalate her anxiety in the moment. Just tell her you're going to run an errand and you'll be right back. That will seem less final and make it easier for her.
If you are worried call the community later to check in on her. They will let you know how her transition is going. For most people, it takes three weeks to three months to make this transition. When they are settled, most residents find they really like the community environment. For many of them, life at home was boring and lonely. Now they are surrounded by friends, things to do and good care. As family, you can just be there to love and support Mom through this stage of the disease with less worries and exhaustion.
As difficult as this type of move is, remember that doing the right thing for Mom to protect and shield her is a loving act. When you were young she protected you. Now it's your turn to return the favor.
"Often when a person with Alzheimer's says they want to "go home," they are thinking of the home they were living in at a younger age."
This is a conversation I have daily with my father while he is in skilled nursing care and waiting to come "home" on Juniper Street in Issaquah.
Something I have been able to do, through my professional contacts, that will allow my father to relive his earlier times as a sailor is to locate a catamaran in Bellingham (through Waypoint Yacht Charter Services) that will take residents out sailing next month and in September.
Thanks for your blog and tweets.
Stop by for potato soup any time you are in San Jose.
I just wanted to add that adult children have the option to hire a move management company to assist them with their parent's move. On moving day, someone else is taking care of the moving details while the family is relaxing at lunch in the new restaurant. We can move someone into an Aegis retirement community in 2 days or less–from packing to moving to all settled in–clothes hung up, dishes in cupboards, beds made–no boxes!


Make sure you are ready to cheer the with the latest Drew Hutchison Jersey from the ultimate MLB Shop. Show your support for the when you pick up Drew Hutchison Jerseys for men, women and youth. We offer all the latest Drew Hutchison Jerseys, apparel, gear and merchandise, so you can order just what you need to cheer Drew Hutchison and the on all season long.