text:
Poor Prisoner – An Excerpt from "The English Templar"
The faint hope that they would not dare to treat knights and noblemen in the same manner as commoners was shattered on the afternoon of the 19th. That was the day they took the ageing Sir Etienne de Mende to the torture chambers. They extracted his teeth one by one until he had confessed to everything they wanted to hear.
When the guards came and unlocked the chains at his feet, Percy felt such terror of what was ahead of him that he could hardy control his bowels. Sweat glistened on his face. Someone murmured a blessing. Someone else said a prayer for him.
He could hardly walk. His muscles seemed to have frozen. He tripped over his own feet. He smelt his own stench and was ashamed of himself. He was led along a dark, dank corridor, past a chamber full of torture instruments and into a windowless room lit by a torch. Behind a plain wooden table sat the sheriff. At his right hand sat a monk in the habit of the Dominicans. The Inquisition.
To his surprise, a stool was waiting for him. At a gesture from the sheriff, Percy sank down on it. The relief was less than expected. His muscles were not used to sitting anymore and the stool was low. His legs cramped at once and he had to clamp his teeth together to keep from crying out while he tried to shake the cramp from his legs. During the entire procedure the sheriff and the Dominican stared at him like lizards — without the slightest flicker of emotion. The guards who stood just inside the door made some crack to one another in a relaxed tone. Then it was over. He waited.
"Your name?" The sheriff asked.
Percy pulled himself together. He had had enough time to think about what he would say to this inevitable question. "Sir Percival de Lacy, second cousin of the Earl of Lincoln, subject of His Grace King Edward II of England and Knight Templar of the Commandery at Limassol, Cyprus. I hereby protest vehemently at my unlawful detention at the hands of a foreign monarch and demand immediate audience with a representative of the English Crown." It sounded decisive and self-confident — if only his sweating, stinking body and shaking knees had not betrayed him.
Even so, there was evident surprise and consternation behind the table. The sheriff raised his eyebrows and turned to the Dominican. The Dominican leaned forwards and whispered loud enough for Percy to hear. King Philip had, of course, immediately informed his fellow monarchs of the outrageous crimes committed by the Templars and his own decision to put an end to the perversions which offended God. He had urged his fellow monarchs to follow his example, arrest the Templars and investigate their crimes. As yet, it was too soon to know the response of the English King, but he was due to marry King Philip's only daughter Isabella in just a few months. He was sure to follow the lead of his wise and devout father-in-law.
The sheriff addressed [Percy]. "Your request has been noted. I will pass it on to my superiors. For now, your cooperation in this grave matter is requested. I am certain that voluntary cooperation will be noted with favor by both your own king and mine. You are aware of the charges levelled against your Order?"
"I have heard what my brothers reported after their interrogations," Percy answered cautiously.
"Do you agree that the denial of Christ is a vile and heinous crime?"
Percy crossed himself. "With all my heart."
"And the worship of some idol in place of our dear Saviour must offend every Christian."
"It is repulsive!" Percy spoke with conviction.
"Yet both these crimes have been confessed to by your brothers." The sheriff leaned forwards over the table. "How do you explain that?"
"A man will confess to anything to stop pain," Percy retorted and at once wondered if he had blundered. Hadn't he just admitted that he too would admit to anything to stop pain? Wouldn't they recognize how weak he was? Wouldn't they exploit it?
"But a man who makes a false confession is condemned to the tortures of hell — and hell has no end. The tortures that we poor, imperfect instruments of His will can impose are finite. They can always end in death, and that is — for the truly innocent — a release into paradise. To confess to end earthly torture only to land in the perpetual and eternal torture of hell is the act of a madman."
"Pain creates madmen," Percy answered. He had not prepared for these questions. He was not ready for an intellectual discussion about the nature of earthly and divine torture. He had no clue what he should say to defend himself.
"You do not give credence to the confession of your brothers?" The sheriff asked raising his eyebrows.
"How can I? I do not know what they confessed."
"Ah." The sheriff lifted the corner of his mouth. For some reason he was genuinely pleased to have a worthy opponent. "Let me read them to you… Your brother and priest, Father Roger of Saint Pierre du Temple confessed the following:
When I took my vows before the chapter, I was led into a small room beside the chapter chamber. There I was told to remove my clothes. This I did without hesitation, thinking that I would now receive the mantle of the Templars. But when I stood naked before the commander, he lifted his habit and ordered me to kiss his navel. I did so. He then turned to back on me and ordered me to kiss his ass. I did so. Then he gave me the kiss of peace.
The sheriff set the parchment aside and looked expectantly at Percy.
Percy stared back and thought of Father Roger's hands. At the thought of someone tearing off even one of his fingernails, his muscles tensed. Seven of Father Roger's fingernails had been removed brutally. His hands were swollen like sausages and hot to touch. Blood and pus still oozed from them. And Father Roger was the son of serfs; the pride of his family, the one son who had been allowed to go to school and whose freedom had been bought by the Temple so he could enter the priesthood. Percy knew that now. Sergeant Gautier had told him about Father Roger after they had brought him back from his interrogation.
"Well?" the sheriff prompted. "What do you have to say to that?"
"That Father Roger is a poor, miserable man, whom I pity with all my heart. May Christ have mercy upon him! He did not mean to lie but he was not strong enough to insist upon the truth." Percy crossed himself. He did not think he was strong enough to withstand torture either.
The sheriff shifted uncomfortably. That too true. Then he suppressed his discomfort. Christ might be merciful; King Philip never. And it was to King Philip he owed his position and his wealth. "Brother Thomas, also of Stain Pierre, confessed to the followed," he persisted mercilessly. "At my initiation I was forced to deny Christ three times —"
"As did Simon Peter on the day of the Crucifixion." Percy interrupted without knowing what he did. The stench of Brother Thomas' charred feet was in his nostrils. He felt nausea rising in his empty belly.
The sheriff looked over at him with a mixture of anger and admiration. He was not used to prisoners interrupting him — unless it was with screams and pleas for mercy. But the remark was correct. And that gave him an exciting idea. "You mean this was routine? Templars re-enact the denial of Christ which Saint Peter made on the day of His Crucifixion?"
"No!" Percy quickly saw the error he had made. "I never denied Christ. I was never asked to deny Christ," he replied firmly.
"Simon Peter never spat upon Our Lord in his agony," the Dominican entered the interrogation for the first time. He had a relatively high, frail voice.
"Not that I know of," Percy retorted. "I wasn't there."
"You impudent bastard!" The Dominican sprang to his feet, furious. He thought Percy was mocking him.
The sheriff patted his arm and gestured for him to reseat himself. "But your brother Thomas of Saint Pierre confessed to it" the sheriff remarked calmly. "After denying Christ three times, he was forced to spit upon the crucifix which was held out to him."
"Read me his confession," Percy demanded, trying to concentrate all his attention and intelligence on some way out of this spider's web of lies and torture.
"'I was forced to deny Christ three times and then spit upon his image.'"
Percy noted the difference between this confession and the last. The first confession had been wordy, as if Father Roger had spoken. This confession read like the indictment. They had not torn more than a yes or no answer from Brother Thomas. Or, rather, they had forced him to say yes after countless nos. He crossed himself. "Christ have mercy. God have mercy. The Holy Spirt have mercy. My brother knew not what he did."
The sheriff felt first a touch of satisfaction at Percy's calm but then reminded himself that he would sing a different tune if they were applying the glowing iron to his genitals. He shook his head slowly and leafed through the documents before him. "I think you will agree, sir, that idol worship is not something that can be taken lightly, much less forgiven. Nor is it something an ordinary Christian would think up."
"Not even the Muslims are idol-worshipers!" Percy retorted.
"Yet I have sworn confession by a brother of yours who describes in detail how the chapter met at midnight, stripped off their habits and trampled on the cross. Then they crept naked, in single file, into a chamber opened by a secret key kept by the commander. In the chamber he idol was kept and each brother bowed before the idol 'like an Egyptian slave' I quote," the sheriff stressed. "'Then after we had bowed three times we kissed the feet of the idol.' The idol according to this report was shaped like a big head with hands and feet but no body and with cat's ears. After kissing the feet, each brother retreated backwards so the next brother could enter."
Percy looked at the sheriff, the Dominican, and then turned and looked at the guards on either side of the door. "You can's seriously believe that?" Percy asked at last.
"Believe it? It is the testimony of a Templar — freely given I might add, without resort to torture."
"You think that French noblemen, men who heard mass six times a day, men who fought in Christ's name, who when captured could gain life by denying Christ, but instead died by the hundred for Christ, secretly worshipped a head with cat's ears? Have you lost your senses?" Percy felt his protest was much too weak, but he could not find words for his sense of sheer disbelief. The notion of such infantile idolatry was not only too absurd, it was not worthy of the Inquisition or an officer of the crown.
"Let me repeat!" the sheriff said sharply to disguise his own growing embarrassment. "This is a sworn confession — from Saint Pierre, I might add."
"By whom, in God's name?"
"Brother Gaston."
"Gaston?" Percy could not place the name at first. Then it dawned on him. Gaston was the boy. The over-eager boy who had helped him out of his armor. "Gaston is a child!" he said out loud.
"He is twelve and so has reached the age of maturity," the Dominican retorted with surprising intensity.
Percy was frowning. He did not remember seeing Gaston since the day after the arrest. Gaston had been removed for interrogation — but he had never returned. A shock went through him. "Is Gaston dead? Did you torture him so long that he couldn't take it? Did you kill him?" Percy, get hold of yourself, he warned himself. You are losing control. Calm down. Shut up. Get hold of yourself. He sat clutching the edge of his stool, shaking and sweating, waiting for a reaction.
"I told you the confession was not made under torture," the sheriff replied calmly, his eyes narrower. "What makes you think he might be dead?"
"Because he did not return. You took him to an interrogation and he has not returned since."
"That is true. He was … cooperative. It was not … necessary" the sheriff glanced at his colleague "to returne him to the jail. You need not worry about Gaston."
A chill went down Percy's spine. Why did he feel so certain that they had done something vile to Gaston? Surely he should hate the boy for making up such ridiculous stories about heads with cat's ears and feet! But he could not find hatred for the boy. He closed his eyes and pictured Gaston helping him remove his spurs — the last time he had worn spurs.
"Did you have illicit relations with Gaston?" The tight, jealous question came from the Dominican.
Percy opened his eyes and stared at the man. In that moment he knew this other monk had raped Gasont. Gaston had not been tortured into his confession. His limbs had been left whole. But he had been degraded and humiliated until there was not left of the idealistic youth, proud of his membership in a famous order. Percy did not answer. He stared at the Dominican until the other monk lowered his eyes.
The sheriff had been watching. He knew what his colleague had done. He had not witnessed it, of course, because he found it revolting, but he knew. And he knew that it brought excellent results like this lengthy confession. Furthermore, the boy could be produced as a witness. Cleaned up and properly worked over in advance, his testimony would melt the heart of the pope himself. Oh, Gaston was worth his weight in gold. Gaston was worth more than all the others put together — precisely because there wasn't a mark on him. Gaston could never, never claim that he had been forced to confess. Gaston could never tell the circumstances of his confession — not without condemning himself to be hanged. That was the beauty of it. And still the sheriff found it distasteful.
He looked at Percy and he was sorry. He liked the young man. He had intelligence, dignity and humanity. It would be a pit to break him, but break him he must.
The English Templar is available for sale here.
Posted by Helena P. Schrader at 30.1.15
Labels: Heresy, Inquisition, Knights Templar
Black Friday, October 13, 1307 - An Excerpt from "...
Review of "Knight of Jerusalem" by Mary Harrsch


