When dreams take place, brain activity resembles the awakened state, except that the thalamus, an ancient phylogenetic structure in the nervous system, isolates the brain activity from the environment, desensitizing the dreamer to noise and impeding, for instance, walking, if the dream involves walking.
Such isolation is not, however, total, and external stimuli sometimes filter into what happens in dreams. In order to establish a bridge between the EEG chart and the narrative of dreams, Nathalie experimented with the possibility of interfering in her dreams by means of external stimuli: sounds made while she slept. For 80 days, Nathalie charted her brain's electrical activity when dreaming. Roberto developed a computer program, called InDreams, to produce simple, short auditory stimuli, –for example, her own name or those of close acquaintances–, which might induce autobiographical memories to mix into the dream narrative.
Every time a stimulus became part of her dream narrative, an a posteriori correspondence was established between the EEG chart analysis and the narrative. We chose six examples to be represented in works that show the convergence of these two points of view: the objective EEG registry in contrast to the subjective narrative.
We visualized the analysis of each dream as a three-dimensional texture. For instance, the result of the spectral analysis of the EEG reading or the electrical force amplitude was recorded in bas-relief on wood through computer-controlled milling or digital laser cut-out. Along with this analysis, her dream narrative was recorded using digital laser cut-out, precisely showing where the objective and subjective viewpoints coincide.
Thus, each piece evinces the points of correspondence—but mostly the distance—between what the EEG chart analysis allows today's science to learn about a dream and the dreamer's subjective experience of it.
During the creative process, an artist must, above all, inquire into the subjective experience of perception and—more or less consciously—ask in what ways it enables the construction of our relationship with the world. As Mario Borillo suggests, the study of this process situated at the physical-mental node is a task befitting neuroscience.
Global Mind Project, in Melbourne, Australia, is a multidisciplinary initiative that delves into consciousness and creativity by means of an interface between Emotiv EPOC EEG technology and software, which renders audio-visuals from neural data, going beyond the usual video art to become a real-time (performance) operating system. In 2010, Global Mind Project presented "The Spectacle of the Mind," with the participation of Australian performance artists Stelarc, Domenico de Clario and Jill Orr.
This interest in the subjective experience as pure neurobiological phenomenon was also the topic of a symposium held in Venice in June 2011 and organized by the Association of Neuroesthetics, Berlin for the Peggy Guggenheim Collection and the Marino Golinelli Foundation. There, artist Ivana Franke in collaboration with neuroscientist Ida Momennejad, presented "Seeing with Eyes Closed," inviting the public to enter into the piece by sitting with eyes closed in front of a strobe light for six minutes. The experience is almost hallucinatory, with participants perceiving colourful moving shapes, images that are neither situated on a screen nor properly in the mind. In reality, they are produced by the interaction between the body and the light stimulus. What is perceived depends on the individual, hence, the experience remains invisible, impossible to depict.
Inquiry into the effective content of the subjective experience of dreaming–the most ancient aesthetic activity, as Jorge Luis Borges concluded in his talk "The Nightmare"–is our project's principal contribution to the field of art. The project aimed at overcoming the barriers preventing the display of the invisible subjective experience by utilizing the dreaming body to aid exterior observation.
Since 1996, Nathalie has been assiduously writing down her dreams, a daily exercise that has steadily increased her capacity to remember them. Just as she describes her dreams sans-interpretation, she subjected herself to analysis by the equipment, to compare the production of mental images rendered in writing with the images of brain activity obtained through the Emotiv EPOC EEG, in order to try to find meaning at the nexus of the two representations.
The work sought to insightfully confront what was revealed by the machine on its chart and the dream narration in its telling. These two accounts eventually ended up corroborating each other, thereby furnishing an enriched description of what occurred in the brain at the moment a new image emerged.
In addition to the artistic purposes, the 80-Days-in-Dreams Project experiment into the nexus between the subjective and objective factors of dreams aimed to make the findings public and available to the scientific community.
In writing about Bruce Nauman, Marcia Tucker describes our awareness of the world as, "the sum of our perceptions and of our physical, emotional and intellectual responses to our surroundings" (Art Forum 9 no. 4, New York, December 1970). In submitting her awareness of dreams to this experience, Nathalie has opened herself up to a new territory of observation.


text:
Q: How to make the autocompleter recognize an auto type variable when a statically cast pointer is assigned to it? Details
Recently I have updated to Qt 5.11.2. As part of the release Qt Creator 4.7.1 was installed.
It comes with a real-time code check, which I do not find useful and have removed by unchecking the ClangCodeModel under Help -> Plugins. This is the only customization I have done to Qt Creator.
Problem
With this version of Qt Creator I am experiencing the following problem:
When assigning a statically cast pointer to a variable declared as auto, the automatic code completion does not recognize it and I have to type the code manually. The manually typed code is not syntax highlighted as well:

The picture is only for showing the syntax highlighting. The code is the same as in the provided example.
Note: the project compiles without errors/warnings, when the code is typed manually.
This worked as expected in the previous versions of Qt Creator I have used.
Example
Please, consider the following minimal example I have written in order to reproduce the problem:
main.cpp
class A {
public:
    A::A() {
    }
};

class B : public A {
public:
    void foo() {
    }
};

int main(int /*argc*/, char * /*argv[]*/)
{
    A *a = new B();
    auto *b = static_cast<B *>(a);

    static_cast<B *>(a)->foo(); // "->foo();" is autocompleted
    b->foo();                   // Need to type "->foo();" manually

    return 0;
}

How to make the autocompleter/syntax highlighter work?

A: In order the code recognition and completion to work correctly, Qt Creator 4.7.1 based on Qt 5.11.2 needs the Clang Code Model:
Help -> Installed Plugins -> ClangCodeModel
This, however, turns the line annotations on. If this is not desired, they could be turned off by going to
Tools -> Options -> Text Editor -> Display
and unchecking Line annotations.

redpajama_set_name: RedPajamaStackExchange


Family Night Out – Ultimate Play is a carnival organised by NTUC U Family to encourage parents to switch off all game devices and energise their kids outdoor.
Join the event for a wide array of flying disc challenges and discover outdoor activities that get your family moving!
Participants will get to enjoy a unique experience with javelin, high jump, relay, shooting, baseball throw, mountain climb and surf.
Each family will receive a FREE Ultimate Play Starter Kit worth over $20 too.
• Olympic-Style Flying Disc Sports – Enjoy a unique experience with javelin, high jump, relay, shooting, baseball throw, mountain climb and surf.


Emerald Coast Research Associates is an outpatient facility located in the heart of Panama City, Florida. We have a dedicated team taking studies from conception to completion. We strive to provide the highest quality of patient care while diligently providing sponsors with the highest standard of quality data.
Panama City is located in Bay County which has a population of 150,317.
There are 8 counties surrounding Bay County which include Calhoun, Franklin, Gulf, Holmes, Jackson, Liberty, Walton, and Washington.
Panama City's ethnic profile can be divided into 84% Caucasian, 11% African American, 2% Asian, and 3% Hispanic.


text:
package com.arpnetworking.configuration.jackson;

import com.arpnetworking.logback.annotations.LogValue;
import com.arpnetworking.steno.LogValueMapFactory;
import com.fasterxml.jackson.databind.JsonNode;
import com.google.common.base.Optional;
import com.google.common.base.Throwables;
import net.sf.oval.constraint.NotNull;

import java.io.IOException;
import java.net.URI;

/**
 * JsonNode based configuration sourced from a file.
 *
 * @author Ville Koskela (vkoskela at groupon dot com)
 */
public final class JsonNodeUriSource extends BaseJsonNodeSource implements JsonNodeSource {

    /**
     * {@inheritDoc}
     */
    @Override
    public Optional<JsonNode> getValue(final String... keys) {
        return getValue(getJsonNode(), keys);
    }

    /**
     * {@inheritDoc}
     */
    @LogValue
    @Override
    public Object toLogValue() {
        return LogValueMapFactory.of(
                "super", super.toLogValue(),
                "Uri", _uri,
                "JsonNode", _jsonNode);
    }

    /**
     * {@inheritDoc}
     */
    public String toString() {
        return toLogValue().toString();
    }

    /* package private */ Optional<JsonNode> getJsonNode() {
        return _jsonNode;
    }

    private JsonNodeUriSource(final Builder builder) {
        super(builder);
        _uri = builder._uri;

        JsonNode jsonNode = null;
        try {
            jsonNode = _objectMapper.readTree(_uri.toURL());
        } catch (final IOException e) {
            throw Throwables.propagate(e);
        }
        _jsonNode = Optional.fromNullable(jsonNode);
    }

    private final URI _uri;
    private final Optional<JsonNode> _jsonNode;

    /**
     * Builder for JsonNodeUriSource.
     */
    public static final class Builder extends BaseJsonNodeSource.Builder<Builder, JsonNodeUriSource> {

        /**
         * Public constructor.
         */
        public Builder() {
            super(JsonNodeUriSource.class);
        }

        /**
         * Set the source URI.
         *
         * @param value The source URI.
         * @return This Builder instance.
         */
        public Builder setUri(final URI value) {
            _uri = value;
            return this;
        }

        /**
         * {@inheritDoc}
         */
        @Override
        protected Builder self() {
            return this;
        }

        @NotNull
        private URI _uri;
    }
}

redpajama_set_name: RedPajamaGithub


