Of all the services plumbers offer, sewer repair is probably the least understood. If you're having pervasive plumbing issues, your sewer main line may be the root of the problem. Here are our expert's answers to frequently asked questions about sewer repair, and why you might need it.
There are two ways to fix a broken sewer line: traditional sewer repair and trenchless sewer repair.
During traditional sewer repair, experts use a backhoe to dig a trench they use to access your main sewer line. Technicians locate the sewer line problem at the source and take appropriate and effective action to fix it. Traditional sewer repair is required if large segments of the sewer line need to be replaced entirely. It's very effective, but your yard will have to be partially dug up.
Luckily, traditional sewer repair isn't always necessary when there's a problem with the sewer line. Trenchless sewer repair doesn't require any digging at all! Instead, the expert inserts a special, small camera into the sewer line to inspect the inner walls of the pipe. This means no digging up yards, cracked driveways or ruined parking lots. Using live cam footage provided by the camera, the technician identifies the problem in the sewer line.
Once the problem is identified, the plumber knows how to fix it. If the line is blocked by debris or tree roots, we use a hydro jetter to clear it out. If the pipe is ruptured, we can re-line it with a resin substance called "cured in place pipe," or CIPP. CIPP can be inserted directly into the old pipe, where it will cure and harden, forming a new, unbroken pipe. If the whole length of piping needs to be replaced, we can use a process called "pipe bursting" to pull a new pipe through the old one. As the new pipe enters the old pipe, the old pipe "bursts" to make room for the new one.
Trenchless sewer repair is faster, less invasive, and usually cheaper than traditional sewer repair, but it may not be feasible in all circumstances.
How Do Sewer Lines Become Damaged?
Your main sewer line runs under the ground beneath your house and yard, but several things could still damage it.
Tree Roots: The most common source of sewer line damage. As the trees in your yard grow, their root systems push further into the ground. Roots can grow with enough force to punch through pipe walls, causing a rupture and blocking flow.
Sediment Buildup: Over time, minerals and other debris in your water may collect on pipe walls, including the walls of the sewer main line. If enough sediment builds on the sewer lines walls, it may block water flow. If the block is bad enough, pressure may build in the pipe until it ruptures.
Rust: Most sewer lines are made of metal, which means they will rust or corrode over a long enough period of time. Rusted pipes may crack or rupture. This is particularly likely if your home is old or your pipes are made of substandard material.
High Pressure: If your home's water is over pressurized, it may put your sewer line under more strain than it can handle. Over pressurized water may also wear down inner pipe walls.
Ground Shifting: If the ground around or under the sewer line shifts, the pipe may detach, bend, or break off. Earthquakes may shake up the ground enough to do this, but other natural disasters or nearby major construction may also be responsible.
you should consider having us out to at least perform a thorough inspection.
because there's a blockage in the main sewer line preventing that sewage from flowing out of your home.
Drain Blockage: If you tend to experience drain blockages frequently, or if several or all of your drains clog simultaneously, it may be because of a blockage or clog in the main sewer line.
Sewer Gas Smell: Damage to the sewer line may cause raw sewage to leak or seep out, flow back upwards through your home's pipes, or sit stagnant inside your pipes. You may be able to smell the foul-smelling gases generated by this sewage in or around your house.
Slow Draining: When build-up or clogs accumulate on your sewer line's walls, sewage may have a hard time travelling through it at a normal speed. Slowdown in the sewer line below will eventually slow down your drains, too.
Wet or Soft Spots in Yard: When sewer lines leak, they expel sewage water out into the ground around them. This sewage can permeate the ground and rise, eventually softening the yard or even flooding it.
How Do I Get Sewer Repair?
Call or schedule a consultation with a Mike Diamond professional online today. We'll be able to help you figure out what's wrong with your sewer and solve the problem in the most efficient, cost-effective, and permanent way possible. Not matter how severe or minor the problem, our expert technicians are more than ready to tackle it and come up smelling good.


This season all compliments go to designers such as Christopher Kane and Erdem since the trendiest fabrics are tulle, mousseline and organza. All eyes are on the naked shoulders, flat belly or the hips. Transparent dresses such as Roberto Caballi's iconic white dress are very fashionable.
Everything is transparent this season – trousers, shirts, beach tunics, etc. Even the night dresses are made from different layers of air fabrics and the pearl of Jason Wu's collection looks like it was created from pieces of the night sky.
Transparent fashion obsesses the senses so much – even make-up stays behind. Hair is smooth and nail polish is colorless. The sexiest trend calls for unveiling your secrets! It is very easy, especially if you are bold and have perfect body.


Cheshire East Council has splashed out with £3,000 to boost a local swimming club.
In a visit to the recently-refurbished Nantwich Swimming Pool, Council Leader Michael Jones presented a grant cheque to Nantwich Seals.
Councillor Jones said "It was great to be there with the Nantwich Seals at the start of their gala to present a much-needed grant.
"We are giving this funding to encourage and support these activities for young people, enabling cheaper fees and getting more children swimming.
Dave Thomson, chairman of Nantwich Seals, said: "I'd like to thank Cllr Jones and the hard working staff at Cheshire East for all their support – and particularly for the grant of £3,000 to help the club.


text:
Ovarense Basquetebol is a professional basketball team that plays in Ovar, Portugal. The team plays in the LPB. The Ovarense created its section of basketball in 1970, with the initiative of a member entrepreneur, João Gonçalves, but in this period of time managed to assert itself as one of the standards and the inevitable reference method in Portugal.

History
Between 1976–77 and 1978–79, Ovarense ascended from third to first, on the national level, indicating that the team's basketball vocation was strong. The club never fell from its division, and the arrival of two Americans at the end of the 80s gave the team the quality required to raise its level.

Honours
 Liga Portuguesa de Basquetebol: 5
1987–88, 1999–00, 2005–06, 2006–07, 2007–08
 Taça de Portugal: 3
1988–89, 1989–90, 2008–09
 Supertaça de Portugal: 8
1988, 1990, 1993, 2000, 2001, 2006, 2007, 2008
 Taça da Liga/Hugo dos Santos: 3
1991–92, 1996–97, 2000–01
 Troféu António Pratas LPB:2
2009, 2014
 Torneio dos Campeões: 3
2004–05, 2006–07, 2007–08

Notable players

  Mario Elie
  Nate Johnston
  Anthony Pullard
  Jason Sasser
  Michał Ignerski
   Greg Butler [unknown number of seasons]

References

External links
 http://www.ovarense.pt// Official site]
Ovarense – Eurobasket.com

Basketball teams in Portugal

redpajama_set_name: RedPajamaWikipedia


text:
Dispatches From Cleveland
Derek Hunter | Jul 20, 2016
I'm in Cleveland – affectionately known as "the mistake by the lake" – for the Republican National Convention. This is the third GOP convention I've attended. Each have had their moments of weirdness, but this one has managed to cram an awful lot in the first two days.
I get it. Donald Trump isn't a politician, so you can't expect political correctness and all of that. But we aren't talking about political correctness; we're talking about basic competence.
Paul Manafort, we were told, was hired because of his ability to organize a convention to ensure there were no challenges to Trump in the rules committee or on the floor. Manafort worked his arm-twisting magic to thwart attempts to unbind the delegates, but he forgot to manage what happens on the stage.
Monday at the convention was a disaster.
It wasn't just one thing; it was all things. Even the victories were ultimately defeats. For a convention organized by a "convention expert," there were a lot of rookie mistakes.
Manafort started the day by taking an unnecessary swipe at Ohio Gov. John Kasich for not attending the convention. Think what you will of Kasich's decision to skip Cleveland, he's a popular governor in a crucial state in the fall election.
Alienating his supporters was self-destructive. Simply say, "We wish he were here, but he's not. We're focusing on the convention and uniting the party." That's it, and move on. Manafort didn't do that.
Beyond the floor fights and fumbling, there were a lot of unforced errors by Team Trump.
First was the speaking order. Donald's wife, Melania, was the headliner, yet she didn't end the night. Why not?
When Melania was done, so were the delegates. But the speakers weren't. Why have speeches after the headliner? The opening band doesn't play after Guns 'N' Roses.
This scheduling snafu left Lt. General Michael Flynn speaking to a half-empty hall. Horrible optics for an important speech from a man of substance.
After the scheduling issues, the morning was greeted by charges of plagiarism in Melania Trump's speech. They were insignificant but important. As a writer, plagiarism is offensive, though what she's been accused of is small, it matters. The handling of it – sort of admitting it, then denying it, then defending by citing "My Little Pony" – gave the story legs it otherwise wouldn't have had. Another unforced error made worse by the reaction to it.
With Monday in the rearview mirror, hopes were high for Tuesday night. With floor fights pretty much over, all that had to happen was people delivering prepared speeches.
The theme of the night was to be "Make America Work Again," but you'd never know it by the words delivered from the podium.
With the exception of an excellent speech from Donald Trump, Jr., Speaker of the House Paul Ryan, and a former soap opera actress turned avocado farmer, jobs and the economy were absent.
Tiffany Trump delivered a short, sweet "I love my dad" speech, well delivered by a young, poised, recent college graduate. But it wasn't a "move the needle" speech.
Donald Jr. could have a future in politics if he wants one.
Speaker Ryan was the on-theme highlight, but he wasn't in prime time, so he wasn't seen by most of the country.
New Jersey Gov. Chris Christie delivered a red meat indictment of the corruption of Hillary Clinton. But, again, it wasn't in prime time.
Why have powerful speeches if no one hears them? It'd be like if Frank Sinatra sang only in the shower. Keeping those out of prime time was a major fumble.
Dr. Ben Carson delivered a nothing-burger of a speech, and the night awkwardly ended with a prayer from Sajid Tarar, head of Muslims for Trump. I get the reason for him speaking – the media has burned a lot of calories painting Donald Trump as an anti-Muslim bigot. But Tarar's closing prayer came two speeches after what should have been the last speech, and again, the delegates had mostly left. Horrible optics for the viewers at home.
The themes have fit together well, but who speaks and in what order also is important. Strategy matters, and Paul Manafort and his team didn't seem to have one for the first two nights of the convention.
Manafort did head off any floor challenges, but he appears to have ignored the most important part of a presidential nominating convention – what the audience at home sees. Aside from the debates, the candidates never will have this large an audience listening to them as they and their supporters deliver their vision for the country than at their convention.
There's always going to be some sand in the gears of a convention because there are so many moving parts. But to focus on the sand to the exclusion of the gears was a mistake no one saw coming. The media will highlight every mistake, try to make every straw be the one that breaks the camel's back while dusting every straw off the back of the donkey that is the Democratic nominee. It's how the media works, you know that going in and have to act/plan accordingly. So far, they haven't.
The Trump campaign has until the balloons drop and pop Thursday night to right this ship, because from the moment they fall until Nov. 8, there won't be anymore free air for their message or audiences this large to fill them. I hope I can report they do…
Tags: CLEVELAND

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: exclude counters of value 0 over a specified time range I am using the following query to find a non-increase of counters (messages) over a specified period of 12 hours.
sum by(cluster_id) (increase(messages{mms_source="wcnp",namespace="conflux-store-bridge",service=~"conflux-cpc-realtime-bridge|conflux-rialto-realtime-bridge",sinkMode!="log-sink"}[12h])) == 0
However, I want to exclude any results for counters (messages) that were strictly 0 over that time period. A counter of 0 is considered non-active, so need it excluded from the results.  Is there a way to do this?