Strong Points: Quick, fast, strong after contact. Had an exceptional 2017 season. Good vision/instincts. Runs low and hard and can break tackles. Willing blocker. Has the speed and burst to get the corner turned.
Weak Points: Production really fell off in 2018, from over 2,000 yards rushing to 739. Missed some time with injuries. Not used that often in the pass game and does not have natural hands. Seldom used as a returner. Mainly a one-cut north/south runner who is not very elusive. Not more than a role player at the next level. Tore his ACL in final game and had surgery.
The Way We See It: Some players profit by staying in school; that wasn't the case with Love. Had he entered the draft following the 2017 season, he might have gone Day 2. Now he won't get drafted before Day 3. Though he is quick, fast and productive, he has limitations. He is a big back in a small body. He's mainly a one-cut, north/south runner who has some power but is not very elusive and he's average in the pass game. Stanford didn't see him as a good kick returner, so who knows if he will be able to do that in the NFL. I don't see him as more than a role player at this time. Sill needs to develop his hands and blocking skills. Good enough to make a team but will never be a starter. With ACL surgery being so late, he might not be able to play in 2019 and could sit on NFI list for the year. Best-case scenario is he's available for the final third of the 2019 season.


text:
Praava's Founder & CEO Sylvana Sinha's Podcast on Connecting the Dots
By praavahealth
"When a patient comes and holds their arm out to you, and asks you to draw their blood, that is a tremendous amount of trust they're giving you. And it is a privilege that they are trusting us with that. And we have to take that very, very seriously. And that has to happen one patient at a time." – Sylvana Sinha
Our Founder & CEO, Ms. Sylvana Sinha was featured on an episode of the podcast Connecting the Dots, where she shared her journey of founding Praava Health, its brick-and-click model of healthcare, and her mission to build a health system in Bangladesh that fosters trust and provides high-quality care to Bangladeshis.
Listen to the full Podcast here
The New York University (NYU) School of Professional Studies (SPS) Center for Global Affairs Connecting the Dots podcast series is for the next generation of global professionals and will tackle key global challenges by turning ideas into action. The podcasts are hosted by Dr. Christian Busch, a clinical assistant professor at Center for Global Affairs (CGA) and the director of its Global Economy concentration, and author of The Serendipity Mindset, who teaches classes on purpose-driven leadership, impact entrepreneurship, social innovation, and emerging markets.
The podcasts bring together some of the world's leading experts on areas related to global challenges, and each episode tackles new and pressing global issues from human rights, sustainable development, and international business.
Praava Supports Government COVID Testing with Sample Collection Services
Praava Health Launches COVID-19 Self-Assessment Tool & Website
What Working as Praava Health's Family Doctor Means to Me
Movember – Why November is Men's Health Awareness Month – & Why It's Important!

redpajama_set_name: RedPajamaCommonCrawl


text:
Police Say Woman Delivers, Abandons Baby In Wash Behind Santa Clarita CVSOfficials received a 911 call early Monday that a woman had given birth behind a CVS in Santa Clarita.
LAPD: Mother Arrested In Death Of 9-Month-Old Baby GirlThe LAPD received a call of a woman screaming in the 2000 block of West 64th Street around 3 p.m. Friday, according to Officer Liliana Preciado.
Dodgers' Greinke To Miss Friday's Start For Birth Of First ChildZack Greinke's shutout streak is hold while the Los Angeles Dodgers ace and his wife await the birth of their first child.
Girl Found Safe In Palmdale After Amber Alert IssuedSheriff's deputies say the child, Penelope Rodriguez, was taken at 3 a.m. from the motel, located at 402 West Palmdale Blvd., near the Antelope Valley (14) Freeway.
Planned Parenthood Doctor Details Sale Of Fetal Body Parts For Research In Undercover VideoNew undercover video footage released Tuesday purportedly captures a top Planned Parenthood official describing how the national family planning organization sells body parts of aborted fetuses.
Best Baby Clothing Stores In Orange CountyShopping for your little one can be exciting and challenging all at the same time, as there are many factors to consider when finding clothes for precious babies. Orange County is filled with many baby clothing stores but the following locations have some merchandise and customer service that stand out and are worth checking out.
Baby-Feeding Fan's Catch During Dodgers' Loss Goes Viral A baby-feeding fan who caught a fly ball during the Dodgers game against the Chicago Cubs is enjoying his 15 minutes of fame.
13-Month-Old Boy Taken To Hospital In 'Extremely Critical Condition'Authorities say a boy was taken to a hospital Monday in "extremely critical condition" with internal injuries and a man has been arrested.
Kim Kardashian, Kanye West Expecting Second ChildThe reality TV star revealed the news in a clip that appeared after Sunday's episode of the E! reality show "Keeping Up With the Kardashians."
Police: Baby Found Safe After Being Abducted By Father In Leimert ParkA 14-month-old girl was found safe Wednesday after she was reportedly abducted by her father in Leimert Park.
LAPD Searches For Newborn After Bloodied Woman Tells Bystander She Just Gave BirthA woman found bleeding profusely on an L.A. street said she had just given birth. She was rushed to an emergency room, where doctors confirmed it.
2 Charged With Kidnapping, Murdering 3-Week-Old BabyTwo suspects have been charged with kidnapping and murdering a 3-week-old baby from Long Beach.
Newborn Girl Safely Surrendered At Santa Ana Fire StationThe infant was estimated to be 12-18 hours old.
Jury Finds Orange County Woman Who Drowned Infant Was SaneMonday's ruling means that 30-year-old Lucero Carrera faces 25 years to life in prison when she's sentenced next month.
Investigators Probe Death Of 6-Week-Old Boy In HighlandDeputies with the San Bernardino County Sheriff's Department were called to a residence in the 26800 block of 9th Street on Saturday just after 9 a.m.
« Previous1234


text:
package org.kie.dmn.core.compiler.execmodelbased;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;

import org.drools.compiler.compiler.io.memory.MemoryFileSystem;
import org.drools.reflective.classloader.ProjectClassLoader;
import org.drools.ruleunit.DataSource;
import org.kie.dmn.api.core.GeneratedSource;
import org.kie.dmn.core.api.DMNExpressionEvaluator;
import org.kie.dmn.core.ast.DMNBaseNode;
import org.kie.dmn.core.compiler.DMNCompilerContext;
import org.kie.dmn.core.compiler.DMNCompilerImpl;
import org.kie.dmn.core.compiler.DMNEvaluatorCompiler;
import org.kie.dmn.core.compiler.DMNFEELHelper;
import org.kie.dmn.core.impl.DMNModelImpl;
import org.kie.dmn.model.api.DMNModelInstrumentedBase;
import org.kie.dmn.model.api.DRGElement;
import org.kie.dmn.model.api.DecisionTable;
import org.kie.memorycompiler.CompilationProblem;
import org.kie.memorycompiler.CompilationResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import static java.util.stream.Collectors.joining;

import static org.drools.modelcompiler.builder.JavaParserCompiler.getCompiler;

public class ExecModelDMNEvaluatorCompiler extends DMNEvaluatorCompiler {

    static final Logger logger = LoggerFactory.getLogger(ExecModelDMNEvaluatorCompiler.class);
    private GeneratorsEnum[] GENERATORS_WITHOUT_EXPRESSIONS = new GeneratorsEnum[] {
            GeneratorsEnum.EVALUATOR,
            GeneratorsEnum.UNIT,
            GeneratorsEnum.EXEC_MODEL,
            GeneratorsEnum.UNARY_TESTS
    };

    public ExecModelDMNEvaluatorCompiler(DMNCompilerImpl compiler) {
        super(compiler);
    }

    enum GeneratorsEnum {
        EVALUATOR("Evaluator", new EvaluatorSourceGenerator()),
        UNIT("DTUnit", new UnitSourceGenerator()),
        EXEC_MODEL("ExecModel", new ExecModelSourceGenerator()),
        UNARY_TESTS("UnaryTests", new UnaryTestsSourceGenerator()),
        FEEL_EXPRESSION("FeelExpression", new FeelExpressionSourceGenerator());

        String type;
        SourceGenerator sourceGenerator;

        GeneratorsEnum( String type, SourceGenerator sourceGenerator) {
            this.type = type;
            this.sourceGenerator = sourceGenerator;
        }
    }

    private ProjectClassLoader projectClassLoader = ProjectClassLoader.createProjectClassLoader();

    @Override
    protected DMNExpressionEvaluator compileDecisionTable( DMNCompilerContext ctx, DMNModelImpl model, DMNBaseNode node, String dtName, DecisionTable dt ) {
        String decisionName = getDecisionTableName(dtName, dt);
        DTableModel dTableModel = new DTableModel(ctx.getFeelHelper(), model, dtName, decisionName, dt);
        AbstractModelEvaluator evaluator = generateEvaluator( ctx, dTableModel );
        if(evaluator != null) {
            evaluator.initParameters(ctx.getFeelHelper(), ctx, dTableModel, node);
        }
        return evaluator;
    }

    protected static String getDecisionTableName(String dtName, DecisionTable dt) {
        String decisionName;
        if (dt.getParent() instanceof DRGElement) {
            decisionName = dtName;
        } else {
            if (dt.getId() != null) {
                decisionName = dt.getId();
            } else {
                DMNModelInstrumentedBase cursor = dt;
                List<String> path = new ArrayList<>();
                while (!(cursor instanceof DRGElement)) {
                    int indexOf = cursor.getParent().getChildren().indexOf(cursor);
                    path.add(String.valueOf(indexOf));
                    cursor = cursor.getParent();
                }
                path.add(((DRGElement) cursor).getName());
                decisionName = path.stream().sorted(Collections.reverseOrder()).collect(Collectors.joining("/"));
            }
        }
        return decisionName;
    }