Are you looking for the map of Červonohrad? Find any address on the map of Červonohrad or calculate your itinerary to and from Červonohrad, find all the tourist attractions and Michelin Guide restaurants in Červonohrad. The ViaMichelin map of Červonohrad: get the famous Michelin maps, the result of more than a century of mapping experience.


text:
Commentary - Economic boom rumours in Somaliland
(Medeshi)- Somaliland is in economic boom as most diaspora returnees say.
Tall buildings in the down town , restaurants such as Lake Asal, hotels such as Ambassador, Mansour, social life places like Hida Dhawr and Art and Cafe centers like Lalays Cafe .
It is good news for the nation. Good news for the government to collect revenues. People spend more money and pay tax. Good for the poor to work for the rich to make a living. And finally good news for the country in general to get recognition from the rest of the world regardless of how long it would take. And also good news that the country can survive without international recognition because of economic strength. Taiwan is a good example of standing alone without international recognition but with economic growth.
Hargeisa is now much better and more convenient for the people in the Horn of Africa than Dubai. The reason: anything that could be ordered from Dubai is available in Hargeisa. Thanks to the entrepreneurship of the people of Somaliland. Hargeisa has now literally replaced Dubai in the region and has now become the hub of commerce in the Horn of Africa .
An example: Dahabshiil is one the largest remittance banks that offers remittance services in Africa. It also has its Head Quarters in Hargeisa and therefore, facilitates commercial transactions for unrecognized Republic of Somaliland. Dubai World Ports (DP World) has recently signed a 30 year lease contract to operate Berbera port which will be a hub to cater to more than 80 million land locked Ethiopians and others beyond in East Africa
Thanks to the peace and stability in Somaliland which has encouraged both local businesses and the International companies to invest in the country.
I have not mentioned the oil sector that has been sabotaged by Somalia due to lack of Somaliland recognition by the international community.
(Medeshi)

redpajama_set_name: RedPajamaCommonCrawl


Burton BN, Barboza J, Angerstein A, Y Martinez LW, Furnish T, Gabriel RA, Chen JL. The association of insurance status with non-routine hospital discharge after placement of spinal cord stimulators. J Clin Anesth. 2019 Mar 05; 57:17-19. PMID: 30849740.
Lerman IR, Chen JL, Hiller D, Souzdalnitski D, Sheean G, Wallace M, Barba D. Novel High-Frequency Peripheral Nerve Stimulator Treatment of Refractory Postherpetic Neuralgia: A Brief Technical Note. Neuromodulation. 2015 Aug; 18(6):487-93; discussion 493. PMID: 25832898.
Hsu JF, Chou TC, Lu J, Chen SH, Chen FY, Chen CC, Chen JL, Elayda M, Ballantyne CM, Shayani S, Chen CH. Low-density lipoprotein electronegativity is a novel cardiometabolic risk factor. PLoS One. 2014; 9(9):e107340. PMID: 25203525; PMCID: PMC4159324.


No subtitle on this one. Just a vampire, his life partner, and a flower. Based on a manga splash image of Rip holding her musket.
Meanwhile, back at the lab… (Layout is stolen from an homage to The Powerpuff Girls Doujinshi.) Seras: Stephen… Stephen: Jon? Jon!! Come out of there! Stephen: He's safe. Now, Stephen, please — [gnaw gnaw] Stephen, just listen to me! [GLOM] Stephen: Hey!! Let him go! Seras: In a minute! I need to talk to you.


For tax preparation in Stratford CT, you can count on Maria Wengenroth at H&R Block. Maria Wengenroth assists taxpayers and small businesses with taxes in Stratford CT and the surrounding communities. Whether you are an individual or a local business in or around Stratford CT, Maria Wengenroth has years of valuable experience as an IRS registered tax preparer. Contact Maria Wengenroth, tax filing specialist in Stratford CT, for help with your taxes.
Maria Wengenroth is a local tax preparer at H&R Block located in Stratford CT. Maria Wengenroth and other tax preparers located in Stratford CT will help you with tax preparation, tax planning, bookkeeping, estate and trust taxes, and so much more.
Are you Maria Wengenroth, a tax preparer from Stratford CT?


text:
The Government's response to the DCMS Disinformation and & Fake News report is significant further progress for our campaign
May 9, 2019 May 9, 2019 ~ alextait18
A key milestone in our campaign
The Government's long-awaited response to the DCMS's Disinformation and Fake News Inquiry was issued yesterday. This is an important milestone for our campaign, launched in May 2018, because the committee, chaired by Damian Collins MP, has conducted a thorough, wide-ranging and high-profile investigation of the topic of disinformation.
The headline is that the response is certainly more progress for the 4-point plan we've been championing. However, it ducks decisive action in several key areas.
Significant success for imprints and political ad transparency
To take each point of our 4-point plan in turn:
1. Compulsory imprints or watermarks to show the origin of online adverts
This certainly seems to be very positive and a definitive 'tick' for our plan, which is great news. The Government's response states, 'Candidates, political parties and non-party campaigners are currently required to have an imprint on any printed election material, to demonstrate that they have produced it. Extending this to include digital communications is essential for promoting fact-based political debate and tackling disinformation online.' The timeframe the response gives is to bring 'the technical proposal for this regime later on this year.' This is certainly welcome and, as the Electoral Commission first raised the issue in 2003, long overdue!
2. Legislate so that all paid-for political adverts can be viewed by the public
The DCMS committee put forward a recommendation almost word for word what we've advocated in our plan, stating that 'political advertising items should be publicly accessible in a searchable repository – who is paying for the ads, which organisations are sponsoring the ad, who is being targeted by the ads – so that members of the public can understand the behaviour of individual advertisers. It should be run independently of the advertising industry and of political parties.'
This too appears to have produced a welcome positive response. There is recognition that the solutions which platforms have developed, although good in themselves, 'are far from perfect, and … more needs to be done to increase transparency.' The Government proposes that the Code of Practice regarding disinformation cited in the Online Harms white paper should include the expectation that companies will 'improve the overall transparency of political advertising on their platforms.'
However, as we've previously argued, the digital advertising market is complex, and audiences reached by Facebook can also be reached via various other platforms and media owners. The recommendation made was precise but the response has been much less so. We will continue to engage, with the aim of ensuring that these standards are common to all media owners and tech platforms, and that, in order to maintain its integrity, the repository is also truly independent.
Political parties need to walk the walk
3. Require all objective factual claims used in political adverts to be substantiated.
4. Give an existing body the power to regulate political advertising content or create a new one to do so
In relation to the last 2 points of our plan, the DCMS committee recommended 'a comprehensive review of the current rules and regulations surrounding political work during elections and referenda.' This point was also backed up recently by the Information Commissioner's Office's Elizabeth Denham, who made clear her disappointment with the Online Harms white paper in her evidence to the recent DCMS subcommittee, noting that it was 'a gap' not to have 'a comprehensive examination … of the oversight needed' for political advertising. You can watch this part of her testimony here.
Trust and transparency are the central themes of the Online Harms white paper. There is understandable focus on the tech platforms and foreign actors in the inquiry overall and in the Government's responses. However, the breakdown of trust in politicians and politics currently is not going to be remedied without political parties and politicians also changing their behaviour.
The Advertising Standards Authority – the regulator for all advertising excluding political advertising – says that by far the majority of complaints it receives are over misleading claims. In his evidence, the CEO of the ASA also told the DCMS committee that 'everyone wishes that political advertising [content] was regulated,' including him.
Are the public going to be satisfied that disinformation in politics has been addressed, despite the ignoring of advertising content – where political parties can say almost anything they want in political ads? For a recent example, this thread, examining the untransparent campaign waged by 'Britain's Future', provides a case study of the problem that would help to solve. We've also some well-known examples at the bottom of this page.
The Government response to this point seems a bit of a fudge. They state 'the Government will continue to work with the Electoral Commission and political parties to identify and implement any reforms and clarifications to the law, regulations and practices around campaigning. We are committed to ensuring that the law and regulations around campaigning are up-to-date with technological advances in campaign techniques.'
Within the scope of that response we shall, of course, continue working to influence the regulation of political advertising content. We assume the newly established subcommittee on Disinformation and Fake News could be one way to do that.
Our campaign pledge offers an interim solution while we wait for legislation
In the meantime, the good news is that last week we launched our campaign pledge for responsible political advertising. Legislation can take a while to be influenced, drafted and implemented. The pledge offers a way for political parties to work to principles in line with our 4-point plan. We see it as a starting point and welcome feedback. We are delighted, however, that Change UK – The Independent Group are the first party to sign up and are implementing it immediately as part of their European Election campaign.
The pledge includes a commitment to suspend or amend objective factual claims that are deemed to be misleading by nominated fact-checking services Full Fact, Channel 4's Factcheck or the BBC's Reality Check as a proxy for a content regulator.
We are in conversation with several other parties. Our aspiration is to get as many as possible to sign up to it while we are waiting for legislation to be implemented. If you are a political advertiser and want to discuss the pledge, please email me. We'd love to take you through it.
Some other areas of interest
We chose the 4 areas in our plan to be hard to argue against, so we could easily build consensus, but which would have a major impact on restoring the integrity of our political processes.
There are many other important areas covered by the Government's response.
For example, it is doing a lot of good work with 'the Electoral Commission on statutory Codes of Practice for registered parties and candidates on electoral expenses … [to provide] clarity on digital campaigning election expenses. The Codes should come into force for the next major elections scheduled to take place in 2021 and 2022.'
Data use and targeting are, of course, high in the public's awareness following revelations over the last few years. The Government response also states that the 'Chair of the [newly opened] Centre for Data Ethics and Innovation (CDEI) [is] to investigate the advances in targeting and profiling practices, and consider what steps can be taken to ensure they are understood and trusted by the public, while best supporting business.'
However, as a cross-party body, the DCMS committee had asked for 'an independent investigation into past elections – including the UK election of 2017, the UK Referendum of 2016, and the Scottish Referendum of 2014 – to explore what actually happened with regard to foreign influence, disinformation, funding, voter manipulation, and the sharing of data, so that appropriate changes to the law can be made and lessons can be learnt for future elections and referenda.'
We predict that the Government's response on this is likely to be read as political by the media, given what the DCMS committee and the Mueller Report in the US have uncovered on disinformation. The proposal is rejected, with a claim that it cannot be done on legal grounds. However, the Government's response goes on to state confidently that 'there is no evidence of successful foreign interference in UK democratic processes, this includes the 2016 referendum and the 2017 general election.'
Published by alextait18
View all posts by alextait18
‹ PreviousThe Coalition for Reform in Political Advertising's campaign pledge for responsible election campaigning