redpajama_set_name: RedPajamaStackExchange


text:
A barn (symbol: b) is a metric unit of area equal to  (100 fm2). Originally used in nuclear physics for expressing the cross sectional area of nuclei and nuclear reactions, today it is also used in all fields of high-energy physics to express the cross sections of any scattering process, and is best understood as a measure of the probability of interaction between small particles. A barn is approximately the cross-sectional area of a uranium nucleus. The barn is also the unit of area used in nuclear quadrupole resonance and nuclear magnetic resonance to quantify the interaction of a nucleus with an electric field gradient. While the barn never was an SI unit, the SI standards body acknowledged it in the 8th SI Brochure (superseded in 2019) due to its use in particle physics.

Etymology
During Manhattan Project research on the atomic bomb during World War II, American physicists at Purdue University needed a secretive name for a unit with which to quantify the cross-sectional area presented by the typical nucleus (~10−28 m2) and decided on "barn". They considered this a large target for particle accelerators that needed to have direct strikes on nuclei, and the proposers, physicists Marshall Holloway and Richard Baker, said that the constant "for nuclear purposes was really as big as a barn". The American idiom "couldn't hit the broad side of a barn" refers to someone whose aim is very bad. Initially they hoped the name would obscure any reference to the study of nuclear structure; eventually, the word became a standard unit in nuclear and particle physics.

Commonly used prefixed versions
The unit symbol for the barn (b) is also the IEEE standard symbol for bit. In other words, 1 Mb can mean one megabarn or one megabit.

Conversions
Calculated cross sections are often given in terms of inverse squared gigaelectronvolts (GeV-2), via the conversion ħ2c2/GeV2 =  = .

In natural units (where ħ = c = 1), this simplifies to GeV−2 =  = .

SI units with prefix
In SI, one can use units such as square femtometers (fm2). The most common SI prefixed unit for the barn is the femtobarn, which is equal to a tenth of a square zeptometer. Many scientific papers discussing high-energy physics mention quantities of fractions of femtobarn level.

Inverse femtobarn
The inverse femtobarn (fb−1) is the unit typically used to measure the number of particle collision events per femtobarn of target cross-section, and is the conventional unit for time-integrated luminosity. Thus if a detector has accumulated  of integrated luminosity, one expects to find 100 events per femtobarn of cross-section within these data.

Consider a particle accelerator where two streams of particles, with cross-sectional areas measured in femtobarns, are directed to collide over a period of time. The total number of collisions will be directly proportional to the luminosity of the collisions measured over this time. Therefore, the collision count can be calculated by multiplying the integrated luminosity by the sum of the cross-section for those collision processes. This count is then expressed as inverse femtobarns for the time period (e.g., 100 fb−1 in nine months). Inverse femtobarns are often quoted as an indication of particle collider productivity.

Fermilab produced  in the first decade of the 21st century.  Fermilab's Tevatron took about 4 years to reach  in 2005, while two of CERN's LHC experiments, ATLAS and CMS, reached over  of proton–proton data in 2011 alone. In April 2012 the LHC achieved the collision energy of  with a luminosity peak of 6760 inverse microbarns per second; by May 2012 the LHC delivered 1 inverse femtobarn of data per week to each detector collaboration. A record of over 23 fb−1 was achieved during 2012. As of November 2016, the LHC had achieved  over that year, significantly exceeding the stated goal of . In total, the second run of the LHC has delivered around  to both ATLAS and CMS in 2015–2018.

Usage example
As a simplified example, if a beamline runs for 8 hours (28 800 seconds) at an instantaneous luminosity of   , then it will gather data totaling an integrated luminosity of  =  =  during this period. If this is multiplied by the cross-section, then a dimensionless number is obtained equal to the number of expected scattering events.

See also
 "Shake", a unit of time created by the same people at the same time as the barn
Orders of magnitude (area)
List of unusual units of measurement
List of humorous units of measurement

References

External links
IUPAC citation for this usage of "barn"

Units of area
Non-SI metric units
Particle physics


A few of the Most Lovely & Distinctive Tropical Botanical Gardens are Found on the Hawaiian Islands. Good Housekeeping Lab tip: Space out the pots so your vegetation have room to grow. Creating Good Garden Designs to Beautify Yard Landscaping Concepts. Whether or not a backyard is designed by an expert or an novice, certain ideas type the premise of efficient backyard design, resulting in the creation of gardens to satisfy the needs, goals and wishes of the customers or owners of the gardens.
Create a gorgeous garden in any yard with our landscaping ideas , backyard plans, and plant recommendations. Benefit from our special gives on plants on the Perfect Home garden store Our curated assortment of lovely flowers and shrubs is assured to add colour and charm to your outdoor space. The six categories – including panorama, flower and greens, and water features – embrace over one hundred fifty objects.
Outdoor lighting might be both artistic and purposeful. In the event you design your backyard, patio or decked area properly, you should utilize the house for many of the 12 months – not just the summer months. Planting will be established by straight employed gardeners and horticulturalists or it can be established by a panorama contractor (often known as a panorama gardener).
A backyard, terrace, balcony or any outside area is somewhere to be treasured. The sort of rock backyard was well-liked in Victorian times, typically designed and constructed by professional landscape architects. The designs of the Italian Renaissance backyard have been geometrical and plants were used to type areas and patterns. Be part of 1000's of design-conscious readers for exclusive presents, gardening inspiration and modern design options for enjoying outdoor spaces.
It's a supply of herbs , greens , fruits , and flowers , however it is also a structured backyard area, a design primarily based on repetitive geometric patterns. A really small backyard space doesn't essentially need a whole lot of plants. Create a ravishing garden in any yard with our landscaping ideas and plant suggestions. As one other example, a vegetable garden may must be placed in a sunny location, and if that location shouldn't be superb for the overall backyard design targets, the designer may have to vary different elements of the backyard.


text:
"""
Title: End-to-end Masked Language Modeling with BERT
Author: [Ankur Singh](https://twitter.com/ankur310794)
Date created: 2020/09/18
Last modified: 2020/09/18
Description: Implement a Masked Language Model (MLM) with BERT and fine-tune it on the IMDB Reviews dataset.
"""
"""
## Introduction

Masked Language Modeling is a fill-in-the-blank task,
where a model uses the context words surrounding a mask token to try to predict what the
masked word should be.

For an input that contains one or more mask tokens,
the model will generate the most likely substitution for each.

Example:

- Input: "I have watched this [MASK] and it was awesome."
- Output: "I have watched this movie and it was awesome."

Masked language modeling is a great way to train a language
model in a self-supervised setting (without human-annotated labels).
Such a model can then be fine-tuned to accomplish various supervised
NLP tasks.

This example teaches you how to build a BERT model from scratch,
train it with the masked language modeling task,
and then fine-tune this model on a sentiment classification task.

We will use the Keras `TextVectorization` and `MultiHeadAttention` layers
to create a BERT Transformer-Encoder network architecture.

Note: This example should be run with `tf-nightly`.
"""

"""
## Setup

Install `tf-nightly` via `pip install tf-nightly`.
"""

import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
from tensorflow.keras.layers import TextVectorization
from dataclasses import dataclass
import pandas as pd
import numpy as np
import glob
import re
from pprint import pprint

"""
## Set-up Configuration
"""

@dataclass
class Config:
    MAX_LEN = 256
    BATCH_SIZE = 32
    LR = 0.001
    VOCAB_SIZE = 30000
    EMBED_DIM = 128
    NUM_HEAD = 8  # used in bert model
    FF_DIM = 128  # used in bert model
    NUM_LAYERS = 1

config = Config()

"""
## Load the data

We will first download the IMDB data and load into a Pandas dataframe.
"""

"""shell
curl -O https://ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz
tar -xf aclImdb_v1.tar.gz
"""

def get_text_list_from_files(files):
    text_list = []
    for name in files:
        with open(name) as f:
            for line in f:
                text_list.append(line)
    return text_list

def get_data_from_text_files(folder_name):

    pos_files = glob.glob("aclImdb/" + folder_name + "/pos/*.txt")
    pos_texts = get_text_list_from_files(pos_files)
    neg_files = glob.glob("aclImdb/" + folder_name + "/neg/*.txt")
    neg_texts = get_text_list_from_files(neg_files)
    df = pd.DataFrame(
        {
            "review": pos_texts + neg_texts,
            "sentiment": [0] * len(pos_texts) + [1] * len(neg_texts),
        }
    )
    df = df.sample(len(df)).reset_index(drop=True)
    return df

train_df = get_data_from_text_files("train")
test_df = get_data_from_text_files("test")

all_data = train_df.append(test_df)

"""
## Dataset preparation

We will use the `TextVectorization` layer to vectorize the text into integer token ids.
It transforms a batch of strings into either
a sequence of token indices (one sample = 1D array of integer token indices, in order)
or a dense representation (one sample = 1D array of float values encoding an unordered set of tokens).

Below, we define 3 preprocessing functions.

1.  The `get_vectorize_layer` function builds the `TextVectorization` layer.
2.  The `encode` function encodes raw text into integer token ids.
3.  The `get_masked_input_and_labels` function will mask input token ids.
It masks 15% of all input tokens in each sequence at random.
"""

def custom_standardization(input_data):
    lowercase = tf.strings.lower(input_data)
    stripped_html = tf.strings.regex_replace(lowercase, "<br />", " ")
    return tf.strings.regex_replace(
        stripped_html, "[%s]" % re.escape("!#$%&'()*+,-./:;<=>?@\^_`{|}~"), ""
    )