    public AbstractModelEvaluator generateEvaluator( DMNCompilerContext ctx, DTableModel dTableModel ) {
        String pkgName = dTableModel.getNamespace();
        String clasName = dTableModel.getTableName();

        MemoryFileSystem srcMfs = new MemoryFileSystem();
        MemoryFileSystem trgMfs = new MemoryFileSystem();
        String[] fileNames = new String[getGenerators().length];
        List<GeneratedSource> generatedSources = new ArrayList<>();

        generateSources(ctx, dTableModel, srcMfs, fileNames, generatedSources);

        compileGeneratedClass(srcMfs, trgMfs, fileNames);
        defineClassInClassLoader(trgMfs);
        return createInvoker(pkgName, clasName);
    }

    protected void generateSources(DMNCompilerContext ctx, DTableModel dTableModel, MemoryFileSystem srcMfs, String[] fileNames, List<GeneratedSource> generatedSources) {
        for (int i = 0; i < fileNames.length; i++) {
            GeneratorsEnum generator = getGenerators()[i];
            String className = dTableModel.getGeneratedClassName(generator);
            String fileName = "src/main/java/" + className.replace('.', '/') + ".java";
            String javaSource = generator.sourceGenerator.generate(ctx, ctx.getFeelHelper(), dTableModel);
            fileNames[i] = fileName;
            generatedSources.add(new GeneratedSource(fileName, javaSource));
            srcMfs.write(fileNames[i], javaSource.getBytes());
        }
    }

    protected GeneratorsEnum[] getGenerators() {
        return GENERATORS_WITHOUT_EXPRESSIONS;
    }

    private AbstractModelEvaluator createInvoker(String pkgName, String clasName) {
        try {
            Class<?> evalClass = projectClassLoader.loadClass(pkgName + "." + clasName + "Evaluator");
            return (AbstractModelEvaluator) evalClass.newInstance();
        } catch (Exception e) {
            throw new UnsupportedOperationException("Unknown decision table: " + clasName, e);
        }
    }

    private void defineClassInClassLoader(MemoryFileSystem trgMfs) {
        trgMfs.getFileNames().stream().forEach(f -> projectClassLoader.defineClass(f.replace('/', '.').substring(0, f.length() - ".class".length()), trgMfs.getBytes(f)));
    }

    private void compileGeneratedClass(MemoryFileSystem srcMfs, MemoryFileSystem trgMfs, String[] fileNames) {
        CompilationResult res = getCompiler().compile(fileNames, srcMfs, trgMfs, projectClassLoader);

        CompilationProblem[] errors = res.getErrors();
        if (errors != null && errors.length > 0) {
            Stream.of(errors).forEach(System.err::println);
            throw new RuntimeException();
        }
    }

    interface SourceGenerator {
        String generate( DMNCompilerContext ctx, DMNFEELHelper feel, DTableModel dTableModel );
    }

    public static class EvaluatorSourceGenerator implements SourceGenerator {
        public String generate( DMNCompilerContext ctx, DMNFEELHelper feel, DTableModel dTableModel ) {
            String pkgName = dTableModel.getNamespace();
            String clasName = dTableModel.getTableName();

            StringBuilder sb = new StringBuilder();
            sb.append( "package " ).append( pkgName ).append( ";\n" );
            sb.append( "\n" );
            sb.append( "import java.util.List;\n" );
            sb.append( "import org.drools.model.Rule;\n" );
            sb.append( "import " ).append( DMNUnit.class.getCanonicalName() ).append( ";\n" );
            sb.append( "\n" );
            sb.append( "public class " ).append( clasName ).append( "Evaluator extends " + AbstractModelEvaluator.class.getCanonicalName() + "{\n" );
            sb.append( "\n" );
            sb.append( "    @Override\n" );
            sb.append( "    protected List<Rule> getRules() {\n" );
            sb.append( "        return " ).append( clasName ).append( "ExecModel.getRules();\n" );
            sb.append( "    }\n" );
            sb.append( "\n" );
            sb.append( "    @Override\n" );
            sb.append( "    protected DMNUnit getDMNUnit() {\n" );
            sb.append( "        return new " ).append( clasName ).append( "DTUnit();\n" );
            sb.append( "    }\n" );
            sb.append( "}\n" );

            String source = sb.toString();
            if (logger.isDebugEnabled()) {
                logger.debug( clasName + ":\n" + source );
            }
            return source;
        }
    }

    public static class ExecModelSourceGenerator implements SourceGenerator {
        public String generate( DMNCompilerContext ctx, DMNFEELHelper feel, DTableModel dTableModel ) {
            String pkgName = dTableModel.getNamespace();
            String clasName = dTableModel.getTableName();

            StringBuilder sb = new StringBuilder();
            sb.append( "package " ).append( pkgName ).append( ";\n" );
            sb.append( "\n" );
            sb.append( "import java.util.List;\n" );
            sb.append( "import " + FeelValue.class.getCanonicalName() + ";\n" );
            sb.append( "import " + DecisionTableEvaluator.class.getCanonicalName() + ";\n" );
            sb.append( "import " ).append( DataSource.class.getCanonicalName() ).append( ";\n" );
            sb.append( "import org.drools.model.*;\n" );
            sb.append( "import org.drools.modelcompiler.dsl.pattern.D;\n" );
            sb.append( "import static " ).append( pkgName ).append( "." ).append( clasName ).append( "UnaryTests.TEST_ARRAY;\n" );
            sb.append( "\n" );
            sb.append( "public class " ).append( clasName ).append( "ExecModel {\n" );
            sb.append( "\n" );
            sb.append( "    public static List<Rule> getRules() {\n" );
            sb.append( "        return java.util.Arrays.asList( " );
            sb.append( IntStream.range( 0, dTableModel.getRows().size() ).mapToObj( i -> "rule_" + clasName + "_" + i + "()" ).collect( joining(", ") ) );
            sb.append( " );\n" );
            sb.append( "    }\n" );

            int exprCounter = 0;

            sb.append( "\n" );
            sb.append( "    private static final UnitData<DecisionTableEvaluator> var_evaluator = D.unitData(DecisionTableEvaluator.class, \"evaluator\");\n" );
            for (int j = 0; j < dTableModel.getOutputSize(); j++) {
                sb.append( "    private static final UnitData<List> var_output" + j + " = D.unitData(List.class, \"output" + j + "\");\n" );
            }
            for (int j = 0; j < dTableModel.getInputSize(); j++) {
                sb.append( "    private static final UnitData<DataSource> var_input" + j + " = D.unitData(DataSource.class, \"input" + j + "\");\n" );
                sb.append( "    private static final Variable<FeelValue> var_$pattern$" + j + "$ = D.declarationOf(FeelValue.class, \"$pattern$" + j + "$\", var_input" + j + ");\n" );
            }

            for (int i = 0; i < dTableModel.getRows().size(); i++) {
                DTableModel.DRowModel row = dTableModel.getRows().get(i);

                sb.append( "\n" );
                sb.append( "    private static Rule rule_" + clasName + "_" + i + "() {\n" );
                sb.append( "        return D.rule(\"" + pkgName + "\", \"" + clasName + "_" + i + "\")\n" );
                sb.append( "                .unit(" + pkgName + "." + clasName + "DTUnit.class)\n" );
                sb.append( "                .build( \n" );

                for (int j = 0; j < dTableModel.getInputSize(); j++) {
                    sb.append( "                       D.pattern(var_$pattern$" + j + "$).expr(TEST_ARRAY[" + i + "][" + j + "].getName(), var_evaluator,\n" );
                    sb.append( "                           (_this, evaluator) -> TEST_ARRAY[" + i + "][" + j + "].test( evaluator.getEvalCtx(" + j + "), _this.getValue() )),\n" );
                }

                sb.append( "                       D.on( var_evaluator, " );
                sb.append( IntStream.range( 0, dTableModel.getOutputSize() ).mapToObj( j -> "var_output" + j ).collect( joining(", ") ) );
                sb.append( " ).execute(( evaluator, " );
                sb.append( IntStream.range( 0, dTableModel.getOutputSize() ).mapToObj( j -> "output" + j ).collect( joining(", ") ) );
                sb.append( " ) -> {\n" );
                for (int j = 0; j < dTableModel.getOutputSize(); j++) {
                    sb.append( "                            output" + j + ".add(evaluator.getOutput(" + i + ", " + j + "));\n" );
                }
                sb.append( "                            evaluator.registerFire(" + i + ");\n" );

                sb.append( "                       }\n" );
                sb.append( "        ));\n" );
                sb.append( "    }\n" );
            }

            sb.append( "}\n" );

            String source = sb.toString();
            if (logger.isDebugEnabled()) {
                logger.debug( clasName + ":\n" + source );
            }
            return source;
        }
    }

    public static class UnitSourceGenerator implements SourceGenerator {
        public String generate( DMNCompilerContext ctx, DMNFEELHelper feel, DTableModel dTableModel ) {
            String pkgName = dTableModel.getNamespace();
            String clasName = dTableModel.getTableName();

            StringBuilder sb = new StringBuilder();
            sb.append( "package " ).append( pkgName ).append( ";\n" );
            sb.append( "\n" );
            sb.append( "import java.util.List;\n" );
            sb.append( "import java.util.ArrayList;\n" );
            sb.append( "import " ).append( DataSource.class.getCanonicalName() ).append( ";\n" );
            sb.append( "\n" );
            sb.append( "public class " ).append( clasName ).append( "DTUnit extends " + DMNUnit.class.getCanonicalName() + " {\n" );

            for (int i = 0; i < dTableModel.getInputSize(); i++) {
                sb.append( "\n" );
                sb.append( "    private DataSource<Object> input" ).append( i ).append( ";\n" );
                sb.append( "    public DataSource<Object> getInput" ).append( i ).append( "() {\n" );
                sb.append( "        return input" ).append( i ).append( ";\n" );
                sb.append( "    }\n" );
            }

            for (int i = 0; i < dTableModel.getOutputSize(); i++) {
                sb.append( "\n" );
                sb.append( "    private List<Object> output" + i + " = new ArrayList<Object>();\n" );
                sb.append( "    public List<Object> getOutput" + i + "() {\n" );
                sb.append( "        return output" + i + ";\n" );
                sb.append( "    }\n" );
            }

            sb.append( "\n" );
            sb.append( "    @Override\n" );
            sb.append( "    public void onStart() {\n" );
            for (int i = 0; i < dTableModel.getInputSize(); i++) {
                sb.append( "        input" ).append( i ).append( " = DataSource.create( getValue(" ).append( i ).append( ") );\n" );
            }
            sb.append( "    }\n" );

            sb.append( "\n" );
            sb.append( "    @Override\n" );
            sb.append( "    public void onEnd() {\n" );
            sb.append( "        result = applyHitPolicy( " );
            sb.append( IntStream.range( 0, dTableModel.getOutputSize() ).mapToObj( i -> "output" + i ).collect( joining(", ") ) );
            sb.append( " );\n" );
            sb.append( "    }\n" );
            sb.append( "}\n" );

            String source = sb.toString();
            if (logger.isDebugEnabled()) {
                logger.debug( clasName + ":\n" + source );
            }
            return source;
        }
    }