text:
package JFlex;

import java.util.*;
import java.io.*;

/**
 * NFA representation in JFlex.
 *
 * Contains algorithms RegExp -> NFA and NFA -> DFA.
 *
 * @author Gerwin Klein
 * @version JFlex 1.4.3, $Revision: 433 $, $Date: 2009-01-31 19:52:34 +1100 (Sat, 31 Jan 2009) $
 */
final public class NFA {

  /** table[current_state][next_char] is the set of states that can be reached
  /* from current_state with an input next_char */
  StateSet [][] table;

  /** epsilon[current_state] is the set of states that can be reached
  /* from current_state via epsilon edges */
  StateSet [] epsilon;

  /** isFinal[state] == true <=> state is a final state of the NFA */
  boolean [] isFinal;

  /** action[current_state]: the action associated with the state
  /* current_state (null, if there is no action for the state) */
  Action [] action;

  /** the number of states in this NFA */
  int numStates;

  /** the current maximum number of input characters */
  int numInput;

  /** the number of lexical States. Lexical states have the indices
  /* 0..numLexStates-1 in the transition table */
  int numLexStates;

  /** estimated size of the NFA (before actual construction) */
  int estSize = 256;

  Macros macros;
  CharClasses classes;

  LexScan scanner;
  RegExps regExps;

  // will be reused by several methods (avoids excessive object creation)
  private static StateSetEnumerator states = new StateSetEnumerator();
  private static StateSet     tempStateSet = new StateSet();

  public NFA(int numInput, int estSize) {
    this.numInput = numInput;
    this.estSize = estSize;
    numStates = 0;
    epsilon = new StateSet [estSize];
    action = new Action [estSize];
    isFinal = new boolean [estSize];
    table = new StateSet [estSize][numInput];
  }

  /**
   * Construct new NFA.
   *
   * Assumes that lookahead cases and numbers are already resolved in RegExps.
   * @see RegExps#checkLookAheads()
   */
  public NFA(int numInput, LexScan scanner, RegExps regExps,
             Macros macros, CharClasses classes) {
    this(numInput, regExps.NFASize(macros)+2*scanner.states.number());

    this.scanner = scanner;
    this.regExps = regExps;
    this.macros  = macros;
    this.classes = classes;

    numLexStates = scanner.states.number();

    // ensureCapacity assumes correctly set up numStates.
    int new_num = numEntryStates();
    ensureCapacity(new_num);
    numStates = new_num;
  }

  public int numEntryStates() {
    return 2*(numLexStates+regExps.gen_look_count);
  }

  /**
   * Add a standalone rule that has minimum priority, fires a transition
   * on all single input characters and has a "print yytext" action.
   */
  public void addStandaloneRule() {
    int start = numStates;
    int end   = numStates+1;

    for (int c = 0; c < classes.getNumClasses(); c++)
      addTransition(start, c, end);

    for (int i = 0; i < numLexStates*2; i++)
      addEpsilonTransition(i, start);

    action[end]  = new Action("System.out.print(yytext());", Integer.MAX_VALUE);
    isFinal[end] = true;
  }

  /**
   * Add a regexp to this NFA.
   *
   * @param regExpNum   the number of the regexp to add.
   */
  public void addRegExp(int regExpNum) {

    if (Options.DEBUG)
      Out.debug("Adding nfa for regexp "+regExpNum+" :"+Out.NL+regExps.getRegExp(regExpNum));

    IntPair nfa = insertNFA( regExps.getRegExp(regExpNum) );

    Enumeration lexStates = regExps.getStates(regExpNum).elements();

    if ( !lexStates.hasMoreElements() )
      lexStates = scanner.states.getInclusiveStates();

    while ( lexStates.hasMoreElements() ) {
      int stateNum = ((Integer)lexStates.nextElement()).intValue();

      if ( !regExps.isBOL(regExpNum) )
        addEpsilonTransition(2*stateNum, nfa.start);

      addEpsilonTransition(2*stateNum+1, nfa.start);
    }

    if ( regExps.getLookAhead(regExpNum) != null ) {
      Action a = regExps.getAction(regExpNum);

      if (a.lookAhead() == Action.FINITE_CHOICE) {
        insertLookAheadChoices(nfa.end, a, regExps.getLookAhead(regExpNum));
        // remove the original action from the collection: it will never
        // be matched directly, only its copies will.
        scanner.actions.remove(a);
      }
      else {
        RegExp r1 = regExps.getRegExp(regExpNum);
        RegExp r2 = regExps.getLookAhead(regExpNum);

        IntPair look = insertNFA(r2);

        addEpsilonTransition(nfa.end, look.start);

        action[look.end]  = a;
        isFinal[look.end] = true;

        if (a.lookAhead() == Action.GENERAL_LOOK) {
          // base forward pass
          IntPair forward = insertNFA(r1);
          // lookahead backward pass
          IntPair backward = insertNFA(r2.rev(macros));

          isFinal[forward.end] = true;
          action[forward.end] = new Action(Action.FORWARD_ACTION);

          isFinal[backward.end] = true;
          action[backward.end] = new Action(Action.BACKWARD_ACTION);

          int entry = 2*(regExps.getLookEntry(regExpNum) + numLexStates);
          addEpsilonTransition(entry, forward.start);
          addEpsilonTransition(entry+1, backward.start);

          a.setEntryState(entry);
        }
      }
    }
    else {
      action[nfa.end] = regExps.getAction(regExpNum);
      isFinal[nfa.end] = true;
    }
  }

  /**
   * Insert NFAs for the (finitely many) fixed length lookahead choices.
   *
   * @param lookAhead   a lookahead of which isFiniteChoice is true
   * @param baseEnd     the end state of the base expression NFA
   * @param a           the action of the expression
   *
   * @see SemCheck#isFiniteChoice(RegExp)
   */
  private void insertLookAheadChoices(int baseEnd, Action a, RegExp lookAhead) {
    if (lookAhead.type == sym.BAR) {
      RegExp2 r = (RegExp2) lookAhead;
      insertLookAheadChoices(baseEnd, a, r.r1);
      insertLookAheadChoices(baseEnd, a, r.r2);
    }
    else if (lookAhead.type == sym.MACROUSE) {
      RegExp1 r = (RegExp1) lookAhead;
      insertLookAheadChoices(baseEnd, a, macros.getDefinition((String) r.content));
    }
    else {
      int len = SemCheck.length(lookAhead);

      if (len >= 0) {
        // termination case
        IntPair look = insertNFA(lookAhead);

        addEpsilonTransition(baseEnd, look.start);

        Action x = a.copyChoice(len);
        action[look.end]  = x;
        isFinal[look.end] = true;

        // add new copy to the collection of known actions such that
        // it can be checked for the NEVER_MATCH warning.
        scanner.actions.add(x);
      }
      else {
        // should never happen
        throw new Error("When inserting lookahead expression: unkown expression type "+lookAhead.type+" in "+lookAhead); //$NON-NLS-1$ //$NON-NLS-2$
      }
    }
  }

  /**
   * Make sure the NFA can contain at least newNumStates states.
   *
   * @param newNumStates  the minimu number of states.
   */
  private void ensureCapacity(int newNumStates) {
    int oldLength = epsilon.length;

    if ( newNumStates < oldLength ) return;

    int newStatesLength = Math.max(oldLength*2, newNumStates);

    boolean [] newFinal   = new boolean [newStatesLength];
    boolean [] newIsPush  = new boolean [newStatesLength];
    Action  [] newAction  = new Action  [newStatesLength];
    StateSet [] [] newTable = new StateSet [newStatesLength] [numInput];
    StateSet [] newEpsilon  = new StateSet [newStatesLength];

    System.arraycopy(isFinal,0,newFinal,0,numStates);
    System.arraycopy(action,0,newAction,0,numStates);
    System.arraycopy(epsilon,0,newEpsilon,0,numStates);
    System.arraycopy(table,0,newTable,0,numStates);

    isFinal     = newFinal;
    action      = newAction;
    epsilon     = newEpsilon;
    table       = newTable;
  }