def get_vectorize_layer(texts, vocab_size, max_seq, special_tokens=["[MASK]"]):
    """Build Text vectorization layer

    Args:
      texts (list): List of string i.e input texts
      vocab_size (int): vocab size
      max_seq (int): Maximum sequence lenght.
      special_tokens (list, optional): List of special tokens. Defaults to ['[MASK]'].

    Returns:
        layers.Layer: Return TextVectorization Keras Layer
    """
    vectorize_layer = TextVectorization(
        max_tokens=vocab_size,
        output_mode="int",
        standardize=custom_standardization,
        output_sequence_length=max_seq,
    )
    vectorize_layer.adapt(texts)

    # Insert mask token in vocabulary
    vocab = vectorize_layer.get_vocabulary()
    vocab = vocab[2 : vocab_size - len(special_tokens)] + ["[mask]"]
    vectorize_layer.set_vocabulary(vocab)
    return vectorize_layer

vectorize_layer = get_vectorize_layer(
    all_data.review.values.tolist(),
    config.VOCAB_SIZE,
    config.MAX_LEN,
    special_tokens=["[mask]"],
)

# Get mask token id for masked language model
mask_token_id = vectorize_layer(["[mask]"]).numpy()[0][0]

def encode(texts):
    encoded_texts = vectorize_layer(texts)
    return encoded_texts.numpy()

def get_masked_input_and_labels(encoded_texts):
    # 15% BERT masking
    inp_mask = np.random.rand(*encoded_texts.shape) < 0.15
    # Do not mask special tokens
    inp_mask[encoded_texts <= 2] = False
    # Set targets to -1 by default, it means ignore
    labels = -1 * np.ones(encoded_texts.shape, dtype=int)
    # Set labels for masked tokens
    labels[inp_mask] = encoded_texts[inp_mask]

    # Prepare input
    encoded_texts_masked = np.copy(encoded_texts)
    # Set input to [MASK] which is the last token for the 90% of tokens
    # This means leaving 10% unchanged
    inp_mask_2mask = inp_mask & (np.random.rand(*encoded_texts.shape) < 0.90)
    encoded_texts_masked[
        inp_mask_2mask
    ] = mask_token_id  # mask token is the last in the dict

    # Set 10% to a random token
    inp_mask_2random = inp_mask_2mask & (np.random.rand(*encoded_texts.shape) < 1 / 9)
    encoded_texts_masked[inp_mask_2random] = np.random.randint(
        3, mask_token_id, inp_mask_2random.sum()
    )

    # Prepare sample_weights to pass to .fit() method
    sample_weights = np.ones(labels.shape)
    sample_weights[labels == -1] = 0

    # y_labels would be same as encoded_texts i.e input tokens
    y_labels = np.copy(encoded_texts)

    return encoded_texts_masked, y_labels, sample_weights

# We have 25000 examples for training
x_train = encode(train_df.review.values)  # encode reviews with vectorizer
y_train = train_df.sentiment.values
train_classifier_ds = (
    tf.data.Dataset.from_tensor_slices((x_train, y_train))
    .shuffle(1000)
    .batch(config.BATCH_SIZE)
)

# We have 25000 examples for testing
x_test = encode(test_df.review.values)
y_test = test_df.sentiment.values
test_classifier_ds = tf.data.Dataset.from_tensor_slices((x_test, y_test)).batch(
    config.BATCH_SIZE
)

# Build dataset for end to end model input (will be used at the end)
test_raw_classifier_ds = tf.data.Dataset.from_tensor_slices(
    (test_df.review.values, y_test)
).batch(config.BATCH_SIZE)

# Prepare data for masked language model
x_all_review = encode(all_data.review.values)
x_masked_train, y_masked_labels, sample_weights = get_masked_input_and_labels(
    x_all_review
)

mlm_ds = tf.data.Dataset.from_tensor_slices(
    (x_masked_train, y_masked_labels, sample_weights)
)
mlm_ds = mlm_ds.shuffle(1000).batch(config.BATCH_SIZE)

"""
## Create BERT model (Pretraining Model) for masked language modeling

We will create a BERT-like pretraining model architecture
using the `MultiHeadAttention` layer.
It will take token ids as inputs (including masked tokens)
and it will predict the correct ids for the masked input tokens.
"""

def bert_module(query, key, value, i):
    # Multi headed self-attention
    attention_output = layers.MultiHeadAttention(
        num_heads=config.NUM_HEAD,
        key_dim=config.EMBED_DIM // config.NUM_HEAD,
        name="encoder_{}/multiheadattention".format(i),
    )(query, key, value)
    attention_output = layers.Dropout(0.1, name="encoder_{}/att_dropout".format(i))(
        attention_output
    )
    attention_output = layers.LayerNormalization(
        epsilon=1e-6, name="encoder_{}/att_layernormalization".format(i)
    )(query + attention_output)

    # Feed-forward layer
    ffn = keras.Sequential(
        [
            layers.Dense(config.FF_DIM, activation="relu"),
            layers.Dense(config.EMBED_DIM),
        ],
        name="encoder_{}/ffn".format(i),
    )
    ffn_output = ffn(attention_output)
    ffn_output = layers.Dropout(0.1, name="encoder_{}/ffn_dropout".format(i))(
        ffn_output
    )
    sequence_output = layers.LayerNormalization(
        epsilon=1e-6, name="encoder_{}/ffn_layernormalization".format(i)
    )(attention_output + ffn_output)
    return sequence_output