    public static class UnaryTestsSourceGenerator implements SourceGenerator {
        public String generate( DMNCompilerContext ctx, DMNFEELHelper feel, DTableModel dTableModel ) {
            String pkgName = dTableModel.getNamespace();
            String clasName = dTableModel.getTableName();

            StringBuilder sb = new StringBuilder();
            sb.append( "package " ).append( pkgName ).append( ";\n" );
            sb.append( "\n" );
            sb.append( "import java.util.List;\n" );
            sb.append( "import org.kie.dmn.feel.codegen.feel11.CompiledFEELUnaryTests;\n" );
            sb.append( "import org.kie.dmn.feel.codegen.feel11.CompiledFEELSupport;\n" );
            sb.append( "import org.kie.dmn.feel.codegen.feel11.CompiledCustomFEELFunction;\n" );
            sb.append( "import org.kie.dmn.feel.runtime.UnaryTest;\n" );
            sb.append( "import org.kie.dmn.feel.lang.EvaluationContext;\n" );
            sb.append( "import " ).append( CompiledDTTest.class.getCanonicalName() ).append( ";\n" );
            sb.append( "import static org.kie.dmn.feel.codegen.feel11.CompiledFEELSemanticMappings.*;\n" );
            sb.append( "\n" );
            sb.append( "public class " ).append( clasName ).append( "UnaryTests {\n" );
            sb.append( "\n" );
            sb.append( getUnaryTestsSource(ctx, feel, dTableModel, pkgName, clasName) );
            sb.append( "}\n" );

            String source = sb.toString();
            if (logger.isDebugEnabled()) {
                logger.debug( clasName + ":\n" + source );
            }
            return source;
        }