  public void addTransition(int start, int input, int dest) {
    Out.debug("Adding transition ("+start+", "+input+", "+dest+")");

    int maxS = Math.max(start,dest)+1;

    ensureCapacity( maxS );

    if (maxS > numStates) numStates = maxS;

    if ( table[start][input] != null )
      table[start][input].addState(dest);
    else
      table[start][input] = new StateSet(estSize,dest);
  }

  public void addEpsilonTransition(int start, int dest) {
    int max = Math.max(start,dest)+1;
    ensureCapacity( max );
    if (max > numStates) numStates = max;

    if (epsilon[start] != null)
      epsilon[start].addState(dest);
    else
      epsilon[start] = new StateSet(estSize,dest);
  }

  /**
   * Returns true, iff the specified set of states
   * contains a final state.
   *
   * @param set   the set of states that is tested for final states.
   */
  private boolean containsFinal(StateSet set) {
    states.reset(set);

    while ( states.hasMoreElements() )
      if ( isFinal[states.nextElement()] ) return true;

    return false;
  }

  /**
   * Returns true, iff the specified set of states
   * contains a pushback-state.
   *
   * @param set   the set of states that is tested for pushback-states.
  private boolean containsPushback(StateSet set) {
    states.reset(set);

    while ( states.hasMoreElements() )
      if ( isPushback[states.nextElement()] ) return true;

    return false;
  }
  */

  /**
   * Returns the action with highest priority in the specified
   * set of states.
   *
   * @param set  the set of states for which to determine the action
   */
  private Action getAction(StateSet set) {

    states.reset(set);

    Action maxAction = null;

    Out.debug("Determining action of : "+set);

    while ( states.hasMoreElements() ) {

      Action currentAction = action[ states.nextElement() ];

      if ( currentAction != null ) {
	      if (maxAction == null)
	        maxAction = currentAction;
	      else
	        maxAction = maxAction.getHigherPriority(currentAction);
      }

    }

    return maxAction;
  }

  /**
   * Calculates the epsilon closure for a specified set of states.
   *
   * The epsilon closure for set a is the set of states that can be reached
   * by epsilon edges from a.
   *
   * @param set the set of states to calculate the epsilon closure for
   *
   * @return the epsilon closure of the specified set of states
   *         in this NFA
   */
  private StateSet closure(int startState) {

    // Out.debug("Calculating closure of "+set);

    StateSet notvisited = tempStateSet;
    StateSet closure = new StateSet(numStates,startState);

    notvisited.clear();
    notvisited.addState(startState);

    while ( notvisited.containsElements() ) {
      // Out.debug("closure is now "+closure);
      // Out.debug("notvisited is "+notvisited);
      int state = notvisited.getAndRemoveElement();
      // Out.debug("removed element "+state+" of "+notvisited);
      // Out.debug("epsilon[states] = "+epsilon[state]);
      notvisited.add(closure.complement(epsilon[state]));
      closure.add(epsilon[state]);
    }

    // Out.debug("Closure is : "+closure);

    return closure;
  }

  /**
   * Returns the epsilon closure of a set of states
   */
  private StateSet closure(StateSet startStates) {
    StateSet result = new StateSet(numStates);

    if (startStates != null) {
      states.reset(startStates);
      while (states.hasMoreElements())
        result.add( closure(states.nextElement()) );
    }

    return result;
  }

  private void epsilonFill() {
    for (int i = 0; i < numStates; i++) {
      epsilon[i] = closure(i);
    }
  }

  /**
   * Calculates the set of states that can be reached from another
   * set of states start with an specified input
   * character input
   *
   * @param start the set of states to start from
   * @param input the input character for which to search the next states
   *
   * @return the set of states that are reached from start
   *         via input
   */
  private StateSet DFAEdge(StateSet start, char input) {
    // Out.debug("Calculating DFAEdge for state set "+start+" and input '"+input+"'");

    tempStateSet.clear();

    states.reset(start);
    while ( states.hasMoreElements() )
      tempStateSet.add( table[states.nextElement()][input] );

    StateSet result = new StateSet(tempStateSet);

    states.reset(tempStateSet);
    while ( states.hasMoreElements() )
      result.add( epsilon[states.nextElement()] );

    // Out.debug("DFAEdge is : "+result);

    return result;
  }

  /**
   * Returns an DFA that accepts the same language as this NFA.
   * This DFA is usually not minimal.
   */
  public DFA getDFA() {

    Hashtable dfaStates = new Hashtable(numStates);
    Vector dfaVector    = new Vector(numStates);

    DFA dfa = new DFA(numEntryStates(), numInput, numLexStates);

    int numDFAStates = 0;
    int currentDFAState = 0;

    Out.println("Converting NFA to DFA : ");

    epsilonFill();

    StateSet currentState, newState;

    // create the initial states of the DFA
    for ( int i = 0;  i < numEntryStates();  i++ ) {
      newState = epsilon[i];

      dfaStates.put(newState, new Integer(numDFAStates));
      dfaVector.addElement(newState);

      dfa.setEntryState( i, numDFAStates );

      dfa.setFinal( numDFAStates, containsFinal(newState) );
      dfa.setAction( numDFAStates, getAction(newState) );

      numDFAStates++;
    }

    numDFAStates--;

    if (Options.DEBUG)
      Out.debug("DFA start states are :"+Out.NL+dfaStates+Out.NL+Out.NL+"ordered :"+Out.NL+dfaVector);

    currentDFAState = 0;

    StateSet tempStateSet = NFA.tempStateSet;
    StateSetEnumerator states = NFA.states;

    // will be reused
    newState = new StateSet(numStates);

    while ( currentDFAState <= numDFAStates ) {

      currentState = (StateSet) dfaVector.elementAt(currentDFAState);

      for (char input = 0; input < numInput; input++) {

	      // newState = DFAEdge(currentState, input);

        // inlining DFAEdge for performance:

        // Out.debug("Calculating DFAEdge for state set "+currentState+" and input '"+input+"'");

        tempStateSet.clear();
        states.reset(currentState);
        while ( states.hasMoreElements() )
          tempStateSet.add( table[states.nextElement()][input] );

        newState.copy(tempStateSet);

        states.reset(tempStateSet);
        while ( states.hasMoreElements() )
          newState.add( epsilon[states.nextElement()] );

        // Out.debug("DFAEdge is : "+newState);

	      if ( newState.containsElements() ) {

          // Out.debug("DFAEdge for input "+(int)input+" and state set "+currentState+" is "+newState);

	        // Out.debug("Looking for state set "+newState);
	        Integer nextDFAState = (Integer) dfaStates.get(newState);

	        if ( nextDFAState != null ) {
	          // Out.debug("FOUND!");
	          dfa.addTransition(currentDFAState, input, nextDFAState.intValue());
	        }
	        else {
            if (Options.progress) Out.print(".");
	          // Out.debug("NOT FOUND!");
	          // Out.debug("Table was "+dfaStates);
            numDFAStates++;

            // make a new copy of newState to store in dfaStates
            StateSet storeState = new StateSet(newState);

	          dfaStates.put(storeState, new Integer(numDFAStates));
	          dfaVector.addElement(storeState);

	          dfa.addTransition(currentDFAState, input, numDFAStates);
	          dfa.setFinal( numDFAStates, containsFinal(storeState) );
	          dfa.setAction( numDFAStates, getAction(storeState) );
	        }
	      }
      }

      currentDFAState++;
    }

    if (Options.verbose) Out.println("");

    return dfa;
  }

  public void dumpTable() {
    Out.dump(toString());
  }

  public String toString() {
    StringBuffer result = new StringBuffer();

    for (int i=0; i < numStates; i++) {
      result.append("State");
      if ( isFinal[i] ) {
        result.append("[FINAL");
        String l = action[i].lookString();
        if (!l.equals("")) {
          result.append(", ");
          result.append(l);
        }
        result.append("]");
      }
      result.append(" "+i+Out.NL);

      for (char input = 0; input < numInput; input++) {
	      if ( table[i][input] != null && table[i][input].containsElements() )
	        result.append("  with "+((int) input)+" in "+table[i][input]+Out.NL);
        }

      if ( epsilon[i] != null && epsilon[i].containsElements() )
	      result.append("  with epsilon in "+epsilon[i]+Out.NL);
    }

    return result.toString();
  }

  public void writeDot(File file) {
    try {
      PrintWriter writer = new PrintWriter(new FileWriter(file));
      writer.println(dotFormat());
      writer.close();
    }
    catch (IOException e) {
      Out.error(ErrorMessages.FILE_WRITE, file);
      throw new GeneratorException();
    }
  }

  public String dotFormat() {
    StringBuffer result = new StringBuffer();

    result.append("digraph NFA {"+Out.NL);
    result.append("rankdir = LR"+Out.NL);

    for (int i=0; i < numStates; i++) {
      if ( isFinal[i] ) {
          result.append(i);
          result.append(" [shape = doublecircle]");
          result.append(Out.NL);
      }
    }

    for (int i=0; i < numStates; i++) {
      for (int input = 0; input < numInput; input++) {
	      if ( table[i][input] != null ) {
          StateSetEnumerator states = table[i][input].states();

          while (states.hasMoreElements()) {
            int s = states.nextElement();
            result.append(i+" -> "+s);
            result.append(" [label=\""+classes.toString(input)+"\"]"+Out.NL);
          }
        }
      }
      if ( epsilon[i] != null ) {
        StateSetEnumerator states = epsilon[i].states();
        while (states.hasMoreElements()) {
          int s = states.nextElement();
          result.append(i+" -> "+s+" [style=dotted]"+Out.NL);
        }
      }
    }

    result.append("}"+Out.NL);

    return result.toString();
  }

