text:
Natalya Reveals She Got A Tooth Knocked Out Of Her During Battle Royal On WWE Raw
Natalya didn't leave Raw unscathed.
Natalya was one of the last three women who were in the battle royal to crown a No. 1 contender to the Raw Women's Championship this week on Raw. The other was Lacey Evans, who was the one who knocked a tooth off of Natalya and the former SmackDown Women's Champion revealed it on Twitter.
Related Article Madison Rayne Says She's Ready To Put Her College Degree To Good Use, Owes Her Career To The Fans
Such a whirlwind of emotions tonight on #WWERaw ~ One thing I know for sure, @LaceyEvansWWE strikes are NO joke!! She's a bad ass...knocked my tooth out...but I still eliminated her in the match! So there's that! ---- #BOAT pic.twitter.com/8yxsBnJpWK
— NattieByNature (@NatbyNature) October 13, 2020
Unfortunately for Natalya, she did not win the match. She thought she did when she eliminated Evans, but didn't realize that Lana was still in the match and so Lana surprised Natalya and eliminated her to win the match.
Now, Lana will have a match against Asuka for the Raw Women's Championship taking place on the October 19 episode of Raw.
For full results of last night's Raw, click here.


So far wiredcoyote has created 38 blog entries.
Cleanliness is next to catliness, and sometimes a natural cat litter is best! So how do you make a homemade tray smell and feel like shop bought?
If you find yourself shrieking "My Cat Has Fleas!" don't despair. Here's the low down on fleas, where they're from and how to treat your cat and flea proof your home so they don't come back.


Last year I had the great good fortune of teaching with Uma Furman and Deej Juventin in Australia. Next year we offer the same thing in the U.K. This event was so fun and deeply transforming for everyone, practitioners and participants alike. Come join us!


text:
Smartphone manufacturer officially joins EV market as Xiaomi Automobile
Scooter Doll
- Sep. 1st 2021 10:38 am PT
Chinese consumer electronics company Xiaomi has officially entered the EV market after completing its industrial and commercial registration in China as Xiaomi Automobile Co. Ltd. In a recent announcement of the new EV entity, Xiaomi Automobile has revealed that it already has a team of nearly 300 employees.
Before today's announcement, Xiaomi has been known as a Chinese electronics company based on an Internet of Things (IoT) platform. The manufacturer currently manufactures smartphones, mobile apps, laptops, home appliances, and even scooters.
In recent years, however, Xiaomi's leaderboard status for smartphone sales has dwindled in China. To combat this dip, the company began seeking new outlets to maintain its cash flow as an international manufacturer.
This past March, we reported that Xiaomi had definitive plans to manufacture its own branded EVs aimed at the mass market.
Additionally, rumors circulated that Great Wall Motors would offer consulting for Xiaomi's engineering process to speed up the project, in addition to providing manufacturing services.
Five months later, Xiaomi is now an officially registered EV company, although it is still searching for an experienced partner in the Chinese EV manufacturing sector.
Part of the new Xiaomi Automobile team / Source: Weibo/Xiaomi
Xiaomi Automobile officially launches in China, still seeking a partner
According to a report from GizmoChina, Xiaomi officially announced that the industrial and commercial registration of Xiaomi Automobile Co. Ltd. has been completed. The announcement was made via the company's Weibo page.
According to the report, Xiaomi Automobile was successfully registered with capital of 10 billion yuan (~$1.55 billion) and will be led by Lei Jun, the founder, chairman, and CEO of Xiaomi Group.
Since announcing its plans to enter the EV market, Xiaomi claims to have sorted through over 20,000 resumes to build its initial team of 300 employees. The Weibo post also provides a contact email to send resumes to for additional employment opportunities.
With a decent-sized team in place, Xiaomi Automobile is still searching for a partner in China to get EV manufacturing going. Per GizmoChina, the infant company has been in talks with several car manufacturers for a partnership, but nothing has materialized just yet.
Some of the companies include BYD, Great Wall Motor, Wuling Motors, and most recently, SAIC headquarters. Since announcing entry into EV manufacturing, Xiaomi's management has reportedly already had 85 industry visits, in addition to extensive meetings with more than 200 automotive industry veterans.
Jun has been recorded stating, "Xiaomi is aiming to offer high-quality smart electric vehicles to its users globally to enjoy ubiquitous smart life."
While Xiaomi has already invested 10 billion yuan to get its EV wheels moving, its CEO has stated plans to invest upwards of 60 billion yuan over the next decade to truly make an impact on the EV market in China.
This is interesting news as another electronics company looks to venture into EVs. While we previously reported on speculation that a partnership with Great Wall Motors was likely, it now seems that Xiaomi is assessing all its options.
It will be interesting to see how this company can stack up in a competitive EV market in China. It has the funding, and it has the electronics development experience. To crucial elements to have a fair shot at reaching series production of electric vehicles these days.
Still, that climb to producing a passenger EV for the masses will be a steep one, so having a partner in auto manufacturing will not only be beneficial to Xiaomi but imperative.
Next, we will see who the new automaker chooses to team up with and what sort of EV specs they will promise.
Xiaomi Automobile
Scooter Doll is a writer, designer and tech enthusiast born in Chicago and based on the West Coast. When he's not offering the latest tech how tos or insights, he's probably watching Chicago sports.
Please send any tips or suggestions, or dog photos to him at scooter@9to5mac.com

redpajama_set_name: RedPajamaCommonCrawl


text:
package org.elasticsearch.common.xcontent;

import org.elasticsearch.common.ParseField;
import org.elasticsearch.common.ParseFieldMatcher;
import org.elasticsearch.common.ParsingException;

import java.io.IOException;
import java.util.*;
import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.util.function.Supplier;

/**
 * A declarative Object parser to parse any kind of XContent structures into existing object with setters.
 * The Parser is designed to be declarative and stateless. A single parser is defined for one object level, nested
 * elements can be added via {@link #declareObject(BiConsumer, BiFunction, ParseField)} which is commonly done by
 * declaring yet another instance of {@link ObjectParser}. Instances of {@link ObjectParser} are thread-safe and can be
 * re-used across parsing operations. It's recommended to use the high level declare methods like {@link #declareString(BiConsumer, ParseField)}
 * instead of {@link #declareField} which can be used to implement exceptional parsing operations not covered by the high level methods.
 */
public final class ObjectParser<Value, Context> implements BiFunction<XContentParser, Context, Value> {

    private final String name;
    private final Supplier<Value> valueSupplier;

    /**
     * Creates a new ObjectParser instance with a name. This name is used to reference the parser in exceptions and messages.
     */
    public ObjectParser(String name) {
        this(name, null);
    }

    /**
     * Creates a new ObjectParser instance which a name.
     * @param name the parsers name, used to reference the parser in exceptions and messages.
     * @param valueSupplier a supplier that creates a new Value instance used when the parser is used as an inner object parser.
     */
    public ObjectParser(String name, Supplier<Value> valueSupplier) {
        this.name = name;
        this.valueSupplier = valueSupplier;
    }

    /**
     * Parses a Value from the given {@link XContentParser}
     * @param parser the parser to build a value from
     * @return a new value instance drawn from the provided value supplier on {@link #ObjectParser(String, Supplier)}
     * @throws IOException if an IOException occurs.
     */
    public Value parse(XContentParser parser) throws IOException {
        if (valueSupplier == null) {
            throw new NullPointerException("valueSupplier is not set");
        }
        return parse(parser, valueSupplier.get(), null);
    }

    /**
     * Parses a Value from the given {@link XContentParser}
     * @param parser the parser to build a value from
     * @param value the value to fill from the parser
     * @return the parsed value
     * @throws IOException if an IOException occurs.
     */
    public Value parse(XContentParser parser, Value value) throws IOException {
        return parse(parser, value, null);
    }