def get_pos_encoding_matrix(max_len, d_emb):
    pos_enc = np.array(
        [
            [pos / np.power(10000, 2 * (j // 2) / d_emb) for j in range(d_emb)]
            if pos != 0
            else np.zeros(d_emb)
            for pos in range(max_len)
        ]
    )
    pos_enc[1:, 0::2] = np.sin(pos_enc[1:, 0::2])  # dim 2i
    pos_enc[1:, 1::2] = np.cos(pos_enc[1:, 1::2])  # dim 2i+1
    return pos_enc

loss_fn = keras.losses.SparseCategoricalCrossentropy(
    reduction=tf.keras.losses.Reduction.NONE
)
loss_tracker = tf.keras.metrics.Mean(name="loss")

class MaskedLanguageModel(tf.keras.Model):
    def train_step(self, inputs):
        if len(inputs) == 3:
            features, labels, sample_weight = inputs
        else:
            features, labels = inputs
            sample_weight = None

        with tf.GradientTape() as tape:
            predictions = self(features, training=True)
            loss = loss_fn(labels, predictions, sample_weight=sample_weight)

        # Compute gradients
        trainable_vars = self.trainable_variables
        gradients = tape.gradient(loss, trainable_vars)

        # Update weights
        self.optimizer.apply_gradients(zip(gradients, trainable_vars))

        # Compute our own metrics
        loss_tracker.update_state(loss, sample_weight=sample_weight)

        # Return a dict mapping metric names to current value
        return {"loss": loss_tracker.result()}

    @property
    def metrics(self):
        # We list our `Metric` objects here so that `reset_states()` can be
        # called automatically at the start of each epoch
        # or at the start of `evaluate()`.
        # If you don't implement this property, you have to call
        # `reset_states()` yourself at the time of your choosing.
        return [loss_tracker]

def create_masked_language_bert_model():
    inputs = layers.Input((config.MAX_LEN,), dtype=tf.int64)

    word_embeddings = layers.Embedding(
        config.VOCAB_SIZE, config.EMBED_DIM, name="word_embedding"
    )(inputs)
    position_embeddings = layers.Embedding(
        input_dim=config.MAX_LEN,
        output_dim=config.EMBED_DIM,
        weights=[get_pos_encoding_matrix(config.MAX_LEN, config.EMBED_DIM)],
        name="position_embedding",
    )(tf.range(start=0, limit=config.MAX_LEN, delta=1))
    embeddings = word_embeddings + position_embeddings

    encoder_output = embeddings
    for i in range(config.NUM_LAYERS):
        encoder_output = bert_module(encoder_output, encoder_output, encoder_output, i)

    mlm_output = layers.Dense(config.VOCAB_SIZE, name="mlm_cls", activation="softmax")(
        encoder_output
    )
    mlm_model = MaskedLanguageModel(inputs, mlm_output, name="masked_bert_model")

    optimizer = keras.optimizers.Adam(learning_rate=config.LR)
    mlm_model.compile(optimizer=optimizer)
    return mlm_model

id2token = dict(enumerate(vectorize_layer.get_vocabulary()))
token2id = {y: x for x, y in id2token.items()}

class MaskedTextGenerator(keras.callbacks.Callback):
    def __init__(self, sample_tokens, top_k=5):
        self.sample_tokens = sample_tokens
        self.k = top_k

    def decode(self, tokens):
        return " ".join([id2token[t] for t in tokens if t != 0])

    def convert_ids_to_tokens(self, id):
        return id2token[id]

    def on_epoch_end(self, epoch, logs=None):
        prediction = self.model.predict(self.sample_tokens)

        masked_index = np.where(self.sample_tokens == mask_token_id)
        masked_index = masked_index[1]
        mask_prediction = prediction[0][masked_index]

        top_indices = mask_prediction[0].argsort()[-self.k :][::-1]
        values = mask_prediction[0][top_indices]

        for i in range(len(top_indices)):
            p = top_indices[i]
            v = values[i]
            tokens = np.copy(sample_tokens[0])
            tokens[masked_index[0]] = p
            result = {
                "input_text": self.decode(sample_tokens[0].numpy()),
                "prediction": self.decode(tokens),
                "probability": v,
                "predicted mask token": self.convert_ids_to_tokens(p),
            }
            pprint(result)

sample_tokens = vectorize_layer(["I have watched this [mask] and it was awesome"])
generator_callback = MaskedTextGenerator(sample_tokens.numpy())

bert_masked_model = create_masked_language_bert_model()
bert_masked_model.summary()

"""
## Train and Save
"""

bert_masked_model.fit(mlm_ds, epochs=5, callbacks=[generator_callback])
bert_masked_model.save("bert_mlm_imdb.h5")

"""
## Fine-tune a sentiment classification model

We will fine-tune our self-supervised model on a downstream task of sentiment classification.
To do this, let's create a classifier by adding a pooling layer and a `Dense` layer on top of the
pretrained BERT features.

"""

# Load pretrained bert model
mlm_model = keras.models.load_model(
    "bert_mlm_imdb.h5", custom_objects={"MaskedLanguageModel": MaskedLanguageModel}
)
pretrained_bert_model = tf.keras.Model(
    mlm_model.input, mlm_model.get_layer("encoder_0/ffn_layernormalization").output
)

# Freeze it
pretrained_bert_model.trainable = False

def create_classifier_bert_model():
    inputs = layers.Input((config.MAX_LEN,), dtype=tf.int64)
    sequence_output = pretrained_bert_model(inputs)
    pooled_output = layers.GlobalMaxPooling1D()(sequence_output)
    hidden_layer = layers.Dense(64, activation="relu")(pooled_output)
    outputs = layers.Dense(1, activation="sigmoid")(hidden_layer)
    classifer_model = keras.Model(inputs, outputs, name="classification")
    optimizer = keras.optimizers.Adam()
    classifer_model.compile(
        optimizer=optimizer, loss="binary_crossentropy", metrics=["accuracy"]
    )
    return classifer_model

classifer_model = create_classifier_bert_model()
classifer_model.summary()

# Train the classifier with frozen BERT stage
classifer_model.fit(
    train_classifier_ds,
    epochs=5,
    validation_data=test_classifier_ds,
)

# Unfreeze the BERT model for fine-tuning
pretrained_bert_model.trainable = True
optimizer = keras.optimizers.Adam()
classifer_model.compile(
    optimizer=optimizer, loss="binary_crossentropy", metrics=["accuracy"]
)
classifer_model.fit(
    train_classifier_ds,
    epochs=5,
    validation_data=test_classifier_ds,
)

"""
## Create an end-to-end model and evaluate it

When you want to deploy a model, it's best if it already includes its preprocessing
pipeline, so that you don't have to reimplement the preprocessing logic in your
production environment. Let's create an end-to-end model that incorporates
the `TextVectorization` layer, and let's evaluate. Our model will accept raw strings
as input.
"""

def get_end_to_end(model):
    inputs_string = keras.Input(shape=(1,), dtype="string")
    indices = vectorize_layer(inputs_string)
    outputs = model(indices)
    end_to_end_model = keras.Model(inputs_string, outputs, name="end_to_end_model")
    optimizer = keras.optimizers.Adam(learning_rate=config.LR)
    end_to_end_model.compile(
        optimizer=optimizer, loss="binary_crossentropy", metrics=["accuracy"]
    )
    return end_to_end_model

end_to_end_classification_model = get_end_to_end(classifer_model)
end_to_end_classification_model.evaluate(test_raw_classifier_ds)

redpajama_set_name: RedPajamaGithub


Elegance meets contemporary in this extravagant detailed color block pleated ruffles duvet set. A great focus on detail went into crafting this masterpiece. Pleats carefully ruffled and sewn on this luxury bedding design. Grey color tones and combination to add modern flair to this elegant design. The Duvet and pillows have ultra-plush soft filling adding extravagance design. Number of pieces in set: 3PCS Set includes: 1 Duvet and 2 Shams Thread count: Microfiber Fabric detail: Pleated Style: Contemporary Bedskirt included: No Materials: 90 GSM Microfiber Care Instructions: Machine wash cold on gentle cycle. Do not bleach or dry clean. Tumble dry low. Light iron as needed. King/Cal King Dimensions Duvet cover: 104×90′ Sham: 20×36+2 Queen Dimensions Duvet cover: 90×90′ Sham: 20×26+2 The digital images we display have the most accurate color possible. However, due to differences in computer monitors, we cannot be responsible for variations in color between the actual product and your screen.


There is a scene in Efterklang's film "An Island" where the band performs with local people from a small town and although it is obvious that most of them are not musicians they are all playing instruments alongside the band. It is a beautiful scene (I admit I shed a tear the first time I watched it), and I was so inspired by it I began brainstorming ways that I could create a similar experience with bands here in Vancouver. I didn't take the idea any further than my notepad.
Last week I discovered that some fellow Vancouverites have started doing this very thing! They call it Playground. The premise is simple: One band, one audience, one goal. Create a song together, and then record it in less than an hour.
Watch a video of the most recent Playground event below!


The ESID Online Database network.
Bioinformatics. 2007 Mar 1;23(5):654-5. Epub 2007 Jan 19.
Guzman D, Veit D, Knerr V, Kindle G, Gathmann B, Eades-Perner AM, Grimbacher B.
Department of Rheumatology and Clinical Immunology, University Hospital Freiburg, Germany.
Primary immunodeficiencies (PIDs) belong to the group of rare diseases. The European Society for Immunodeficiencies (ESID), is establishing an innovative European patient and research database network for continuous long-term documentation of patients, in order to improve the diagnosis, classification, prognosis and therapy of PIDs. The ESID Online Database is a web-based system aimed at data storage, data entry, reporting and the import of pre-existing data sources in an enterprise business-to-business integration (B2B). The online database is based on Java 2 Enterprise System (J2EE) with high-standard security features, which comply with data protection laws and the demands of a modern research platform.
The ESID Online Database is accessible via the official website.


Climb inside the 2009 Toyota Camry. This 4 door, 5 passenger sedan provides exceptional value! Toyota infused the interior with top shelf amenities, such as: 1-touch window functionality, an outside temperature display, front bucket seats, telescoping steering wheel, power windows, cruise control, and much more. Premium sound drives 6 speakers, providing you and your passengers a sensational audio experience. Take assurance in side curtain airbags, providing head protection in the event of a severe collision. It also arrives with a Carfax history report, providing you peace of mind with detailed information. Our team is professional, and we offer a no-pressure environment. They'll work with you to find the right vehicle at a price you can afford. Please don't hesitate to give us a call.


This post has been long time coming, with being ill and having a broken laptop ( I have to borrow someone's to blog till it gets fixed) so it has been a bit delayed. Anyway, if you have not already seen on Instagram, here are my most recent shoes I have purchased. A chunky pair of Chelsea boots and some patent pointy loafers. The boots are actually really comfy and easy to walk in despite the heel. Nothing stops me from wearing a bit of a heel in the day - these short people like to feel a bit taller occasionally you know. And the loafers are just beautiful and classic and would go perfect with some tailored trousers and an oversized camel coat. Outfit dreaming.


How Do I Export Links I've Built In oogur?
How Do I Export Links I've Built In oogur?
Easy! Go to the Campaign Manager tab, and click the Export URLs button.
A CSV of your links will then be sent to the folder you have your downloads directed to on your computer.


Skeptic's Play: Wait, what's going on at FTB?
Wait, what's going on at FTB?
Some dark clouds are currently looming over Freethought Blogs. Whatever it is, it's gloomier than your typical blog kerfuffle because it's friends against friends, and many people clearly have mixed feelings about it. It's all rather low profile so far, despite apparently having been bubbling in the background for months, as if many people don't want to talk about it.
Freethought blogger Ophelia Benson is being accused of being a TERF, or maybe just transphobic, or maybe just a little too sympathetic to "gender-critical" feminism. As Alex Gabriel describes, she's favorably linked to a lot of articles which have made people suspicious. Recently, someone finally asked her in a blog comment whether trans women are women, and she couldn't bring herself to answer that. Instead, she wrote several posts talking about how much she hated yes or no questions (more posts where that came from). In a recent clarification, she says she accepts the genders of trans people but that she doesn't understand the ontology of gender.
I only read a handful of Freethought Blogs, Ophelia Benson's not among them, and hardly any comments. So I only heard about this when some of the bloggers started talking about it, including Heather McNamara, Heina Dadhaboy, and Jason Thibeault. I think they're all very kind, but they absolutely disagree with OB's waffly answer. You can find less kind reactions in Pharyngula's infinite thread. Incidentally the infinite thread was recently closed for good.
Right now, OB is doing another round of responses. Ugh... doesn't look good. This is probably not the end of it.
My perspective is fundamentally different from the those above, because OB is not my colleague, I don't read her blog, and do not interact with her ever. I don't particularly care whether she's transphobic or not any more than I care about whether some Patheos blogger is transphobic or not.
But I do care about what happens to the online atheist community. I've been around since 2007, so I know it's not the same thing over and over, stuff actually changes, it really does. I didn't realize it at the time, but post-2011 dramas were some of the best things ever for the community. We actually got some widespread trans-positive feminism, at least within our own sphere. Wow! The best! We can never go back!
And I'm not just saying that as a purely altruistic cis guy. In my experience, the number one indicator for the ace-friendliness of a group is, how well do they deal with trans issues? FTB, along with the online atheist social justice community in general, has been in accordance with this trend.
What I'm worried about is not whatever OB says. I'm worried that this will develop into a larger issue, with people taking sides. I don't want it to be a community-wide debate whether you can make waffly deniable statements about trans people. If a few people make waffly statements, fine, but what I fear more is that many people will simultaneously start to defend it.
And I feel sure that the other issue that will pulled in is the issue of ideological purity and call-outs.
Incidentally, at the moment I'm working on a big summary of all the things social justice bloggers have written in critique of call-out culture. But none of that nuanced discussion comes from atheist social justice. Frankly I think the atheist community is rather naive about the issue. I would love for atheists to start talking about it, but not this way, not when it will be associated with this particular incident. I don't want it to be Defenders of Transphobia vs the Defenders of Call-out Culture.
Anyway, here's hoping that nothing significant will happen, and all of this will look like arcane nonsense in a month.


Manchester United handed a first start in Red Devils colours to Victor Lindelof against Real Salt Lake this evening, and it was brilliant to see the Iceman involved from the off. The 23-year-old, signed from SL Benfica this summer impressed once again.
He started in a back four alongside Phil Jones, and immediately we saw the benefit of having a left-footed centre-half playing on the left-hand side of the back two as it allows him to go into the tackle with his strong foot more often than not.
What's most impressive about the young man is his coolness and calmness in possession. He will survey the situation before making the right pass, and more often than not he has the execution to pull it off.
Positionally, Lindelof looked solid. He seems to have a high IQ when it comes to knowing where to stand when the opposing team are on the attack, and he bailed his teammate Phil Jones out of trouble on more than one occasion.
I think it has been a promising start for United's new centre-back, and hopefully, we'll see him play alongside Eric Bailly is one of the games ahead as that's the duo that I'd love to see us start the season with.
Thought Victor Lindelof had a very calm and composed half. Settling in nicely.
Lindelof looks brilliant at the back. Lingard and Mkhitaryan have been outstanding on Tour so far. Lukaku very impressive today as well.


alaska blue moose: Muffins - Healthy Ones!
Received this recipe while on holiday in Desert Hot Springs from a new-found friend. They are amazing and I just had to try them. Used my iPhone4 to take the photos for the "storyboard." Only "photoshop" thing I have been able to quickly put out lately.
I hope you will share the recipe!


text:
ALIF Partylist Prioritize Filipino Indiginous People
by STARRING ENTERTAINMENT at May 04, 2019
Recently, ALIF Partylist held an event happened at Peach Blossom Restaurant in Quezon City to introduce the organization's platform to Bloggers. Its aim is to prioritize Filipino indigenous People. After few introductions of their nominees and it was followed by a Question and Answer portion to know more about their partylist.
ALIF (Ang Laban ng Indiginong Filipino) Partylist has cemented ties with a networking company who will also be representing the group this May elections.
Nominees Agakhan Tomawis and Lorenzo Rellosa met with top leaders of Telepreneur Corporation, a multi-level marketing company, to solidify support for ALIF. Telepreneur has three million members nationwide.
ALIF Partylist is an organization devoted to serving Filipinos through providing livelihood programs and spreading technology and connectivity to far-fetched areas. ALIF also aspires to empower the indigenous sector and its families by providing access to government funds and programs that preserve heritage and culture. These programs promote sustainable livelihood that has socio-economic impact in their respective areas.
This year, ALIF Partylist forged an alliance with Telepreneur Corporation, a seven-year-old multi-level marketing company serving the need for mobile phone load requirement for all networks. Telepreneuer's President and CEO Lorenzo Rellosa is the second nominee for ALIF.
Rellosa explains his motivations for running. "You and I, we are the modern indigenous Filipinos," he explains. "Tayong mga lumalaban sa buhay, tayong mga hindi sumusuko, tayong mga nagmamahal sa bayan. Tayo ang mga modernong indigino. Gagawin ko ang lahat para isulong ang kabuhayan at kinabukasan ng ating mga kapatid na indigino."
With his position and accomplishments, Rellosa is determined to help the indigenuous people. His career has been an impressive one, and a source of inspiration to many. Today, he is Telepreneur's CEO and President with an annual gross sale of Php 4B and with a membership base of three million Filipinos. Rellosa also came from a political family, grandfather, Emeterio Rellosa, having served as a provincial board member in the early 1960's to 1970's in the province of Laguna. His father, Luis Rellosa, has served the town of Famy, Laguna as a municipal mayor from 1968-1980. Lorenz grew up in an environment of honest public service, whole heartedly advocating livelihood and educational projects for their constituents.
As for the founder of ALIF itself, Acmad Maruhom Tomawis organized the party in Marawi City in February 2003, after a series of consultations and meetings with leaders of the indigenous cultural communities, including Muslim Filipinos. ALIF seeks to represent the marginalized and underrepresented sector of the indigenous groups particularly in Mindanao.
Tomawis started his political career in 1976 as a councilor of Marawi City. During the Martial Law era, he was appointed as mayor of the city in 1978. He then became assemblyman from 1982 to 1996. During the Estrada administration, he was appointed as the Executive Director in the Office of the Muslim Affairs from 1998 until 2001. Edgardo Angara, founder of the Laban ng Demokratikong Pilipino (LDP) party encouraged him to create the partylist for the underrepresented sector of the Maranao tribe in Mindanao. In 2003, Tomawis founded ALIF together with indigenous leaders in his community in Marawi. He served in the House of Representatives from 2004 until 2013.
Today, Tomawis is still believed to be one of the most influential leaders in Mindanao, the leader trusted to bring back the peace and unity especially after the Marawi Siege, a five-month battle against the terrorists in Marawi. ALIF aims to reach out not only to the Mindanao tribes alone, but also to other underrepresented tribes all over the country.
As a former member of the legislative sector, Tomawis believes that the next decade is a critical period for our nation. Aside from completing the unfinished tasks of the present house representatives, Tomawis emphasizes continuing peace talks with the Muslim insurgencies and providing sustainable livelihood and quality education to his community. Tomawis believes that his vision of shaping the lives of indigenous people will be made possible through his partnership with Rellosa. Together, their tandem plans on advancing through technology while preserving the rich cultural heritage of the indigenous groups that can ultimately raise the quality of life in Mindanao.
Tomorrow, with our help, they may be elected as congressmen, representing ALIF Partylist, and advocating for a better life for 100 million Filipinos.
For more information, contact alifpartylist2019@gmail.com


text:
Q: How to initialize a structure field std::map called params I'm trying to initialize a structure using some data being held in a std::vector<tokens> - tokens are simply strings. My struct is:
struct parsedBlock{
std::string name;
std::map<std::string, std::string> params;
}

parsedBlock block;

tokens[0] is block.name so it's simple to just write block.name = tokens[0]
But the question is how to intialize a params field supposing that key is tokens[i] and value is tokens[i+1]. Thanks in advance. Greetings!

A: I guess your "tokens" vector contains the name at index 0 as a special value, and all successive values are the keys/values you want in the "params" map.
Worded differently, odd indexes (1, 3, 5, etc.) being keys of the "params" map, and even indexes (2, 4, 6, etc.) - except 0 - being values of the "params" map.
Assuming your "tokens" vector is correct, you can do something like this :
for (int i = 1; i < (tokens.size() - 1); i += 2) {
    std::string& key = block.params[i];
    std::string& value = block.params[i + 1];
    block.params.insert(std::pair<std::string, std::string>(key, value));
}

Using (tokens.size() - 1), as the maximum "i" can go up to, ensures to not throw a std::out_of_range exception in case the "tokens" vector has a key (on a odd index) but no value (on an even index).
Using std::map::insert() method does insert the new key/value pair only if the key does not already exist in the map. Another way to insert a key/value pair in a map and override the value if the key already exists is to use the [] operator like so :
block.params[key] = value;

Additional notes :

*

*compiler optimization should get rid of the references-creation step, and directly pass "tokens" vector values to the std::map::insert() method, avoiding a superfluous overhead by creating useless-but-increasing-readability references.


Who are the top fantasy football waiver targets going into week 8?
*whispers* Josh McCown is actually kind of a decent fantasy option again. I know, it's weird.
The Jets were supposed to be awful this year, and yet here they are pushing teams to the brink almost every week. Leading the charge is McCown, who has done a positively Ryan Fitzpatrick-ian job of making the Jets look better than they probably are this season.
McCown tore up the pathetic Patriots defense in Week 6, but then came back and did even better against a solid Dolphins defense this past weekend, to the tune of 209 yards and three touchdowns, with a rushing score for good measure.
A couple of relatively stingy defenses are on tap the next two weeks, with matchups against Atlanta and Buffalo. But these Jets and McCown have already surprised a number of times this season. For a bye week fill-in or a QB2, you could definitely do worse.


A few years ago I was walking with a colleague from work on a very cold winter's day. She was wearing a skirt and tights and seemed comfortable with the below ten degree temperatures while was freezing in my suit and long wool coat. I asked her how she seemed so comfortable and she told me that her tights kept her legs very warm. She said the tight fit seemed to insulate better than pants. I was skeptical at the time but after some experience with compression running pants I have to admit there's a big difference in the amount of heat you retain. I also feel much more energized when running in these pants (I have three pairs now) and I believe my 8:19 pace during Saturday's race was helped out, somewhat, by the compression technology and warmth.
This morning it was 34 degrees outside so I dressed in layers, a long sleeved compression top, long sleeved tech top and short sleeved tech top plus reflective vest and my Brooks hat. Below I wore my new Nike compression pants and a pair of crew length Timberland athletic socks and it was perfect for the morning conditions. I headed north from my house up a slightly inclined road and was hit head-on by what I'm guessing was a 5-10 MPH wind. I was happy with my choice of clothes and I stepped it up a bit to try to warm up faster. Overall I covered 2.5 miles at around 9:10 per mile. Not exactly PR numbers but at 4:00 AM on a chilly morning I'll call it a great run.


Last winter was bad - scary bad. This winter - who knows? But chances are you'll spend more time indoors, so we've been busy thinking up ways to make life better this winter. Like reading a long, gripping historical novel. Or watching that 15-episode TV series you missed out on. What about learning how to cook delicious new soups for your family or finally learning to play bridge? We've been making lists of things you can do to stay happy all winter long, and they all involve materials you can get at your library.


text:
2021 Weed Advisory Board Meeting Schedule:
1st Quarter: January 21, 2021
2nd Quarter: April 15, 2021
3rd Quarter: July 15, 2021
4th Quarter: October 21, 2021
All meetings are at 10 am at 76 Service Center Road
The public is welcome; please bring any questions or
concerns about invasive plant species in Pitkin County.
For more information email land.management@pitkincounty.com
Ann Mullins
Karin Teague
Marie Kelly
Tatyana Stevens
Ann Mullins has been a landscape architect for over 30 years, working throughout the country. Ann graduated from Wells College, Aurora, NY with a Bachelors of Science in Mathematics, After several years of travel and work she returned to graduate school and completed a Masters of Landscape Architecture from Utah State University, Logan UT. Ann began her career at Jones & Jones in Seattle, WA, worked at Carol Johnson Associates, Cambridge MA and Sasaki Associates, Watertown MA before co-founding Civitas in Denver, CO in 1984.
In 2004 Ann became the Campus Landscape Architect at University of Colorado at Boulder. Ann moved to Aspen in 2006 and worked for Designworkshop for several years before starting her own firm again. She is currently working with an emphasis on cultural and historic landscapes at her firm, wjmdesign. In 2013 Ann successfully ran for Aspen City Council. After serving her four-year term as a Council Member she was re-elected in May 2017 to serve her second term.
Karin Teague is the Executive Director of the Independence Pass Foundation, a nature writer and photographer, and a passionate advocate for the native plants of Colorado.
Marie Kelly has an environmental landscape/small gardening business and is constantly learning about plants, flowers and weeds to help mitigate a healthy flora environment. Thanks to the Weed Board, she feels like she is in constant "learning mode".
A self-proclaimed "Sustainable Creative", Tatyana Stevens continuously seeks then newest trends and innovations that connect environmental sustainability to our everyday lives. In recent misadventures, she has discovered her preference for mountain peaks over ocean horizons and a passion for craft distilleries. Her adventures continue - seeking other creative minds, expanding her own artistic talents, and empowering communities to adopt environmentally and socially-responsible practices.
The Weed Advisory Board (WAB) addresses noxious weed issues and ensures compliance with the Colorado Weed Management Act (PDF) of 1990. It reports and advises the BOCC on developing a County Weed Management Plan (PDF), develops the Noxious Weed List that declares noxious weeds and appropriate state noxious weeds designated by the Colorado Department of Agriculture to be subjected to integrated weed management, and develops a plan for the integrated management of these noxious weeds.
There is 1 regular member representative from the City of Aspen, Town of Snowmass Village, 3 representatives from unincorporated Pitkin County, and 1 alternate for each area. Each representative must have been a resident of Pitkin County for at least 1 year.
For more information call Romany Iacono at 970-920-5390


text:
Q: passing data to provider - setState() or markNeedsBuild() called during build I'm fetching data from the local database using SQflite in my main.dart and passing it to ProvideRecords widget using FutureProvider :
Future<List<WeightRecord>> _getRecords() async {
  List<WeightRecord> records = await RecordsDatabase.instance.getRecords();

  return records;
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: FutureProvider<List<WeightRecord>?>(
        create: (context) {
          return _getRecords();
        },
        initialData: [],
        catchError: (_, error) => [
          WeightRecord(
              date: DateTime.now(), weight: 00.0, note: 'hasError: $error')
        ],
        child: ProvideRecords(),
      ),
    );
  }
}

then in the ProvideRecords widget I pass the data again to another provider :
class ProvideRecords extends StatelessWidget {
  const ProvideRecords({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Consumer<List<WeightRecord>?>(builder: (context, list, child) {
                return MultiProvider(
              providers: [
                ChangeNotifierProvider(
                    create: (context) => RecordsListModel()),
                ChangeNotifierProvider(create: (context) => ButtonMode())
              ],
              builder: (context, child) {

         Provider.of<RecordsListModel>(context, listen: true)
                    .updateRecordsList(list);

                return Home(list: list);
              });
        }

    });
  }
}

the code works but I'm getting setState() or markNeedsBuild() called during build.  because I'm using Provider.of<RecordsListModel>(context, listen: true).updateRecordsList(list);  in the builder function. However I couldn't find another way of passing the data from FutureProvider to the RecordListModel, what can I do?

A: Its mainly an issue of how you have structured your code
Its recommended to have your multiproviders at the apps entry point..
class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return MultiProvider(
        providers: [
       //my providers here
          ChangeNotifierProvider(create: (context) => ButtonMode())
       ... material app

then when adding data no need to set listen to true
 Provider.of<RecordsListModel>(context, listen: false)
                    .updateRecordsList(list);

since home depends on data from the above provider use a consumer
Home(list: list);

// consume your provider
Consumer<RecordsListModel>(
              builder:
                  (context, RecordsListModel recordsP, child) {
                return Home(list:recordsP.list);
              },
            )


text:
Report corroborates Apple TV 4's $149 price point + universal search feature
- Sep. 2nd 2015 7:40 am PT
Over the weekend 9to5Mac reported that the long-awaited Apple TV 4 hardware will be priced under $200 with executives deciding between a "starting price point of either $149 or $199", and today Buzzfeed's John Paczkowski has corroborated that information. Apple is said to have settled on the $149 price point for Apple TV 4, which is higher than Apple TV 2 and 3's original $99 price point but lower than Apple TV 1's original $299 price. Apple TV 3, which we reported will remain in the lineup, was lowered to $69 (with an even lower street price) earlier this year.
The more capable Apple TV with Siri plus an App Store is also said to feature universal search, Buzzfeed says and we've previously reported, which is a useful feature missing on current models. Paczkowski notes that this feature is based in part on Apple's 2013 Matcha acquisition. Mark Gurman last month on iOS 9-based Proactive Search:
As Jeremy Horwitz also noted in March, one of the biggest omissions from the current Apple TV is system-wide search support. For example, a user cannot search for "James Bond" and see results across the iTunes Store, Netflix, the Crackle app, and the Apple Music library. Apple is said to be planning to fix that with the next-generation Apple TV software.
As we've detailed, the slightly thicker and wider Apple TV 4 will be based heavily on iOS 9 with Siri voice commands and search as the central user interaction model.
An all-new and enhanced Bluetooth remote with new features like motion detection and voice search will be included in the new offering. Support for Bluetooth gaming controllers previously only supported on iOS devices will present a gaming platform opportunity for the new device as will the new App Store.
Apple is set to unveil the new Apple TV 4 next week at the iPhone 6S event with the new set-top box set to hit stores in October.
iOS Devices Siri Price universal search
Zac covers Apple news for 9to5Mac and hosts the 9to5Mac Happy Hour and 9to5Mac Watch Time podcasts.
taoprophet420 - 7 years ago
The article states the Apple TV starts at $149. So most likely it will have multiple capacities or bundles.
Arnold Ziffel - 7 years ago
OK, can we drop the whole "price point" term? Unless the price is given as a range, it's always a point! We don't need the redundancy, even if it supposedly makes one sound like a hip, tech, geek.
bellevueboy - 7 years ago
149$ price tag may not be bad. While apple may want Apple TV to slowly become a premium device( just like other products) most people today buy it as an accessory / extension of their iPhone or iPad bcos the price is not a factor. It should remain that way in principle. That way for consumers it's a no brainier to buy and for Apple people spend most time in their Eco system. Else people are already questioning the need for devices like the watch which cost an addition $500 and not a must have. The trajectory of iPad sales is known to be on decline , my theory from anecdotal evidence is past iPhones and newer bigger ones especially are cannibalizing iPad sales.
Me In LA - 7 years ago
Depends on what we get, and if you have a Gen3 or nothing. Looking at this, I don't see the need to go from a Gen3, but this is all still speculation. I was hoping for a real upgrade, but this isn't looking like it based on todays reports…
Agree. Also no cool looking touch remote. Not sure what I would do with storage…but then it just me.
I "had to" upgrade when it was the cooler design. Now with it being just a little bigger device with very few other changes I can wait. I know I know that we don't know what Apple is going to launch but historically I have seen there are hardly any surprises any more at these events.


Over the Christmas break, I decided to write a SharePoint scraper in Python.
At work we have a SharePoint based wiki that is universally disliked and thus is poorly used despite containing a lot of useful information. I've been trialling Atlassian Confluence as a replacement and it seems a much better solution. However we don't want to run multiple wikis so I'll need to copy the existing data across.
Gaining permission to use any APIs that SharePoint might expose over the Christmas break was obviously not going to happen, so I decided to use Python and Mechanize to scrape the wiki.
After some quick research, I found our SharePoint instance doesn't accept basic authentication, but rather only uses the proprietary NTLM protocol.
I found a Python module, python-ntlm, which provided an authentication handler for NTLM.
Following some discussion on Stack Overflow here, I was able to hook the NTLM handler up to the Mechanize module.
I ran into a couple of hurdles with this approach.
Firstly, Mechanize correctly follows the robots.txt. However, since this is a once off scrape off our own site, I was happy to bypass the robots.txt.
Secondly, Mechanize seems to have a bug when using NTLM authentication. With a patch described here, I was able to get Mechanize up and running. A pull request is open on GitHub, however it hasn't been merged.
Since SharePoint HTML is, well ... not pretty, not to mention there's a bunch of site chrome we don't want to scrape, I needed to do some cleansing.
I used the module Beautiful Soup to filter the tree and clean up the code.
You didn't write that awful page. You're just trying to get some data out of it. Beautiful Soup is here to help.
And that certainly fit my use case.
I filtered to within a particular div (the obviously named ctl00_PlaceHolderMain_WikiField for those of you playing at home) that excluded all the extraneous SharePoint navigation stuff.
Beautiful Soup can use a number of different parsers, depending on your usage.
I started off using the default Python html.parser, however the SharePoint code was too dirty for it, and it fell down on a number of pages. So I changed to the much more permissive html5lib and found all of my pages scraped correctly.
Once I'd filtered and scraped my pages, I had more or less well formed HTML of the page content only, which led to my final challenge.
I then recursively iterated through each of the links parsing local SharePoint links.
I decided early on that converting to Markdown would probably be a good idea. This would allow me to strip it back to basics, getting rid of the nasty font tags, inline styles, and other junk that had polluted the SharePoint pages.
This proved to be a pretty easy task. I used the html2markdown module.
I ran my newly well formed HTML through it and voila, Markdown!
Fork or clone the sharepoint-ripper on GitHub. Issues and pull requests welcome!
Stay tuned for my next post where I import the exported Markdown into Confluence.


Many parents think that moving just the adults, and children will not matter. So, ignoring the child's emotions. In fact, the children, moving event. However, the move won't let him generate excitement, on the contrary, did not understand what was happening the child will have a very strong sense of anxiety. So parents should be more concerned about their children.
first of all, parents explain to their children why and ask them about the Shanghai moving moving feelings every day. Let your child know that you understand his feelings. Second, and children can talk about imminent separation, children likely to be away from grandparents, cousins, nanny or familiar teacher, classmate and friend are unbearable. This time, the parents to let them know that, after moving, he can still keep in touch with all of them.
kids talk about the moving process not only helps relieve anxiety, and help children to express their opinions, exercise your child's verbal skills.
let children actively involved in the relocation process. Younger kids can make their own toys, books and other, older children can let him helping parents organize other items. Participation will give these children a positive psychological effect, make them feel moved to take the initiative.
families with conditions before you leave, you can help children with a camera or video camera to take picture of the original House, and ask them do want to save the photo or video. Parents can also help their children plan a farewell party with my friends, like a family party. In my opinion, these moves seem superfluous, in fact, very necessary. Because in this process, the children and home and friends for a farewell ceremony, not only can say goodbye to the past, better new place lives and help children to maintain his friendship, while children in the process, practice and brain, many also exercise.
retain their most loved "old goods"
in the move, under normal circumstances, parents bring their children don't play very often, the bad old goods directly away, and this would not be desirable. Children may also miss the old toys, and if you move to a new place for him, it hard to adapt, he is likely to push those old items company. If he perceived in this way, then you want to discard all the things into a cardboard box and take them to the new House. Children adjust to life there, cannot be dealt with later.
after a new home, parents still had to pay attention to their child's mood changes, and more children to help him understand, familiarize yourself with the new environment. Meanwhile, encouraging children to live in harmony with their neighbors and make new friends. Concerned about their children's health. Children may appear "acclimatized" attention.
one final note is that just moved into their new home, people are often tired, hysterical and prone to depression. Adult to control his emotions and tried to create a warm, harmonious, pleasant family atmosphere, let the children liked the new House as soon as possible.
Copyright 2019 deltataxreturns.com, All rights reserved.


text: Q: Rotate through layouts backward In the default key bindings M-Space rotates to the next layout via 'sendMessage NextLayout'.  What argument do I need to provide to sendMessage to rotate backward through the layouts?  And where is this stuff documented?  I googled but didn't see anything...


text:
Q: After configuring Nexus 3 SSL Nexus no longer runs without sudo I had my new Nexus 3 repository running okay.  I was able to configure some of the basic settings.  Then I went through the process of enabling SSL. I used the instructions here.  I also watched the video on that page, which does not give instructions that match the page.
My system info: ubuntu 14.4 with Java 8.
Install directory: /opt/nexus-3.0.0-b2016011501/
To simplify the path, I created a link to this directory: nexus -> /opt/nexus-3.0.0-b2016011501/ therefore the path to nexus is /opt/nexus
I generated my keystore as follows:
Created directory: /opt/nexus/etc/ssl
Changed to that directory and ran: keytool -keystore keystore -alias jetty -genkey -keyalg RSA -validity 3650. This generated a file called keystore. I then copied that file to keystore.jks.
Updated the following files: /opt/nexus/etc/org.sonatype.nexus.cfg added application-port-ssl=443 and added ${karaf.etc}/jetty-https.xml(this is different from the written instructions) to the end of the nexus-args=$ line. Then (this is in the video, but not the written instructions) I edited the /opt/nexus/etc/jetty-https.xml file and replaced the password in three places with the password I specified when I generated my keystore.
After this if I start nexus with ./nexus run it get the following error:
2016-01-27 02:20:41,013+0000 ERROR [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer - Failed to start
java.net.SocketException: Permission denied
    at sun.nio.ch.Net.bind0(Native Method) [na:1.8.0_72]
    at sun.nio.ch.Net.bind(Net.java:433) [na:1.8.0_72]
    at sun.nio.ch.Net.bind(Net.java:425) [na:1.8.0_72]
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) [na:1.8.0_72]
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) [na:1.8.0_72]
    at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:326) [org.eclipse.jetty.server:9.3.5.v20151012]
    at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80) [org.eclipse.jetty.server:9.3.5.v20151012]
    at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:244) [org.eclipse.jetty.server:9.3.5.v20151012]
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [org.eclipse.jetty.util:9.3.5.v20151012]
    at org.eclipse.jetty.server.Server.doStart(Server.java:384) [org.eclipse.jetty.server:9.3.5.v20151012]
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [org.eclipse.jetty.util:9.3.5.v20151012]
    at org.sonatype.nexus.bootstrap.jetty.JettyServer$JettyMainThread.run(JettyServer.java:274) [org.sonatype.nexus.bootstrap:3.0.0.b2016011501]