  //-----------------------------------------------------------------------
  // Functions for constructing NFAs out of regular expressions.

  private void insertLetterNFA(boolean caseless, char letter, int start, int end) {
    if (caseless) {
      int lower = classes.getClassCode(Character.toLowerCase(letter));
      int upper = classes.getClassCode(Character.toUpperCase(letter));
      addTransition(start, lower, end);
      if (upper != lower) addTransition(start, upper, end);
    }
    else {
      addTransition(start, classes.getClassCode(letter), end);
    }
  }

  private IntPair insertStringNFA(boolean caseless, String letters) {
    int start = numStates;
    int i;

    for (i = 0; i < letters.length(); i++) {
      if (caseless) {
        char c = letters.charAt(i);
        int lower = classes.getClassCode(Character.toLowerCase(c));
        int upper = classes.getClassCode(Character.toUpperCase(c));
        addTransition(i+start, lower, i+start+1);
        if (upper != lower) addTransition(i+start, upper, i+start+1);
      }
      else {
        addTransition(i+start, classes.getClassCode(letters.charAt(i)), i+start+1);
      }
    }

    return new IntPair(start, i+start);
  }

  private void insertClassNFA(Vector intervalls, int start, int end) {
    // empty char class is ok:
    if (intervalls == null) return;

    int [] cl = classes.getClassCodes(intervalls);
    for (int i = 0; i < cl.length; i++)
      addTransition(start, cl[i], end);
  }

  private void insertNotClassNFA(Vector intervalls, int start, int end) {
    int [] cl = classes.getNotClassCodes(intervalls);

    for (int i = 0; i < cl.length; i++)
      addTransition(start, cl[i], end);
  }

  /**
   * Constructs an NFA accepting the complement of the language
   * of a given NFA.
   *
   * Converts the NFA into a DFA, then negates that DFA.
   * Exponential state blowup possible and common.
   *
   * @param the NFA to construct the complement for.
   *
   * @return a pair of integers denoting the index of start
   *         and end state of the complement NFA.
   */
  private IntPair complement(IntPair nfa) {

    if (Options.DEBUG) {
      Out.debug("complement for "+nfa);
      Out.debug("NFA is :"+Out.NL+this);
    }

    int dfaStart = nfa.end+1;

    // FIXME: only need epsilon closure of states reachable from nfa.start
    epsilonFill();

    Hashtable dfaStates = new Hashtable(numStates);
    Vector dfaVector    = new Vector(numStates);

    int numDFAStates = 0;
    int currentDFAState = 0;

    StateSet currentState, newState;

    newState = epsilon[nfa.start];
    dfaStates.put(newState, new Integer(numDFAStates));
    dfaVector.addElement(newState);

    if (Options.DEBUG)
      Out.debug("pos DFA start state is :"+Out.NL+dfaStates+Out.NL+Out.NL+"ordered :"+Out.NL+dfaVector);

    currentDFAState = 0;

    while ( currentDFAState <= numDFAStates ) {

      currentState = (StateSet) dfaVector.elementAt(currentDFAState);

      for (char input = 0; input < numInput; input++) {
	      newState = DFAEdge(currentState, input);

	      if ( newState.containsElements() ) {

          // Out.debug("DFAEdge for input "+(int)input+" and state set "+currentState+" is "+newState);

	        // Out.debug("Looking for state set "+newState);
	        Integer nextDFAState = (Integer) dfaStates.get(newState);

	        if ( nextDFAState != null ) {
	          // Out.debug("FOUND!");
            addTransition(dfaStart+currentDFAState, input, dfaStart+nextDFAState.intValue());
	        }
	        else {
            if (Options.dump) Out.print("+");
	          // Out.debug("NOT FOUND!");
	          // Out.debug("Table was "+dfaStates);
            numDFAStates++;

	          dfaStates.put(newState, new Integer(numDFAStates));
	          dfaVector.addElement(newState);

            addTransition(dfaStart+currentDFAState, input, dfaStart+numDFAStates);
	        }
	      }
      }

      currentDFAState++;
    }

    // We have a dfa accepting the positive regexp.

    // Now the complement:
    if (Options.DEBUG)
      Out.debug("dfa finished, nfa is now :"+Out.NL+this);

    int start = dfaStart+numDFAStates+1;
    int error = dfaStart+numDFAStates+2;
    int end   = dfaStart+numDFAStates+3;

    addEpsilonTransition(start, dfaStart);

    for (int i = 0; i < numInput; i++)
      addTransition(error, i, error);

    addEpsilonTransition(error, end);

    for (int s = 0; s <= numDFAStates; s++) {
      currentState = (StateSet) dfaVector.elementAt(s);

      currentDFAState = dfaStart+s;

      // if it was not a final state, it is now in the complement
      if (!currentState.isElement(nfa.end))
        addEpsilonTransition(currentDFAState, end);

      // all inputs not present (formerly leading to an implicit error)
      // now lead to an explicit (final) state accepting everything.
      for (int i = 0; i < numInput; i++)
        if (table[currentDFAState][i] == null)
          addTransition(currentDFAState, i, error);
    }

    // eliminate transitions leading to dead states
    if (live == null || live.length < numStates) {
      live    = new boolean [2*numStates];
      visited = new boolean [2*numStates];
    }

    removeDead(dfaStart, end);

    if (Options.DEBUG)
      Out.debug("complement finished, nfa ("+start+","+end+") is now :"+this);

    return new IntPair(start, end);
  }

  // "global" data for use in method removeDead only:
  // live[s] == false <=> no final state can be reached from s
  private boolean [] live;    // = new boolean [estSize];
  private boolean [] visited; // = new boolean [estSize];

  private void removeDead(int start, int end) {
    // Out.debug("removeDead ("+start+")");

    if ( visited[start] || live[start] ) return;
    visited[start] = true;

    // Out.debug("not yet visited");

    if (closure(start).isElement(end))
      live[start] = true;

    // Out.debug("is final :"+live[start]);

    for (int i = 0; i < numInput; i++) {
      StateSet nextState = closure(table[start][i]);
      StateSetEnumerator states = nextState.states();
      while (states.hasMoreElements()) {
        int next = states.nextElement();

        if (next != start) {
          removeDead(next,end);

          if (live[next])
            live[start] = true;
          else
            table[start][i] = null;
        }
      }
    }

    StateSet nextState = closure(epsilon[start]);
    StateSetEnumerator states = nextState.states();
    while (states.hasMoreElements()) {
      int next = states.nextElement();

      if (next != start) {
        removeDead(next,end);

        if (live[next])
          live[start] = true;
      }
    }

    // Out.debug("state "+start+" is live :"+live[start]);
  }

  /**
   * Constructs a two state NFA for char class regexps,
   * such that the NFA has
   *
   *   exactly one start state,
   *   exactly one end state,
   *   no transitions leading out of the end state
   *   no transitions leading into the start state
   *
   * Assumes that regExp.isCharClass(macros) == true
   *
   * @param regExp the regular expression to construct the
   *        NFA for
   *
   * @return a pair of integers denoting the index of start
   *         and end state of the NFA.
   */
  private void insertCCLNFA(RegExp regExp, int start, int end) {
    switch (regExp.type) {

    case sym.BAR:
      RegExp2 r = (RegExp2) regExp;
      insertCCLNFA(r.r1, start, end);
      insertCCLNFA(r.r2, start, end);
      return;

    case sym.CCLASS:
      insertClassNFA( (Vector) ((RegExp1) regExp).content, start, end);
      return;

    case sym.CCLASSNOT:
      insertNotClassNFA( (Vector) ((RegExp1) regExp).content, start, end);
      return;

    case sym.CHAR:
      insertLetterNFA(
        false, ((Character) ((RegExp1) regExp).content).charValue(),
        start, end);
      return;

    case sym.CHAR_I:
      insertLetterNFA(
       true, ((Character) ((RegExp1) regExp).content).charValue(),
       start, end);
      return;

    case sym.MACROUSE:
      insertCCLNFA(macros.getDefinition((String) ((RegExp1) regExp).content),
                start, end);
      return;
    }

    throw new Error("Unknown expression type "+regExp.type+" in NFA construction");
  }