    /**
     * Parses a Value from the given {@link XContentParser}
     * @param parser the parser to build a value from
     * @param value the value to fill from the parser
     * @param context an optional context that is passed along to all declared field parsers
     * @return the parsed value
     * @throws IOException if an IOException occurs.
     */
    public Value parse(XContentParser parser, Value value, Context context) throws IOException {
        XContentParser.Token token;
        if (parser.currentToken() == XContentParser.Token.START_OBJECT) {
            token = parser.currentToken();
        } else {
            token = parser.nextToken();
            if (token != XContentParser.Token.START_OBJECT) {
                throw new IllegalStateException("[" + name  + "] Expected START_OBJECT but was: " + token);
            }
        }

        FieldParser<Value> fieldParser = null;
        String currentFieldName = null;
        while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) {
            if (token == XContentParser.Token.FIELD_NAME) {
                currentFieldName = parser.currentName();
                fieldParser = getParser(currentFieldName);
            } else {
                if (currentFieldName == null) {
                    throw new IllegalStateException("[" + name  + "] no field found");
                }
                assert fieldParser != null;
                fieldParser.assertSupports(name, token, currentFieldName, parser.getParseFieldMatcher());
                parseSub(parser, fieldParser, currentFieldName, value, context);
                fieldParser = null;
            }
        }
        return value;
    }

    private void parseArray(XContentParser parser, FieldParser<Value> fieldParser, String currentFieldName, Value value, Context context) throws IOException {
        assert parser.currentToken() == XContentParser.Token.START_ARRAY : "Token was: " + parser.currentToken();
        parseValue(parser, fieldParser, currentFieldName, value, context);
    }

    private void parseValue(XContentParser parser, FieldParser<Value> fieldParser, String currentFieldName, Value value, Context context) throws IOException {
        try {
            fieldParser.parser.parse(parser, value, context);
        } catch (Exception ex) {
            throw new ParsingException(parser.getTokenLocation(), "[" + name  + "] failed to parse field [" + currentFieldName + "]", ex);
        }
    }

    private void parseSub(XContentParser parser, FieldParser<Value> fieldParser, String currentFieldName, Value value, Context context) throws IOException {
        final XContentParser.Token token = parser.currentToken();
        switch (token) {
            case START_OBJECT:
                parseValue(parser, fieldParser, currentFieldName, value, context);
                break;
            case START_ARRAY:
                parseArray(parser, fieldParser, currentFieldName, value, context);
                break;
            case END_OBJECT:
            case END_ARRAY:
            case FIELD_NAME:
                throw new IllegalStateException("[" + name  + "]" + token + " is unexpected");
            case VALUE_STRING:
            case VALUE_NUMBER:
            case VALUE_BOOLEAN:
            case VALUE_EMBEDDED_OBJECT:
            case VALUE_NULL:
                parseValue(parser, fieldParser, currentFieldName, value, context);
        }
    }

    protected FieldParser getParser(String fieldName) {
        FieldParser<Value> parser = fieldParserMap.get(fieldName);
        if (parser == null) {
            throw new IllegalArgumentException("[" + name  + "] unknown field [" + fieldName + "], parser not found");
        }
        return parser;
    }

    @Override
    public Value apply(XContentParser parser, Context context) {
        if (valueSupplier == null) {
            throw new NullPointerException("valueSupplier is not set");
        }
        try {
            return parse(parser, valueSupplier.get(), context);
        } catch (IOException e) {
            throw new ParsingException(parser.getTokenLocation(), "[" + name  + "] failed to parse object", e);
        }
    }

    public interface Parser<Value, Context> {
        void parse(XContentParser parser, Value value, Context context) throws IOException;
    }

    private interface IOSupplier<T> {
        T get() throws IOException;
    }

    private final Map<String, FieldParser> fieldParserMap = new HashMap<>();

    public void declareField(Parser<Value, Context> p, ParseField parseField, ValueType type) {
        FieldParser fieldParser = new FieldParser(p, type.supportedTokens(), parseField, type);
        for (String fieldValue : parseField.getAllNamesIncludedDeprecated()) {
            fieldParserMap.putIfAbsent(fieldValue, fieldParser);
        }
    }

    public void declareStringArray(BiConsumer<Value, List<String>> consumer, ParseField field) {
        declareField((p, v, c) -> consumer.accept(v, parseArray(p, p::text)), field, ValueType.STRING_ARRAY);
    }

    public void declareDoubleArray(BiConsumer<Value, List<Double>> consumer, ParseField field) {
        declareField((p, v, c) -> consumer.accept(v, parseArray(p, p::doubleValue)), field, ValueType.DOUBLE_ARRAY);
    }

    public void declareFloatArray(BiConsumer<Value, List<Float>> consumer, ParseField field) {
        declareField((p, v, c) -> consumer.accept(v, parseArray(p, p::floatValue)), field, ValueType.FLOAT_ARRAY);
    }

    public void declareLongArray(BiConsumer<Value, List<Long>> consumer, ParseField field) {
        declareField((p, v, c) -> consumer.accept(v, parseArray(p, p::longValue)), field, ValueType.LONG_ARRAY);
    }

    public void declareIntArray(BiConsumer<Value, List<Integer>> consumer, ParseField field) {
        declareField((p, v, c) -> consumer.accept(v, parseArray(p, p::intValue)), field, ValueType.INT_ARRAY);
    }

    private final <T> List<T> parseArray(XContentParser parser, IOSupplier<T> supplier) throws IOException {
        List<T> list = new ArrayList<>();
        if (parser.currentToken().isValue()) {
            list.add(supplier.get()); // single value
        } else {
            while (parser.nextToken() != XContentParser.Token.END_ARRAY) {
                if (parser.currentToken().isValue()) {
                    list.add(supplier.get());
                } else {
                    throw new IllegalStateException("expected value but got [" + parser.currentToken() + "]");
                }
            }
        }
        return list;
    }

    public <T> void declareObject(BiConsumer<Value, T> consumer, BiFunction<XContentParser, Context, T> objectParser, ParseField field) {
        declareField((p, v, c) -> consumer.accept(v, objectParser.apply(p, c)), field, ValueType.OBJECT);
    }

    public <T> void declareObjectOrDefault(BiConsumer<Value, T> consumer, BiFunction<XContentParser, Context, T> objectParser, Supplier<T> defaultValue, ParseField field) {
        declareField((p, v, c) -> {
            if (p.currentToken() == XContentParser.Token.VALUE_BOOLEAN) {
                if (p.booleanValue()) {
                    consumer.accept(v, defaultValue.get());
                }
            } else {
                consumer.accept(v, objectParser.apply(p, c));
            }
        }, field, ValueType.OBJECT_OR_BOOLEAN);
    }

    public void declareFloat(BiConsumer<Value, Float> consumer, ParseField field) {
        declareField((p, v, c) -> consumer.accept(v, p.floatValue()), field, ValueType.FLOAT);
    }

    public void declareDouble(BiConsumer<Value, Double> consumer, ParseField field) {
        declareField((p, v, c) -> consumer.accept(v, p.doubleValue()), field, ValueType.DOUBLE);
    }

    public void declareLong(BiConsumer<Value, Long> consumer, ParseField field) {
        declareField((p, v, c) -> consumer.accept(v, p.longValue()), field, ValueType.LONG);
    }

    public void declareInt(BiConsumer<Value, Integer> consumer, ParseField field) {
        declareField((p, v, c) -> consumer.accept(v, p.intValue()), field, ValueType.INT);
    }

    public void declareValue(BiConsumer<Value, XContentParser> consumer, ParseField field) {
        declareField((p, v, c) -> consumer.accept(v, p), field, ValueType.VALUE);
    }

    public void declareString(BiConsumer<Value, String> consumer, ParseField field) {
        declareField((p, v, c) -> consumer.accept(v, p.text()), field, ValueType.STRING);
    }

    public void declareStringOrNull(BiConsumer<Value, String> consumer, ParseField field) {
        declareField((p, v, c) -> consumer.accept(v, p.currentToken() == XContentParser.Token.VALUE_NULL ? null : p.text()), field, ValueType.STRING_OR_NULL);
    }

    public void declareBoolean(BiConsumer<Value, Boolean> consumer, ParseField field) {
        declareField((p, v, c) -> consumer.accept(v, p.booleanValue()), field, ValueType.BOOLEAN);
    }

    public static class FieldParser<T> {
        private final Parser parser;
        private final EnumSet<XContentParser.Token> supportedTokens;
        private final ParseField parseField;
        private final ValueType type;

        public FieldParser(Parser parser, EnumSet<XContentParser.Token> supportedTokens, ParseField parseField, ValueType type) {
            this.parser = parser;
            this.supportedTokens = supportedTokens;
            this.parseField = parseField;
            this.type = type;
        }

        public void assertSupports(String parserName, XContentParser.Token token, String currentFieldName, ParseFieldMatcher matcher) {
            if (matcher.match(currentFieldName, parseField) == false) {
                throw new IllegalStateException("[" + parserName  + "] parsefield doesn't accept: " + currentFieldName);
            }
            if (supportedTokens.contains(token) == false) {
                throw new IllegalArgumentException("[" + parserName  + "] " + currentFieldName + " doesn't support values of type: " + token);
            }
        }

        @Override
        public String toString() {
            String[] deprecatedNames = parseField.getDeprecatedNames();
            String allReplacedWith = parseField.getAllReplacedWith();
            return "FieldParser{" +
                    "preferred_name=" + parseField.getPreferredName() +
                    ", supportedTokens=" + supportedTokens +
                    (deprecatedNames == null || deprecatedNames.length == 0 ? "" : ", deprecated_names="  + Arrays.toString(deprecatedNames )) +
                    (allReplacedWith == null ? "" : ", replaced_with=" + allReplacedWith) +
                    ", type=" + type.name() +
                    '}';
        }

    }

    public enum ValueType {
        STRING(EnumSet.of(XContentParser.Token.VALUE_STRING)),
        STRING_OR_NULL(EnumSet.of(XContentParser.Token.VALUE_STRING, XContentParser.Token.VALUE_NULL)),
        FLOAT(EnumSet.of(XContentParser.Token.VALUE_NUMBER, XContentParser.Token.VALUE_STRING)),
        DOUBLE(EnumSet.of(XContentParser.Token.VALUE_NUMBER, XContentParser.Token.VALUE_STRING)),
        LONG(EnumSet.of(XContentParser.Token.VALUE_NUMBER, XContentParser.Token.VALUE_STRING)),
        INT(EnumSet.of(XContentParser.Token.VALUE_NUMBER, XContentParser.Token.VALUE_STRING)),
        BOOLEAN(EnumSet.of(XContentParser.Token.VALUE_BOOLEAN)), STRING_ARRAY(EnumSet.of(XContentParser.Token.START_ARRAY, XContentParser.Token.VALUE_STRING)),
        FLOAT_ARRAY(EnumSet.of(XContentParser.Token.START_ARRAY, XContentParser.Token.VALUE_NUMBER, XContentParser.Token.VALUE_STRING)),
        DOUBLE_ARRAY(EnumSet.of(XContentParser.Token.START_ARRAY, XContentParser.Token.VALUE_NUMBER, XContentParser.Token.VALUE_STRING)),
        LONG_ARRAY(EnumSet.of(XContentParser.Token.START_ARRAY, XContentParser.Token.VALUE_NUMBER, XContentParser.Token.VALUE_STRING)),
        INT_ARRAY(EnumSet.of(XContentParser.Token.START_ARRAY, XContentParser.Token.VALUE_NUMBER, XContentParser.Token.VALUE_STRING)),
        BOOLEAN_ARRAY(EnumSet.of(XContentParser.Token.START_ARRAY, XContentParser.Token.VALUE_BOOLEAN)),
        OBJECT(EnumSet.of(XContentParser.Token.START_OBJECT)),
        OBJECT_OR_BOOLEAN(EnumSet.of(XContentParser.Token.START_OBJECT, XContentParser.Token.VALUE_BOOLEAN)),
        VALUE(EnumSet.of(XContentParser.Token.VALUE_BOOLEAN, XContentParser.Token.VALUE_NULL ,XContentParser.Token.VALUE_EMBEDDED_OBJECT,XContentParser.Token.VALUE_NUMBER,XContentParser.Token.VALUE_STRING));

        private final EnumSet<XContentParser.Token> tokens;

        ValueType(EnumSet<XContentParser.Token> tokens) {
            this.tokens = tokens;
        }

        public EnumSet<XContentParser.Token> supportedTokens() {
            return this.tokens;
        }
    }

    @Override
    public String toString() {
        return "ObjectParser{" +
                "name='" + name + '\'' +
                ", fields=" + fieldParserMap.values() +
                '}';
    }
}

redpajama_set_name: RedPajamaGithub