If it start it with sudo ./nexus run it will work but shows me the nag message saying I should not run it as root.
I have verified that my user is the owner of all the files and directories /opt/nexus

A: On Linux (and other unix type systems) you can't run on port numbers less than 1024 unless you are root.   The best way to solve this is to run Nexus behind a reverse proxy.  You can find instructions for this here:
http://books.sonatype.com/nexus-book/reference/install-sect-proxy.html
The above was written for Nexus 2.x, but the configuration needed will be the same in Nexus 3.
Regarding running as non-root as a service, there is a bug in 3.0m7 that makes this problematic:
https://issues.sonatype.org/browse/NEXUS-9437
The fix is to edit the "bin/nexus" startup script is to replace this line:
INSTALL4J_JAVA_PREFIX="su - $run_as_user -c"

With this:
exec su - $run_as_user "$prg_dir/$progname" $@

This fix will be in the next release.
Once that change is made, symlink $NEXUS_HOME/bin/nexus to /etc/init.d/nexus, then install the service. And edit "$NEXUS_HOME/bin/nexus.rc" and set the "run_as_user" appropriately.


A pixel perfectionist, Euan started out in print and branding but seamlessly transitioned into the digital realm. In doing so he's been fortunate to work with a wide and varied range of big juicy clients, but loves getting his teeth into the Peachier side of things.
When not shepherding pixels into grid formations, or herding his two little girls, Euan enjoys watching films, eating toffees, and pondering the merits of his recurring facial hair.