  /**
   * Constructs an NFA for regExp such that the NFA has
   *
   *   exactly one start state,
   *   exactly one end state,
   *   no transitions leading out of the end state
   *   no transitions leading into the start state
   *
   * @param regExp the regular expression to construct the
   *        NFA for
   *
   * @return a pair of integers denoting the index of start
   *         and end state of the NFA.
   */
  public IntPair insertNFA(RegExp regExp) {

    IntPair nfa1, nfa2;
    int start, end;
    RegExp2 r;

    if (Options.DEBUG)
      Out.debug("Inserting RegExp : "+regExp);

    if (regExp.isCharClass(macros)) {
      start = numStates;
      end   = numStates+1;

      ensureCapacity(end+1);
      if (end+1 > numStates) numStates = end+1;

      insertCCLNFA(regExp, start, end);

      return new IntPair(start, end);
    }

    switch (regExp.type) {

    case sym.BAR:

      r = (RegExp2) regExp;

      nfa1 = insertNFA(r.r1);
      nfa2 = insertNFA(r.r2);

      start = nfa2.end+1;
      end   = nfa2.end+2;

      addEpsilonTransition(start, nfa1.start);
      addEpsilonTransition(start, nfa2.start);
      addEpsilonTransition(nfa1.end, end);
      addEpsilonTransition(nfa2.end, end);

      return new IntPair(start, end);

    case sym.CONCAT:

      r = (RegExp2) regExp;

      nfa1 = insertNFA(r.r1);
      nfa2 = insertNFA(r.r2);

      addEpsilonTransition(nfa1.end, nfa2.start);

      return new IntPair(nfa1.start, nfa2.end);

    case sym.STAR:
      nfa1 = insertNFA( (RegExp) ((RegExp1) regExp).content );

      start = nfa1.end+1;
      end   = nfa1.end+2;

      addEpsilonTransition(nfa1.end, end);
      addEpsilonTransition(start, nfa1.start);

      addEpsilonTransition(start, end);
      addEpsilonTransition(nfa1.end, nfa1.start);

      return new IntPair(start, end);

    case sym.PLUS:
      nfa1 = insertNFA( (RegExp) ((RegExp1) regExp).content );

      start = nfa1.end+1;
      end   = nfa1.end+2;

      addEpsilonTransition(nfa1.end, end);
      addEpsilonTransition(start, nfa1.start);

      addEpsilonTransition(nfa1.end, nfa1.start);

      return new IntPair(start, end);

    case sym.QUESTION:
      nfa1 = insertNFA( (RegExp) ((RegExp1) regExp).content );

      addEpsilonTransition(nfa1.start, nfa1.end);

      return new IntPair(nfa1.start, nfa1.end);

    case sym.BANG:
      return complement(insertNFA((RegExp) ((RegExp1) regExp).content));

    case sym.TILDE:
      return insertNFA(regExp.resolveTilde(macros));

    case sym.STRING:
      return insertStringNFA(false, (String) ((RegExp1) regExp).content );

    case sym.STRING_I:
      return insertStringNFA(true, (String) ((RegExp1) regExp).content );

    case sym.MACROUSE:
      return insertNFA(macros.getDefinition((String) ((RegExp1) regExp).content));
    }

    throw new Error("Unknown expression type "+regExp.type+" in NFA construction");
  }
}


Keep in touch! Enjoy the fine art of letter-writing and make someone's day extra-special. Take pen in hand and let these beautiful Gold Butterfly Letter Sheets add flair to your personal correspondence.
Each crisp letter sheet features a single butterfly at top, gleaming with gold foil highlights. Raised embossing adds dimension.


Danielle Earrings was added to your cart.
The jewel-encrusted studs of these dazzling drop earrings give them a rich, formal look...while the slender chains and modest pearl drops keep them understated, for a delicate balance that perfectly suits either day or night!
My fiancé purchased these earrings for me to wear on our wedding day and god they are gorgeous!! I love the vintage yet timeless look. They really look great even with a pair of jeans, I'm so glad we found your company when we did!


text:
<?php
add_filter('the_content', 'bad_word_filter');
add_filter('the_title', 'bad_word_filter');
add_filter('content_edit_pre', 'bad_word_filter');
function bad_word_filter($content) {
	$bad_words = array( 'douchebag', 'wally' );
	$content = str_ireplace($bad_words, '*****', $content);
	return $content;
}

add_filter('the_content', 'good_word_filter');
function good_word_filter($content) {
	$bad_words = array( 'bad', 'worse' );
	$good_words = array( 'good', 'better' );
	$content = str_ireplace($bad_words, $good_words,
			$content);
	return $content;
}

add_filter( 'the_title', 'copyright_the_title', 10, 2 );
function copyright_the_title( $title, $id = null ) {
	return $title . ' © Larkin Cunningham';
}

add_action( 'init', 'register_post_types' );
function register_post_types() {
	register_post_type('slides',
		array(
			'labels' => array(
			'name' => 'Slides'
		),
		'public' => true,
		)
	);
}

//[bold]
function bold_func( $atts, $content=null ){
	$a = shortcode_atts( array(
		'colour' => ''
	), $atts );
	return "".$content."";
}
add_shortcode( 'bold', 'bold_func' );

?>


Numerical modeling and simulation, multiphysics PDEs, finite element methods, domain decomposition solvers, block preconditioners.
FEMPAR is a parallel hybrid OpenMP/MPI, object-oriented framework for the massively parallel FE simulation of multiphysics problems governed by PDEs. It provides tools for the numerical simulation of a wide range of different physical phenomena, including compressible/incompressible flows, magnetics, solid mechanics, fluid-structure interaction, or thermal coupling. FEMPAR has been designed to tackle multi-physics, non-linear, and multi-scale problems. FEMPAR makes use of scalable implicit massively parallel solvers that are based on Balancing Domain Decomposition by Constraints (BDDC) preconditioning and fully-coupled block LU preconditioning for multiphysics problems. In particular, within the domain decomposition kernel, FEMPAR provides a novel, fully-distributed, communicator-aware, recursive, and overlapped implementation of the multilevel BDDC preconditioner. This code weakly scales up to 458,752 JUQUEEN cores for coercive three-dimensional problems (the Poisson problem and linear elasticity). The largest problem solved with FEMPAR up to now involved 30 billion unknowns. As far as we know, it is the first time that such degree of scalability is reported for a domain decomposition preconditioner. FEMPAR is released under the GNU GPL v3 license, and is more than 200K lines of Fortran77/95/2003 code long.
Vorticity isosurfaces for the incompressible Taylor-Green vortex problem at Re=1600 at four different time steps, starting with the initial condition at the top-left corner and evolving in time from top to bottom, and left to right. A segregated velocity/pressure algorithm, that involves a pressure Poisson solver per time step, was used.
Weak scalability on JUQUEEN for the number of PCG iterations (left) and total time (right) of the FEMPAR's highly scalable implementation of the 3-level BDDC solver when applied to a 3D Laplacian problem with a local problem size of 30x30x30 (27K) hexahedra/core. Total time includes both preconditiner set-up and PCG stages. The coarse-grid space was supplied with corner, edges and faces continuity constraints (cef).


Whatever the weather is, make sure you have a sturdy umbrella to keep you safe and dry, like the Shelta Supersize 6999 Folding Umbrella. This handy umbrella can be easily folded to fit into briefcases or bags, making it so convenient to bring anywhere. Its cover comes with UPF 25 for 96 up to 97.4% UV Protection so you are guaranteed safe and shielded from the sun's harmful UV rays.


text:
Can you tie in college football?
1 Can college football end in tie?
2 How many overtimes are allowed in college football?
3 What is the most OT in college football?
4 Can you kick a field goal in college overtime?
5 What is the longest running college football rivalry?
6 Has a college football game ever ended 0 0?
7 What is sudden death in football?
8 What was the shortest NFL game?
9 Has there ever been a 100 point football game?
10 What is the longest football throw?
11 Are extra points kicked in college overtime?
12 What is the new overtime rule in college football?
13 Is there an extra point in college overtime?
14 Who is Princeton's biggest rival?
15 What is the greatest rivalry in football?
College football has since established tiebreaking rules—the last tie game at the top level of college football occurred on November 25, 1995, between Wisconsin and Illinois. Without a change in game rules, no new members will be added to this list, and there are no active efforts to repeal tiebreaking rules.
Can college football end in tie?
Due to a rules change during the postseason of 1995, college football games can't end in a tie. At the beginning of the 1996 season, the NCAA Football Rules Committee added an overtime procedure to end the chance of a tied game. Overtime in a college football game is not a timed period of play.
How many overtimes are allowed in college football?
The NCAA is calling for overtimes to remain the same as long as those games do not exceed four overtimes. If a game reaches a fifth overtime period, the NCAA is making teams alternate two-point attempts. The ball will no longer start at the 25-yard line in such scenarios.
INTERESTING: How to find out your laptop screen size ?
What is the most OT in college football?
Kentucky football game was a college football game played on November 1, 2003 between the University of Arkansas Razorbacks and the University of Kentucky Wildcats; it tied an NCAA record for the longest football game ever played. The game included seven overtime periods.
Can you kick a field goal in college overtime?
There is no kickoff in college football overtime. Each team receives the ball at the opposing 25-yard-line with the chance to drive down the field for a field goal or touchdown.
What is the longest running college football rivalry?
If you're wondering, the oldest rivalry in college football belongs to Lafayette and Lehigh, who have met a whopping 151 times. The other oldest SEC rivalries not on the top 10 FBS list include Ole Miss/Mississippi State (112 meetings), Tennessee/Kentucky (111) and Tennessee/Vanderbilt (110).
Has a college football game ever ended 0 0?
If you are talking about American football, the answer is yes. In College Football, the NCAA started overtime in 1996 which ended the chances of any game ending 0–0. However, in 2014 Wake Forest and Virginia Tech ended in a 0–0 after 4 quarters (Wake Forest would win 6–3 in OT).
What is sudden death in football?
Sudden death is any form of competition that ends a game as soon as one of the competitors or teams is ahead of the other. This can be done through a penalty shootout or by extra time and is used as a tiebreaker.
What was the shortest NFL game?
INTERESTING: Is it legal to buy bongs online?
The 49ers' 9-0 win over the Redskins took just 2 hours and 36 minutes, which was the shortest NFL game since the New England Patriots defeated the Jacksonville Jaguars 35-7 in Week 16 of the 2009 season, per NFL Research.
Has there ever been a 100 point football game?
The most points scored by a single team, and the most lopsided final score in college football history, occurred on October 7, 1916 when Georgia Tech beat Cumberland 222–0. … On October 25, 1884, Yale defeated Dartmouth 113–0, becoming the first team to score 100 points in a game.
What is the longest football throw?
In 1983 Raiders player Jim Plunkett threw a 99-yard touchdown pass, the longest in NFL history.
Are extra points kicked in college overtime?
In American college and high school football, the overtime periods are continued until a winner is determined. All points scored in overtime count as if they were scored in regulation.
What is the new overtime rule in college football?
The NCAA Playing Rules Oversight Panel on Thursday approved a change to overtime rules for the 2021 football season. Teams will be required to run a 2-point conversion play after a touchdown when a game reaches a second overtime period. Previously, a 2-point attempt was required after the third overtime period.
Is there an extra point in college overtime?
Teams will now be forced to go for a 2-point conversion starting in the second overtime period. If a game is still tied after the second overtime, teams will engaged in a 2-point conversion shootout, similar to how hockey games are decided with penalty shots.
INTERESTING: Can you eat a cockroach?
Who is Princeton's biggest rival?
Princeton and the University of Pennsylvania have been longtime basketball rivals. Cornell and Harvard have been hockey rivals for many years, and Harvard and Penn have beenlong time football rivals. Many other Ivy League schools have had serious sports rivalries as well.
What is the greatest rivalry in football?
Boca Juniors vs River Plate. Football lends itself well to class warfare.
Barcelona vs Real Madrid.
Celtic vs Rangers.
Nacional vs Penarol.
Lazio vs Roma.
Fenerbahce vs Galatasaray.
Liverpool vs Manchester United.
Gremio vs Internacional.
Difference between white tie and black tie?
You asked: How low should my tie hang ?
How to take off a tie?
Difference between tie fighter and tie interceptor?
What does a tire rod look like?
Why is american football called football?
Which came first soccer or football?
Quick answer: Difference between a senator and a state senator?
What is the difference between dgca and dgft?
Canada vs mexico war?
How to play pc games with xbox controller?
Can you pay a credit card with a prepaid card?
How to get free dstv channels?
Frequent answer: Which line number identifies an invalid ip address?
You asked: What is ab blood type?