        public String getUnaryTestsSource( DMNCompilerContext ctx, DMNFEELHelper feel, DTableModel dTableModel, String pkgName, String className ) {
            StringBuilder testArrayBuilder = new StringBuilder();
            StringBuilder testsBuilder = new StringBuilder();
            StringBuilder instancesBuilder = new StringBuilder();

            Map<String, String> testClassesByInput = new HashMap<>();
            testArrayBuilder.append( "    public static final CompiledDTTest[][] TEST_ARRAY = new CompiledDTTest[][] {\n" );

            for (int i = 0; i < dTableModel.getRows().size(); i++) {
                testArrayBuilder.append( "            { " );
                DTableModel.DRowModel row = dTableModel.getRows().get(i);
                for (int j = 0; j < row.getInputs().size(); j++) {
                    String input = row.getInputs().get(j);
                    String testClass = testClassesByInput.get(input);
                    if (testClass == null) {
                        testClass = className + "r" + i + "c" + j;
                        testClassesByInput.put(input, testClass);
                        instancesBuilder.append( "    private static final CompiledDTTest " + testClass + "_INSTANCE = new CompiledDTTest( new " + testClass + "() );\n" );

                        String sourceCode = feel.generateUnaryTestsSource(
                                input,
                                ctx,
                                dTableModel.getColumns().get(j).getType())
                                .setName(testClass).toString();

                        testsBuilder.append( "\n" );
                        testsBuilder.append( sourceCode );
                        testsBuilder.append( "\n" );
                    }
                    testArrayBuilder.append( testClass ).append( "_INSTANCE" );
                    if (j < row.getInputs().size()-1) {
                        testArrayBuilder.append( ", " );
                    }
                }
                if (i < dTableModel.getRows().size()-1) {
                    testArrayBuilder.append( " },\n" );
                } else {
                    testArrayBuilder.append( " }\n" );
                }
            }

            testArrayBuilder.append( "    };\n" );

            return instancesBuilder + "\n" + testArrayBuilder + "\n" + testsBuilder;
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
Audi/Auto Union
BMC/BL/Leyland
Cosworth
Tojeiro
TWR
Lola T70 · 1965 onwards (all models) — Owners' Workshop Manual
€24.95 * €34.95 * (28.61% Saved)
by Chas Parker An insight into the design, engineering, maintenance and operation of Lola's... more
by Chas Parker
An insight into the design, engineering, maintenance and operation of Lola's legendary sports racing car
The Lola T70 was developed by Lola Cars in 1965 for sports car racing - Lola built the chassis, which were typically powered by large American V8 engines, predominantly Chevrolets and Fords. The T70 was prolific throughout the mid- to late-1960s, and over 100 examples were built in three versions - an open-topped MkI and MkII Spyder, followed by a MkIII Coupé, and an updated MkIIIB.
The Lola T70 Coupé was the first Lola to be designed in the wind tunnel. Chief designer Eric Broadley enlisted the help of Tony Southgate, and the finished car displayed fine handling and stunning styling. Its final evocation - the MkIIIB - is arguably one of the most beautiful racing cars of its era.
The first successes for the T70 were in the US, where the car won the Monteray Grand Prix at Laguna Seca in October 1965. In 1966, the T70 dominated the Can-Am championship, winning five of the six races in the series – three in the hands of John Surtees, one with Dan Gurney, and one with Mark Donohue, with John Surtees becoming champion in a Chevrolet-powered example.
In 1968, T70s finished 1–2 in the Daytona 24 Hours, although there was strong opposition in both the European and US scene from Ford's GT40. The T70 was highly successful in the domestic UK and European championships, and won regularly. In 1970, T70s were used during the filming of the Steve McQueen movie Le Mans, some of them disguised to appear as Porsche 917s or Ferrari 512s.
Today, Lola T70s are regular competitors on the historic racing scene, and examples are highly sought after by collectors.
The Lola story
The anatomy of the Lola T70
The engineer's view
The driver's view
The owner's view
Individual chassis histories
Restoration and historic racing
Competition history 1965-69
Buch, Hardcover, 21 x 27,5 cm, 164 Seiten, ca. 350 größtenteils farbige Abbildungen, englischer Text
Racing Camaros — An International Photographic...
Porsche 934/935 — Die komplette Dokumentation:...


text:
Enabling Environment Assessment
Enabling Environment Research Report
Enabling Environment Assessment Tool
Enabling Environment Toolkit
Meaningful Challenges
Cohesive Leadership
Position Based Leaders
Leaders' Well-Being
Flow of Information
Informal & Formal Networks
Promoting Teamwork
Mobilising People
CLP 2011-2018 Magazine
A strong social support system is essential to a leader and critical to those leaders who are bringing an unusual orientation to their organisations. At a minimum, leaders need more than 5 people in the workplace who belong in their social network.
To assist leaders in ensuring their network is strong they can begin by identifying at least one person who plays the following roles in their network. For any roles where they do not currently have someone, they are asked to take steps to build this support.
Social Network Role
Name One Person Who Plays This Role For You
Emotional support This is someone who listens, who is a sounding board, someone with whom you feel accepted.
Social connection This is someone who makes you feel like you fit in.
Reassurance of self-worth This is someone who builds up your confidence.
Reliable support This is someone who you can rely on.
Advice and information This is someone who provides reliable input
Physical assistance This is someone who can help to do the task.
Material assistance This is someone who can give you something.
Networks in Organisations
Over the past few years, many people have analysed the patterns of informal connection among people, particularly in such measurable forms as phone and e-mail contact. As network researcher Karen Stephenson has found, key people in an organization fulfil one of three roles that pop up again and again:
Hubs: people who regularly communicate with a lot of other people, and thus act as central nodes for the flow of information.
Gatekeepers: people who provide the only links into a subsection of the organization or a body of knowledge, and thus control access to that domain.
Pulse takers: people who are relied upon for their perspective, and thus maintain connections to a significant and select group of others.
Major improvements in an organization's effectiveness can be achieved by aligning and moving people in ways that shift these three important roles. The more effective such channels are, the more people learn how to operate with excellence, how to advance in the company, and how to build their mutual expertise. If you want to make an organization more proficient, start by improving the network.
Finally, the Age of Heretics by Art Kleiner outlines how to improve communication and information flow in organizations through four communication channels which exist in every organization.
Caribbean Leadership Project
Cave Hill School of Business
University of the West Indies
Cave Hill Campus
P.O. Box 64, Bridgetown, BB11000, Barbados
info@caribbeanleadership.org
http://www.caribbeanleadership.org/
© Caribbean Leadership Project 2018 | Site by Acute Vision Inc


Joyce Prince, LMFT graduated from California State University Fullerton in 1982 and is Licensed Marriage and Family Therapist. Although she specializes in working with addictive behavior she has a diversified background. She works with individuals, couples, seniors, and children age 14 and older.
Joyce has been working in the addiction field since the mid 80's in outpatient settings, private practice, partial hospitalization, inpatient, and residential treatment facilities. Her expertise includes dual diagnosed patients. In therapy her treatment modalities include CBT, DBT, and insight oriented therapy. She employs behavioral therapy to help stop the negative, destructive behaviors and then combines DBT and insight therapy to examine and resist the impulse to act negatively toward oneself or others. She has been trained in mediation which helps with her couples work as well.
Joyce has 8 years experience tutoring, and is currently instructing grade school children in piano keyboards. Her years of working as a tutor/teacher and her experience helping to raise her step-grandchildren give her a unique perspective on working with children and families, especially blended families.


For the first time in 60 years—in 2017—the US natural gas export was higher than its import. The US Energy Information Administration reports that this shift was due to the country's rising gas production. This increase in natural gas production gave way to lesser gas imports from Canada.
This development has also increased US natural gas exports to other countries such as the Latin America—Mexico, Argentina and Chile—, Asia Pacific—China, South Korea and Japan—, and Europe—UK, Poland, and Portugal.
This phenomenon brought about by US Natural Gas Exports shouldn't come as a surprise. It's true that the country's natural gas resource is abundant.
In the Appalachia Region alone, natural gas production tips at 26.7 billion cubic feet per day. Likewise, the Permian Basin, an oil-rich region sitting on top of Texas and New Mexico, has been gleaning a lot of attention from investors.
With the discovery of new technologies in extracting natural gas, the incumbent administration has been working to set the country as a major player in the natural gas arena.
In truth, the effects of the natural gas boom have been fanning out to various sectors of the society. Experts have yet to ascertain the impact of this growth. However, as this industry gathers strength, several outcomes have already manifested.
Natural gas emits 50-60 percent less carbon dioxide than coal. Truly, there is a mounting need for a cleaner source of energy. Thus, natural gas will likely play a significant role in the transition from coal to renewable energy sources—especially in reducing the world's carbon footprint.
In the energy sector, companies have switched to natural gas. The U.S. Energy Information Administration attributes two-thirds of the emission reduction from 2006 to 2014 to the energy sector's switch to natural gas.
The natural gas industry readied the way for 3 million jobs. It has also contributed about $385 billion to the national economy yearly. Related industries such as steel manufacturing, chemicals, transportation and shipping industries are also set to feel the ripples of this economic shift. In 2012, the spending power of households was increased by $1,200. Thanks to lower energy costs, even households are feeling the positive developments.
The effects go beyond economic and environmental developments. The advancements in natural gas resources have allowed the US to be a transformative partner to countries looking to switch from oil to natural gas. Mexico is an example. This neighboring country sits as the top natural gas export destination for the US. It has replaced a quarter of its energy sector gas consumption with natural gas.
For several decades, Qatar and Australia have been dominating the global natural gas production., With the emergence of the US as the third largest supplier of natural gas—according to Bloomberg—, a shift in the geopolitics of energy could very well be underway. By 2022, the US is predicted to stand side-by-side Qatar and Australia as one of the global leaders in natural gas production.
Consider the intensifying demand for natural gas from China and the rest of Asia. The US is ready and poised to respond to this huge demand. This potential has been drawing the interest of independent firms to invest in infrastructures and build Liquefied Natural Gas or LNG import facilities.
The boom in US natural gas exports is not in full throttle yet. Nevertheless, it is making a definite bold impact in the energy arena.
Indeed, the development of relevant technologies and domestic consumption has leveled with gas production. With this fact, experts predict that the country will be energy-sufficient by the year 2020.
Indeed, low dependence on imported oil and fuel source results to lower energy costs. This outcome means additional cost savings for both the government and the consumers.
Economic opportunities abound too. This energy boom has ushered in millions of new jobs in 2012. Job predictions will reach up to 3.3 million, by 2020. Plus, there will be a boost in investments as well.
An IHS Markit study predicts that more than $120 billion in new capital investments will be allocated to expand the US petrochemical manufacturing capacity.
Predictions and estimates point to a 60 percent hike in the natural gas production in the next two decades. However, the downside to this growth could later be found in the air—literally. While studies show that natural gas emits more methane in the atmosphere, scientists are currently working on lowering methane emissions from natural gas systems.
Let's look at this phenomenon unfold from a holistic, worldwide perspective. We can safely assume that the story doesn't end where it is now. Whether this spirals to an adverse outcome or this blossoms to a positive payoff, US natural gas exports have made an impact in the world. They have undoubtedly opened doors for scientists, businessmen, and even countries for endless explorations in the field of renewable energy.
Conclusively, the US introduction to the natural gas revolution is a welcome development as the world blazes a new path for a coal-free future.


on macosx, current svn version (29072007) compiled as wiki guide witn wxwidget 2.8.4 (even with 2.8.3) there are some several glitch on gui, button don't stay at their place (expecially on search page and on edk2 link submit) when amule load all icons do some flash for 3-4 secs go up and down then stay at apparently random position. They still work if clicked, they are just out of place.
Does this still happen with aMule 2.2.1 and current SVN and current wxMac?
Can you make a screenshot of the button problem?


text:
Q: When exiting an App, do I have to release the pointers or is it done automatically? When I exit out of an App, everything is released?  Or if I have any pointer-arrays(malloc), do I have to release the pointers before exiting the App?
thanks

A: This is not defined by the C specification (and thus not formally defined in Objective-C) but on iOS and all other modern operating systems, when a process terminates, its memory is returned to the system. So yes, any such pointers will be freed appropriately, though C++ destructors and Objective-C -dealloc implementations will not be run.

A: Check out this stackoverflow post. All of your objects that still exist are just given back to the system and listed as free memory by the operating system.

A: As all other answers have noted, the answer is no. Interesting to note, however, is that in many cases you cannot deallocate memory, because the application has suddenly crashed. Barring any memory leaks in the OS itself, iOS will clean up the memory used by the application regardless of how it was allocated.

redpajama_set_name: RedPajamaStackExchange


text:
Q: Undefined value in ng-option I write simple function in javascript
        $scope.changeItem=function (o) {
           console.log(o);
            var value = ($scope.formInfo.name);
            $scope.formInfo.positionId=value;
       }

I want use it in ng-change directive like this
  <select  ng-options="position.name for position in positionlist" id="inputPosition"  ng-model="formInfo.positionId"  ng-change="changeItem(position)">

but my script is printing undefined value on console.


Now that, thankfully, Mitt Romney has confirmed he is not running for President in 2016, more attention is being put on some of the lesser nationally known contenders for the GOP side of the race. Predictably, with some national attention being directed to Wisconsin Governor Walker, middle aged Wisconsin public school teachers are outraged.
I thought for a long time that their angst against our Governor was purely because with Walker's budget reforms, they had to personally contribute more to their union pensions and the State was going to put less in. That really shouldn't be a big deal in my opinion, but then again I'm a fan of Dave Ramsey and follow the principles of his book: The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness . If you're a middle aged school teacher, you should be at the point in your life where you're putting 15% of your income towards retirement. If you have to put more into your union pension, you just put less in your Roth IRA and your budget is not affected.
But Walker's reforms are working, and I didn't see why they middle aged teachers are still being so spiteful, until I realized a trend in comments left on Facebook posts about Walker. They all like to make fun of him for his lack of education and while there is no proof, claim he has gotten where he has due solely to corruption.
Yesterday the light bulb clicked on for me to the root cause of their spite: their education and where they are at in life. They are comparing their personal education, career paths, and how much they've achieved in life to him; and they come up short on the achievement end. That's where jealousy sets in.
They look at themselves and see a person with a Masters Degree, who pays their union dues, who works hard everyday and pays their share of taxes. They live a honest hard working life, yet they still have student loan debt, a mortgage, and other debts & bills that keep them from living in prosperity.
Then they look at Scott Walker. A guy who drops out of college yet becomes very successful at business and now very successful in politics. They see a man who has become very wealthy and powerful in a short time without a higher education.
Then they look at themselves again, a person with a higher education who has worked hard for many years and is struggling to get by. They've done everything right and honestly with little to show. So when someone succeeds wildly without doing exactly what they've done, they can only assume he did it dishonestly. While there is logic to that thought, the spiteful middle aged school teachers leave a major factor out of their thinking.
The private sector does not work the way the public sector works. In the public sector the longer you've been there and the more degrees you have, the higher you go. In the private sector, degrees & seniority can help, but the harder and smarter you work the higher you go. This concept can be completely lost on a person, who for all practical purposes, have never left the classroom.
I've seen this in my personal life. I know first hand a few self-made millionaires who got there by starting their own business and working their asses off. Personally I doubt I'll ever make it to that level, but I do not live paycheck to paycheck, and if I continue my modest yet comfortable lifestyle I will be able to retire early with dignity. All with a meager 2 year degree.
Of course not everyone can achieve that. You need the right skills, the right ideas, the right opportunity and a huge pile of luck. But the most important things you need the drive, the focus, the desire to work for it. Most of us don't have that, but all of us can make excuses and be jealous of those who do.


text:
About NeuroSense
Dr. Biesman Biography
Dr. Weissman's Biography
Ms. Adelina Matevosyan's Biography
FORENSIC EVALUATIONS
THERAPY, COACHING, AND SKILLS TRAINING
INTERNET ADDICTIONS
CONSULTATION AND ADVOCACY
CORPORATE SEMINARS
CyberSense Power Up (CPU)
High School and College Mentor Program
Stand Proud and Confidently
The Brain Integrity and Longevity Center
-Be more concerned with your character
than your reputation, because your character
is what you really are, while your reputation
is merely what others think you are."
Stand Proud and Confidently: Strengths, Passions, and Character Development (SPC Program):
Too often people get stuck and derailed from knowing their own "Super Powers." The absence of an architecture for finding passions and developing character is lacking in the raising of our kids today.
Over the years, we have had a number of parents who have tirelessly committed themselves to helping their children find what it is that motivates them to wake up, creates a fire in them, and sparks passion. Despite signing their children up for numerous activities, many parents hit walls in finding those interests that stick and truly motivate and inspire their children.
At the same time, the importance of character development has too long been under-emphasized in education. Grades and rote knowledge have been given more weight than values. We have seen that the lack of attention to the fostering of internal traits (e.g., kindness, integrity, gratitude, leadership, social acumen, patience, flexibility, etc.) is one of the barriers that inhibits some students from finding their "Why Do I Matter?"
When we have asked students, "What are the best things about you?" too many come up with an "empty tank" and struggle to identify their own strengths.
We use the platform at www.thrively.com in combination with other strength-based measures and interest inventories to help students gain self-awareness around their greatest assets. We then guide students into using their strengths to explore areas of interest and to then go beyond simple interests to the development of passions and impressive skill sets.
This 3-6 month journey we guide students on has been helpful for many in their college applications, identification of college programs, moving toward personal satisfaction and fulfillment, and in helping college graduates to launch into the next phase of their adult lives.
Inquire More
5016 Parkway Calabasas #215,
At NeuroSense we take complex brain principles and translate them into tangible, pragmatic, & actionable steps.
© Neurosense Psychology Site by The Studio WLV


Automation Personnel Services is now hiring for a storage company located through-out the New Orleans Area. We are looking Warehouse General Labor, Warehouse Clerks and Sit-Down Forklift Operators!
Must have at least 2+ years of experience operating a Sit-Down Forklift, certification is a plus!
Experience moving Heavy Metals or other heavy product is a plus!
Ability to lift up to 40 1bs.


text:
Metsä Fibre starts pre-engineering related to investments worth EUR 1.7 billion
Photo: Metsä Fibre
Simon Matthis - 29 Apr 2019
Metsä Fibre, part of Metsä Group, commences pre-engineering projects related to building a new bioproduct mill in Kemi and a new sawmill in Rauma, Finland. If implemented in full, the total value of the investments would amount to approximately EUR 1.7 billion during 2020–2023. The investments in Kemi and Rauma would increase Finland's annual income by approximately EUR 0.6 billion, exports by approximately EUR 0.7 billion, and the positive employment impact in the direct value chains would be roughly 2,000. The construction phases would generate a positive employment impact of approximately 11,500 person-years.
The Kemi pulp mill related prefeasibility study, launched in May 2018 has been finalized. The study included two alternatives: building a totally new bioproduct mill that would be clearly bigger in size than the current Kemi pulp mill or alternatively extending the life cycle of the current mill by modernizing several departments. In the study, the availability of wood raw material and the development potential of Kemi's industrial infrastructure and logistic connections were examined in particular.
Building a new bioproduct mill in Kemi was chosen for future development. Target for the now initiated pre-engineering project is to create conditions for building a bioproduct mill with annual production capacity of approximately 1.5 million tonnes of softwood and hardwood pulp to Metsä Group's current mill site in Kemi. In addition to pulp, the mill would produce various other bioproducts. This mill would be the biggest wood processing unit in the Northern hemisphere. The new mill would replace the current Kemi pulp mill which annual capacity is approximately 620,000 tonnes. The total investment would amount to approximately EUR 1.5 billion.
The annual pulpwood consumption of the new Kemi bioproduct mill would be approximately 7.6 million cubic meters, which is roughly 4.5 million cubic meters more compared to the consumption of the current mill. The aim is to source the pulpwood for the mill from Finland. Securing the wood sourcing for the mill requires further studies to maximize the share of domestic wood.
The Kemi bioproduct mill would directly employ approximately 250 people and, in its entire direct value chain, roughly 2,500 people in total. There is an increase of 1,500 people compared to the current situation. The employment impact in the construction phase would be almost 10,000 person-years of which over half in Kemi. The main planning premises of the new mill include totally fossil free operations and 250 per cent self-sufficiency in electricity. The pulp production volumes would be sold to European and Asian customers as well as to Metsä Board's, also a part of Metsä Group, linerboard mill located at the same mill site in Kemi. The final investment decision related to Kemi bioproduct mill is expected to be made in summer 2020.
Metsä Fibre commences also a pre-engineering project to build a pine sawmill at its mill site in Rauma. The estimated annual production of the sawmill would be approximately 750,000 cubic meters. The new sawmill would be the most modern and efficient unit in its field in the world. The level of technology and utilization of data will be raised clearly higher compared to current sawmills. The total investment would amount to approximately EUR 200 million. The new sawmill would directly employ approximately 100 people and, in its entire direct value chain roughly 500 people in total. The employment impact in the construction phase would be approximately 1,500 person-years. The sawmill's annual sawlog consumption would be approximately 1.5 million cubic meters. Wood for the sawmill is planned to be sources from Finland. The increased sawn timber volumes would be sold mainly to European and Asian customers. The final investment decision related to Rauma sawmill is expected to be made in early 2020.
Securing wood sourcing, preconditions for smooth deliveries, development of world economy; and especially Asian economy, results of environmental impact assessments, environmental permits, development of financial markets and export financing as well as cooperation with several parties related to wood sourcing, logistics, town planning and permits will impact the final investment decisions.
"The 100 per cent utilisation of wood raw material is central to Metsä Group's unique bioproduct concept. Logs are used for sawn timber, plywood and LVL products, and pulpwood for pulp and other bioproducts. The global demand for pulp and sawn timber is growing. The bioproduct mill in Kemi and the next-generation sawmill in Rauma would enable significant growth in our business.
Logs are the raw material for the sawmill. The by-products of sawn timber production, bark and dust, are used for bioenergy and chips for pulp production. The pulp mill generates bioenergy, which is used by the sawmill and the excess is sold to the national grid. The sawmill investment would enable fossil free production in the entire Rauma mill integrate", says Ismo Nousiainen, CEO of Metsä Fibre.


text:
Q: java regex help I have a string in the following format, I only need to extract the /jspFolderTestSecondLast/jspFolderTestLast,
which is the second last seperated by /.
www.name.com/jspFolderTestOne/jspFolderTestTwo/jspFolderTestAndmanyMore/jspFolderTestSecondLast/jspFolderTestLast

/jspFolderTestSecondLast/jspFolderTestLast can be varied in length but always gonna be separated by secong last /.
Any help is appreciated.
Thanks

A: String s = "www.name.com/jspFolderTestOne/jspFolderTestTwo/jspFolderTestAndmanyMore/jspFolderTestSecondLast/jspFolderTestLast"
String[] parts = s.split("/");
String whatYouWant = parts[parts.length-2] +"/" + parts[parts.length-1]

A: String str = "www.name.com/jspFolderTestOne/jspFolderTestTwo/jspFolderTestAndmanyMore/jspFolderTestSecondLast/jspFolderTestLast";

String are[]  = str.split("/");//may be you need to add escape here
//take last two parts

A:     Pattern p = Pattern.compile(".*(/[^/]+/[^/]+)$");
    Matcher m = p.matcher("a/b/c/d.txt");
    if( m.matches() ) {
        System.out.println(m.group(1));
    }

A: this is the javascript version:
"www.name.com/jspFolderTestOne/jspFolderTestTwo/jspFolderTestAndmanyMore/jspFolderTestSecondLast/jspFolderTestLast".search(/\/[^\/]*\/[^\/]*$/)

or you can group them nicely:
(/(\/[^\/]*)(\/[^\/]*)$/)

A: You don't need any regexes for that, since you can just split the string on '/' and get two last array indexes. But here's the regex anyway:
^.+(/[^/]+)(/[^/]+)$

$1 contains the first and $2 contains the second block


The garden is ALIVE! With today being the last day of April, I wanted to get out there and check out what was growing before we go away for a long weekend. The herb garden is really starting to come along, as well as some of the plants in the veggie garden.
We planted some cold weather plants on April 11th which we purchased at a local garden center. Those plants consisted of Blue Curl Kale, Lacinato Kale, Rainbow Chard, Red Cabbage, Cauliflower, Beets, Red Onions and Leeks. So far everything is looking great, considering this spring has been very chilly and we did have some nights where frost threatened us.
The herb garden is looking good! We thought we lost a few plants, including our Rosemary and Sage but I saw green on both today, which made me really happy! We do have a second Sage plant to plant (it's in our kitchen window right now) but I'm just thankful that we will now have TWO!
Some of the other herbs that are thriving are: chives, anise, lemon balm, thyme, tarragon and lavender.
The rhubarb was another plant that I thought we had lost. I checked last week and there was NOTHING coming up...NOTHING. And then this weekend, I saw the red stems and leaves starting to pop through the mulch and I literally started jumping up and down! I was soo excited. I think the rhubarb plant is one of the most beautiful plants there are. And I love the fact that it comes back year, after year. I know we'll be adding some homemade goodies to our recipe section once I start harvesting the stems.
The garlic bed is looking amazing. We counted about 60 garlic plants. Matt planted about 70 cloves in October of 2014 and after a long, cold winter, we are definitely in for a great harvest of garlic early this summer. One clove grows into a bulb, so we'll be all set with garlic for the upcoming fall/winter.
Some of the seeds we planted in the beginning of April are starting to poke through the soil, but nothing too crazy just yet. I think after a few warm, sunny days, and maybe a nice rain storm, we'll start seeing a lot more pop up!
We have a lot of dandelions growing in the garden which will make for a great salad or tea. We only harvest the ones inside the garden as they are not run over with the lawn mower. The ones in the garden are nice and clean and healthy.
Overall, that is the Mayernik Garden for one month! I CANNOT wait until everything is planted and flowers/fruit are starting to grow. Please check back monthly to see how the garden is doing and to follow along on our journey of Northern New Jersey gardeners!


Are you searching for 'portrait photographer near me' in Derby? Then your search may be over! Read on to find out about family portraits taken in your own home by specialist portrait photographer Peter Nutkins.
I am a specialist portrait photographer who captures beautiful portraits of you and your loved ones in your own home, or at your favourite location. It is my full time job to travel to people's homes across Derby and Derbyshire to capture studio style portraits.
Family portrait photography near me - made simple for Derby families!


text:
class TweetEngine::AutoResponseController < TweetEngineController

  def index
    @auto_responses = TweetEngine::Responder.all
  end

  def new
    @user = TweetEngine.whats_my.user
    @auto_response = TweetEngine::Responder.new
  end

  def create
    @auto_response = TweetEngine::Responder.new params[:tweet_engine_responder]
    if @auto_response.save
      flash[:notice] = 'Added new auto-response'
      redirect_to tweet_engine_path
    else
      render :new
    end
  end

  def edit
    @auto_response = TweetEngine::Responder.find params[:id]
  end

  def update
    @auto_response = TweetEngine::Responder.find params[:id]
    if @auto_response.update_attributes params[:tweet_engine_responder]
      flash[:notice] = 'Updated auto-response'
      redirect_to tweet_engine_path
    else
      render :edit
    end
  end
end


The pink and lime yarns were sitting next to each other in my scrap yarn box and I thought they looked good together. The lime is also an exact match for my cafetiere so I added some leftover blue and made this coffee cosy. I didn't use a pattern; the only pattern I've seen is from a book by Nicki Trench but it is for a cafetiere with a handle attachment point in the middle of the jug which allows the cover to button above the handle. On mine, however, the handle attaches at the top. The cosy is made with double crochet throughout (DK yarn with 4mm hook) and this has produced a fairly stiff fabric which supports its own weight. If I originally planned to use poppers rather than buttons which is why there are tabs for fastening: they were an afterthought!


text:
Opera, dull? Watching The Magic Flute is like drinking 10 cups of coffee
Barrie Kosky's The Magic Flute reimagines an old story so energetically that it's lifted the bar for any subsequent retelling. Photograph: Toni Wilkinson
Australian director Barrie Kosky does for Mozart what Baz Luhrmann did for Shakespeare
Brigid Delaney
@BrigidWD
Sat 23 Feb 2019 21.23 EST
Last modified on Tue 9 Mar 2021 02.24 EST
One of the challenges facing opera makers is how to stage a three-hour production and make it relevant and interesting to a generation who have a 10-minute attention span.
But Barrie Kosky has pulled it off. The hottest show at this year's Perth festival is Mozart's The Magic Flute, running at two hours and 40 minutes – and with not a single dull scene.
Tickets to The Magic Flute sold out quickly, with the production moving to the Adelaide festival next month and extra dates added. (The Adelaide festival has just announced that The Magic Flute has broken its box office records for an opera.)
Ned Kelly review – new opera interrogates bushranger's fierce but fragile masculinity
The Berlin-based Australian director Barrie Kosky, the illustrator Paul Barritt and the writer Suzanne Andrade of the theatre company 1927 have done to Mozart what Baz Luhrmann did to Shakespeare in the incredible 1996 film Romeo + Juliet. That is, they have reimagined and evolved an old story so thoroughly and energetically that it has lifted the bar for any subsequent retelling.
Barrie Kosky's characters are straight from the silent film era and the choice works well. Photograph: Toni Wilkinson
Kosky's production of The Magic Flute was first staged in Germany in 2012, and according to an early Guardian review: "There are the makings of a classic here."
By the time the production arrived in Australia, showing for the first time at the Perth festival, it had played to more than half a million people in 22 cities worldwide. These are staggering numbers for a production of a Mozart opera, making it one of the most commercially successful productions in recent times.
Swan Lake twisted into a gripping tale of clerical sex abuse and suppression
Just as Luhrmann frictionlessly transposed Shakespeare's love story on to modern, warring mafia-style families (dressed in vintage Hawaiian shirts, angel's wings and white satin dresses and, memorably in the case of Tybalt – a red vest emblazoned with the face of Jesus), Kosky's characters, with their Louise Brooks bobs and tuxedos, are straight from the silent film era.
The choice works well. Characters don't speak but their thoughts and words appear in evocative 1920s font, projected on to the stage.
The key to the aesthetic is Barritt's animation. The projections – which require performers to learn about 900 live cues – caused audiences in the show I saw to gasp with delight.
The Magic Flute has already played to more than half a million people in 22 cities worldwide. Photograph: Toni Wilkinson
There are flying elephants, a massive spider, a steamer trunk full of magic dancing girls, a frightened dog and drone-like creatures that lurk menacingly over the performers' heads.
The overall design is familiar to anyone who has seen a 1927 production (the company has toured several times to Australia) and references steampunk and Weimar expressionism.
Kosky told the ABC: "We wanted it very much to look as if a picture book had come alive — to look as if a silent film had been warped and hallucinated into colour."
Some people go to the opera to sleep. Not this production. Seeing it is the equivalent of drinking 10 cups of coffee. There is so much stimulation and so many eye-popping visuals to take in, you'll be reliving scenes in your head for weeks to come.
The Magic Flute is showing as part of the Adelaide festival from Friday 1 March, before a run at Auckland Arts festival, New Zealand, from 8-10 March
Perth festival 2019


Famously known as the city that never sleeps, New York City is an incredibly diverse and versatile city. Full of history, music, and art, incredible architecture and the best food you'll ever eat, it is no wonder NYC is a popular destination for couples who want to get away from it all and focus on each other.
Depending on your budget or personal taste, you may be interested in a Broadway, Off-Broadway, or even an Off-Off-Broadway show this Valentine's Day weekend. You may not get tickets for Hamilton because the rest of the world is still pining for them, but you'll find that Off-Broadway shows are just as exciting and well-done as something that costs $100 or more per seat. Bond with your beau over arts and culture in the city that has it all.
Sometimes, you simply want to be with your significant other and can't decide what to do. When you're in NYC for the night or the weekend, there is no need to make reservations for dinner - or a snack after catching a late Off-Broadway show. Choose your favorite borough and walk around: which delicious smells draw you in?
At famous spots like The Spotted Pig in the West Village or Russ and Daughters on the Lower East Side, you'll truly begin to understand why people come to New York City and do little else but eat. You'll find basics like NYC pizza and bacon with eggs and cheese, as well as cuisine from every culture you can think of.
Art in New York City is just as vibrant and ever-changing as its food. From politically-motivated paintings to futuristic modern art, you'll find a newer and more exciting exhibit every weekend. Whether you venture to Chelsea or you're uptown with your significant other, explore new media, vintage art exhibits and engage in stimulating conversation about the world around you.
Now, we understand that this is going to turn into a cliché, but Central Park is truly a romantic place. Located in Manhattan, this famous park is home to several important statues and memorials, and to the most romantic ride in NYC: the romantic horse and carriage ride.
Although criticized for being overpriced, it is a truly lovely gesture to your partner and a classic move toward creating the ideal date night.
Take an inexpensive tour around the city if you want to spend time together without perfectly planning your date from hour to hour. The best dates, while not exactly devil-may-care, do not come with a map. Taking a day to tour the city of chrome with your significant other can be just what both of you need to relax and spend some well-needed time with one another.
New York is an incredibly vibrant city that tugs at the heartstrings and inspires creativity and love at every turn. From walks through Central Park to sampling every type of food there is in Brooklyn, you could have a date in the city that never sleeps and fall in love over and over.


Your opinion matters. Leave your review of First Presbyterian Women's Transitional Center.
Description: We provide a transitional center for women who meet the following criteria. No children currently in their care, working at least 20 hours, able to meet 8pm curfew at our midtown location.
Do you have items to donate? Contact First Presbyterian Women's Transitional Center at the phone number provided above to see if they can use any items you may have to donate.


text:
The Life and Times Of Admiral Grace Hopper - Infographic
Written by Rebecca Hill
Today we celebrate the 110th anniversary of the birth of Grace Hopper. In programming circles she is often referred to as Amazing Grace. This infographic, which provides a timeline of Hopper's many and varied contributions shows why.
Grace Murray was born in New York City on December 9th, 1906. During a career spanning more than 60 years she earned the titles of PhD graduate, computer engineer, software developer and decorated Naval officer.
Storagepipe Solutions created this infographic to provide a timeline of Hopper's greatest achievements, and her integral role in the military and tech industry.
(click infographic for larger version)
Hopper was a trailblazer for women in tech. In 1944, a year after she enlisted in the U.S. Navy, Hopper and her team began work on Mark I, the first computer in America. In the same year, she led a team which solved an equation to make the atomic bomb function – a feat she accomplished in just three months.
Her expertise was also put to use in the development of Mark II and UNIVAC I, the first computer produced for commercial use. During her time on UNIVAC I, Hopper developed the first ever compiler, a software system which translated complex source code into binary code. Seven years later, in 1959, Hopper helped to create COBOL – a primary programming language for business applications.
However, Hopper isn't only defined by her technological expertise, but also her Naval duty. Hopper worked for the Navy until age 60, only to be called to return one year later. At age 65, she retired again – and was called back one more time. She retired for the last time at the age of 79 in 1986 with the title of Rear Admiral - Lower Half.
In 2009 Computer Science Education Week selected Grace Hopper as its icon because of her success in communicating ideas about computer science. If you've never previously seen the Nanosecond video, you'll quickly understand why it went viral and has had over a million views:
Although she died on January 1992, Grace Hopper was recently awarded the Presidential Medal of Freedom, the highest honor the US awards to civilians, which recognizes her legacy as the first lady of software.
Rebecca Hill, a graduate from York University, Ontario who loves all thing tech, is a blogger and outreach coordinator for Storagepipe Solutions, a provider of corporate data protection solutions including online backup and recovery.
Grace Hopper, The Mother of Cobol
Grace Hopper - Building On Her Legacy
Grace Hopper & Margaret Hamilton Honored With Presidential Medal of Freedom
C++ Is TIOBE's Language Of The Year
The accolade "Programming Language of the Year" attracts new attention to the winner. This year it is C++ that has taken the honor, having been the language that has seen the greatest year-on-year inc [ ... ]
EuroPython's 2022 Sessions Are Now Online
The talks presented at the 21st annual EuroPython conference are now available for free on YouTube. Topics ranged from Code and Tech to Social and Career advice.
Natives In Tech Accuse Apache Of Cultural Appropriation
WiFi Signals Can Reveal What You Are Doing
Last Updated ( Monday, 09 December 2019 )


Place one foot on the opposite thigh, keeping the other leg stretched in front of the body.
Grasp the toes of the straight leg with the hand on the same side of the body.
Utilizing the arms, not the back muscles, slowly pull the trunk forward so that the head is near or resting on the straight knee.
Keep both knees on the floor.
If the practitioner is able, one can pass the arm behind the back and grasp the big toe of the folded – leg.


Spiritual medicine soaps prepared and programmed for specific conditions.
Victory Over Enemies, Purification, Luck and Road Opening, Love Uncrossing, Protection, Clarity. Other conditions may be able to be provided for.
Please contact inquiries.spiritualmercenary@gmail.com after purchase to notify us of what soap you desire, your shipping details, as well as your full name and date of birth.
*This is for the customized soap- for when multiple conditions must be addressed, or for additional strength.


text:
Malaysian GP 2004
Malaysian GP, 2004
Michael Schumacher, Malaysian GP 2004
Sunday was election day in Malaysia but despite the need to go home to vote, the Malaysians turned up in decent numbers for the race. No-one really believed the 90,000 figure which the organizers said were there but as no-one else bothered to count, who knows? It was decent turnout particularly when on race morning the newspapers had said that the Malaysians should vote first and go to the race later.
Given the grip on power of the ruling party in Malaysia it seemed fairly irrelevant. The only real issue was how big the margin of victory was going to be.
Down at Sepang, it seemed that the race was really rather a similar question: By how much was Michael Schumacher going to win this one?
But these days Formula 1 is a bit like doing jigsaw puzzles. You do not get the full picture easily. It takes time to understand what is going on. The first hint that Ferrari was not as strong as things might suggest came when Michael headed for the pit lane after just nine laps. That meant a great deal. The fact that he was followed in by David Coulthard and Fernando Alonso was also quite significant. On the next lap Kimi Raikkonen, Rubens Barrichello and Jarno Trulli all stopped. There was a pattern emerging here. Everyone has been running lighter than the Williams-BMWs in qualifying; everyone except BAR-Honda.
On the grid before the race Pierre Dupasquier of Michelin scanned the sky. Would it rain?
"I do not know," he said. "All I want is that they all get to their first pit stops before the rain comes so we can see what is going on."
That said it all. One cannot make any comparisons of relative performance in the hot conditions unless one knows what everyone was up to in qualifying. And here it was. The only team that really remained a mystery was Jaguar Racing, although Christian Klien was an early stopper and so one must presume that Mark Webber would have gone a lap longer. That would have put him in the same range of fuel load as the Williams-BMWs and the BAR-Honda.
Michael Schumacher later shrugged off the difference in the length of stints but it was of key importance. Ferrari had qualified with a lot less fuel than had Williams and yet Montoya had been pretty quick. In other words, Ferrari's advantage in qualifying had been artificial. Given what was learned in Melbourne about Ferrari's aerodynamic advantage, it was fair to say that in Malaysia the Ferrari was ahead not because the Bridgestones were faster nor even because they were more consistent than the Michelins. It was because the car was better. In other words, in the hot conditions Michelin still has a tyre advantage.
Montoya set the fastest lap of the race...
The Ferrari strategy was to have Michael run a fast first stint and then hang on to it for the rest of the afternoon. Michael took three bigger fuel loads to get him to the flag with three equally-balanced stints (15 laps, 14 laps and 16 laps). The danger therefore was that Webber would beat him away at the start and stop him getting the clear air to build an advantage. That did not happen because the Jaguar "bogged down" at the start.
It was not the driver's fault but no-one would actually explain what had happened. The whole team behaved as if on the way to a "Let's get Vague" Party.
"We have to analyse the risk factors against the performance," Webber said, making the issue as clear as mud. "We can make good starts," he added.
Was the team trying something a little different, perhaps in an effort to emulate the Renault start in Melbourne? Or are there weaknesses in the car that they do not want us to know about. Who knows?
It did not much matter on this occasion because Webber was gone from the equation in the first few seconds of the race. This was the best possible news for Ferrari because it meant that Rubens Barrichello, chugging along on his harder tyres, could act as Michael Schumacher's rearguard. No-one seemed able to explain why it was that Rubens was on the harder rubber except that perhaps it was an insurance policy; a chance to learn more about the tyres in hot conditions or, if you like conspiracies, in order to play a tactical game later in the race.
In fact Ferrari was only able to be relaxed about Schumacher for a lap. On the second lap Rubens went wide at one corner and, in a flash, Montoya and Raikkonen were ahead and Rubens was left jostling with Jenson Button.
In those early laps there was one other element that has to be assessed for rain was spitting from a loaded sky. When there is light rain, Michelin seems to have an advantage. That showed. On the second lap Montoya closed to just a second behind Schumacher. But then the track began to dry and Schumacher went to work. He had only a few laps and as big an advantage as possible to build. He set three consecutive fastest laps to push the gap from 1.1secs to 4.2secs.
It may not seem much but it was vital. The race was lost and won in those laps.
On lap 4 Michael clocked a 1m36.894s. It was three tenths of a second better than Montoya. Not much. But next time around Michael went down to a 1m35.022s. Montoya could manage only a 1m36.361s. Michael followed up with a lap in the 1m34.8s. Montoya could do only a 1m35.884s. After that the balance of performance changed. Montoya was able to match Michael's pace. When Michael peeled off into pit lane, the cat was out of the bag. The Ferrari had been running light.
That was the moment at which Montoya had to blast ahead but Schumacher on new tyres with the clear track ahead of him is a mighty opponent. The time that Montoya needed had already been lost and Michael was not going let that advantage slip. Now he had a slightly heavier fuel load than Montoya and it was the Colombian who was closing down the gap. In the laps after the first stops were over the Williams-BMW driver cut a 6.4secs gap back to 3.3secs. The fuel loads were fairly similar and Montoya was faster... But then the consistency of the Bridgestones came into play and Michael began to edge away again. The gap went from 3.3secs to 8.2s before both men stopped together on lap 26. Out on the track again Montoya was faster again, closing down the gap to only 3.7secs by lap 37. Montoya knew that to win he had to emerge ahead at the third stop but the race was lost. He was four and a bit seconds behind when he rejoined. Look back at the early laps when Michael gained those vital 3.2secs. Yes, it was that close.
Montoya found that Rubens Barrichello was between him and Schumacher.
"As soon as I moved he closed the door straight away and his pace backed off." said Juan later. "There was no point in even trying to pass. There were 12 laps to go. I just backed off and cruised."
Rubens disappeared into pit lane but by then Juan was 9.2secs behind Michael and both men were in cruise mode. Even if Montoya had pushed and caught Michael he would not have been able to pass. He knew it and Michael knew it.
There was time to reflect. Had the strategy been right? Given the new knowledge acquired we might see Williams be willing to run a little lighter in Bahrain - and if that happens Montoya should be closer to Michael in qualifying and in the race. The Michelin tyres had been quicker than the Bridgestones. The difference had been in aerodynamic efficiency and tyre consistency.
But the important point was that Ferrari no longer looked invincible.
"I reckon if you had the BMW engine in the back of the Renault chassis you would have a car that is as good as the Ferrari," said one of the drivers. "It is just a matter of getting all the elements together. Ferrari has done it again. The rest of us have to work towards it."
So now the smell of Ferrari blood is in the nostrils at Williams and at Renault. McLaren might like to think that they too can pick up a whiff of the kill but it is a long way to go.
"We were a little better than we were in Melbourne," said David Coulthard. "We find it difficult to extract performance from the car for just one lap. But in the race our performance is as good as anyone else. The thing is that you need to get clean air. The brakes are very good and the car has a lot of traction. A new front wing has helped."
What David did not say was that the car's biggest problem is that the chassis lacks aerodynamic downforce and the engine lacks horsepower...
There is a need for more aerodynamic efficiency at Williams but otherwise the team looks well-placed, even if it was hard to find anyone in the team who thought Ralf had done a good job. It was not a patch on Montoya's performance.
Renault made a mess of qualifying and, if the truth be told, things did not go well in the race either. The Renault drivers found that with the set-ups they had the tyres were graining and understeer was a problem until the tyres cleaned themselves up. Alonso drove a great first stint to go from the back of the grid to eighth but further progress was blocked by David Coulthard's McLaren. In his second stint it was a similar story and the team then took the most extraordinary decision to fill Fernando with half a ton of fuel and sent him off to drive non-stop to the finish. They might just as well have attached a caravan to the back of the Renault.
"I think they messed up a bit," said Coulthard with a shrug.
"We had to try something different," said a Renault man. "I guess it didn't work."
Good guess!
BAR-Honda was thus able to step into the limelight on this occasion, Jenson Button overtaking Jarno Trulli early on and then catching and passing Barrichello and Raikkonen as the race developed. It was his first podium and a great moment for the team. BAR-Honda must now be taken seriously because the car is good. Sato started at the back and ran a two-stop strategy. He had a spin early on but when he went out with an engine failure three laps from home he was a good solid eighth. Without the spin he would have been able to grab some more points, an impressive achievement from the back of the grid.
Jaguar too must now be taken seriously even if things did not go well on Sunday. Webber's recovery after the start was a good indication of why Mark is suddenly a sought-after driver. He was 14th on the run down to Turn One. By the end of the lap he was ninth.
"I did a bunch of them in the first corner," he said. "I cannot remember who it was. I think here was a Renault (Alonso) Then in Turn Four I got past Nick Heidfeld and both the Toyotas. And then I went round the outside of Ralf at Turn Five. He got me back in Turn Six."
It took Webber a couple of laps before he nailed the Williams driver at Turn 8 , getting down the inside. Ralf did not want to give way and so ended up out on the grass.
A couple of laps later Ralf tagged Webber from the rear at the first corner. The Jaguar had a puncture.
"We had a chat later," Webber said. "He said that he had been a little bit too optimistic in his move. I could have told him that!"
Webber had to drive almost a whole lap with a puncture and that damaged the diffuser and so after he rejoined the car had serious oversteer and the tyres were being punished. In the end the right rear blistered and Webber lost control of the car. There was also a moment of frustration when Webber went too fast in the pit lane.
"My fault," he said.
The rest of the field were of little interest. The Jordans, Saubers, Toyotas and Minardis were all out of the picture although one must single out Nick Heidfeld for punching well above his weight in the early laps.
Toyota was little better in the race than it had been in Australia but a radio miscommunication screwed Panis out of 10th place. He misheard a radio call and the pit did not hear his requests for confirmation. He went into pit lane only to be told to drive on by. He floored the throttle and so ended up with a drive-through penalty later.
The Malaysian GP was another Schumacher victory but it gave us a hint that there are chinks in the Ferrari armour.
MALAYSIAN GRAND PRIX RESULTS - MARCH 21, 2004 - 56 LAPS
DRIVER NATIONALITY ENTRANT LAPS TIRE TIME/RETIRE
MICHAEL SCHUMACHER Germany Ferrari 56
1h31m07.490
JUAN PABLO MONTOYA Colombia Williams-BMW 56
JENSON BUTTON Britain BAR-Honda 56
RUBENS BARRICHELLO Brazil Ferrari 56
JARNO TRULLI Italy Renault 56
DAVID COULTHARD Britain McLaren-Mercedes 56
FERNANDO ALONSO Spain Renault 56
1m07.877
FELIPE MASSA Brazil Brazil 55
1 Lap
CRISTIANO DA MATTA Brazil Toyota 55
CHRISTIAN KLIEN Austria Jaguar-Cosworth 55
GIANCARLO FISICHELLA Italy Sauber-Petronas 55
OLIVIER PANIS France Toyota 55
GIORGIO PANTANO Italy Jordan-Ford 54
2 Laps
GIANMARIA BRUNI Italy Minardi-Cosworth 53
TAKUMA SATO Japan BAR-Honda 52
ZSOLT BAUMGARTNER Hungary Minardi-Cosworth 52
KIMI RAIKKONEN Finland McLaren-Mercedes 40
NICK HEIDFELD Germany Jordan-Cosworth 34
RALF SCHUMACHER Germany Williams-BMW 27
MARK WEBBER Australia Jaguar-Cosworth 23
FASTEST LAP: MONTOYA
Colombia Williams-BMW 28
DRIVERS CHAMPIONSHIP POSITIONS:
DRIVER NATIONALITY ENTRANT
MICHAEL SCHUMACHER Germany Ferrari
RUBENS BARRICHELLO Brazil Ferrari
JUAN PABLO MONTOYA Colombia Williams-BMW
JENSON BUTTON Britain BAR-Honda
FERNANDO ALONSO Spain Renault
JARNO TRULLI Italy Renault
RALF SCHUMACHER Germany Williams-BMW
DAVID COULTHARD Britain McLaren-Mercedes
FELIPE MASSA Brazil Sauber-Petronas
CONSTRUCTORS CHAMPIONSHIP POSITIONS:
WILLIAMS-BMW
BAR-HONDA
MCLAREN-MERCEDES
SAUBER-PETRONAS


text:
Candice Osborne
Former Councilwoman Jersey City
Originally from Atlanta, Candice Osborne lived most of her adult life as an active member in Jersey City. As a Jersey City Councilwoman from July 2013 to December 2017, Candice sponsored over 60 pieces of legislation in areas ranging from tax payer protection, public safety, business development, open space and the arts. Her efforts to further business improvement led to the creation of the Exchange Place Alliance, an expanded Downtown Special Improvement District, the Newark Avenue Pedestrian Plaza and a Food Truck Zone. Her work with New York Waterways brought weekend ferry service to Exchange Place.
Prior to serving on the Jersey City Council, Candice was recognized as a Rising Star by Campaigns and Election Magazine for her work at non-partisan political reform in Jersey City through technology. Her app, covered by the Wall Street Journal and used by a number of campaigns including US Senator Cory Booker, combined the power of mobile internet and game mechanics to motivate volunteers and provide campaigns with real-time election day data.
In 2012 Hurricane Sandy hit the eastern and southern sides of Jersey City hard when Candice helped found and run Jersey City Sandy Recovery. For her leadership skills in harnessing the efforts of over 800 volunteers to serve over 2,500 families in need, Candice was recognized by Glamour Magazine and was honored at Glamour's Women of the Year 2012 Awards.
Candice received her undergraduate degree in Computer Information Systems from Georgia State University and her Master's in Business Administration from New York University's Stern School of Business. She began her career as a computer programmer at MetLife. Later she focused on both program and product management at WebMD and in the start up world. Currently living in New York City, Candice is a Senior Director of Digital Commerce at SAP.