First of all, I would like to say that AL is a great game. Not so sure about the 1% people who make a newbie's play disheartening when it comes to this game. I just wanted to express my opinion, and love the game AL is. I am, however, sad to see how players use newbies for scamming and scamming alone.
On top of that, he ignored me. So, now I can not report him for scam, since I can't inspect him.
Anyways, I really farmed a lot (I mean a lot) to make that money. I don't think I am gonna be able to do that, again. Just wanted the guys who created AL to know that although people may love AL, you should do something more rigorous to avoid scamming like this, esp. for newbies.
Before someone says that how we can do that, here is a thought: maybe place a minimum restriction of say 20% of market price or something similar.
Most players on al will scam you if they get the chance, the sad truth.
Most players will not, but yes, there are scammers.
2. Report this person if you remember who it is -- give details about time, time zone and conversation to support@spacetimestudios.com. support@spacetimegames.com probably works as well.
The good thing is once you got through this ONE time it won't happen to you again. Now you are wiser. Sorry it happened, the majority of the player base in Arlor is honest and fun. Hope you stick around and enjoy the game we have a lovely community here.
You can report someone by typing /report playername reason-for-report (substituting with the appropriate information, of course) or email support@spacetimestudios.com with information as detailed as you can get. Exact time with timezone, screenshots of the chat log etc.
I can say it took me a hellofalot longer than 3-4 days to earn my first 200K, so you could still probably consider yourself ahead.
As for scamming, forewarned is forearmed. There is an excellent guide regarding scams (http://www.spacetimestudios.com/showthread.php?137292-Guide-Scams-Avoiding-Scams-and-What-to-do-if-You-are-Scammed) that it sounds like you missed in your reading.
Thank you all for your nice words and advice. I, actually, wanted to explain what went wrong, and how a newbie feels for the game when this happens.
I gave up my account today to my guild. Had around 120k gold and some vanity. I am quitting (oh, and you can call me a quitter - don't matter) as I don't have the strength to build that initial money again.
Good luck to you all, and thanks for the nice words, again. Oh, and SpaceTime guys please do something about this. I am sure this happens to a lot of new guys, but probably I am the only one complaining. I gave up a good game, I admit.
Maybe for now on, keep a cap on the lowest amount u can sell for, or maybe a better confirmation message??
What is your IGN? I'll buy you a Lep - no strings attached....well, one string. You must pay it forward at some point in the future when you have the means to do so.
Giving your account to someone gets both you and them banned, just sayin.
You spent 3-4 days playing and don't have the strength to do it again? Sorry that's just.....wow.
for me..im glad that another indian has joined from rajasthan..whose name is nikhil gupta..COOL!!
Take Kalizza's offer, his a respected forumer and a good AL player. That will help you back on your feet again in-game.
Most of the players in AL are still good and honest players.
Take care on your business guys..
I'm sorry you had to go through this on the first few days of playing the game. There are a looooot of scammers in AL. And they all have different ways of doing it. I wish you luck on getting back what you have lost. Farming is key in getting good gear and succeeding in the game. I'm actually impressed how you earned that much in three days! You did a great job at it.
Our Guild <The Stone> will be having an event soon.
We'll be giving away Leprechaun Pendants and some gold to help new players get started.
Good luck and have fun playing AL!
imone of the oldest players (season 2 since 80% of season 1 players stopped i consider myself as one of the oldest players :D) and i saw the raise of scamming. Just be always inteligent and keep checking for an error before accept trade.
Btw i reported and got 13 scammers banned (my conatcts said they were banned maybe not true but its nice anyway to not see them anymore) its easy just screenshot the trade and the chat in same time and send it to sts they will mostly of time bann the guy.
Take Kalizzaa's offer aswell, I am sure you can win back the money very soon!


One of the concerns many people worry about when considering braces or other orthodontic treatment is how much it will hurt. It's a question we get regularly (almost as much as how much they cost!), but, unfortunately, it's one we can't answer.
That's because the amount of discomfort people feel with braces depends not so much on the braces as on the person getting them. This may sound like we're just dodging the question, but it's true. And now there's a published scientific study supporting our observation.
Researchers wanted to be able to predict the level of pain a person will experience during orthodontic treatment. To do this, they hoped to calibrate their scale against a standard of discomfort so that they could compare pain levels across patients.
To do this, they subjected the 121 college students participating in the study to a standard pain sensation, what is called a cold pressor test. In a cold pressor test, the patient puts their hand in a bucket of ice water for a minute. The test is designed to investigate cardiovascular changes using a standardized stimuli, but it works for pain tolerance, too. After holding their hand in the ice water for a minute, subjects rated their pain level on a scale of 1-10.
Then patients were asked to rate their pain regularly after receiving their braces. Pain peaked on the first day after getting braces, then tapered off to normal by 7 days after. For patients, the pain level correlated strongly with their pain tolerance for holding their hand in ice water. In other words, the discomfort people feel is related more to their own nervous system response to pain than it is to the actual experience of braces.
So, if you're the sort of person who is likely to experience discomfort more strongly, you'll probably have more discomfort during braces. But if you're the sort of person who tends to shrug pain off with little sense of pain, then braces won't bother you.
It's important to note that braces-related discomfort is relatively brief. The pain peaks within a day of getting your braces on and tapers off within 7 days. And it tends to get to be less after each tightening visit.
For most people, discomfort is easily managed. First, you can take normal over-the-counter pain relievers, such as ibuprofen. You can also try cold foods like ice cream. This can numb the pain, but some people experience more discomfort because it can rapidly change the temperature of the archwire and brackets, which will then chill your teeth.
Orthodontic wax can help avoid irritation, though it doesn't usually help with the soreness associated with placing braces or tightening them. Some wax is medicated, though, and that might help.
As far as chewing goes, people have different experiences. Some people feel relief from chewing more, while others find that sticking to soft foods after a tightening is the best choice.
If you would like to talk about this or other questions about braces, please call (614) 848-5001 for an appointment with a cosmetic dentist at Firouzian Dentistry.


Sammy, can you tell the audience about yourself and how you came to work in risk management?
I'm a partner and the head of risk and regulatory practice at enableit. We are a risk advisory focused on cyber and financial risks. My team and I help clients achieve compliance and profitability outcomes through better risk governance. I started my career in capital markets technology but pivoted to Risk Management during the financial crisis. I've now spent over a decade in client facing consulting roles managing Risk, Regulations and Data Governance change projects. I went to Columbia University for my Masters and researched Counterparty Risk via Graph Network Analysis.
How do you think the current legislative efforts to deregulate in the U.S. and elsewhere will impact the Risk Management profession?
In my current role as a practice manager, I hire and develop Risk and Data experts for various regulatory changes. CCAR, although a very costly initiative in terms of structural and business model changes, was a "job creating" regulation for risk and regulation experts. CCAR Banks had to hire an army of internal and external resources quickly to build the change programs. For example, we worked on modeling RWA, PPNR, and Balance Sheet projections for CCAR and calculated stressed VARs and designed scenarios for stress testing for our client's capital and liquidity levels. We have also provided 3rd line of defense in internal audit and successfully remediated MRAs in CCAR. Currently, all of these programs are migrating from change the bank (CTB) to run the bank (RTB) processes. As a result, they are either being pushed to a low cost location or being reduced in headcount significantly. The reduced focus on capital regulations to increase lending by the new administration has left a large number of Risk professionals wonder how to migrate their recent experience in FRY-14A/Q/M reporting and modeling to other parts of the business.
Please share some skill migration strategies for folks with recent regulatory compliance experience.
If you want to stay in the regulatory regime, the answer is rather simple- chase the next reg. You should be checking the progress on rule making process on new regulations such as FRTB or CECL or TLAC with respective regulatory agencies. Another good place would be following a recent regulatory fine imposed using any existing rules and laws (AML/Volcker). If you want to make a change, look into demonstrating your capability in the areas of data or technology or operations. Data Quality is a big driver for regulatory compliance tasks so your data mapping/ reconciliation skills can easily transfer into other data governance initiatives driven by market forces where focus is client segmentation or product recommendation. Technology is driving a lot of compliance automation initiatives so you may look to become the liaison between business and IT and help bridge development and acceptance of business requirements. If you are a quant with strong modeling background, you may focus on model validation or may look into assessing conceptual soundness of methodologies as your next adventure. Audit always looks for professionals with quant background to better assess control weaknesses. Operation groups are going through major disruptions due to roll out of Robotic Process Automation tools and Cloud based services, which will require redefining existing business rules and models with the help of operational risk and controls professionals. Last but not the least, we are cross training risk and control folks into IT Risk space (Cyber/ InfoSec) which is exploding in market demand.
Have you been able to successfully migrate skills for your teams in any of the areas mentioned?
Liquidity Risk Management is an area for example where we have taken regulatory reporting experts in LCR/5G and transitioned them into areas of Liquidity Stress Testing. Boards have learned a hard lesson from the last crisis that a perfectly capitalized bank can crumble due to liquidity and funding crisis. Areas such as Stress scenarios for secure and unsecure products, Liquidity Accounting Consistency process, Liquidity to Balance sheet reconciliation, Back testing, Sensitivity analysis, Daily/weekly/monthly cash flow projections are key to managing day to day business. It is important to make people think about how liquidity impacts business decisions outside of treasury and risk and in the areas of product control and product development to be competitive in the current growth environment. We should be thinking about balance sheet KPIs, interest income forecasts and modeling the impact of interest rate sensitivity to help support business planning and resource optimization. We should monitor deposit portfolio to explain client behavior and volatility trends. We should create pricing strategies that exceed targets on deposit growth campaign. We should help reduce balance sheet by any value destroying deposits and stranded liquidity while maintaining client relationships and their valuable payment and clearing business. Many of these regulations focused too much on back office data but we need to start thinking about their impacts on front office activities such as sales and trading. Funding valuation adjustments and fund transfer pricing have to be monitored carefully to sustain profitability. We are helping clients develop expertise in areas of Forward Cash Exposure Framework components such as: liquid assets buffer, contractual cash flows, behavioral cash flows, collateral postings and on-and off-balance sheet. More specifically, we are focusing on key behavioral options in deposits for both demand and time, pre-payable/revolving loans and liquidity/credit facilities. We are stressing deposit withdrawals by segmenting deposits, modeling withdrawals of non-maturity liabilities with stochastic factor overlay and most importantly emphasizing on reality check via deterministic approach and peer review.


Air pollution is increasing day by day. Nowadays with the trend shifting towards environmental-friendly and natural goodies, most people appreciate the concept of receiving and giving potted plants as gifts.
First time purchased from this site.


VELUX white painted windows are one of the latest additions to the VELUX range. While low maintenance, white VELUX PVC windows have always been popular with buyers, VELUX's white painted windows open up a new dimension in interior design.
Using the same top-quality wooden frame as VELUX's classic, lacquered pine windows the new white painted range offers a superb, factory-painted finish. This gives the frame's surface a delicately textured natural grain. As well as enhancing the 'designer look' the brilliant white finish also reflects much more light than a natural wood window frame.
VELUX white painted windows are finished with premium quality, water based paint. This allows the timber frame to breathe. The pigment is UV resistant to ensure that the frames don't fade in bright sunlight.
With special, anti-fungal additives in the paint, VELUX white painted windows are built for minimal maintenance and lasting good looks. VELUX also have a special Maintenance Kit that can be used to keep your white painted windows as good as new!


Portimonense will be hosting Rio Ave at Portimão, hoping to frustrate what is impending to be a three-game losing streak in the Primeira Liga.
The hosts had just been beaten by Santa Clara last Sunday, scoring 2-1. Prior to that, they also fell to Chaves 0-1 later in the previous month. They have been excellent though in their 1-1 draw with Braga and this will be something that would boost their confidence on Saturday.
Last August, Portimonense faced Rio Ave at Taca de portugal Placard, but lost 0-2.
Rio Ave, on the other hand, are unbeaten in their last four games in the Portuguese top-tier and they will be expecting to extent this unbeaten streak on Saturday.
Last week, Rio Ave shared a 2-2 draw with Tondela. They also have draws with Feirense 0-0 and Vitoria Setubal 1-1. They beat Maritimo last week though 0-2.
In the Cup of Portugal, Vilacondenses beat Torreense 1-5 and Silves FC 7-0, but they fell to Sporting CP 5-2.
– Portimonense midfielder Dener obtained a muscle injury within the week and is expected to be sidelined for the meantime.
– Vilacondenses' Afonso Figueiredo is currently under suspension after publishing an offensive tweet and thus will not be featured here.
– Center-back Jadson is on red card suspension and will not play until 11th February.
– Filipe Augusto, who was signed up last week to Rio Ave, will likely replace João Schmidt, who just left for Nagoya Grampus.
– Portimonense center-forward ended a six match goal drought when he scored against Santa Clara and is expected to be boosted on Saturday.
– Diego Lopes came back from a one-game suspension and will most likely make up the starting XI for Rio Ave.
– Portimonense left-winger Shoya Nakajima will also be absent in the match after suffering from a calf injury.
Jackson Martinez is the higher scorer of Portimonense in the current season with five goals out of his 16 appearances. He already scored five goals and two assists in the current Liga NOS season so far.
Wellington plays as right winger for the Saturday hosts with three goals already made out of his 16 appearances in the current season. All those three goals were made in his 14 appearances in his Primeira Liga plays.
Bruno Moreira plays as center-forward for the Rioavistas. He already appeared 23 times and scored five goals. He appeared 16 times in the Portuguese top-tier and made 4 goals and 2 assists. He also played once so far in the Taca de Portugal Placard from which he scored a goal.
Diego Lopes is one of Rio Ave's best midfielder after appearing 18 times in the current season and scoring four goals in the way. Out of 12 appearances in the Liga NOS, he made two goals and two assists. He also kicked two goals and an assist out of his three plays for the Cup of Portugal.
Rio Ave have been excellent in the league leately, holding draws to avoid defeats. Portimonense, on the other hand, have won in five of their last matches with the guests. The hosts are eighth in the Primeira Liga table, while the guests are ninth. Considering their close places in the league standings, the likelihood of the Saturday match concluding in a draw will be high.
Don't miss the chance to place stakes on this Primeira Liga match with the best odds on VOdds! Follow Eastbridge betting brokerage for more exciting sports features and previews!


text:
Salty Snow Could Affect Air Pollution in the Arctic (Nov. 17, 2016) - In pictures, the Arctic appears pristine and timeless with its barren lands and icy landscape. In reality, the area is rapidly changing. Scientists a...read more
Toxicoepigenetics: The Emerging Field Many Are Exploring Without Knowing It (Oct. 10, 2016) - they just might not realize it."...read more
Milken Institute School of Public Health Holds September 22 Forum on Chemical Safety Reform (Sep. 17, 2016) - Milken Institute School of Public Health (Milken Institute SPH) at the George Washington University (GW) will hold a public forum on September 22 that...read more
Press Conference Schedule of the 251st American Chemical Society National Meeting & Exposition, March 13-17, 2016 (Mar. 20, 2016) - Venkataramana Gadhamshetty, Ph.D.South Dakota School of Mines & Technology...read more
California Gas Well Blowout Caused Nation's Largest Methane Release, Study Finds (Feb. 26, 2016) - The Aliso Canyon natural gas well blowout released more than 100,000 tons of the powerful greenhouse gas methane before the well was finally plugged ...read more
'Self-cleaning' pollution-control technology could do more harm than good, study suggests
June 13, 2013 — Research by Indiana University environmental scientists shows that air-pollution-removal technology used in "self-cleaning" paints and building surfaces may actually cause more problems than they solve.
The study finds that titanium dioxide coatings, seen as promising for their role in breaking down airborne pollutants on contact, are likely in real-world conditions to convert abundant ammonia to nitrogen oxide, the key precursor of harmful ozone pollution.
"As air quality standards become more stringent, people are going to be thinking about other technologies that can reduce pollution," said Jonathan D. Raff, assistant professor in the School of Public and Environmental Affairs at IU Bloomington and an author of the study. "Our research suggests that this may not be one of them."
"Photooxidation of Ammonia on TiO2 as a Source of NO and NO2 under Atmospheric Conditions" is being published by the Journal of the American Chemical Society and is available online. Other authors include SPEA doctoral students Mulu Kebede and Nicole Scharko, Mychel Varner of the University of California-Irvine and R. Benny Gerber of UC-Irvine and the Hebrew University in Jerusalem.
The researchers calculate that, in areas where the titanium dioxide technology is used, ammonia degradation could account for up to 13 percent of the nitrogen oxides in the immediate vicinity. This suggests that widespread use of the technology could contribute significantly to ozone formation.
The findings are timely because the Environmental Protection Agency is developing stricter regulations for ground-level ozone, a primary component in photochemical smog. The pollution is linked to serious health problems, including breathing difficulties and heart and lung disease.
Ozone is produced by reactions involving nitrogen oxides (NOx), which come primarily from motor vehicle emissions, and volatile organic compounds resulting from industrial processes. Equipping cars with catalytic converters has been effective at reducing ozone in urban areas. But different technologies may be needed to meet tighter air-quality standards of the future.
The need has sparked interest in titanium dioxide, a common mineral that is used as a whitening agent in paints and surface coatings. The compound acts as a photocatalyst, breaking down nitrogen oxides, ammonia and other pollutants in the presence of sunlight. "Self-cleaning" surfaces coated with titanium dioxide can break down chemical grime that will otherwise adhere to urban buildings. News stories have celebrated "smog-eating" tiles and concrete surfaces coated with the compound.
But Raff and his colleagues show that, in normal environmental conditions, titanium dioxide also catalyzes the incomplete breakdown of ammonia into nitrogen oxides. Ammonia is an abundant constituent in motor vehicle emissions, and its conversion to nitrogen oxides could result in increases in harmful ozone concentrations.
"We show that uptake of atmospheric NH3 (ammonia) onto surfaces containing TiO2 (titanium dioxide) is not a permanent removal process, as previously thought, but rather a photochemical route for generating reactive oxides of nitrogen that play a role in air pollution and are associated with significant health effects," the authors write.
Raff, who is also an adjunct professor of chemistry in the IU College of Arts and Sciences, said other studies missed the effect on ammonia because they investigated reactions that occur with high levels of emissions under industrial conditions, not the low levels and actual humidity levels typically present in urban environments.
The findings also call into question other suggestions for using titanium dioxide for environmental remediation -- for example, to remove odor-causing organic compounds from emissions produced by confined livestock feeding operations. Titanium dioxide has also been suggested as a geo-engineering substance that could be injected into the upper atmosphere to reflect sunlight away from Earth and combat global warming.
Further studies in Raff's lab are aimed at producing better understanding of the molecular processes involved when titanium dioxide catalyzes the breakdown of ammonia. The results could suggest approaches for developing more effective pollution-control equipment as well as improvements in industrial processes involving ammonia.


text:
<?xml version="1.0" encoding="utf-8"?>
<project name="feathers" default="swc" basedir=".">

	<!-- build.local.properties and sdk.local.proprties are optional files that
		can be used to override the default properties. -->
	<property file="./sdk.local.properties"/>
	<property file="./sdk.properties"/>
	<property file="./build.local.properties"/>
	<property file="./build.properties"/>
	<taskdef resource="flexUnitTasks.tasks" classpath="${flexunit}"/>

	<target name="swc" depends="-feathers,-cleanup" description="builds feathers.swc only"/>

	<target name="docs" depends="-prepare,-docs,-cleanup" description="builds help files and API reference only"/>

	<target name="help" depends="-prepare,-help,-cleanup" description="builds help files only"/>

	<!-- builds help files to deploy to website -->
	<target name="web-help" depends="-web,-prepare,-help,-cleanup"/>
	<target name="beta-web-help" depends="-beta-web,-prepare,-help,-cleanup"/>

	<target name="api" depends="-api,-cleanup" description="builds API reference only"/>

	<target name="test" depends="-test,-cleanup" description="runs unit tests"/>

	<target name="full" depends="-feathers,-test,-docs,-themes,-includes,-cleanup" description="builds everything">

		<!-- move feathers.swc to its final location for distribution.
			basically, we didn't want the extra swc directory for a quick build. -->

		<copy overwrite="true" todir="${swc.output}">
			<fileset dir="${output.path}">
				<include name="feathers.swc"/>
			</fileset>
		</copy>
		<delete file="${output.path}/feathers.swc"/>
	</target>

	<target name="package" depends="full" description="builds everything and creates a zip file for distribution">
		<zip destfile="${output.path}/feathers-ui-${feathers.version}.zip">
			<zipfileset dir="${output.path}"/>
		</zip>

		<delete includeemptydirs="true">
			<fileset dir="${output.path}" excludes="feathers-ui-${feathers.version}.zip"/>
		</delete>
	</target>

	<target name="-beta-web">
		<property name="web" value="true"/>
		<property name="help.url.search" value="feathersui.com/beta/help/"/>
	</target>

	<target name="-web">
		<property name="web" value="true"/>
		<property name="help.url.search" value="feathersui.com/help/"/>
	</target>

	<target name="-prepare">
		<property name="web" value=""/>
		<property name="help.url.search" value=""/>
		<delete dir="${output.path}"/>

		<loadfile srcFile="${source.root}/feathers/FEATHERS_VERSION.as" property="version.test">
			<filterchain>
				<linecontains>
					<contains value="public const FEATHERS_VERSION:String"/>
				</linecontains>
				<tokenfilter>
					<containsstring contains="${feathers.version}"/>
				</tokenfilter>
			</filterchain>
		</loadfile>
		<fail unless="version.test" message="feathers.FEATHERS_VERSION contains incorrect version string."/>
	</target>

	<target name="-cleanup">
		<delete dir="${dependency.output}"/>
	</target>

	<target name="-starling" depends="-prepare">
		<echo message="Building starling.swc"/>
		<java jar="${compc}" dir="${starling.root}" fork="true" failonerror="true">
			<arg value="-load-config=${airsdk.config}"/>
			<arg value="-swf-version=${swf.version}"/>
			<arg value="-source-path+=."/>
			<arg value="-include-sources+=."/>
			<arg value="-output=${dependency.output}/starling.swc"/>
		</java>
	</target>

	<target name="-feathers" depends="-starling">
		<echo message="Building feathers.swc"/>
		<java jar="${compc}" dir="${basedir}" fork="true" failonerror="true">
			<arg value="-load-config=${airsdk.config}"/>
			<arg value="-swf-version=${swf.version}"/>
			<arg value="-source-path+=${source.root}"/>
			<arg value="-include-sources+=${source.root}"/>
			<arg value="-external-library-path+=${dependency.output}"/>
			<arg value="-output=${output.path}/feathers.swc"/>
		</java>
	</target>

	<target name="-docs" depends="-api,-help"/>

	<target name="-api" depends="-starling">
		<echo message="Generating API Reference"/>
		<java jar="${asdoc}" dir="${basedir}" fork="true" failonerror="true">
			<arg value="+flexlib=${airsdk.framework}"/>
			<arg value="-swf-version=${swf.version}"/>
			<arg value="-source-path+=${source.root}"/>
			<arg value="-library-path+=${dependency.output}"/>
			<arg value="-doc-sources+=${source.root}"/>

			<!-- these two arguments are needed after switching to the AIR SDK
				with ASC 2.0 to stop weird errors -->
			<arg value="-theme="/>
			<arg value="-compiler.fonts.local-fonts-snapshot="/>

			<arg value="-templates-path"/>
			<arg value="${api.root}/templates"/>
			<arg value="-main-title=Feathers ${feathers.version} API Reference"/>
			<arg value="-window-title=Feathers User Interface Controls for Starling Framework API Reference"/>
			<arg value="-footer=${footer.text}"/>
			<arg value="-package-description-file=./package-descriptions.xml"/>
			<arg value="-output=${api.output}"/>
		</java>
	</target>

	<target name="-help">
		<echo message="Generating Help Files"/>
		<mkdir dir="${help.output}"/>
		<property name="help.title.main" value="Feathers ${feathers.version} Help"/>
		<apply executable="pandoc" dir="${help.root}" dest="${help.output}" failonerror="true">
			<srcfile/>
			<arg value="-f"/>
			<arg value="markdown_github+yaml_metadata_block+markdown_in_html_blocks"/>
			<arg value="-t"/>
			<arg value="html5"/>
			<arg value="-s"/>
			<arg value="--template=template"/>
			<arg value="--css=css/feathers-help.css"/>
			<arg value="--variable=title-suffix:${help.title.main}"/>
			<arg value="--variable=lang:en"/>
			<arg value="--variable=web:${web}"/>
			<arg value="--variable=search-url:${help.url.search}"/>
			<arg value="-o"/>
			<targetfile/>
			<fileset dir="${help.root}/markdown" includes="*.md" />
			<mapper type="glob" from="*.md" to="*.html"/>
		</apply>
		<mkdir dir="${help.output}/cookbook"/>
		<property name="help.title.cookbook" value="Feathers Cookbook"/>
		<apply executable="pandoc" dir="${help.root}" dest="${help.output}/cookbook" failonerror="true">
			<srcfile/>
			<arg value="-f"/>
			<arg value="markdown_github+yaml_metadata_block+markdown_in_html_blocks"/>
			<arg value="-t"/>
			<arg value="html5"/>
			<arg value="-s"/>
			<arg value="--template=template"/>
			<arg value="--css=../css/feathers-help.css"/>
			<arg value="--variable=title-suffix:${help.title.cookbook}"/>
			<arg value="--variable=lang:en"/>
			<arg value="--variable=web:${web}"/>
			<arg value="--variable=breadcrumb:${help.title.main}"/>
			<arg value="--variable=search-url:${help.url.search}"/>
			<arg value="-o"/>
			<targetfile/>
			<fileset dir="${help.root}/markdown/cookbook" includes="*.md" />
			<mapper type="glob" from="*.md" to="*.html"/>
		</apply>
		<mkdir dir="${help.output}/faq"/>
		<property name="help.title.faq" value="Feathers FAQ"/>
		<apply executable="${pandoc}" dir="${help.root}" dest="${help.output}/faq" failonerror="true">
			<srcfile/>
			<arg value="-f"/>
			<arg value="markdown_github+yaml_metadata_block+markdown_in_html_blocks"/>
			<arg value="-t"/>
			<arg value="html5"/>
			<arg value="-s"/>
			<arg value="--template=template"/>
			<arg value="--css=../css/feathers-help.css"/>
			<arg value="--variable=title-suffix:${help.title.faq}"/>
			<arg value="--variable=lang:en"/>
			<arg value="--variable=web:${web}"/>
			<arg value="--variable=breadcrumb:${help.title.main}"/>
			<arg value="--variable=search-url:${help.url.search}"/>
			<arg value="-o"/>
			<targetfile/>
			<fileset dir="${help.root}/markdown/faq" includes="*.md" />
			<mapper type="glob" from="*.md" to="*.html"/>
		</apply>
		<mkdir dir="${help.output}/sdk"/>
		<property name="help.title.sdk" value="Feathers SDK and MXML Help"/>
		<apply executable="${pandoc}" dir="${help.root}" dest="${help.output}/sdk" failonerror="true">
			<srcfile/>
			<arg value="-f"/>
			<arg value="markdown_github+yaml_metadata_block+markdown_in_html_blocks"/>
			<arg value="-t"/>
			<arg value="html5"/>
			<arg value="-s"/>
			<arg value="--template=template"/>
			<arg value="--css=../css/feathers-help.css"/>
			<arg value="--variable=title-suffix:${help.title.sdk}"/>
			<arg value="--variable=lang:en"/>
			<arg value="--variable=web:${web}"/>
			<arg value="--variable=breadcrumb:${help.title.main}"/>
			<arg value="--variable=search-url:${help.url.search}"/>
			<arg value="-o"/>
			<targetfile/>
			<fileset dir="${help.root}/markdown/sdk" includes="*.md" />
			<mapper type="glob" from="*.md" to="*.html"/>
		</apply>
		<copy overwrite="true" todir="${help.output}/images">
			<fileset dir="${help.root}/markdown/images">
				<include name="*.png"/>
				<include name="*.gif"/>
				<include name="*.jpg"/>
			</fileset>
		</copy>
		<mkdir dir="${help.output}/css"/>
		<copy overwrite="true" todir="${help.output}/css">
			<fileset dir="${help.root}/css">
				<include name="*.css"/>
			</fileset>
		</copy>
		<mkdir dir="${help.output}/sdk/ide-file-templates"/>
		<copy overwrite="true" todir="${help.output}/sdk/ide-file-templates">
			<fileset dir="${help.root}/markdown/sdk/ide-file-templates">
				<include name="feathers-file-templates-flash-builder.xml"/>
			</fileset>
		</copy>
	</target>

	<target name="-themes" depends="-feathers">
		<echo message="Building AeonDesktopTheme.swc"/>
		<java jar="${compc}" dir="${themes.root}/AeonDesktopTheme" fork="true" failonerror="true">
			<arg value="-load-config=${airsdk.config}"/>
			<arg value="-swf-version=${swf.version}"/>
			<arg value="-source-path+=${themes.root}/AeonDesktopTheme/source"/>
			<arg value="-include-sources+=${themes.root}/AeonDesktopTheme/source"/>
			<arg value="-external-library-path+=${dependency.output}"/>
			<arg value="-external-library-path+=${output.path}/feathers.swc"/>
			<arg value="-output=${themes.output}/AeonDesktopTheme/swc/AeonDesktopTheme.swc"/>
		</java>

		<echo message="Building MetalWorksDesktopTheme.swc"/>
		<java jar="${compc}" dir="${themes.root}/MetalWorksDesktopTheme" fork="true" failonerror="true">
			<arg value="-load-config=${airsdk.config}"/>
			<arg value="-swf-version=${swf.version}"/>
			<arg value="-source-path+=${themes.root}/MetalWorksDesktopTheme/source"/>
			<arg value="-include-sources+=${themes.root}/MetalWorksDesktopTheme/source"/>
			<arg value="-external-library-path+=${dependency.output}"/>
			<arg value="-external-library-path+=${output.path}/feathers.swc"/>
			<arg value="-output=${themes.output}/MetalWorksDesktopTheme/swc/MetalWorksDesktopTheme.swc"/>
		</java>

		<echo message="Building MetalWorksMobileTheme.swc"/>
		<java jar="${compc}" dir="${themes.root}/MetalWorksMobileTheme" fork="true" failonerror="true">
			<arg value="-load-config=${airsdk.config}"/>
			<arg value="-swf-version=${swf.version}"/>
			<arg value="-source-path+=${themes.root}/MetalWorksMobileTheme/source"/>
			<arg value="-include-sources+=${themes.root}/MetalWorksMobileTheme/source"/>
			<arg value="-external-library-path+=${dependency.output}"/>
			<arg value="-external-library-path+=${output.path}/feathers.swc"/>
			<arg value="-output=${themes.output}/MetalWorksMobileTheme/swc/MetalWorksMobileTheme.swc"/>
		</java>

		<echo message="Building MinimalDesktopTheme.swc"/>
		<java jar="${compc}" dir="${themes.root}/MinimalDesktopTheme" fork="true" failonerror="true">
			<arg value="-load-config=${airsdk.config}"/>
			<arg value="-swf-version=${swf.version}"/>
			<arg value="-source-path+=${themes.root}/MinimalDesktopTheme/source"/>
			<arg value="-include-sources+=${themes.root}/MinimalDesktopTheme/source"/>
			<arg value="-external-library-path+=${dependency.output}"/>
			<arg value="-external-library-path+=${output.path}/feathers.swc"/>
			<arg value="-output=${themes.output}/MinimalDesktopTheme/swc/MinimalDesktopTheme.swc"/>
		</java>

		<echo message="Building MinimalMobileTheme.swc"/>
		<java jar="${compc}" dir="${themes.root}/MinimalMobileTheme" fork="true" failonerror="true">
			<arg value="-load-config=${airsdk.config}"/>
			<arg value="-swf-version=${swf.version}"/>
			<arg value="-source-path+=${themes.root}/MinimalMobileTheme/source"/>
			<arg value="-include-sources+=${themes.root}/MinimalMobileTheme/source"/>
			<arg value="-external-library-path+=${dependency.output}"/>
			<arg value="-external-library-path+=${output.path}/feathers.swc"/>
			<arg value="-output=${themes.output}/MinimalMobileTheme/swc/MinimalMobileTheme.swc"/>
		</java>

		<echo message="Building TopcoatLightMobileTheme.swc"/>
		<java jar="${compc}" dir="${themes.root}/TopcoatLightMobileTheme" fork="true" failonerror="true">
			<arg value="-load-config=${airsdk.config}"/>
			<arg value="-swf-version=${swf.version}"/>
			<arg value="-source-path+=${themes.root}/TopcoatLightMobileTheme/source"/>
			<arg value="-include-sources+=${themes.root}/TopcoatLightMobileTheme/source"/>
			<arg value="-external-library-path+=${dependency.output}"/>
			<arg value="-external-library-path+=${output.path}/feathers.swc"/>
			<arg value="-output=${themes.output}/TopcoatLightMobileTheme/swc/TopcoatLightMobileTheme.swc"/>
		</java>
	</target>

	<target name="-includes">
		<echo message="Copying Feathers source code"/>
		<copy overwrite="true" todir="${source.output}">
			<fileset dir="${source.root}"/>
		</copy>

		<echo message="Copying informational documents"/>
		<copy overwrite="true" todir="${output.path}">
			<fileset dir="${basedir}">
				<include name="README.md"/>
				<include name="LICENSE.md"/>
				<include name="RELEASENOTES.md"/>
			</fileset>
		</copy>

		<echo message="Copying theme source code and assets"/>

		<copy overwrite="true" todir="${themes.output}/AeonDesktopTheme">
			<fileset dir="${themes.root}/AeonDesktopTheme">
				<include name="README.md"/>
				<include name="source/**"/>
				<include name="assets/**"/>
			</fileset>
		</copy>

		<copy overwrite="true" todir="${themes.output}/MetalWorksDesktopTheme">
			<fileset dir="${themes.root}/MetalWorksDesktopTheme">
				<include name="README.md"/>
				<include name="source/**"/>
				<include name="assets/**"/>
			</fileset>
		</copy>

		<copy overwrite="true" todir="${themes.output}/MetalWorksMobileTheme">
			<fileset dir="${themes.root}/MetalWorksMobileTheme">
				<include name="README.md"/>
				<include name="source/**"/>
				<include name="assets/**"/>
			</fileset>
		</copy>

		<copy overwrite="true" todir="${themes.output}/MinimalDesktopTheme">
			<fileset dir="${themes.root}/MinimalDesktopTheme">
				<include name="README.md"/>
				<include name="source/**"/>
				<include name="assets/**"/>
			</fileset>
		</copy>

		<copy overwrite="true" todir="${themes.output}/MinimalMobileTheme">
			<fileset dir="${themes.root}/MinimalMobileTheme">
				<include name="README.md"/>
				<include name="source/**"/>
				<include name="assets/**"/>
			</fileset>
		</copy>

		<copy overwrite="true" todir="${themes.output}/TopcoatLightMobileTheme">
			<fileset dir="${themes.root}/TopcoatLightMobileTheme">
				<include name="README.md"/>
				<include name="source/**"/>
				<include name="assets/**"/>
			</fileset>
		</copy>

		<echo message="Copying examples"/>

		<copy overwrite="true" todir="${examples.output}/ComponentsExplorer">
			<fileset dir="${examples.root}/ComponentsExplorer">
				<include name="README.md"/>
				<include name="source/**"/>
				<include name="assets/**"/>
				<exclude name="source/ComponentsExplorerWeb.as"/>
			</fileset>
		</copy>

		<copy overwrite="true" todir="${examples.output}/DrawersExplorer">
			<fileset dir="${examples.root}/DrawersExplorer">
				<include name="README.md"/>
				<include name="source/**"/>
				<exclude name="source/DrawersExplorerWeb.as"/>
			</fileset>
		</copy>

		<copy overwrite="true" todir="${examples.output}/DisplayObjectExplorer">
			<fileset dir="${examples.root}/DisplayObjectExplorer">
				<include name="README.md"/>
				<include name="source/**"/>
				<include name="assets/**"/>
				<exclude name="source/DisplayObjectExplorerWeb.as"/>
			</fileset>
		</copy>

		<copy overwrite="true" todir="${examples.output}/DragAndDrop">
			<fileset dir="${examples.root}/DragAndDrop">
				<include name="README.md"/>
				<include name="source/**"/>
			</fileset>
		</copy>

		<copy overwrite="true" todir="${examples.output}/Gallery">
			<fileset dir="${examples.root}/Gallery">
				<include name="README.md"/>
				<include name="source/**"/>
				<exclude name="source/GalleryWeb.as"/>
			</fileset>
		</copy>

		<copy overwrite="true" todir="${examples.output}/HelloWorld">
			<fileset dir="${examples.root}/HelloWorld">
				<include name="README.md"/>
				<include name="source/**"/>
				<include name="assets/**"/>
				<exclude name="source/HelloWorldWeb.as"/>
			</fileset>
		</copy>

		<copy overwrite="true" todir="${examples.output}/LayoutExplorer">
			<fileset dir="${examples.root}/LayoutExplorer">
				<include name="README.md"/>
				<include name="source/**"/>
				<exclude name="source/LayoutExplorerWeb.as"/>
			</fileset>
		</copy>

		<copy overwrite="true" todir="${examples.output}/TileList">
			<fileset dir="${examples.root}/TileList">
				<include name="README.md"/>
				<include name="source/**"/>
				<include name="assets/**"/>
				<exclude name="source/TileListWeb.as"/>
			</fileset>
		</copy>

		<copy overwrite="true" todir="${examples.output}/Todos">
			<fileset dir="${examples.root}/Todos">
				<include name="README.md"/>
				<include name="source/**"/>
				<exclude name="source/TodosWeb.as"/>
			</fileset>
		</copy>

		<copy overwrite="true" todir="${examples.output}/TrainTimes">
			<fileset dir="${examples.root}/TrainTimes">
				<include name="README.md"/>
				<include name="source/**"/>
				<include name="assets/**"/>
				<exclude name="source/TrainTimesWeb.as"/>
			</fileset>
		</copy>

		<copy overwrite="true" todir="${examples.output}/TransitionsExplorer">
			<fileset dir="${examples.root}/TransitionsExplorer">
				<include name="README.md"/>
				<include name="source/**"/>
				<include name="assets/**"/>
				<exclude name="source/TransitionsExplorerWeb.as"/>
			</fileset>
		</copy>

		<copy overwrite="true" todir="${examples.output}/Video">
			<fileset dir="${examples.root}/Video">
				<include name="README.md"/>
				<include name="source/**"/>
			</fileset>
		</copy>

		<copy overwrite="true" todir="${examples.output}/YouTubeFeeds">
			<fileset dir="${examples.root}/YouTubeFeeds">
				<include name="README.md"/>
				<include name="source/**"/>
				<exclude name="source/YouTubeFeedsWeb.as"/>
			</fileset>
		</copy>
	</target>

	<target name="-test" depends="-feathers">
		<java jar="${mxmlc}" dir="${test.root}/source" fork="true" failonerror="true">
			<arg value="-load-config=${airsdk.config}"/>
			<arg value="-swf-version=${swf.version}"/>
			<arg value="-library-path+=${dependency.output}"/>
			<arg value="-library-path+=${flexunit.root}"/>
			<arg value="-library-path+=${output.path}"/>
			<arg value="-output=${dependency.output}/TestFeathers.swf"/>
			<arg value="TestFeathers.as"/>
		</java>
		<flexunit
			command="${flashplayer}"
			player="flash"
			swf="${dependency.output}/TestFeathers.swf"
			haltonfailure="true"
			verbose="true"
			toDir="${dependency.output}"/>
	</target>
</project>


text:
Otter Views: Giants Fans from Afar
It was a tale of two cities this week as San Francisco's pro football and baseball teams squared off against their respective rivals in St. Louis.
Thanks to a last-minute interception, the Niners squeaked out a Monday Night Football win over the St. Louis Rams, so we know the outcome there. But as of this writing, the two cities' baseball teams were still battling for the National League pennant and a shot at the World Series.
Go Giants!
My formative years took place far from the U.S. mainland, so I didn't know one Major League team from another. The cities were equally baffling. Where were Detroit, St. Louis, Milwaukee, Philadelphia and Chicago? They could have been on the moon for all I knew. I had been to the other side of the island, but Brooklyn? Fuggedaboudit.
Then in 1954 or 1955, my dad took a trip to New York City for some professional reason. My kid brother Mike and I eagerly awaited his return, not to throw our arms about him and drape leis around his neck, but to ask the question greedy little children pose to all returning travelers: "What did you bring us?"
From his satchel he withdrew two wool baseball caps sized for young crew-cut heads. To my brother he handed a dark blue cap onto which a fancy white letter D had been stitched. "Brooklyn Dodgers," he said, showing Mike how to tug the cap down by the bill.
My cap, also wool, was pitch black. On its front panel three bright orange letters intertwined to form the logo NYG. I thought it might be something for Halloween, but my dad said simply "New York Giants."
Tugging my own cap down, I became a Giants fan by default, and a remote one at that. Living a continent and an ocean away from my adopted team ruled out the sort of rabid, live-or-die fealty enjoyed by fans who actually got to see their teams play. I was a fan from afar.
Mike and I had a lot of catching up to do. He had to learn about the Dodgers, and I had to do a crash course on the Giants. Luckily for us, the local library carried baseball almanacs and history books, and other neighborhood kids had baseball card collections. Soon we, too, were spending our chore money on flat, dusty rectangles of bubble gum, each packet containing one player's card.
"Bats right, throws right," the cards might say, or "bats left, throws right." On the front of each card, the player would be pictured in some staged action pose – throwing, catching, batting, or crouched to field a ball. If I recall, no one was ever shown chewing or spitting, though some had suspicious-looking bulges in their cheeks.
The back of the cards listed in print as small as shaken pepper all the statistics baseball fans love – batting averages by year, on base percentages, career totals of singles, doubles, triples and runs scored, earned run averages for pitchers, and so on ad infinitum.
As we neared Little League age, Mike and I and other street ball urchins would gather to trade cards in the room of the neighborhood's foremost baseball fan, our friend Peter. Unlike the rest of us, Peter had not only been to the Mainland, but had actually lived for a time in the mysterious, faraway city of St. Louis.
As a result, his room was a shrine to that city, and his mind was a repository of Cardinalia. He knew the team's current and former lineups and its storied history going all the way back to the St. Louis Browns. His walls displayed action posters of Stan "The Man" Musial and the famous pitching brothers Dizzy and Daffy Dean. To Peter, the Cardinals were the best team in baseball, not Mickey Mantle's Yankees.
When not crouched over baseball cards on Peter's floor, we nascent fans could be found listening to recreated radio broadcasts of Major League games. The announcers in Honolulu would get inning-by-inning box score printouts from Mainland cities over their teletype machines. Using this meager data, some pre-taped crowd noise, and their own very florid imaginations, the broadcasters would stage entire fake games. A pencil tap on the microphone signaled a hit. If it was a home run, the crowd noise would be cranked way up.
From radio broadcasts, trading cards, library books and sports pages, I finally cobbled together a rough working knowledge of the Giants. I stayed with them when they and the Dodgers moved west. Outfield star Willie Mays was my favorite player. My brother's was Gil Hodges, Roy Campanella or Peewee Reese, depending.
Nowdays I stop in at Joe Rombi's Pizzeria to watch an inning or two on the big TV. In high definition, the Giants look very orange and black; the Cardinals, very red and white. Wish I still had that NYG cap.
posted to Cedar Street Times on October 17, 2014
Topics: Otter Views


If you search for dried navy beans at the Jewel-Osco supermarket in River Forest, Illinois, you'll find them stocked in two separate locations. First, where you'd expect: beneath a sign that says "rice and beans." And then they're an aisle or two over, as well, in the Hispanic foods section, next to other "ethnic" items: Thai curry mixes, Japanese noodles. Exact same product: a one-pound bag of beans. The only difference is that the latter is sold under the Goya brand—a major Hispanic label—and the former isn't.
Is this Brooklyn Market the Best Grocery Store in America?
I mentioned this weird split to Tracey Deutsch, a historian at the University of Minnesota and the author of Building a Housewife's Paradise: Gender, Government, and American Grocery Stores, 1919-1968. "That's so telling, right?" she said. "Because what's in the ethnic-food aisle is about the brands, not the food. It's about how that food is being framed." It's about a whole array of assumptions that lie behind which foods are considered "ethnic" and which aren't. Spaghetti, for instance, was once considered ethnic, as Deutsch pointed out. It isn't anymore. Same for German hot dogs. Or Jewish rye bread.
At the Copps grocery store in Manitowoc, Wisconsin—to pick another random example, or more accurately to just reveal another place I happen to have been lately—you'll find Frontera- and Xochitl-brand corn chips in a section labeled "Hispanic foods," while the same product made by Tostitos keeps its place in the good old snacks section.
So what good is the ethnic aisle? Does it help us navigate the supermarket? Or does it only confuse our understanding of what, exactly, we're shopping for?
Let's linger on Goya a moment, and the 2,000 products the company offers. Its array of products is vast—what other manufacturer sells coconut water, olive oil, parboiled hoppin' john, organic quinoa and bright-orange Sazon seasoning mix? In fact, in many supermarkets, Goya transcends the "ethnic" label altogether, staking claim to an entire aisle devoted entirely to its products. When I visited its headquarters last fall in Jersey City, New Jersey, the company had recently launched an organic olive oil, which Goya president and CEO Robert Unanue hopes will take advantage of that strange ethnic/nonethnic split on grocery shelves: He wanted to see the new product in the Goya aisle and in the cooking oil section. Might as well take advantage.
For decades Goya has been minutely attuned to the nuances of U.S. immigration and emerging Latino communities, adding to its product line with every group of new arrivals. The dried beans alone tell a story about Latin American food traditions, each harking back to a specific place—Goya sells canary beans for the Peruvians, cranberry beans for the Colombians, black beans for a variety of nationalities. "We like to say we're united by a language and separated by the bean," Unanue said.
For many Americans, living near a Wegmans isn't just a convenience—it's a luxury. Delving into Wegmans is like listening to one of Frank Sinatra's best albums: big and lush, yet somehow also small and personal. Jam-packed with top-notch prepared foods like fancy frozen lobster mac and cheese and freshly squeezed blood orange juice, and a dizzying variety of raw ingredients to match, there's no better place to be obsessed with food.
The creation of the ethnic aisle depended on the creation of the supermarket—a style of self-service, one-stop shopping that requires aisles as an organizing system. Prior to its invention, shoppers bought dry goods at dry-good stores, meat at the butcher, produce at the greengrocer. "If you lived in an ethnic neighborhood, you shopped in an ethnic grocer in your neighborhood," said David Gwynn, the proprietor of a fascinating website, Groceteria, devoted to supermarket history. Supermarkets emerged starting in the 1930s, and soon major grocery chains were consolidating—closing small stores in favor of fewer, larger ones.
Nowadays, of course, the notion of spaghetti sauce or pizza as "exotic" is ludicrous—which only demonstrates how the "ethnic" label dissolves as foods are absorbed into the American food lexicon. The category has been criticized for enforcing a kind of culinary hierarchy—an argument the sociologist Krishnendu Ray made made recently in his book The Ethnic Restaurateur. The term "ethnic," Ray submits, primes American consumers to expect certain immigrant foods to be cheap, while other cuisines, like French, are free to command higher prices. This has nothing necessarily to do with the quality of ingredients or the style or complexity of a given dish—it's simply about where it's from.
"When we call food ethnic, we are signifying a difference but also a certain kind of inferiority," Ray said last year in an interview.
One place the line is increasingly blurry is in the Latin-foods market, the one Goya helped create and diversify, presaging an age when the Latino demographic would be highly sought-after—and whose foods are increasingly integrated into the rest of the store. A 2009 Associated Press article, "Hispanic Foods Moving Out of the Ethnic Aisle," described major retailers' attempts to appeal to Latino shoppers, who, the article noted, tend to spend more on groceries than the average consumer, and tend to cook from scratch more and seek out more fresh items. In the aughts, Walmart experimented with a freestanding "Supermercado" concept at a couple locations in Texas (it's since abandoned the project) and the chain Publix opened Latino grocery stores it called Publix Sabor.
The ethnic aisle, a consumer consultant told the AP in 2009, will eventually "evolve into everybody's aisle"—the entire grocery store as melting pot. Those aforementioned Anglo consumers are more comfortable than ever with foods from the so-called ethnic section—look at the popularity of ingredients like fish sauce and Aleppo pepper. And then there's Sriracha, of course, a version of which is now produced by none other than the Frank's RedHot company. You'll find it in the hot-sauce section, under the label "Slammin' Sriracha," along with the rest of the condiments. Here's hoping the rest of the ethnic aisle gets incorporated the same way.


Last week just as Swiss pharmaceuticals giant Novartis was set to begin its final arguments in the Supreme Court against the rejection of a patent for its cancer drug Glivec (see 'Evergreen Novartis', Down To Earth, September 1-15) there were two swift and stunning developments. A letter was written by five activists complaining to the ministers of law, commerce, health and family welfare about Justice Dalveer Bhandari, one of two judges hearing the case.
The complaint was that Justice Bhandari had been attending international conferences on intellectual property (IP) matters organised by the Intellectual Property Owners Association (ipoa), a lobby group of the world's top IT and pharmaceutical companies of which Novartis is a member. The letter was written on September 5 and a report in The Times of India quoting from it appeared the next day. Within hours Justice Bhandari had recused himself from the case.
Recusal is to remove oneself as a judge in a particular proceeding, usually because of conflict of interest. However, no reasons are given when a judge recuses himself. This was the case last month when Justices P Sathasivam and A K Patnaik recused themselves from hearing the corruption charges against dmk Member of Parliament Kanimozhi. Recusals in IP cases, though, tend to be more interesting if not controversial for several reasons, not least because global giants are involved in these suits. Justice Bhandari is the second Supreme Court judge to recuse himself from the Novartis case, the first being Justice Markandey Katju. In both cases, the views expressed by these judges on IP laws, one in a Supreme Court journal and the other in a presentation made at the International Conference of Judges hosted by ipoa, had a bearing on their decision—voluntary in the case of Katju—to remove themselves from the Novartis case.
What the drug giant has been challenging is a crucial section (3d) of India's patent law that bars drug companies from patenting new forms of a patented substance unless it can prove gains in efficacy. This is aimed at preventing IP owners from extending their patents through incremental innovations that do not add much value. It is part of India's attempt to balance the rights of patent holders with public healthcare interests related to access and affordability of medicines in a largely poor country. The law in that sense is unique in many ways.
Justice Bhandari is a keen proponent of IP laws and had attended a UN conference on the subject even in the 1990s. Going by the article that the activists' letter has cited, the judge believes that "there is urgent need to educate the masses regarding importance and benefits of protection of IP Rights" and that pharmaceutical and other patent holders from developed countries "have bounden duty and obligation to educate people" by organising seminars, symposia and debates. The more contentious part of this otherwise pedantic article is his exhortation that "they must make all efforts to ensure that all countries are persuaded to enact proper laws". Would this imply that India did not have "proper laws"? Or was it a general recommendation that he was making? He also thinks the World Intellectual Property Organization has a signal role to play in this crusade.
Justice Katju's world view on IP appears to be the exact opposite. In the 2004 article written just before India introduced product patents as required by the World Trade Organization, he writes: "A balance has to be struck between the need to give monetary inducements to new inventions and making available these inventions to the broad masses in the underdeveloped countries at affordable prices." The larger backdrop to this controversy is the sophisticated lobbying that has been taking place in India over the past seven-eight years to "educate" judges on the benefits of IP protection. It's not just IP owners but also American law schools which are involved in the exercise to superimpose the developed world's model of IP protection on India's more balanced laws (see 'Insidious India Project', Business Standard, March 4, 2010). This column has been regularly highlighting the implicit dangers of such indoctrination (see 'Why do judges need to be 'sensitised'?', Down To Earth, August 15, 2010).
But the question here is whether either of these articles has an appearance of bias that would influence judgement. While the jury is out on this, what is clear is that we need more comprehensive guidelines on judicial transparency in determining issues of conflict of interest. It cannot be just a declaration of their wealth. It also has to be a listing of the facilities (free hospitality for spouses, for instance), gifts and honorarium that judges receive while attending conferences and lectures. What is equally important is for everyone to know who the organisers are and what their agenda is. In many a case the judges themselves are clueless on this.


A couple of things jumped out at me. Obviously controls are important as is the audit process, and I found the 117 references to "Policies and Procedures" appropriate, but I expected all 12 handbooks to contain a reference to a "Risk Assessment". Can you guess which one didn't?


text:
Central America Independence Celebration to Feature Showing of Historic Film, Morazán
Announcement posted Sep 10
WHAT: The Central America United Committee and Trinity College's Center for Caribbean Studies are hosting a Central America Independence Celebration, beginning with a screening of Morazán, the historic biopic about Francisco Morazán, considered to be the most important figure in Central America's history. In 2017, the movie was Honduras's first-ever Academy Award-nominated film. A conversation with filmmaker and director Hispano Durón will follow the screening. After the discussion with Durón, a festive reception will take place, featuring Central American food, remarks by special guests and dignitaries, and the playing of the national anthems of five Central American countries. All events are free and open to the public.
WHERE: Cinestudio for film and discussion; Hamlin Hall for reception
300 Summit Street, Hartford, CT 06106
(For directions and a map of the Trinity College campus, click here. Parking is available in the college lots and on Summit Street.)
WHEN: Saturday, September 15, 2018
2:30 p.m. film screening, followed by discussion with filmmaker/director Durón
5:30 p.m.-7:30 p.m. reception at Hamlin Hall
The Central America United Committee and Trinity's Center for Caribbean Studies organized this celebration, which is co-sponsored by the following Trinity College departments and programs: Film Studies, History, International Studies, and Language and Culture Studies. Media partners are The Hartford Courant, Vida Radio 840AM, Anoranzas Peruanas y Algo Mas, Univision El Show de Analeh, and Bomba Radio y MEGA 910.
Members of the Central America United Committee and the countries they represent are as follows. Costa Rica: Pablo Mena; El Salvador: Martin Alvarenga and Maynor Martinez; Guatemala: Ada Rios and Haleck De Leon; Honduras: Ana Alfaro, Esly Calix, Dario Euraque, Fany Hanon, Reina Lopez, Natalia Paguada, Ramon Paguada, Polly Moran, Sabas Whittaker, and Manuel Zaldivar; Nicaragua: Gilda Cordero.
The Center for Caribbean Studies, led by its co-directors, Professor of History and International Studies Dario A. Euraque and Professor of Fine Arts Pablo Delano, explores and celebrates the distinctive Caribbean character of the city of Hartford and the influence of Caribbean civilization on contemporary cultures around the world. It conducts collaborative research and hosts cultural events and exchanges that build upon the region's transnational connections while helping Trinity students develop as engaged global citizens.


Homes priced under $599,999 are sitting in a very tight Sellers Market due to very low inventory levels (shifting down two brackets from previous month), while homes priced $600,000 and above are sitting in a Buyers Market with an excess of inventory, having 11.8 months of inventory to sell at current levels.
October has seen a slight decrease of inventory sitting on the market back to YTD current averages. As you can see by the summary totals for the month, inventory of homes on the market are still low and we are still sitting in a very tight Sellers' Market.
The highest concentration of sales for the month again landed in the $200,000 – $249,999 range with 557 homes sold on an average sale price of $223,627. The 557 homes represented 30.9% of the inventory on hand at that price range with the sellers giving up on average 2%.
From a Seller's perspective, October continued to have a limited supply of houses on the market to be sold, and as such we can expect Sellers not conceding too much on the asking prices of their homes, and in many instances probably entertaining multiple offers. This keeps an upper hand for the sellers when it comes to negotiating on the eventual sale price. If you are currently residing in a home within the $200,000 -$249,999 price range and are sitting on the fence as to moving into a larger home, or perhaps an empty nester looking to pick up a smaller home, this is a very good time to make a move. If you are downsizing and are worried about debt now is the time to get the highest value for your home sale in this Seller's Market. If you are looking to upsell for more space or expanding your family now is the time that you can get the maximum amount of surplus cash to invest in your next larger dream home, especially on the higher end of the housing market since it is creeping into becoming a Buyers' Market.
From a buyer's perspective, if you see a home that you really want, please be aware of the current metrics when placing your offers, because if you come in too low there is a good chance that you may lose your opportunity at picking up the home you had your heart set on. The Real Estate industry historically is cyclical and we are starting to see that we are reaching the peak of the upside along with the very tight inventory levels. Depending on your individual situation it still may be a wise choice to be buying at this time. We should review your individual needs and situation to determine the best course of action, do not stand on the sidelines and do nothing when there still may be very good options available.


text:
Home / Popular Culture & Performing Arts / Radio / Radio Program Openings and Closings, 1931–1972
Radio Program Openings and Closings, 1931–1972
Radio Program Openings and Closings, 1931–1972 quantity
SKU: 9780786449255 Categories: Popular Culture & Performing Arts, Radio
The openings and closings to radio programs of all types, from comedies (Blondie, The Jack Benny Program, Lum and Abner) to mysteries (Inner Sanctum Mysteries, The Black Chapel) to game shows (Can You Top This?, Truth or Consequences) to serials (Second Husband, Bachelor's Children) to crime dramas (The Falcon, Eno Crime Clues, The Green Hornet, Mr. and Mrs. North) to westerns (Gunsmoke, Wild Bill Hickok, Hawk Larabee) that were aired between 1931 and 1972, are included in this work.
Each entry has a brief introductory paragraph that provides information about the storyline, principal cast, sponsors and air dates. Commercials have been included if the programs were under regular sponsorship. Includes three appendices (sponsors; slogans and jingles; and World War II announcements) and an index.
Vincent Terrace has worked as a researcher for ABC television and is the television historian for BPOLIN Productions (an independent film and television producing company for which he has created a projected television series called "April's Dream"). He has written more than 40 books, many about television and radio.
Vincent Terrace
Bibliographic Info: appendices, index
Author's Notes 3
The 444 Radio Programs 5
Appendix A: Sponsors and Programs 259
Appendix B: Product Slogans and Jingles 263
Appendix C: World War II Announcements 267
"a gold mine for lovers of old-time radio"—Booklist; "delightful dictionary…recommended"—Choice; "Terrace is arguably the most prolific developer of television reference material, with more than 30 books to his credit…recommended"—ARBA; "comprehensive…recommend"—The Illustrated Press.
You're viewing: Radio Program Openings and Closings, 1931–1972 $39.95


Australian actor, Andy Whitfield, the lead cast of season one of the hit TV series, 'Spartacus: Blood and Sand' is dead. He passed on yesterday Sunday September 11, 2011 at age 39, after an eighteen month battle with Non-Hodgkins Lymphoma. According to a statement released by his wife the beautiful young screen warrior died on a sunny Sydney morning in the arms of his loving wife, surrounded by love.
"Thank you to all his fans whose love and support helped carry him to this point. He will be remembered as the inspiring, courageous gentleman and father he was," Mrs. Whitfield's statement reads.
Born in Wales, the late Whitfield moved to Australia in 1999 where he appeared in some TV shows before he was cast in the title role of the smash series commissioned by Starz network. He had completed work on season one of the graphic series when he was diagnosed with Non-Hodgkin's Lymphoma, a form of cancer of the lymph nodes.
Production on the series was halted for a year to allow for his recovery and in this time, a prequel titled 'Gods of the Arena' was commissioned without the actor, save for some voice over work. His relapse however prompted producers to cast another actor Liam McIntyre (with his blessings) in his stead for the upcoming second season.
He is survived by a loving wife Vashti Whitfield and two beautiful children.


To celebrate its 20th anniversary, Small Luxury Hotels of the World (SLH) is offering guests with the chance to win a seven-night stay or up to a 12-night stay in a luxury SLH hotel of their choice anywhere in the world plus £1,000 spending money with the exclusive SLH Gold Coin Competition.
With 120 room nights and £10,000 up for grabs, there will be at least 10 lucky winners throughout the competition. There are 20 20th Anniversary SLH Gold Coins hidden in and around the pages of www.slh.com. From the first coin that is collected, customers will automatically be added to every monthly draw until the end of the competition on Dec. 31, 2011. To win an even bigger prize of a 12-night stay, customers need to find at least 15 coins, and for any especially talented gold coin hunters who manage to collect all 20, a prize of a 12-night stay at any SLH property plus £1,000 spending money becomes available. There will also be an added element of surprise for coin collectors as SLH has teamed up with luxury partners to offer entrants the chance to win bonus prizes throughout the competition. Winners will be announced in a monthly email from SLH, and SLH will also be dropping hints and clues via the SLH blog, Facebook and Twitter. For more information, visit www.slh.com.


text:
Melvin George Kilback
June 14, 1954 – November 26, 2021
In Loving Memory ~
The family of Melvin George Kilback is saddened to announce his sudden passing into the arms of his Savior on Friday, November 26, 2021 at the age of 67. A guide outfitter of 41 years, Melvin passed away doing what he loved in the Kettle Valley wilderness.
Melvin was born on June 14, 1954 to the late Ernest (Ernie) and Alvina Kilback. A lifelong resident of Oliver, BC, Melvin was first and foremost a husband to his wife Tami and a father to his daughter Whitney (Reid), as well as brother to Marvin (Edith), Loreen (Gordon), and the late Dale and Sandra.
To others, Melvin was the proud owner of Kettle River Outfitters, a masterful orchardist and gardener, a regular customer or a fellow member at one of the various organizations he was associated with over the years, including most recently the Guide Outfitters Association of British Columbia where he served as President of the Okanagan Region and Convention Chair, and previously the RCMP where he volunteered as an Auxiliary Constable for 17 years, the Good Shepherd Christian School where he served as Chairman of the Board of Parish Education, and the Grace Lutheran Church where he volunteered as a Sunday school teacher.
A humble man of commitment, generosity, patience, integrity and faith, Melvin was so many things to so many people, and will be deeply missed.
A celebration of Melvin's life will be held at the Kilback family farm on June 18, 2022 in advance of next year's cherry harvest. Details will follow closer to the date, but all friends are welcome. Condolences and tributes may be left for the family by visiting www.nunes-pottinger.com
Nunes-Pottinger Funeral Service & CrematoriumObituary


text:
Q: SSAS Tabular Cube - odbc connection - restricting users access/visibility based on perspectives? We have a rather large ssas based tabular cube which our organization uses and I managed/administer. Users can connect to it via an odbc connection in an excel sheet to pull fields and create reports by using a pivot table. Management wants to streamline the fields though so that certain users can only see certain fields. I know I can use perspectives to do this however all this does is allow the users to select a perspective to view and subsequently it'll show them whatever fields/tables I have set that perspective to show. What I'm trying to do is limit each users access so that each user has limited access to what perspective they can view. For example, a new employee would have basic access, someone who's been with the company a long time would have be considered a power user and would have a perspective with more access. Is there any way using either perspectives or roles in ssas to limit their access when they connect via an odbc connection? Maybe through active directory?

A: Have you considered row level security?  You could create roles corresponding to each level of access needed and implement filters on rows/tables using DAX.  For example, create a New Employee Role with Read permission.  In the Role Manager window (Model > Roles...) add filters on which ever tables you want to restrict for that role, a basic example would be =FALSE() as the DAX Filter to restrict the entire table from that role.  Of course you can also add further granularity at the column and row levels.  Just keep in mind that any tables which are restricted will have the security filter propagated in the one-to-many relationship direction to tables in which it shares a relationship with, i.e. a fact table will be filtered by a restricted dimension as it's on the many side of the one-to-many relationship.

redpajama_set_name: RedPajamaStackExchange


text:
Q: Is an open port on Router a threat if it's forwarded to a host which not exist Consider we have port 65434 open on router (open for WAN). The port forwarding is done to a host which does not exist. Can a hacker exploit this open port on router which leads nowhere?

A: Depending on how your network is configured a hacker might be able to in a phishing email.
So pretend hack sends you an email which you open by accident.  They now have control of your computer.

*

*They can now change your IP to the non-existent one, and have a direct way in and out of your network.

*Setup a virtual PC with said IP address and communicate with their servers.

Also if it does have an IP, it should be on a different subnet to further mitigate the risks.  Otherwise attacks 1 & 2 above are even easier.
You didn't specify exactly how your router was configured to forward.  If it is simply based on IP, and the hacker can place a virtual PC on your network with that IP game over.
If your forwarding to a specific network adapter say eth5 then it doesn't care about the IP.
Either way your consuming routing resources unnecessarily, instead of just dropping the packets.


Children ages 4-12 can participate in the children's conference at the SBC annual meeting.
Children's Conferences International will provide an age-graded, Scripture-based conference for all children ages 4-12. This year's theme (to be determined later) will include fun songs, crafts, stories, skits and games.
The cost for the children's conference is $45 per child. However, only $20 is required per child to register, which is nonrefundable. The balance (an additional $25 per child) is due upon arrival at the conference, although advance payments for the full amount may be made.
"We are delighted to again offer and facilitate biblically based conferences for all age groups 4 years old and beyond during the annual meeting," said Don Magee, assistant convention manager and associate vice president of the Southern Baptist Convention's Executive Committee.
"We continue to listen to the excellent feedback we receive from parents and are committed to provide the best facilities, activities and leaders for all children so that families will be encouraged to attend the annual meeting in Orlando."
To register, go directly to www.childrensconferences.com, then click on Orlando, June 14-16.
All children's programs will be held at the Orange County Convention Center (West Building).
7:30 a.m. -- Children's program opens for child drop-off; late registration/payment area opens.
8:30 a.m. -- Children's program begins.
11:45 a.m. -- Parents pick up children for lunch; children's program closes for lunch hour.
12:45 p.m. -- Children's program reopens for child drop-off (except for Wednesday).
1:30 p.m. -- Children's program begins (except for Wednesday).
5:30 p.m. -- Parents pick up children; children's program closes for dinner break (except for Wednesday).
6:00 p.m. -- Children's program reopens for child drop-off.
6:30 p.m. -- Children's program begins.
9:30 p.m. -- Parents pick up children; Children's program closes for the evening.
Questions about this year's children's conference program can be phoned to Children's Conferences International at 248-346-5373 or e-mailed to info@childrensconferences.com. The deadline for enrollment is June 1 and is limited to 400 children. Parents wanting to register their children after June 1 may inquire at the first session, where they will be registered on-site on a space-available basis.