text:
Photo: A man walks his dog past a mural that pays tribute to health-care workers during the COVID-19 pandemic in Toronto on July 22, 2020. THE CANADIAN PRESS/Nathan Denette
An attention to equity must guide our pandemic responses
The most effective use of resources would be to combine infectious disease modelling and social epidemiology to produce better and fairer forecasts.
by	Sridhar Venkatapuram September 1, 2020
How a particular country allocates resources, or does not, during a pandemic affects how it evolves within the country, and sometimes in other countries and in the world. Yet, alongside directing resources toward increasing surge capacity to effectively control the pandemic – in terms of the spread of infections as well as managing consequent illnesses and deaths – how a society allocates resources also reflects and impacts the parallel social concern of equity.
But why should we or any country be concerned about equity while responding to a pandemic? The simple answer is that because we cause the spread of deadly and harmful infections through social interactions, choices and neglect, we then have an obligation to mitigate the harms fairly. Even if we do not want to acknowledge our own causal role, we would still want to ensure that we reduce risk of harms fairly or distribute benefits of response fairly. Have we done this so far in this pandemic? No.
A significant part of national pandemic responses involves surge capacity – the ability to scale operations up (and down) swiftly, smoothly and productively. This entails the rapid allocation and deployment of health and other social resources, including financial, intellectual, scientific, labour, military, and infrastructure.
The world over, in response to COVID-19 has marshalled these types of resources including trillions of dollars to increasing health care capacity, procuring testing kits and protective wear, building additional hospitals, providing food rations, helping businesses stay solvent, supporting and investing in scientific research and development of vaccines, and so forth. However, this surge capacity approach combined with a triage mentality at the point of need, often entails narrowing the causal story down to proximate factors (the virus SARS-CoV-2), and disconnecting from broader and long-standing background conditions (for example: we will save only those who will benefit the most, irrespective of who they are).
Health equity and social determinants of health
During normal times, the health and well-being of both individuals and a national population, as well as health inequalities across individuals and social groups, are overwhelmingly created by non-healthcare social determinants. Across all countries, social determinants of health are "the conditions in which people are born, grow, live, work and age." These conditions include such things as early infant care and stimulation, safe and secure employment, discrimination, personal relationships, and income inequality among many others. Access to health care for prevention and care is important, but it is only one of many social determinants of health and illness, impairments and premature death.
Second, these determinants operate at levels ranging from the micro, such as interpersonal interactions affecting neuro-biological pathways, to the meso and macro, such as community cultures, national political regimes and global processes affecting trade – and, as this pandemic revealed, global organizations, governance structures and norms.
A third key aspect of social determinants of health is that health, with life expectancy as a good proxy, is distributed along a declining social gradient in every society. Every socio-economic group is healthier and lives longer than the group below. The story is not about the have and have-nots, but inequality right across society.
In sum, the way we organize our societies, how we treat and relate to each other, the social choices we make in policies and the persistent neglect of issues and groups all contribute to creating and distributing individual health or ill-health, and health inequalities along a declining social gradient within and across societies.
Because health is a valuable good to and for people, and social institutions, practices and relationships determine health and health inequalities, they are a central concern of social equity and justice. By extension, the broad social bases of the determinants of health and health inequalities that operate across countries also puts them squarely at the centre of the scope of deliberations on global equity and justice.
Social bases of infectious diseases
So unsurprisingly, pandemics also have significant social causes. While the origin of COVID-19 is still yet to be confirmed, we already know that the conditions that enabled its genesis were socially determined. The human–animal interactions were managed or neglected, through policy choices and social practices. The spread of the virus from person-to-person is a social phenomenon, and conditions that engender or restrict those social interactions are socially determined.
In addition, the spread of the virus across countries, initially carried by persons along busy international flight paths to major global cities, was socially determined. Social choices allowed those infections to then move through flights to secondary world capitals. And, to press the point to its conclusion, how infections take root and spread within countries, and how they are or are not being controlled are also determined by social choices or, indeed, neglect.
Two scientific ideas
Among the breadth of social choices available at the global to the local levels, the deployment of two scientific ideas profoundly affected national pandemic responses, including the allocation of resources, with significant harmful implications for social and health equity. First, the familiar contain-and-control approach to infectious diseases was applied maximally by countries (national lockdowns) and was without precedent.
The approach was first applied to the outbreak in Wuhan, China at an unprecedented scale but it did not contain the spread of infections. On March 9, Italy implemented a nationwide lockdown. And, perhaps, guided by the precedents of China and Italy, by the end of March, the majority of countries worldwide had implemented some form of border closure and national lockdowns.
Rapid national lockdowns across the world were undoubtedly motivated by the epidemic forecasting models that were so influential early on. In mid-March the modellers at Imperial College London projected 500,000 deaths in the UK and 2.2 million deaths in the US if no action were taken. Importantly, the modellers were able to share their projections directly with the UK Prime Minister's Office as well as US presidential advisors.
The forecasting models were mono-dimensional. They modelled scenarios of how generic human bodies will likely spread infections, and the biological impacts (infected, recovered, or dead) over time. They used assumptions including equal susceptibility of all bodies and equal probability of death, resulting in the impression that anyone could become infected and die.
The generalized risk as well as the predicted scale of deaths motivated the society-wide lockdowns. Imagine if the forecasting showed that older people and minorities were most likely to die. The model assumptions obscured unequal vulnerabilities across social groups to exposures, infections and deaths. Such differences in vulnerability can be due to existing health conditions, frailty from being older, as well as from social conditions such as lack of clean water or unaffordability of soap.
When the inequalities in vulnerability to infections were erased through the assumption that everyone was equally susceptible, it also erased the unequal abilities of individuals to benefit from intervention to reduce transmission. Equal vulnerability assumption goes with equal ability to benefit assumption. This equality assumption also renders unclear the possibility of the intervention actually creating even more vulnerabilities.
For example, social distancing made some people more at risk of infection, not to mention harms in other important wellbeing domains. For example, crowded living conditions increases risk of infection, as well as risk of physical abuse or mental illness for some people. Further, assuming that all individuals develop equal immunity once infected also produces various further vulnerabilities.
Plus, used in isolation, with a focus on only one dimension (biological impacts of virus), these models could not identify the impacts of policies to reduce virus transmissions on other health and well-being issues or on other important social domains (for example: non-COVID-19 health care, the economy, unemployment, gender roles).
Secondly, these models were not able to present any analysis on social distribution patterns. The modelling was only able to present aggregate numbers of bodies infected and immune, infected and dead and susceptible over time before the pandemic dies out with or without various interventions. It was only after people started dying that visible patterns of social distributions were forced to be acknowledged.
In light of the role of modelling in this pandemic, a partial answer to the question – how should a nation allocate its resources during a pandemic – is that it should seek to deploy a pandemic response that aims to effectively control the epidemic, but with significant attention to equity because the deaths and suffering are socially caused.
One potentially practical and effective use of resources would be to combine infectious disease modelling and social epidemiology to produce better forecasts. These would incorporate differences in vulnerability and show social distribution patterns of impacts of infections as well as social responses.
This is not a novel assertion. Such a call to improve infectious disease modelling and epidemiology by incorporating social determinants of unequal vulnerability was raised in the mid-1990s in response to HIV/AIDS modelling. But it went unheeded. Once again, this shows how the devastation from COVID-19 pandemic has a long chain of causes rooted in social choices and neglect, going back decades at least.
A longer version of this piece can be found in Vulnerable: The Law, Policy and Ethics of COVID-19, edited by Colleen M Flood, Vanessa MacDonnell, Jane Philpott, Sophie Thériault and Sridhar Venkatapuram, out now and available open access from University of Ottawa Press.
This article is part of the Addressing Vulnerabilities for a More Equitable Pandemic Response special feature.
Sridhar Venkatapuram
Sridhar Venkatapuram is an academic practitioner of global health ethics and justice. He is an associate professor in Global Health and Philosophy based at the King's College, in London, UK.
by Sridhar Venkatapuram. Originally published on Policy Options