Providing a welcoming and highly visible front door to the MGH downtown Boston campus, the new Museum of Medical History and Innovation showcases a 200 year history of medical innovation and the hospital's place in the community.
Although the hospital campus occupies more than 15 acres in the city, it previously had no "address" on a principal street. Built on a tiny sliver site, the building's gleaming copper and glass façade spans a city block, identifying the main entrance to the hospital with a large presence.
A series of spaces, each with its own identity, are stacked to make a tall three- story volume in its highly visible location. A double height entry lobby gives a generous and welcoming scale to the building, and its monumental stair joins first and second floors. The fully glazed ground floor exhibition space draw visitors in and engages the building with the public and the neighborhood. The second floor houses a flexible meeting, assembly, and reception space for hospital seminars and events overlooking the entry and gallery below. An oriel window offers glimpses of the activity of street and sidewalk. The pergola covered roof garden provides a contemplative space for the Hospital, patients, visitors and neighbors, and dramatic views over downtown Boston and Beacon Hill.
The exterior metal skin, fabricated of recycled copper, provides a durable, maintenance-free enclosure which will age in color gracefully with time. Copper-colored fritted glazing provides insulation and shading, yet allows natural daylight to penetrate the building. The green roof, as well as pervious site paving and plantings, absorb storm water and reduce the heat island effect.