An attention to equity must guide our pandemic responses

by Sridhar Venkatapuram. Originally published on Policy Options
September 1, 2020

How a particular country allocates resources, or does not, during a pandemic affects how it evolves within the country, and sometimes in other countries and in the world. Yet, alongside directing resources toward increasing surge capacity to effectively control the pandemic – in terms of the spread of infections as well as managing consequent illnesses and deaths – how a society allocates resources also reflects and impacts the parallel social concern of equity.

But why should we or any country be concerned about equity while responding to a pandemic? The simple answer is that because we cause the spread of deadly and harmful infections through social interactions, choices and neglect, we then have an obligation to mitigate the harms fairly. Even if we do not want to acknowledge our own causal role, we would still want to ensure that we reduce risk of harms fairly or distribute benefits of response fairly. Have we done this so far in this pandemic? No.

A significant part of national pandemic responses involves surge capacity – the ability to scale operations up (and down) swiftly, smoothly and productively. This entails the rapid allocation and deployment of health and other social resources, including financial, intellectual, scientific, labour, military, and infrastructure.

The world over, in response to COVID-19 has marshalled these types of resources including trillions of dollars to increasing health care capacity, procuring testing kits and protective wear, building additional hospitals, providing food rations, helping businesses stay solvent, supporting and investing in scientific research and development of vaccines, and so forth. However, this surge capacity approach combined with a triage mentality at the point of need, often entails narrowing the causal story down to proximate factors (the virus SARS-CoV-2), and disconnecting from broader and long-standing background conditions (for example: we will save only those who will benefit the most, irrespective of who they are).

Health equity and social determinants of health

During normal times, the health and well-being of both individuals and a national population, as well as health inequalities across individuals and social groups, are overwhelmingly created by non-healthcare social determinants. Across all countries, social determinants of health are "the conditions in which people are born, grow, live, work and age." These conditions include such things as early infant care and stimulation, safe and secure employment, discrimination, personal relationships, and income inequality among many others. Access to health care for prevention and care is important, but it is only one of many social determinants of health and illness, impairments and premature death.

Second, these determinants operate at levels ranging from the micro, such as interpersonal interactions affecting neuro-biological pathways, to the meso and macro, such as community cultures, national political regimes and global processes affecting trade – and, as this pandemic revealed, global organizations, governance structures and norms.

A third key aspect of social determinants of health is that health, with life expectancy as a good proxy, is distributed along a declining social gradient in every society. Every socio-economic group is healthier and lives longer than the group below. The story is not about the have and have-nots, but inequality right across society.

In sum, the way we organize our societies, how we treat and relate to each other, the social choices we make in policies and the persistent neglect of issues and groups all contribute to creating and distributing individual health or ill-health, and health inequalities along a declining social gradient within and across societies.

Because health is a valuable good to and for people, and social institutions, practices and relationships determine health and health inequalities, they are a central concern of social equity and justice. By extension, the broad social bases of the determinants of health and health inequalities that operate across countries also puts them squarely at the centre of the scope of deliberations on global equity and justice.

Social bases of infectious diseases

So unsurprisingly, pandemics also have significant social causes. While the origin of COVID-19 is still yet to be confirmed, we already know that the conditions that enabled its genesis were socially determined. The human–animal interactions were managed or neglected, through policy choices and social practices. The spread of the virus from person-to-person is a social phenomenon, and conditions that engender or restrict those social interactions are socially determined.

In addition, the spread of the virus across countries, initially carried by persons along busy international flight paths to major global cities, was socially determined. Social choices allowed those infections to then move through flights to secondary world capitals. And, to press the point to its conclusion, how infections take root and spread within countries, and how they are or are not being controlled are also determined by social choices or, indeed, neglect.

Two scientific ideas

Among the breadth of social choices available at the global to the local levels, the deployment of two scientific ideas profoundly affected national pandemic responses, including the allocation of resources, with significant harmful implications for social and health equity. First, the familiar contain-and-control approach to infectious diseases was applied maximally by countries (national lockdowns) and was without precedent.

The approach was first applied to the outbreak in Wuhan, China at an unprecedented scale but it did not contain the spread of infections. On March 9, Italy implemented a nationwide lockdown. And, perhaps, guided by the precedents of China and Italy, by the end of March, the majority of countries worldwide had implemented some form of border closure and national lockdowns.

Rapid national lockdowns across the world were undoubtedly motivated by the epidemic forecasting models that were so influential early on. In mid-March the modellers at Imperial College London projected 500,000 deaths in the UK and 2.2 million deaths in the US if no action were taken. Importantly, the modellers were able to share their projections directly with the UK Prime Minister's Office as well as US presidential advisors.

The forecasting models were mono-dimensional. They modelled scenarios of how generic human bodies will likely spread infections, and the biological impacts (infected, recovered, or dead) over time. They used assumptions including equal susceptibility of all bodies and equal probability of death, resulting in the impression that anyone could become infected and die.

The generalized risk as well as the predicted scale of deaths motivated the society-wide lockdowns. Imagine if the forecasting showed that older people and minorities were most likely to die. The model assumptions obscured unequal vulnerabilities across social groups to exposures, infections and deaths. Such differences in vulnerability can be due to existing health conditions, frailty from being older, as well as from social conditions such as lack of clean water or unaffordability of soap.

When the inequalities in vulnerability to infections were erased through the assumption that everyone was equally susceptible, it also erased the unequal abilities of individuals to benefit from intervention to reduce transmission. Equal vulnerability assumption goes with equal ability to benefit assumption. This equality assumption also renders unclear the possibility of the intervention actually creating even more vulnerabilities.

For example, social distancing made some people more at risk of infection, not to mention harms in other important wellbeing domains. For example, crowded living conditions increases risk of infection, as well as risk of physical abuse or mental illness for some people. Further, assuming that all individuals develop equal immunity once infected also produces various further vulnerabilities.

Plus, used in isolation, with a focus on only one dimension (biological impacts of virus), these models could not identify the impacts of policies to reduce virus transmissions on other health and well-being issues or on other important social domains (for example: non-COVID-19 health care, the economy, unemployment, gender roles).

Secondly, these models were not able to present any analysis on social distribution patterns. The modelling was only able to present aggregate numbers of bodies infected and immune, infected and dead and susceptible over time before the pandemic dies out with or without various interventions. It was only after people started dying that visible patterns of social distributions were forced to be acknowledged.

In light of the role of modelling in this pandemic, a partial answer to the question – how should a nation allocate its resources during a pandemic – is that it should seek to deploy a pandemic response that aims to effectively control the epidemic, but with significant attention to equity because the deaths and suffering are socially caused.

One potentially practical and effective use of resources would be to combine infectious disease modelling and social epidemiology to produce better forecasts. These would incorporate differences in vulnerability and show social distribution patterns of impacts of infections as well as social responses.

This is not a novel assertion. Such a call to improve infectious disease modelling and epidemiology by incorporating social determinants of unequal vulnerability was raised in the mid-1990s in response to HIV/AIDS modelling. But it went unheeded. Once again, this shows how the devastation from COVID-19 pandemic has a long chain of causes rooted in social choices and neglect, going back decades at least.

A longer version of this piece can be found in Vulnerable: The Law, Policy and Ethics of COVID-19, edited by Colleen M Flood, Vanessa MacDonnell, Jane Philpott, Sophie Thériault and Sridhar Venkatapuram, out now and available open access from University of Ottawa Press.

This article is part of the Addressing Vulnerabilities for a More Equitable Pandemic Response special feature.

This article first appeared on Policy Options and is republished here under a Creative Commons license.


James Burrows is Head of Capital Markets Solutions at Cognizant. He joined Cognizant's Banking & Financial Services practice in May 2016 in London. James has 20-plus years of operations experience within the financial sector, most recently with Barclays where he ran the Global Asset Servicing, Global Security Settlements & Global Operations Tax team for the Investment Bank and Wealth Management Divisions. James also has experience running the Global Synthetic and Financing Middle Office.
In addition to the day-to-day running of the teams, James was also a board member of 11 Barclays entities, board member of AFME Post Trade Division & Chairperson of the AFME Asset Servicing Committee. Prior to Barclays, James led a number of operations teams at Goldman Sachs International (2000 – 2008) which included Global Corporate Actions, Global Client Services Group and Global Proxy. Prior to Goldman Sachs James worked at Lloyds Security Services and Lloyds Private Banking. He can be reached at James.Burrows@cognizant.com.