The time when the European textile industry was characterised by mass-market production is long gone. Today, it stands for high quality production which brings value to many business areas including fashion, automotive, construction and many other industries. We spoke with Mr Mauro Scalia, Manager of Sustainable Businesses at the non-profit trade organisation Euratex, to hear about this development and learn how REACH has affected the industry.
We are hereby informing that the process regarding the submission and the selection of the tender on the above subject, up-loaded on EURATEX website on 8th December 2016, is now completed.
The fashion industry encompasses the design, manufacturing, distribution, retailing, marketing and promotion of clothing, footwear and accessories and is worth billions of Euros every year.
While the fashion industry initially developed in Europe and the United States (the Italian footwear industry is one of the largest in the world and the textile industry is one of the United States' most important employers in the manufacturing sector), today, fashion is an international and highly globalized sector.


Steve Adubato joins the Joe Piscopo Morning Show on AM970 The Answer to discuss Donald Trump's comments about Charlottesville tragedy and placing equal blame on "both sides." Adubato also discusses the media's obsession with covering what's provocative and visual, versus what may be more important. Adubato also comments on the NJ Gubernatorial race where Kim Guadagno needs to set herself apart from Christie while being a strong Republican.


Fetchapet fly dogs, cats and birds to all worldwide destinations; we construct IATA compliant travel kennels and have 30 years' experience flying pets around the world.
As a premier animal travel company, Fetchapet can assist with transporting your pets to wherever life takes you.
We are able to send pets to virtually any country in the world - with Singapore, Hong Kong, Japan, Malaysia, India, Egypt, Thailand, Jamaica, Brazil, Grand Cayman, Antigua and the Philippines all being popular destinations.
If you're heading somewhere a little out of ordinary, we're happy to help with that too. Just because your destination isn't listed, it doesn't mean we cannot transport your pet there – so please do get in touch for more information.
IATA compliant and airline approved pet air travel containers including those specifically designed for birds are manufactured in our own workshops and each kennel is tailor made to suit your pet's measurements which ensures maximum safety and comfort during the journey. We are also able to supply the full range of airline approved plastic kennels should you prefer to have a plastic container for your pet dog or cat.
As a minimum, pet dogs and cats must be microchipped and have the microchip number recorded on all veterinary certificates. Microchipping must be undertaken before the required vaccinations or treatments are given to enable the Official Veterinarian (OV) or Local Veterinary Inspector (LVI) Veterinary Surgeon of DEFRA to identify the animal when completing any paperwork, which will include a Veterinary Certificate of Health or as it is also known a 'Fitness to Fly' certificate.
As the rules and regulations for pet travel vary all around the world, please contact our office for more information on the protocols around your chosen country.
Please complete an enquiry form online or email us at info@fetchapet.co.uk or contact our office on 01206 330332.


text:
Mostar Rock School brings harmony to a community divided by ethnic differences and a history of war
In Mostar, a rock school is breaking the status quo and building change that transcends school grounds. Mostar Rock School has been found by NIRAS's evaluation team to provide not only quality music education but also a space that students with different ethnicities and beliefs can call safe.
SDG: #4, #10
COUNTRIES: Bosnia and Herzegovina
CLIENT: Swedish Embassy in Sarajevo
A community left reeling in the aftermath of war is often racked with problems that divide its people. Take the case of Mostar, a city in Bosnia and Herzegovina and home to one of the most divided communities in the country.
At its centre stands a bronze statue of Bruce Lee, nunchucks in hand and ready for action. Yet despite its defensive stance, this metallic model of the movie star unites those living in Mostar. It does, after all, embody justice and honesty, calling to mind more peaceful times among the city's ethnic groups. Unfortunately, tensions continue to brew in Mostar, and there is only so much a statue can do.
Enter Mostar Rock School (MoRS), an educational establishment dedicated to bringing young people together in a safe space to study music. That music and the performing arts have the power to forge bonds is not a novel idea, and much like other artistic fields, measuring its effects requires resourceful ways.
In 2017, the Swedish Embassy in Sarajevo started giving MoRS the support it needs to promote the building of peace among younger generations. And more recently, it enlisted the help of NIRAS to better understand how the school has impacted students, parents, and citizens within and beyond Mostar.
Students performing at a concert together, gathering a mixed crowd into one place.
Rock music education: a key to creating harmony among a divided people?
Under the leadership of Cecilia Ljungman and Katarina Lundblad, from March to September 2022, NIRAS evaluated the degree to which MoRS is building peace in and outside its community. To do so, the evaluation team employed an inductive approach, which entailed gathering data from various sources, including:
two surveys;
31 interviews;
documents like MoRS's reports and data and lyrics composed by students;
five focus group discussions with students, parents, and teachers.
Collecting this data has been a complicated task. How do you measure change in a community seeped in conflict without stretching social strains further?
"What we were being asked to do was very tricky," Cecilia said. "How do you measure tolerance, peacebuilding and interethnic dialogue while being conscious of not contributing to tension?" For Cecilia and her team, there was only one way to go about it — through indirect means.
The NIRAS team adopted an education-centric framework involving the four pillars of learning, namely Learning to Live Together, Learning to Do, Learning to Know, and Learning to Be. But it was Learning to Live Together that the team placed special emphasis on as it forms part of the main "concepts [that] help capture the definition of Intercultural Dialogue," according to UNESCO's official website.
The other three pillars, while merely accessory to the results, were nonetheless instrumental to the evaluation process. "We didn't want to put peacebuilding and interethnic dialogue in the centre of our interviews and discussions; we wanted to observe these from the side," Cecilia notes. Bringing in peacebuilding from the side meant several things – not asking community members about their perception of the other upfront, not reducing peace to numbers, and not outright telling students and parents that the evaluation was to study MoRS's influence on the post-war friction.
Mostar Rock School proves there is power in the performing arts and a good music education to break down the walls of a decades-long division.
MoRS Director and Founder Orhan Maslo knows this too well. Despite the apparent harmony MoRS has inspired, he maintains that the school's sole focus is teaching rock music to the youth, not promoting peace. "Orhan wanted to bring people together, but he purposely doesn't say, 'We're a peacebuilding rock 'n' roll school,' because kids would be turned off." Cecilia shared. "Instead, he's walking the talk to instil values of trust, tolerance, diversity, respect, understanding, and positive gender roles among the students."
Learning to Live Together encompasses such values. This pillar has been described as the skill to understand and accept others regardless of their traditions, race, ethnicity, or religion and which can encourage values like empathy, acceptance, trust, and teamwork. Interview and survey questions have been based on this, albeit implicitly. And what the NIRAS team found is a testament to just how powerful a good music education can be.
Bridging a historical rift with rock music
To grasp how severe the tension is in Mostar, one must understand that extremes are the norm and that those whose views don't align with any side are considered outcasts in the community. "There are people in the middle who need somewhere to go, where they can feel safe and free to express who they are," Cecilia said.
Most structures in Mostar are divided by ethnic lines. "There are other music schools, but none of them are mixed," Cecilia added. "Kids from different ethnic backgrounds don't normally meet in Mostar while MoRS brings them together. That's what makes it notable."
Equally notable are the prevailing themes that the evaluators found in their talks with students, parents, and teachers. According to the report, these were:
A feeling of belonging and acceptance, which was evident in the friendships formed in school and the students' willingness to create and perform together;
Openness, acceptance, and tolerance toward others, which meant the school created a harmonious environment;
Respect and understanding, which was seen in the students' ability to listen to others' ideas and emotions better, as well as their ability to engage in dialogue and resolve disputes.
Additional data from surveys support these findings. Among the students surveyed, nearly 90% said they strongly agree or agree that MoRS helped improve their teamworking skills, and 81% said they felt the same in terms of MoRS making them more tolerant of others.
I grew up during the war, [and] we really were fearful that it was dangerous on the other side, that you should not cross the bridge. We made borders in our heads. And in most cases, I really felt some discomfort. But not here at MoRS.
Student at Mostar Rock School
Moreover, a total of 83% of students said they had made long-lasting friendships with fellow students from different backgrounds, while 85% of the parents agree or strongly agree their children made these types of friendships while attending the rock school.
Most of the parents also reported to have observed changes in their children's teamworking skills, with 75% agreeing or completely agreeing that they noticed an improvement in their children's capacity for working with others.
But more than numbers, the students' first-hand accounts of their experience in the school speaks volumes about why MoRS's community feels this way. Several students noted how the rock school is an "environment where diversity is actually strength." Another described it as a place "where you can be yourself, where everyone is equal." Other students also said they regard MoRS as a place where they can thrive and connect with those they would not have met otherwise.
The Old Bridge stands over the Neretva River.
"I grew up during the war, and we really were fearful that it was dangerous on the other side, that you should not cross the bridge," another student said. "We made borders in our heads. And in most cases, I really felt some discomfort. But not here at MoRS."
The Old Bridge, which was destroyed during the war and rebuilt in 2004, arches over Neretva, a river lined with flora and surrounded by homes with stony foundations. It's supposed to symbolise reconciliation and co-existence, UNESCO says, but has instead served as a reminder of the long-standing rift among the people in the city. With the aid of the Swedish Embassy in Sarajevo, however, MoRS is helping to make the bridge a connector rather than a divider.
A change of tune: the ripple effect of MoRS
The world of the rock school can seem like a reality removed from the city of Mostar. In Mostar, there is a clear dichotomy between ethnic groups – children attend classes separately and duplicate institutions abound, Reuters reports. But in MoRS, ethnic differences become invisible.
In a radical display of acceptance, students organise and perform concerts together, gathering an audience of different ethnicities and religions in one place. "Having these concerts with mixed groups – that is a huge deal in a divided city, especially because they've been doing this now for ten years and there's never been an incident," Cecilia said.
Interethnic friendships have also formed within the walls of MoRS, and parents, directly affected by the war, have been moved to the point of change. "In a normal, peaceful context, if a parent sends their child to a rock school, can they say they've changed because of it? Probably not. So for a parent to say the rock school they enrolled their child in has changed their perspective, I think that's a big deal. It means MoRS is creating ripple effects in the community," Cecilia mused.
Interethnic friendships also formed in MoRS, moving parents to the point of change.
Encouraging connection and empathy among citizens
As a small learning centre, MoRS has so far made huge strides toward change, and the evaluation revealed not only how effective the school has been in bringing Mostar citizens closer but also the factors enabling this feat.
In the course of their evaluation, the evaluation team found that the following greatly influenced positive changes in the local community:
Visionary leaders, particularly the teachers and the school's director and founders, who are locally grounded and who instil values through action;
Accessible quality education centred around culture, rock music, and the performing arts, all considered unifying forces;
A safe space where one can express and find their voice.
With regard to having a safe space, Cecilia said this has been a significant factor in creating a conducive environment for peace. "Some might find it difficult to understand, but the fact there's a physical space where kids can be themselves and clown around and hang out with people from a different ethnic group, that's massive. They have a space to breathe and be."
The team also considered "skilfully managed" relations with "local authorities and other civil society organisations" a catalyst for collaboration, tolerance, and dialogue beyond the school and Mostar.
All these factors undeniably contribute to the school's success, but perhaps of greatest importance is the evaluation's and MoRS's subtle approach to encouraging that sense of belongingness within and beyond the school.
During an interview, one of the parents revealed what their child, a student, had said, encapsulating the essence of MoRS's rippling influence: "The secret is in what my children told me — do not push us to reconcile, give us a good space...and let us do what we love."
Cecilia Ljungman
Katarina Lundblad
Flexible funding ensures grantees are firmly in the 'driver's seat' of the Ford Foundation's initiative to strengthen social justice around the globe
A participatory, iterative and adaptive developmental evaluation of the Ford Foundation's BUILD model
Increasing knowledge uptake and aid effectiveness though better evaluations: Actions and shifting paradigms for complex times
Global monitoring, evaluation and learning in the Conflict Stability and Security Fund


text:
const express = require('express');
const router = express.Router();

const firebaseMiddleware = require('express-firebase-middleware');

router.use((req, res, next) => {
  next();
});

router.use('/api', firebaseMiddleware.auth);

router.get('/', (req, res) => {
  res.json({
    message: 'Home',
  });
});

router.get('/api/hello', (req, res) => {
  res.json({
    message: `You're logged in as ${res.locals.user.email} with Firebase UID: ${res.locals.user.uid}`,
  });
});

module.exports = router;


text:
Q: Android Studio doesn't show the Android Tab in the Tools dropdown menu I am trying to run a project created by a colleague, so he zipped up the file and I downloaded it on my computer. I already viewed this link about the issue, however the reported solutions workn't for me. Here is a screenshot regarding my settings for SDK Tools, SDK Platforms and the dropdown menu in question. I have tried turning it on and off again.

A: Now android studio doesn't support the android tab anymore. You will have to set your requirements from project settings and set emulator using AVD manager. Below attached image will help you navigate through those steps:


The 851 is one of the models within the MK8 range of 7 day commercial and industrial controls. This range includes on/off units for boiler, lighting and process control, and pulsed output units for bellringing or siren sounding applications.
Programme entry is via a membrane keypad with audible feedback. For security it is only possible to enter or change the time, programme and extend duration with the removable key in place and turned to the setting position.
The on/off units 811, 851 and 852 feature a programmable 0 to 8 hour EXTEND or continuous override and a CROP override to Cancel the Remainder of an ON Period. The AUTO/OFF rocker switches allow outputs to be switched off.


Yahoo Store is capable of processing credit cards via your merchant account. The transactions that are processed via your Yahoo Store will not be archived in your PayJunction account. However, your PayJunction account can still be used to process credit cards.


text:
var run_sequence = require('run-sequence');

gulp.task('production', function(cb) {
    run_sequence(['copy.html.production', 'sprites', 'react'],
        ['browserify.production', 'sass.production'], cb);
});


John West currently has 589 photos in the database. The photos have been viewed a total of 3,369,073 times, for an average of 5,719.99 views per photo.
· 30 have been selected as a People's Choice Awards winner.
· 8 have been selected as a Photo of the Week.
· 13 have been selected as a Screener's Choice photo.
Listed below are all photos in the database by John West. The list is sorted to show the most popular photos first, by default. Click on the column headings to sort the list by other criteria.


text:
package com.google.cloud.dialogflow.v2.samples;

// [START dialogflow_v2_generated_Versions_DeleteVersion_async]
import com.google.api.core.ApiFuture;
import com.google.cloud.dialogflow.v2.DeleteVersionRequest;
import com.google.cloud.dialogflow.v2.VersionName;
import com.google.cloud.dialogflow.v2.VersionsClient;
import com.google.protobuf.Empty;

public class AsyncDeleteVersion {

  public static void main(String[] args) throws Exception {
    asyncDeleteVersion();
  }

  public static void asyncDeleteVersion() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (VersionsClient versionsClient = VersionsClient.create()) {
      DeleteVersionRequest request =
          DeleteVersionRequest.newBuilder()
              .setName(VersionName.ofProjectVersionName("[PROJECT]", "[VERSION]").toString())
              .build();
      ApiFuture<Empty> future = versionsClient.deleteVersionCallable().futureCall(request);
      // Do something.
      future.get();
    }
  }
}
// [END dialogflow_v2_generated_Versions_DeleteVersion_async]