text:
import { shallow, mount, render, describeWithDOM, spyLifecycle } from "enzyme";
import * as React from "react";
import {Component, ReactElement, HTMLAttributes} from "react";
import {ShallowWrapper, ReactWrapper, CheerioWrapper} from "enzyme";

// Help classes/interfaces
interface MyComponentProps {
    propsProperty: any;
    numberProp?: number;
}

interface StatelessProps {
    stateless: any;
}

interface MyComponentState {
    stateProperty: any;
}

class MyComponent extends Component<MyComponentProps, MyComponentState> {
    setState(...args: any[]) {
    }
}

const MyStatelessComponent = (props: StatelessProps) => ;

// API
namespace SpyLifecycleTest {
    spyLifecycle(MyComponent);
}

// ShallowWrapper
namespace ShallowWrapperTest {
    var shallowWrapper: ShallowWrapper<MyComponentProps, MyComponentState> =
        shallow<MyComponentProps, MyComponentState>(<MyComponent propsProperty="value"/>);

    var reactElement: ReactElement<any>,
        objectVal: Object,
        boolVal: Boolean,
        stringVal: String,
        elementWrapper: ShallowWrapper<HTMLAttributes, {}>

    function test_find() {
        elementWrapper = shallowWrapper.find('.selector');
        shallowWrapper = shallowWrapper.find(MyComponent);
        shallowWrapper.find(MyStatelessComponent).props().stateless;
        shallowWrapper.find(MyStatelessComponent).shallow();
    }

    function test_findWhere() {
        shallowWrapper =
            shallowWrapper.findWhere((aShallowWrapper: ShallowWrapper<MyComponentProps, MyComponentState>) => true);
    }

    function test_filter() {
        elementWrapper = shallowWrapper.filter('.selector');
        shallowWrapper = shallowWrapper.filter(MyComponent).shallow();
    }

    function test_filterWhere() {
        shallowWrapper =
            shallowWrapper.filterWhere(wrapper => {
                wrapper.props().propsProperty;
                return true;
            });
    }

    function test_contains() {
        boolVal = shallowWrapper.contains(
);
    }

    function test_containsMatchingElement() {
        boolVal = shallowWrapper.contains(
);
    }

    function test_containsAllMatchingElements() {
        boolVal = shallowWrapper.containsAllMatchingElements([
]);
    }

    function test_containsAnyMatchingElement() {
        boolVal = shallowWrapper.containsAnyMatchingElements([
]);
    }

    function test_equals() {
        boolVal = shallowWrapper.equals(
);
    }

    function test_matchesElement() {
        boolVal = shallowWrapper.matchesElement(
);
    }

    function test_hasClass() {
        boolVal = shallowWrapper.find('.my-button').hasClass('disabled');
    }

    function test_is() {
        boolVal = shallowWrapper.is('.some-class');
    }

    function test_not() {
        elementWrapper = shallowWrapper.find('.foo').not('.bar');
    }

    function test_children() {
        shallowWrapper = shallowWrapper.children();
        shallowWrapper.children(MyStatelessComponent).props().stateless;
    }

    function test_childAt() {
        const childWrapper: ShallowWrapper<any, any> = shallowWrapper.childAt(0);

        interface TmpType1 {
            foo: any
        }

        interface TmpType2 {
            bar: any
        }

        const childWrapper2: ShallowWrapper<TmpType1, TmpType2> = shallowWrapper.childAt<TmpType1, TmpType2>(0);
    }

    function test_parents() {
        shallowWrapper = shallowWrapper.parents();
    }

    function test_parent() {
        shallowWrapper = shallowWrapper.parent();
    }

    function test_closest() {
        elementWrapper = shallowWrapper.closest('.selector');
        shallowWrapper = shallowWrapper.closest(MyComponent);
    }

    function test_shallow() {
        shallowWrapper = shallowWrapper.shallow();
    }

    function test_unmount() {
        shallowWrapper = shallowWrapper.unmount();
    }

    function test_render() {
        var cheerioWrapper: CheerioWrapper<MyComponentProps, MyComponentState> = shallowWrapper.render();
    }

    function test_text() {
        stringVal = shallowWrapper.text();
    }

    function test_html() {
        stringVal = shallowWrapper.html();
    }

    function test_get() {
        reactElement = shallowWrapper.get(1);
    }

    function test_at() {
        shallowWrapper = shallowWrapper.at(1);
    }

    function test_first() {
        shallowWrapper = shallowWrapper.first();
    }

    function test_last() {
        shallowWrapper = shallowWrapper.last();
    }

    function test_state() {
        shallowWrapper.state();
        shallowWrapper.state('key');
        const tmp: String = shallowWrapper.state<String>('key');
    }

    function test_context() {
        shallowWrapper.context();
        shallowWrapper.context('key');
        const tmp: String = shallowWrapper.context<String>('key');
    }

    function test_props() {
        objectVal = shallowWrapper.props();
    }

    function test_prop() {
        shallowWrapper.prop('key');
        const tmp: String = shallowWrapper.prop<String>('key');
    }

    function test_key() {
        stringVal = shallowWrapper.key();
    }

    function test_simulate(...args: any[]) {
        shallowWrapper.simulate('click');
        shallowWrapper.simulate('click', args);
    }

    function test_setState() {
        shallowWrapper = shallowWrapper.setState({ stateProperty: 'state' });
    }

    function test_setProps() {
        shallowWrapper = shallowWrapper.setProps({ propsProperty: 'foo' });
    }

    function test_setContext() {
        shallowWrapper = shallowWrapper.setContext({ name: 'baz' });
    }

    function test_instance() {
        var myComponent: MyComponent = shallowWrapper.instance();
    }

    function test_update() {
        shallowWrapper = shallowWrapper.update();
    }

    function test_debug() {
        stringVal = shallowWrapper.debug();
    }

    function test_type() {
        var stringOrFunction: String | Function = shallowWrapper.type();
    }

    function test_name() {
        var str: String = shallowWrapper.name();
    }

    function test_forEach() {
        shallowWrapper =
            shallowWrapper.forEach(wrapper => wrapper.shallow().props().propsProperty);
    }

    function test_map() {
        var arrayNumbers: Array<Number> =
            shallowWrapper.map(wrapper => wrapper.props().numberProp);
    }

    function test_reduce() {
        const total: number[] =
            shallowWrapper.reduce(
                (amount: number, n: ShallowWrapper<MyComponentProps, MyComponentState>) => amount + n.props().numberProp
            );
    }

    function test_reduceRight() {
        const total: number[] =
            shallowWrapper.reduceRight<number>(
                (amount: number, n: ShallowWrapper<MyComponentProps, MyComponentState>) => amount + n.prop('amount')
            );
    }

    function test_some() {
        boolVal = shallowWrapper.some('.selector');
        boolVal = shallowWrapper.some(MyComponent);
    }

    function test_someWhere() {
        boolVal = shallowWrapper.someWhere((aShallowWrapper: ShallowWrapper<MyComponentProps, MyComponentState>) => true);
    }

    function test_every() {
        boolVal = shallowWrapper.every('.selector');
        boolVal = shallowWrapper.every(MyComponent);
    }

    function test_everyWhere() {
        boolVal = shallowWrapper.everyWhere((aShallowWrapper: ShallowWrapper<MyComponentProps, MyComponentState>) => true);
    }
}

// ReactWrapper
namespace ReactWrapperTest {
    var reactWrapper: ReactWrapper<MyComponentProps, MyComponentState> =
        mount<MyComponentProps, MyComponentState>(<MyComponent propsProperty="value"/>);

    var reactElement: ReactElement<any>,
        objectVal: Object,
        boolVal: Boolean,
        stringVal: String,
        elementWrapper: ReactWrapper<HTMLAttributes, {}>

    function test_unmount() {
        reactWrapper = reactWrapper.unmount();
    }

    function test_mount() {
        reactWrapper = reactWrapper.mount();
    }

    function test_ref() {
        reactWrapper = reactWrapper.ref('refName');

        interface TmpType1 {
            foo: string
        }

        interface TmpType2 {
            bar: string
        }

        const tmp: ReactWrapper<TmpType1, TmpType2> = reactWrapper.ref<TmpType1, TmpType2>('refName');
    }

    function test_detach() {
        reactWrapper.detach();
    }

    function test_find() {
        elementWrapper = reactWrapper.find('.selector');
        reactWrapper = reactWrapper.find(MyComponent);
        reactWrapper.find(MyStatelessComponent).props().stateless;
    }

    function test_findWhere() {
        reactWrapper =
            reactWrapper.findWhere((aReactWrapper: ReactWrapper<MyComponentProps, MyComponentState>) => true);
    }

    function test_filter() {
        elementWrapper = reactWrapper.filter('.selector');
        reactWrapper = reactWrapper.filter(MyComponent);
    }

    function test_filterWhere() {
        reactWrapper =
            reactWrapper.filterWhere(wrapper => {
                wrapper.props().propsProperty;
                return true;
            });
    }

    function test_contains() {
        boolVal = reactWrapper.contains(
);
    }

    function test_containsMatchingElement() {
        boolVal = reactWrapper.contains(
);
    }

    function test_containsAllMatchingElements() {
        boolVal = reactWrapper.containsAllMatchingElements([
]);
    }

    function test_containsAnyMatchingElement() {
        boolVal = reactWrapper.containsAnyMatchingElements([
]);
    }

    function test_equals() {
        boolVal = reactWrapper.equals(
);
    }

    function test_matchesElement() {
        boolVal = reactWrapper.matchesElement(
);
    }

    function test_hasClass() {
        boolVal = reactWrapper.find('.my-button').hasClass('disabled');
    }

    function test_is() {
        boolVal = reactWrapper.is('.some-class');
    }

    function test_not() {
        elementWrapper = reactWrapper.find('.foo').not('.bar');
    }

    function test_children() {
        reactWrapper = reactWrapper.children();
    }

    function test_childAt() {
        const childWrapper: ReactWrapper<any, any> = reactWrapper.childAt(0);

        interface TmpType1 {
            foo: any
        }

        interface TmpType2 {
            bar: any
        }

        const childWrapper2: ReactWrapper<TmpType1, TmpType2> = reactWrapper.childAt<TmpType1, TmpType2>(0);
    }

    function test_parents() {
        reactWrapper = reactWrapper.parents();
    }

    function test_parent() {
        reactWrapper = reactWrapper.parent();
    }

    function test_closest() {
        elementWrapper = reactWrapper.closest('.selector');
        reactWrapper = reactWrapper.closest(MyComponent);
    }

    function test_text() {
        stringVal = reactWrapper.text();
    }

    function test_html() {
        stringVal = reactWrapper.html();
    }

    function test_get() {
        reactElement = reactWrapper.get(1);
    }

    function test_at() {
        reactWrapper = reactWrapper.at(1);
    }

    function test_first() {
        reactWrapper = reactWrapper.first();
    }

    function test_last() {
        reactWrapper = reactWrapper.last();
    }

    function test_state() {
        reactWrapper.state();
        reactWrapper.state('key');
        const tmp: String = reactWrapper.state<String>('key');
    }

    function test_context() {
        reactWrapper.context();
        reactWrapper.context('key');
        const tmp: String = reactWrapper.context<String>('key');
    }

    function test_props() {
        objectVal = reactWrapper.props();
    }

    function test_prop() {
        reactWrapper.prop('key');
        const tmp: String = reactWrapper.prop<String>('key');
    }

    function test_key() {
        stringVal = reactWrapper.key();
    }

    function test_simulate(...args: any[]) {
        reactWrapper.simulate('click');
        reactWrapper.simulate('click', args);
    }

    function test_setState() {
        reactWrapper = reactWrapper.setState({ stateProperty: 'state' });
    }

    function test_setProps() {
        reactWrapper = reactWrapper.setProps({ propsProperty: 'foo' });
    }

    function test_setContext() {
        reactWrapper = reactWrapper.setContext({ name: 'baz' });
    }

    function test_instance() {
        var myComponent: MyComponent = reactWrapper.instance();
    }

    function test_update() {
        reactWrapper = reactWrapper.update();
    }

    function test_debug() {
        stringVal = reactWrapper.debug();
    }

    function test_type() {
        var stringOrFunction: String | Function = reactWrapper.type();
    }

    function test_name() {
        var str: String = reactWrapper.name();
    }

    function test_forEach() {
        reactWrapper =
            reactWrapper.forEach(wrapper => wrapper.props().propsProperty);
    }

    function test_map() {
        var arrayNumbers: Array<Number> =
            reactWrapper.map(wrapper => wrapper.props().numberProp);
    }

    function test_reduce() {
        const total: number[] =
            reactWrapper.reduce<number>(
                (amount: number, n: ReactWrapper<MyComponentProps, MyComponentState>) => amount + n.prop('amount')
            );
    }

    function test_reduceRight() {
        const total: number[] =
            reactWrapper.reduceRight<number>(
                (amount: number, n: ReactWrapper<MyComponentProps, MyComponentState>) => amount + n.prop('amount')
            );
    }

    function test_some() {
        boolVal = reactWrapper.some('.selector');
        boolVal = reactWrapper.some(MyComponent);
    }

    function test_someWhere() {
        boolVal = reactWrapper.someWhere((aReactWrapper: ReactWrapper<MyComponentProps, MyComponentState>) => true);
    }

    function test_every() {
        boolVal = reactWrapper.every('.selector');
        boolVal = reactWrapper.every(MyComponent);
    }

    function test_everyWhere() {
        boolVal = reactWrapper.everyWhere((aReactWrapper: ReactWrapper<MyComponentProps, MyComponentState>) => true);
    }
}

// CheerioWrapper
namespace CheerioWrapperTest {
    var cheerioWrapper: CheerioWrapper<MyComponentProps, MyComponentState> =
        render<MyComponentProps, MyComponentState>(<MyComponent propsProperty="value"/>);

    var reactElement: ReactElement<any>,
        objectVal: Object,
        boolVal: Boolean,
        stringVal: String,
        elementWrapper: CheerioWrapper<HTMLAttributes, {}>

    function test_find() {
        elementWrapper = cheerioWrapper.find('.selector');
        cheerioWrapper = cheerioWrapper.find(MyComponent);
        cheerioWrapper.find(MyStatelessComponent).props().stateless;
    }

    function test_findWhere() {
        cheerioWrapper =
            cheerioWrapper.findWhere((aCheerioWrapper: CheerioWrapper<MyComponentProps, MyComponentState>) => true);
    }

    function test_filter() {
        elementWrapper = cheerioWrapper.filter('.selector');
        cheerioWrapper = cheerioWrapper.filter(MyComponent);
    }

    function test_filterWhere() {
        cheerioWrapper =
            cheerioWrapper.filterWhere(wrapper => {
                wrapper.props().propsProperty;
                return true;
            });
    }

    function test_contains() {
        boolVal = cheerioWrapper.contains(
);
    }

    function test_containsMatchingElement() {
        boolVal = cheerioWrapper.contains(
);
    }

    function test_containsAllMatchingElements() {
        boolVal = cheerioWrapper.containsAllMatchingElements([
]);
    }

    function test_containsAnyMatchingElement() {
        boolVal = cheerioWrapper.containsAnyMatchingElements([
]);
    }

    function test_equals() {
        boolVal = cheerioWrapper.equals(
);
    }

    function test_matchesElement() {
        boolVal = cheerioWrapper.matchesElement(
);
    }

    function test_hasClass() {
        boolVal = cheerioWrapper.find('.my-button').hasClass('disabled');
    }

    function test_is() {
        boolVal = cheerioWrapper.is('.some-class');
    }

    function test_not() {
        elementWrapper = cheerioWrapper.find('.foo').not('.bar');
    }

    function test_children() {
        cheerioWrapper = cheerioWrapper.children();
    }

    function test_childAt() {
        const childWrapper: CheerioWrapper<any, any> = cheerioWrapper.childAt(0);

        interface TmpType1 {
            foo: any
        }

        interface TmpType2 {
            bar: any
        }

        const childWrapper2: CheerioWrapper<TmpType1, TmpType2> = cheerioWrapper.childAt<TmpType1, TmpType2>(0);
    }

    function test_parents() {
        cheerioWrapper = cheerioWrapper.parents();
    }

    function test_parent() {
        cheerioWrapper = cheerioWrapper.parent();
    }

    function test_closest() {
        elementWrapper = cheerioWrapper.closest('.selector');
        cheerioWrapper = cheerioWrapper.closest(MyComponent);
    }

    function test_text() {
        stringVal = cheerioWrapper.text();
    }

    function test_html() {
        stringVal = cheerioWrapper.html();
    }

    function test_get() {
        reactElement = cheerioWrapper.get(1);
    }

    function test_at() {
        cheerioWrapper = cheerioWrapper.at(1);
    }

    function test_first() {
        cheerioWrapper = cheerioWrapper.first();
    }

    function test_last() {
        cheerioWrapper = cheerioWrapper.last();
    }

    function test_state() {
        cheerioWrapper.state();
        cheerioWrapper.state('key');
        const tmp: String = cheerioWrapper.state<String>('key');
    }

    function test_context() {
        cheerioWrapper.context();
        cheerioWrapper.context('key');
        const tmp: String = cheerioWrapper.context<String>('key');
    }

    function test_props() {
        objectVal = cheerioWrapper.props();
    }

    function test_prop() {
        cheerioWrapper.prop('key');
        const tmp: String = cheerioWrapper.prop<String>('key');
    }

    function test_key() {
        stringVal = cheerioWrapper.key();
    }

    function test_simulate(...args: any[]) {
        cheerioWrapper.simulate('click');
        cheerioWrapper.simulate('click', args);
    }

    function test_setState() {
        cheerioWrapper = cheerioWrapper.setState({ stateProperty: 'state' });
    }

    function test_setProps() {
        cheerioWrapper = cheerioWrapper.setProps({ propsProperty: 'foo' });
    }

    function test_setContext() {
        cheerioWrapper = cheerioWrapper.setContext({ name: 'baz' });
    }

    function test_instance() {
        var myComponent: MyComponent = cheerioWrapper.instance();
    }

    function test_update() {
        cheerioWrapper = cheerioWrapper.update();
    }

    function test_debug() {
        stringVal = cheerioWrapper.debug();
    }

    function test_type() {
        var stringOrFunction: String | Function = cheerioWrapper.type();
    }

    function test_name() {
        var str: String = cheerioWrapper.name();
    }

    function test_forEach() {
        cheerioWrapper =
            cheerioWrapper.forEach((aCheerioWrapper: CheerioWrapper<MyComponentProps, MyComponentState>) => {
            });
    }

    function test_map() {
        var arrayNumbers: Array<Number> =
            cheerioWrapper.map(wrapper => wrapper.props().numberProp);
    }

    function test_reduce() {
        const total: number[] =
            cheerioWrapper.reduce<number>(
                (amount: number, n: CheerioWrapper<MyComponentProps, MyComponentState>) => amount + n.prop('amount')
            );
    }

    function test_reduceRight() {
        const total: number[] =
            cheerioWrapper.reduceRight<number>(
                (amount: number, n: CheerioWrapper<MyComponentProps, MyComponentState>) => amount + n.prop('amount')
            );
    }

    function test_some() {
        boolVal = cheerioWrapper.some('.selector');
        boolVal = cheerioWrapper.some(MyComponent);
    }

    function test_someWhere() {
        boolVal = cheerioWrapper.someWhere((aCheerioWrapper: CheerioWrapper<MyComponentProps, MyComponentState>) => true);
    }

    function test_every() {
        boolVal = cheerioWrapper.every('.selector');
        boolVal = cheerioWrapper.every(MyComponent);
    }

    function test_everyWhere() {
        boolVal = cheerioWrapper.everyWhere((aCheerioWrapper: CheerioWrapper<MyComponentProps, MyComponentState>) => true);
    }
}


Mahendras Big Surprise - Coming Soon!!
Mahendras is coming up with a big surprise for all of you through "Mahendras Big Surprise". It will be something that will help you in your preparations. We will be revealing the surprise very soon.
So, stay tuned with us to know about the surprise.
If You Haven't Subscribed Mahendra Guru Youtube Channel.


text:
"""
Created on Sun Feb 01 13:52:23 2015
Some helper methods

@author: Seb
"""

import math
import numpy as np
import mieMonteCarlo
import subprocess
import os

import contextlib

@contextlib.contextmanager
def cd(newPath):
    savedPath = os.getcwd()
    os.chdir(newPath)
    yield
    os.chdir(savedPath)

def createSimulationFile(infile, replacements, simulationFileName):
    infile.seek(0);
    simulationFile = open(simulationFileName, 'w')

    for line in infile:
        for src, target in replacements.iteritems():
            line = line.replace(src, target)
        simulationFile.write(line)

    simulationFile.close()

def calcUa(BVF, cHb, SaO2, eHbO2, eHb, wavelength):
    # determine ua [1/m] as combination of extinction coefficients.
    # For more on this equation, please refer to
    # http://omlc.org/spectra/hemoglobin/
    return BVF * math.log(10) * cHb * \
        (SaO2 * eHbO2(wavelength) +  (1-SaO2) * eHb(wavelength)) \
        / 64500

def calcUsMuscle(wavelength):
    return 168.52 * (wavelength * 10**9)**-0.332 / (1 - 0.96) * 100

def getReflectanceFromFile(fileName):
    '''
    extract reflectance from a specific monte carlo output file.

    Attention: this is kept very simple and assumes that the reflectance output
    starts at a specific line and keeps till eof. This might be subject to change,
    e.g., when you alter the numbers of layers the line number there reflectance
    values start will change.
    Error handling etc. needed.
    '''

    with open(fileName) as myFile:
        for num, line in enumerate(myFile, 1):
            if "Rd_r #Rd[0], [1],..Rd[nr-1]. [1/cm2]" in line:
                break

    #print 'found at line:', num

    reflectances = np.loadtxt(fileName, skiprows=num)

    return sum(reflectances)

def normalizeIntegral(data, wavelengths):
    # normalize data
    norms = np.trapz(data, wavelengths, axis=1)
    return data / norms[:,None]

def normalizeImageQuotient(data, iqBand=0):
    # use line 0 as image quotient
    normData = data / data[:,iqBand][:,None]
    # discard it
    normData = np.concatenate((normData[:,0:iqBand], normData[:,iqBand+1:]), axis=1)
    return normData

def runOneSimulation(wavelength, eHbO2, eHb,
                     infile, simulationOutputFolderName, gpumcmlDirectory, gpumcmlExecutable,
                     BVF=0.1, Vs=0.4, d=500 * 10**-6,
                     r=0.4 * 10**-6, SaO2=0.7, cHb=120,
                     submucosa_BVF=0.1, submucosa_Vs=0.3, submucosa_SaO2=0.7,
                     Fwhm = 20 * 10**-9, nrPhotons = 10**6,
                     ):
    """
    Args:
    _____
    gpumcmlString:
        a string containing the full absolute path gpumcml (e.g. /home/wirkert/gpumcml.sm20)
    cHb:
        concentration of haemoglobin per unit volume of blood in colon [g/L],
        taken from: "Modelling and validation of spectral reflectance for the colon"
    """
    outputFilename = \
            simulationOutputFolderName + \
            "BVF" + repr(BVF) + \
            "Vs" + repr(Vs) + \
            "d" + repr(d) + \
            "SaO2" + repr(SaO2) + \
            "r" + repr(r) + \
            "photons" + repr(nrPhotons) + \
            "wavelength" + repr(wavelength) + \
            ".mco"

    usg = mieMonteCarlo.mieMonteCarlo_FWHM(wavelength, r, Vs, FWHM = Fwhm)

    ua  = calcUa(BVF, cHb, SaO2, eHbO2, eHb, wavelength)
    # calculate ua, us for submucosa, values taken from
    # "Model based inversion for deriving maps of
    # histological parameters characteristic of cancer
    # from ex-vivo multispectral images of the colon"
    ua_sm  = calcUa(submucosa_BVF, cHb, submucosa_SaO2, eHbO2, eHb, wavelength)
    usg_sm = mieMonteCarlo.mieMonteCarlo_FWHM(wavelength, 2*10**-6, submucosa_Vs, FWHM = Fwhm)

    # now create us and ua for muscle layer according to
    # "Modelling and validation of spectral reflectance for the colon"
    us_mus = calcUsMuscle(wavelength)
    A      = 1.7923385088285804 # calculated to retrieve an absorption of 11.2 cm-1
    # at 515nm
    ua_mus = calcUa(A*0.1, 120, 0.7, eHbO2, eHb, wavelength)

    # factors are due to the program expecting [cm] instead of [m]
    replacements = {'muc_c_ua':str(ua / 100), 'muc_c_us':str(usg['us'] / 100),
        'muc_c_g':str(usg['g']), 'muc_c_d':str(d * 100),
        'sm_c_ua':str(ua_sm / 100), 'sm_c_us':str(usg_sm['us'] / 100),
        'sm_c_g':str(usg_sm['g']),
        'mus_c_ua':str(ua_mus / 100), 'mus_c_us':str(us_mus / 100),
        'outputFilename':outputFilename,
        'c_ph': str(nrPhotons)}

    createSimulationFile(infile, replacements,
                         "data/output/simulationFile.mci")

    args = ("./" + gpumcmlExecutable, "-A", os.getcwd() + "/data/output/simulationFile.mci")

    with cd(gpumcmlDirectory):
        popen = subprocess.Popen(args, stdout=subprocess.PIPE)
        popen.wait()

    # outside the context manager we are back wherever we started.

    # this function is error prone, please refer to documentation to see
    # if problematic for you
    return getReflectanceFromFile(gpumcmlDirectory + outputFilename)

if __name__ == "__main__":

    us515 = calcUsMuscle(515 * 10**-9)
    print ("calculated us [cm-1] for muscle layer at 515nm: " + str(us515 / 100) + " expected ca. 530")
    us1064 = calcUsMuscle(1064 * 10**-9)
    print ("calculated us [cm-1] for muscle layer at 1064nm: " + str(us1064 / 100))

redpajama_set_name: RedPajamaGithub


How and when did we become the only human species to settle the whole Earth? How did our brains become so large? This book sets out to answer these fundamental questions, digging deep into the archives of archaeology, fossil ancestors and human genetics.
Gamble examines how changing identities can be understood and charts the prehistory of innovations. Theoretically innovative and supported with in-depth case-studies, this important and challenging book will be essential reading for every student and scholar of prehistory.
Dunbar's Number, the limit on the size of both social groups and personal social networks, has reached iconic status in both the worlds of academia and business, its design underpinning social networking sites. Dunbar joins authors from different fields to explore its conceptual origins and supporting evidence and to reflect on its implications.
When and how did the brains of our hominin ancestors become human minds? When and why did our capacity for language or art, music and dance evolve? This book deals with these questions.
From Stone Age networks to Digital Age networking, this book explores the ancient origins of our social lives today.
As soon as we ask why "we are the only animal with a near-global distribution", argues Clive Gamble, the central truth emerges: "Humans went everywhere in prehistory because humans have purpose."
Focuses on growth in areas such as material culture, human evolution and the political use of the past. This book answers such questions as: what are the basic concepts of archaeology; how and what do we know about people and objects from the past; what makes a good explanation in archaeology; and, how do we know where to look.


Lighttpd is acting in a weird way: when I access locally from the same machine (using localhost, 127.0.0.1 and local network ip number) everything works fine, but if I access it using the external ip almost every data is scrambled. The only thing that works is processed php output, everything else (images, html, even plain text) is scrambled. For example, if I use the same simple test, it works if I name the file as .php, but it doesn't if it's named .html.
I've tested using curl, so it's not a browser cache issue.
I've uninstalled lighttpd and removed the edited configuration files, then reinstalled it and used the default configuration (I only disabled ipv6).
I tried disabling the php use flag as specified in the wiki.
I checked the permissions to the files, set to lighttpd:lighttpd, with 644 on files and 755 on dirs.
I tried another server (cherokee) and the problem doesn't happen.
The headers match the file type (text/plain, image/png, etc.), the logs are similar, both from headers of curl and error.log output from lighttpd.
I made a post on the lighttpd forum too, with the test image attached.
I contacted people on #lighttpd and, for now, nobody was able to find what the real issue is.
I might have done something (stupidly) wrong, I just can't find what is the source of this problem.


The kids and I went for an afternoon outing up Herring Cove Trail as far as Bear Mountain Waterfall. This picture was of the first small falls near the start of the the trail – I don't often see it in full sunlight.
This entry was posted in hiking, photojournal, Rivers, Streams, and Lakes and tagged Herring Cove Trail, Waterfall. Bookmark the permalink.


We're ashamed to say that we laughed entirely too hard about the title of this episode after watching it. We're down to 2 more episodes. What's going to happen? Oh! and we've now met Grandma. Thoughts?..
Wow.. They went there. Episode 10 gave us a Herr Starr/ Jesse road trip, pathetic vampire behavior, broken tiles, and of course, Humperdoo. But what did WE think?...You may be surprised.
Episode 9 ALREADY? Crazy how fast this season is flying by. This episode has the Grail, a dancing Vampire, a fat guy in a mask and his underwear, and a scene right out of Call of Duty, and of course, "The Professionals". Listen in as we breakdown the episode entitled "Puzzle Piece".
This was a great episode and we had a lot to say about it.


text:
Vice-Chancellor English
Vice-Chancellor (12)
Din sökning efter "May-Britt Öhman" gav 12 träffar
Guidelines for approving, monitoring and phasing out degree programmes, main fields of study and subsidiary
According to the rules of procedure for Uppsala University (UFV 2011/1724), the vice-chancellor decides on the approval of educational programs and main fields of study on the basis of proposals from the
Gender Mainstreaming Plan - Uppsala University, Sweden
The appropriation directions for higher education institutions for the 2020 fiscal year required Uppsala University to produce a plan for its work on gender mainstreaming. The University's plan for gender
Duties and Decision-Making Powers of Vice-Rectors - Uppsala University, Sweden
Act number: UFV 2020/1265 Decision maker: Vice-Chancellor Decision date: 2020-06-16 Contact: Linda Lundberg linda.lundberg@uadm.uu.se Processing body: Planning Division Document type: Delegation of responsibilities
Responsibilities and Decision-Making Powers of the University Director - Uppsala University, Sweden
Responsibilities and Decision-Making Powers of Heads of Department - Uppsala University, Sweden
Act number: UFV 2011/619 Decision maker: Vice-Chancellor Decision date: 2012-05-08 Contact: Linda Lundberg linda.lundberg@uadm.uu.se Processing body: Planning Division Document type: Delegation of responsibilities
Responsibilities and Decision-Making Powers of the Deputy Vice-Chancellor - Uppsala University, Sweden
The Deputy Vice-Chancellor is the deputy of the Vice-Chancellor and serves in place of the Vice- Chancellor when the latter is not on duty, and otherwise substitutes for the Vice-Chancellor to whatever
Guidelines for conducting remote written examinations at Uppsala University - Uppsala University, Sweden
These guidelines concern the conduct of remotely delivered written examinations, including digital examinations, for students enrolled at Uppsala University. 'Remote written examinations' means written
Guideline for disclosure and management of financial conflicts of interest regarding applications for and approved grants from American federal funders affiliated with the United States Department of Health
Guidelines for salary supplements and other terms and conditions, and adjustments of wages in conjunction with promotion and new expertise - Uppsala University, Sweden
There may also be standard duties that are temporary in their nature.
Visar 12 av 12 träffar

redpajama_set_name: RedPajamaCommonCrawl


text:
/*!
{
  "name": "ES5 Date",
  "property": "es5date",
  "notes": [{
    "name": "ECMAScript 5.1 Language Specification",
    "href": "https://www.ecma-international.org/ecma-262/5.1/"
  }],
  "polyfills": ["es5shim"],
  "authors": ["Ron Waldon (@jokeyrhyme)"],
  "tags": ["es5"]
}
!*/
/* DOC
Check if browser implements ECMAScript 5 Date per specification.
*/
define(['Modernizr'], function(Modernizr) {
  Modernizr.addTest('es5date', function() {
    var isoDate = '2013-04-12T06:06:37.307Z',
      canParseISODate = false;
    try {
      canParseISODate = !!Date.parse(isoDate);
    } catch (e) {
      // no ISO date parsing yet
    }
    return !!(Date.now &&
      Date.prototype &&
      Date.prototype.toISOString &&
      Date.prototype.toJSON &&
      canParseISODate);
  });
});


text:
MOHAWKS DENY DEAL; STATE OFFERS PROOF
Anti-tax forces made leaders rescind pact, lawyer says
http://www.timesunion.com/
[SISIS note: The following mainstream news article is provided for reference only, as an example of how mainstream media treats indigenous resistance to genocide. It may contain biased and distorted information and may be missing pertinent facts and/or context.]
ALBANY -- St. Regis Mohawk leaders deny they made an interim agreement to settle a tax dispute with state, but documents provided by the Pataki administration Tuesday suggested otherwise.
On Monday, hours after Gov. George Pataki announced that the Mohawks agreed to stop selling gas and cigarettes to non-Indians on their northern New York reservation, three Mohawk leaders said a deal did not exist.
"The interim agreement that the press release states is inaccurate," said the leaders, including Tribal Legislative Chairman Philip Tarbell, who had been quoted in a Pataki statement praising the alleged deal.
However, Pataki spokesman Michael McKeon provided a press release dated Monday from the Mohawks' Albany lawyer, Michael Rhodes-Devey, titled "St. Regis Mohawk Tribe Reaches Accord with State of New York."
The administration also produced a letter dated Friday in which the Mohawks said they would "only sell petroleum and tobacco products to Native residents of Akwesasne" for 60 days at a new location combining all of the nation's gas and cigarette shops.
"We intend to commence operations at this facility as soon as possible in order to alleviate the hardships now being endured by the Mohawk people," the letter said.
Rhodes-Devey said Tuesday that Tarbell and another leader were forced to rescind the agreement by members of the tribe's anti-tax steering committee.
"They physically went in and took him out of the building and threw him in back of a pickup truck against his will, and another member of tax steering threatened to shoot Mr. Tarbell," Rhodes-Devey said.
"The circumstances under which that letter was signed are certainly suspect," he said.
A spokesman for the tribe's police force said the matter was being investigated.


Merrimack Valley Food Co-op is looking forward to a good community discussion to share ideas about how the future member owned grocery store can benefit our community as a place to connect and engage with our neighbors, help our local economy with new jobs and educate the public about sustainable options and good environmental choices.
If you haven't seen this infogr aphic to the right, this a quick summary of how co-ops benefit their community. Join us to learn more and talk about what you want for our city.
Join us at the May 20th Savor Series with Celeste Oliva 4-6pm or for our next Community Meeting just after the talk on Sunday, June 24 at 6pm. Be part of a positive change in Haverhill.
MVFC was inspired by our success with last October's "Savor Haverhill" and have created the "Savor Series". We are collaborating with local food experts and producers for a close up look at a specific food or industry in an effort to celebrate local business and stimulate interest in the creation of a locally based cooperative grocery store.
Savor Series kicks off Sunday, March 18 from 4-6pm with NH Community Seafood's General Manager, Andrea Tomlinson presenting the topic "Under Utilized Fish" and sharing what we are all missing from these plentiful, local fish species.
Join us for an interesting discussion hosted at the retail location of Moderno Appliance & Furniture 160 Winthrop Ave, rear in Stadium Plaza Lawrence, MA 01843. Admission will be $5 per person to cover costs. That is just off Rte 495, Exit 42B and around back in the Stadium Plaza. Plenty of parking!
Please RSVP so we can plan ahead. Be part of the Savor Series March 18th with the co-op!
In just a few more days, the Merrimack Valley Food Co-op will be at this historic property to celebrate the 3rd Annual Meeting and debut the "Savor Haverhill: Celebrating the Culture of Food". On Sunday, October 22, 2017 from 1-5pm, talented people from around the food culture will demonstrate their specialties. These range from brewing the perfect cup of coffee, to selecting locally made cheese and adding local flavor to the perfect burrito.
This is the first year for this unique family friendly event and a chance for everyone to learn something new about food and the benefits of having a member-owned food co-op in our community.
Special guided tours around this 1700s Haverhill farm will take place through the afternoon where you can see the collaboration with Willow Spring Vineyards and their amazing rhubarb patch. Kids can make their own "apple stamp" prints and there will be plenty of spots for the perfect "selfie" – remember to tag us with #mvfoodcoop and much more fun!
Tickets are limited, so get yours today for the Savor Haverhill. You can see all that is happening on the official Savor Haverhill 2017 Flyer.
Merrimack Valley Food Co-op is sponsoring this event with generous help from Haverhill Bank and the Haverhill Cultural Council. We thank them for their support.
October 2017 is "Commit to Co-ops" Month and we are ready to celebrate our start up food co-op. We will be holding our 3rd Annual Meeting as part of the Savor Haverhill "Culture of Food" event.
There are so many local people coming out to share what they do from growing rhubarb with Jim Parker to secrets for the best burrito from Stuft, tips on making African samosas with local ingredients and brewing the best Fair Trade cup of coffee with Equal Exchange. You can even learn about local Cheese with the experts from Mill City Cheese Mongers.
Come by and learn how the co-op will make a difference in our community and the way we celebrate food. Kid friendly activities from pumpkin decorating and basket making to farm tours all afternoon.
Tickets available online. Get yours today!
Interested in helping before the 22nd? Join us for the final planning suggestions or sign up a couple of hours that day as a volunteer.
Got time for the co-op?
MVFC is creating a version of their pop-up market at this year's Healthy Living Expo on Saturday, August 26, 2017. Come join the fun to help spread the word at our booth. We need our co-op lovers to help keep the co-op growing. How can you help?
MVFC membership keeps growing and growing, we have now have our 52nd member who joined last week during an outreach event at River Valley Charter School.
We were pleased to be invited to speak to a large group of people at the school during an evening event. Great questions were asked by folks who know their food and care about what we do to our planet as we grow food and raise our families. Thank you, River Valley Charter School for allowing us to meet so many caring people.
Are you ready to help the effort as we get ready for our big Fall event?
Save the Date for Savor Haverhill on Sunday, October 22, 2017. Follow the progress here and on Facebook or get involved at the Planning Meetings – the next meeting is Monday, June 5 at 5pm in Haverhill. Email: Suzanne for details about the meeting and what is happening next.
What a whirlwind of an event! MVFC helped with the setup and some event sign painting in the days leading up to the #HaverhillBetterBlock as well as having a terrific group of volunteers work through the day to build our pop up co-op. We had lots of visitors to our store, 43 people signed up for the newsletter and 6 joined the co-op during the event. Yes!
We were grateful for a tarp roof with the rain that poured down from time to time, but nothing dampened the excitement this event brought out in everyone. Our signs were beautifully painted by Jeffrey Morgan, our "departments" were stocked with great product, the "Tasting Corner" was a popular stop for coffee and chocolate provided by Equal Exchange and Cabot Cheese samples.
Our informal survey asking "What is most important to you in a grocery store?" showed that most of our shoppers thought that local food (46%) and low price (35%) were most important while bulk and ready to eat were selected by just 9 and 10% o four "customers" for the day.
Social media was key in promotion and awareness as we added Tweets during planning and developed the #mvfoodcoop with our cool photo booth area.
The sun even made an appearance for for nice photos with our members and a visit by our friends at HC Media.
We met so many people interested in the idea of a co-op and are pleased to welcome those new members. We have a new goal to top 100 members by the Fall. Join us as we Grow the Co-op!
Your wonderful Haverhill Better Block planning committee is so excited that the big event is only one week away, Saturday, May 6th from 11am- 7pm. This is a one day chance to show our community what a co-op can bring to the local economy.
Lots of hours have already gone into planning for a successful event. You know you want to be part of it! We are looking forward to showing you our co-op space for this one day, giving you some free stuff, sharing memories on FB and Instagram, and most important – finding more co-op lovers who will join our co-op.
Are you ready for just a bit more? The planners, builders, and painters are all volunteers. You can be, too! We have to build our space on Friday, May 5th and keep the co-op open all day Saturday, May 6th. It is so easy, just raise your mouse and click or thumb type your way into helping for just a couple of hours. We love our volunteers and will make sure you enjoy your time at the co-op.
Your MVFC board and our wonderful volunteer planners have some exciting news to share. MVFC will be part of the upcoming Haverhill Better Block event. We will have a one day pop-up version of a cooperative grocery store with displays, samples, photo booth activities and of course lots of co-op information to share. We hope many people will come out and experience this event with us.
Haverhill Better Block will take place on Merrimack St in Haverhill on Saturday, May 6, 2017 from 11am- 7pm. There are lots of amazing local vendors getting ready to shine, family activities including bike paths, delicious food and creative arts.
Save the Date of Saturday, May 6th to experience what Merrimack St Haverhill could feel like with lots of new stores and public places. Stop into the Food Co-op to see what could be in the near future when we grow our membership.
Share #mvfoodcoop #haverhillbetterblock #OPositivefest We will see you on May 6th.


text:
package org.jboss.seam.faces.context;

/**
 * A context that lives from Restore View to the next Render Response.
 *
 * @author Lincoln Baxter, III
 */
public interface RenderContext {

    /**
     * Returns true if the current {@link RenderContext} contains no data.
     */
    boolean isEmpty();

    /**
     * Return the current ID of this request's {@link RenderContext}. If the ID has not yet been set as part of a redirect, the
     * ID will be null.
     */
    Integer getId();

    /**
     * Get a key value pair from the {@link RenderContext}.
     */
    Object get(String key);

    /**
     * Put a key value pair into the {@link RenderContext}.
     */
    void put(String key, Object value);

}


text:
Varalphadon es un género extinto de mamíferos metaterios pertenecientes al orden Sparassodonta. Todos los hallazgos están datados en el Cretáceo Superior.

Su posición taxonómica ha sido controvertida; mientras que en Systema Naturae 2000 el género se clasifica sin jerarquizar como perteneciente a la familia Didelphidae, en The Paleobiology Database está clasificado en el orden Didelphimorphia pero fuera de la familia referida. El análisis filogenético llevado a cabo por Carneiro (en prensa, 2017) encuentra que Varalphadon no sería un marsupial propiamente dicho, sino un metaterio basal y un miembro basal del grupo Sparassodonta, tradicionalmente restringido al Cenozoico de América del Sur; este autor identifica en particular que la especie Varalphadon janetae del Cenomaniense y Coniaciense de Utah (Estados Unidos) es el miembro más antiguo conocido de Sparassodonta.

Especies
Se han descrito cuatro especies de Varalphadon, todas ellas norteamericanas.

 Varalphadon creber (Fox, 1971) - Alberta,
 Varalphadon crebreforme (Cifelli, 1990) - Utah,
 Varalphadon janetae (Carneiro, 2018) - Utah,
 Varalphadon waheapensis (Cifelli, 1990) - Utah,

Véase también
 Anexo:Cladograma Ameridelphia

Referencias

 Brands, S.J. (comp.) 1989-2005. Systema Naturae 2000. The Taxonomicon. Universal Taxonomic Services, Ámsterdam, Holanda.
 Cifelli (1990), Cretaceous mammals of southern Utah. I. Marsupials from the Kaiparowits Formation (Judithian). J of Vert Paleont 10(3), p.295-319.
 Clemens & Lillegraven (1986), New Late Cretaceous, North American advanced therian mammals that fit neither the marsupial nor eutherian molds. University of Wyoming Contributions in Geology Special Paper 3, p.55-85.
 McKenna, M.C., y Bell, S.K. (1997), Classification of Mammals Above the Species Level., Columbia University Press, New York. 0-231-11013-8.
 Storer JE (1991), The mammals of the Gryde local fauna, Frenchman Formation (Maastrichtian: Lancian), Saskatchewan. J of Vert Paleont 11, p.350-369.

Enlaces externos

Sparassodonta
Mamíferos del Cretácico
Mamíferos extintos de América del Norte

redpajama_set_name: RedPajamaWikipedia


At the Cesar Chavez Day of Service on Saturday, March 30, Richmond SOL players, parents, coaches, and board members pitched in to beautify the alley behind Portumex, parallel to Calle 23. The day was a big success, with live music, painting, planting, weeding, litter cleanup — and some pretty cool artwork along the fences and walls of the alley. Another highlight of the day was Richmond SOL's fundraising raffle (the first of two this spring). Players have been selling $5 raffle tickets to help keep registration fees more affordable for families. The grand prize winner of the March 30 raffle was Sofia Arteaga, who won the xBox One. If you didn't win a prize, remember you still have more chances to win at our April 27 drawing (see next blog post about the National Park Rx Day community fair). Players, keep up the great work and sell your remaining raffle tickets! Thanks to everyone who continues to support Richmond SOL. You're helping provide Sports-Outreach-Leadership and a quality soccer program for our youth!
Richmond SOL at Cesar Chavez Day of Service!


text:
David Aragao 2014 International Biophysics Congress
Sunday, 3rd August
Monday, 4th August
Tuesday, 5th August
Wednesday, 6th August
Thursday, 7th August
David Aragao
Dr. David Aragão studied organic chemistry at the Universidade Nova de Lisboa (FCT-UNL, Portugal). From early undergraduate days he got interested in structural biology having spend time in international laboratories like the EMBL, Grenoble, France and University of Georgia, Athens, USA. After graduating in chemistry David worked for a 2-year period as a research assistant in Protein Crystallography with particular emphasis on metalloproteins (2000-2001). From here he then followed to a joined Ph.D between the European Synchrotron Radiation Facility (ESRF, France) and the Instituto de Tecnologia Química e Biológica (ITQB-UNL, Portugal) where the metalloproteins research path was expanded to enzymes involved in bacterial biofilm formation. In 2008 he moved to Ireland, under Prof. Martin Caffrey's supervision, as a NHI funded Postdoctoral Research Fellow (University of Limerick) and later successfully obtaining a prestigious IEF Marie Curie Fellowship to work at Trinity College Dublin. During this period he specialized in the membrane protein field working in diverse important targets from GPCRs, membrane metalloproteins and several P. aeruginosa membrane proteins involved in biofilm, membrane kinetics, ABC-transporters and others. In 2011 he joined the Australian Synchrotron for a two year period as a beamline postdoc and after a brief stunt jointly appointed by the Australian Synchrotron and Victor Chang Cardiac Research Institute he became a Beamline Scientist the Australian Synchrotron. His current research interests lie in field of membrane structural biology namely membrane metalloproteins, ABC- transporters, ATP synthases but also crystallography and beamline method developments related to micron-beams, lipid cubic phase, multi-crystal data merging just to name a few.
Abstracts this author is presenting:
Crystal structure determination of the integral membrane diacylglycerol kinase — S6. Receptors and signalling


text:
Travel & Books
Indian subcontinent tops passenger growth at Dubai airport
The Indian Subcontinent Outperformed All Regions In Terms Of Growth In Passenger Numbers At Dubai International Airport, The World's Busiest Airport For International Travel, With More Than 16 Lakh Passengers.
PTI | Updated on: 14 Jun 2016, 04:03:00 PM
The Indian subcontinent outperformed all regions in terms of growth in passenger numbers at Dubai International Airport, the world's busiest airport for international travel, with more than 16 lakh passengers.
The airport welcomed more than 6.9 million passengers in April, according to the monthly traffic report issued by operator Dubai airports yesterday.
With 1,644,045 passengers, the Indian subcontinent was on top in terms of growth in passenger numbers at Dubai International Airport. It was followed by the Western Europe with 1,533,558 and the Gulf Cooperation Council—Bahrain, Kuwait, Oman, Qatar, Saudi Arabia, and the UAE—with 1,252,282 passengers.
Total aircraft movements reached 34,733 in April, up 4.3 per cent compared to 33,279 during the corresponding month last year. Passenger numbers reached 6,978,268 in April, up 7.2 per cent from the 6,510,653 people who visited the airport in April last year.
During the first four months this year, the airport welcomed 27,926,958 passengers compared to 26,116,977 people during the same period last year, an increase of 6.9 per cent.
In terms of percentage growth, Eastern Europe topped the list during April with routes to the region growing 12.6 per cent, followed by Asia with 12.1 per cent and the GCC with 10.3 per cent.
In the first four months of the year, total aircraft movements rose 5.4 per cent to 139,079 compared to 132.005 movements during the same period in 2015.
The average number of passengers per movement was 210 during April. The airport recorded freight volumes totalling 213,790 in April compared to 204,075 in the same month last year, an increase of 4.8 per cent. Year to date cargo totalled 828,934 tons, up 3.8 per cent compared to 798,770 tons handled during the first four months in 2015.
"We will be launching a public awareness campaign to encourage passengers to follow our travel tips and show up early to the airport to enjoy all that we have on offer before boarding their flights," said Paul Griffiths, CEO of Dubai airports.
For all the Latest Lifestyle News, Travel & Books News, Download News Nation Android and iOS Mobile Apps.
First Published : 14 Jun 2016, 04:00:00 PM
Indian Subcontinent Growth In Passenger Numbers Dubai International Airport


Allot has changed in the LWUIT Designer in the last few months, the changes might not be immediately obvious in the new drop at first glance but those who have been using the tool for quite a while should look forward to one of the strongest releases yet.
A public beta of the LWUIT Designer now be tested via Java Web Start by clicking here, we intend to update the JWS version more regularly than we do the LWUIT released in the future. This in itself is a huge improvement since it will allow the LWUIT designer to track current LWUIT development closely.
So what is new? Too much to mention but I'll try to give out some highlights.
We now have a new resource file format (which is documented within our drops docs directory), this will require modification to existing resource files and recreation of fonts however the benefits are huge!
Export to Ant script - includes generating the files representing the entries within the resource file. This was often requested, however impossible with the previous file format.
When adding images to the resource editor they won't be reencoded as PNG anymore, this will allow you to shrink your images with existing tools or even use JPEG's.
A major animation bug was fixed, this should now reduce the size of animated GIF's considerably (they should be added again to see the difference).
The Selected/Unselected/Pressed styles allow simplified and far more powerful themeing of LWUIT code.
Gradient background support allows for very powerful UI's without much overhead.
Memory overhead estimate provides some ballpark figure regarding the amount of RAM a given theme should occupy for the current screen.
Fonts are now far more elaborate and easier to manipulate. They should work better on additional platforms as well and you can disable bitmap fonts on a specific platform by using a boolean flag in Font.
Image alignment and background type behavior allow further background customization.
For the next drop we plan to add SVG support that will allow keeping a bitmap fallback for every image thus provide full portability for devices with weak/problematic SVG support with a single binary.
where can I download the drop that include this improvements?
How is the perspective to include this great tool in NetBeans ?
Looking forward to get the new code drop!
I've been using LWUIT since it's "birth" and I believe that without it I would already given up on JME!
So thank you for your progressive and tireless effort to make this toolkit better!
I would only like for better documentation(I know how hard this can be), examples of rich UI's (like themes that mimic iPhone UI, maybe with 9-slice borders or so), and lastly to see the Matisse Editor launched as an integrated part of NB or as a plugin.
You won't find those JAR files easily, since i've been in that path before. What you can do is compile the JAR's yourself. The source code is at https://meapplicationdevelopers.dev.java.net/source/browse/meapplicationdevelopers/demobox/ where you have various examples, demos and libraries.
If you need any help...send me a mail!


text:
Hamemelis virginiana
From the Greek hama, at the same time and melis, fruit
Common Names: Winterbloom, Snapping Hazelnut, Spotted Alder
Witch Hazel is a very useful herb as well as a decorative landscape plant. It is native to North America, growing in rich woods and along streams – ranging from Maine south to Florida, and west to the Plains. This bush or small tree generally has several stems arising from one root, and grows about 10 – 15' in height. The smooth bark is light brown to grey in color, with light colored circular spots. The leaves are large and ovoid, with wavy edges. One of witch hazel's special attributes is that it flowers in the fall, creating a colorful counterpoint to the denuded landscape. The flowers, with yellow, strap-like petals, often bloom after the plant has dropped its leaves, anytime from September through November.
Another species, Hamemelis vernalis, with distinctive orange-red blossoms, is native to the Ozarks and flowers there the end of December. If grown in the north, vernal witch hazel will bloom early in the spring. Two other note-worthy witch hazels are H. mollis (Chinese), with bright, highly fragrant flowers and H. japonica (Japanese), sporting greenish-yellow flowers. There are other cultivars with new, improved blooms, such as "Arnold's Promise" a cross between H. mollis and H. japonica.
The witch hazel nuts ripen simultaneously as the flowers appear, thus earning the name "Hamemelis" or fruit at the same time. Shiny black seeds are contained in a hard, round seed capsule which splits open when mature. If disturbed by strong wind or animals when ripe, the seeds can be flung from the capsule with a loud, popping sound as far as 20-30 feet. This unique feature most likely gave rise to the common name "Snapping Hazelnut" and may also be why the plant has been associated with the "dark side" and witches. Forked branches of witch hazel have often been used by dowsers in search of water or precious metals, and even to seek out witches. However, the old English word "wych", meaning pliable branches, may be the actual source of the derivation "witch" as early settlers found the branches of Hamemelis to be well-suited to the task of dowsing.
The first settlers learned about witch hazel from the Native Americans, who had used witch hazel as a medicinal plant for many different purposes, such as inflammations, dysentery, skin sores, colds and coughs. The Iroquois made a tea-like beverage from the dried leaves, sweetening it with maple syrup. The Potawatomi used it for sore muscles, making an infusion of the twigs, and then dropping hot stones in the water to create steam – a native "sauna". In the 1840's, Theron T. Pond of Utica, NY spent time learning of the Oneida Indians usage of the plant. He created a preparation called "Golden Treasure" in 1848, and this distilled extract is today produced in CT. by Dickinson's and the American Distilling and Manufacturing Co. It is noteworthy in that it is one of a handful of commercial medicines prepared from a wild, American plant.
Interestingly enough, despite witch hazel's long history and many uses, there is no agreement in the medical community as to its effectiveness. It is astringent, tonic and sedative. Due to its tannin content, it has been used a first aid for minor burns and scalds, and to soothe both sunburn and insect bites. Its astringency makes it an excellent skin refresher, and helps with minor skin blemishes, bags under the eyes, and is an ingredient in many hemorrhoid preparations. The late Euell Gibbons called it "the epitome of herbal remedy" due to the fact that it is mild and gentle, and generally safe.
An enterprising person could make the distilled extract, but it would be very time-consuming and more costly than purchasing a bottle. I've always had a bottle in the house, as my mother and her mother did. It's nice to know that an herbal preparation that is so useful is still available and manufactured here in New England today.
Landscaping with Herbs James Adams
The Herb Bible Jennie Harding
Stalking the Healthful Herbs Euell Gibbons
The Herbalist Joseph E. Meyer
Earthmagic Corinne Martin
Herbal Renaissance Steven Foster
The Herbal Grove Mary Forsell
http://www.stevenfoster.com/education/index.html


Welcome to Kaiser Permanente and my Web page! I am happy to have this opportunity to introduce myself to you, because I feel it is important for you to get to know the specialist caring for your children.
I am a native of California, having grown up in the San Francisco Bay Area. I went to college at UC Davis where I was a Wildlife and Fisheries major. I attended medical school at UC San Diego, then did my general surgery internship at Oregon Health Sciences University in Portland before returning to UC San Diego to complete my urology residency. During residency I met my husband, who has been wonderfully supportive as I have gone through over 10 years of training, including 2 years of pediatric urology training in Wilmington, Delaware. We are both very happy to be back in warm, sunny Southern California!
As a pediatric urologist, I am both a surgeon and a clinician. I am Board Certified in Urology and Pediatric Urology but my practice is exclusively Pediatric Urology. I love my job because it really allows me to make a positive difference in the lives of children born with genitourinary birth defects. I know it is scary for parents to hear that their child needs surgery. That is why I take a lot of time with my patients and their families to thoroughly explain the problem and the proposed operation, because I believe that being well informed helps decrease their anxiety.
I get up around 4:30 am and workout with the rowing machine and weights. Whenever possible, I try to get up to the Golf course in the evening to hit a bucket of balls or practice my putting. I try to get out to play a round of golf on the weekends whenever possible. I mostly enjoy spending some quality time with my husband.


If enough people repeat an opinion often enough, it mutates into a credible theory. If enough people continue to endorse the theory, it becomes an axiom. And so, our brains go lazy and dull and we cease to question the assumptions and logic behind it.
We have an ageing population. This is a problem. Everyone knows this. No need to delve deeper. But what if I were to tell you that a very simple shift in perspective can flip the issue on its head?
Beautiful, aren't they? I must admit the first time I saw a paper sky lantern I was enchanted – like ghosts lifting up, escaping the ground, I thought… They give a sense of the most elegant ritual, turning any outdoor space into a cathedral.
Until recent years, I never gave too much of a thought to what happens when they land. Like so many other things, its a matter of 'out of sight, out of mind'. Particularly as many of the lanterns available now are made from bamboo and other biodegradable materials. Its easy to convince yourself that its FINE if its biodegradable – what harm can it do?


text:
Q: Send data from C Parent to Python Child and back using a Pipe So I am trying to send a string from my C parent process to my python child process over a Pipe created by the parent. After that, I want to send back a string from my python child back to the parent and print it there.
This is my C-Code:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>
#include <sys/types.h>

int main(int argc, char **argv, char **envp) {
    pid_t childpid;
    int status;
    int test;
    char *argument;
    int fd[2];
    char *numbers = "3,5,7\n";

    argument = "./fork.py";
    char *python[] = {argument, NULL};

    test = 0;

    pipe(fd); //Create pipe

    childpid = fork();

    if (childpid==(-1) ) {
        perror( "fork" );
        return -1;
    } else if (childpid==0) {
        //in child
        execvp(argument, python);
    }

    //in parent
    write(fd[1], numbers, sizeof(numbers));
    close(fd[1]);

    waitpid(-1, &status, 0); //Wait for childprocess to finish
    char buffer[1024];

    while (read(fd[0], buffer, sizeof(buffer)) != 0) {} //Read pipe to buffer

    if (test < 0) { //If failed print error message or success message
        printf("Error: %s\n", buffer);
    } else {
        printf("%s\n", buffer);
    }

    return 0;
}

This is my Python Code(fork.py):

#!/usr/bin/env python3
import os
import sys

def main():
    r, w = os.pipe()
    os.read(r, 12)
    os.close(r)
    os.write(w, "This is a test")
    os.close(w)
    sys.exit(0)

if __name__ == '__main__':
    main()

What am I doing wrong since the pipe should be forked and therefore accessible by the child? It seems like there is no data passed to the pipe or the python process can't access the pipe somehow to retrieve the data. And yes it has to be a pipe.

A: You are generating a new pair of pipe-handles in python. You have to use the same handles you created in C.
Create one pair for communicating from C to python, and another for the communication from Python to C:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>
#include <sys/types.h>

int main(int argc, char **argv, char **envp) {
    pid_t childpid;
    int status;
    int test;
    int fd_a[2], fd_b[2];
    char *numbers = "3,5,7\n";

    test = 0;

    pipe(fd_a); //Create pipe
    pipe(fd_b);
    childpid = fork();

    if (childpid==(-1) ) {
        perror( "fork" );
        return -1;
    } else if (childpid==0) {
        //in child
        char *argument = "./fork.py";
        char fd0[20], fd1[20];
        snprintf(fd0, 20, "%d", fd_a[0]);
        snprintf(fd1, 20, "%d", fd_b[1]);
        close(fd_a[1]);
        close(fd_b[0]);
        char *python[] = {argument, fd0, fd1, NULL};
        execvp(argument, python);
    }
    close(fd_a[0]);
    close(fd_b[1]);

    //in parent
    write(fd_a[1], numbers, sizeof(numbers));
    close(fd_a[1]);

    waitpid(-1, &status, 0); //Wait for childprocess to finish
    char buffer[1024];

    while (read(fd_b[0], buffer, sizeof(buffer)) != 0) {} //Read pipe to buffer

    if (test < 0) { //If failed print error message or success message
        printf("Error: %s\n", buffer);
    } else {
        printf("%s\n", buffer);
    }

    return 0;
}

Taking the arguments in python and use these as handles:
#!/usr/bin/env python3
import os
import sys

def main():
    r, w = map(int, sys.argv[1:])
    os.read(r, 12)
    os.close(r)
    os.write(w, b"This is a test")
    os.close(w)
    sys.exit(0)

if __name__ == '__main__':
    main()

redpajama_set_name: RedPajamaStackExchange


text:
WysokieNapiecie.pl in english
What will Poland's 2030 renewables target look like?
Bartłomiej Derski
Despite the provisions on the key share of lignite and hard coal in the energy mix, Poland will continue to increase the share of renewables also after 2020. To what extent – that is yet to be determined as haggling over the exact target share of renewables is still underway. Below, we present concepts that have been discussed by the governmental teams as well as the forecasts commissioned by the Economy Ministry.
Poland's government has decided that the share of energy from renewable sources in the end consumption (of electricity, heat and fuels) will have to grow also after 2020, a direction previously opposed by the cabinet led by Donald Tusk (which, in turn, was against Poland's current Energy Policy until 2030). The factor that tipped the scales in favor of this new approach was the adoption of the EU climate and energy package for 2021-2030 where the EU set a renewables target for the whole block at 27% by end-2030.
Also on WysokieNapiecie.pl: Polish RES auctions only in 2016-2018?
{norelated}The EU member states are to submit to the European Commission the information on their contributions to the realization of the joint target. Based on these forecasts, the EC will calculate whether the proposed contributions will suffice, or if it should ask that certain states step up their efforts.
What will Poland's proposal look like? According to the information of energy legislation information service Obserwator Legislacji Energetycznej, Poland will pledge a renewables share of at least 20% in gross end-consumption of energy (as compared to the Polish target by 2020 of 15%). But at the Economy Ministry some voices can be heard calling for a greater engagement in the green energy – there has even been a proposal to set the target share by 2030 at 27%. Still, this would eliminate a substantial quantity of coal from consumption and hence enforce more coal mine closures in the coal industry region Silesia, an option unacceptable to either the ministry, or the government.
At the inter-ministerial team for energy policy, perplexity arose at the mere comparison illustrating that a renewables share increase to 22% would be tantamount to eliminating a power plant of the size of the Belchatow facility – and would take a toll also on the results of state-run power companies.
Nevertheless, the ministry took a flexible approach concerning the issue. For the purposes of "fuel and energy needs forecast until 2050" commissioned by the ministry from the Polish National Energy Conservation Agency (KAPE), the ministry officials set only a lower limit of 20% renewables share. According to our information, the same assumption was adopted for the purposes of this forecast revision currently prepared by think-tank WISE (both analyses are based on the same engine of WISE).
The results may come as a surprise: the KAPE forecast shows an increase in renewables share in electricity production from the currently planned 19.3% in 2020 (30 TWh/year) to 25% in 2030 (nearly 52 TWh/year) and to nearly 33% by 2050 (over 73 TWh/year).
Still, one should not hope for any significant changes as a result of the revision of the forecast for the Polish energy policy PEP 2050, an insider working on the forecast tells us. The Economy Ministry will thus probably end up with a similar energy mix. According to our findings, the ministry might yet adjust it, but the changes are unlikely to be significant.
Also on WysokieNapiecie.pl: President Duda – little promise of change for energy policy lines
As a result, the share of renewable energy will exceed that of lignite-based power as soon as by the end of the next decade. And in 2050, it will almost catch up with hard coal-based energy.
Read more: Is Polish coal doomed to extinction?
Opposing climate policy, defending coal industry employees and diversifying natural gas supplies – these are political declarations of Poland's president-elect. Then there are also the declarations of Duda'a party PiS to consider: tilting at windmills, poor support for Poland's nuclear power plant and for prosumer energy sector. The new president stands for the continuation along the lines of energy policy of PO-PSL government.
Justyna Piszczatowska
I know that changes in Poland will be painful in the short term, but it's better to prepare the ground for them already. It's important to learn from other countries' experiences - says Philip Garner, Director General of Coal Pro, the confederation of UK coal producers in an interview on what went wrong in the UK's coal mining sector and what can happen in Poland.
The Ministry of Economy of the Republic of Poland estimates that renewable energy auctions will take place only in the period between year 2016 and 2018. Investors can expect energy sales at 320-470 PLN per MWh. But the auctions may not be organized for everyone - according to information obtained by the Energy Legislation Observer of the WysokieNapiecie.pl website.
Solar Microinverter For Balcony Solar System In Germany` Since the beginning of winter in 2022, affected by the war in Russia and Ukraine, the problem of energy shortage in Europe has gradually emerged, and solar energy has become a hot energy source.
Driving 1,000 Miles Home In The Kona Electric` What's the longest you have driven in one go? How about in an electric car? Our team hit their record distance returning from the Balkan experience during our annual EV quest across Europe. Not that they planned it that way, but in the end, it was a thrilling adventure. We left off when the Kona Electric arrived in Dubrovnik, the Croatian jewel with its magnificent city walls (plan a walk along them, but not at noon in the summer).
From Transylvania To Istanbul In A Hyundai Kona Electric` Our crew of EV journeymen from Poland have gone to the far north, to the farthest point west in Europe, and to the farthest point south in Europe on EV journeys — in a Nissan LEAF, a Porsche Taycan, and a Volkswagen ID.4. This year, they are going to Europe's most eastern point (not counting Russia, for obvious reasons) in a Hyundai Kona EV. The guys from WysokieNapięcie.pl have much to tell us since their Day 1 trip to the home of Dracula. Let's jump into Day 2.


text:
Draft-dodger Trump wants a military send-off to mark the end of his failed presidency
Posted by Stephen D. Foster Jr. | Jan 16, 2021 | Military, Trump | 0 |
In one final insult to our nation's armed forces, disgraced outgoing President Donald Trump wants a military send-off the morning of Inauguration Day before he leaves office.
On Tuesday, Trump's term in office will officially come to a merciful end after a four year nightmare that has nearly crippled the country. The coronavirus pandemic has killed nearly 400,000 Americans and will continue killing hundreds of thousands more even after Trump leaves office because of his incompetence. The economy is in shambles. And it's all capped off with a failed insurrection at the Capitol that Trump himself instigated in a scheme to stay in power and overthrow democracy.
The last thing Trump should get is military honors the day the door hits him on the a** on the way out of Washington DC, but that's what he is orchestrating in his final hours as president.
According to ABC News:
Trump has requested a large sendoff to be planned for the morning of Jan. 20, sources said, after he choppers via Marine One to Joint Base Andrews, where he is expected to give remarks to supporters and departing members of his administration.
Sources add that Trump has requested his departure ceremony to have a "military-like feel," although details are not finalized.
He hopes to depart to the blare of a military band, with a red carpet and military honors, according to sources briefed on the plans. Even some sort of military flyover has been suggested, they said.
The president will then fly down to Mar-a-Lago aboard Air Force One with a small number of staffers who will be part of his post-presidency operation, the sources said.
It should also be pointed out that Trump is cutting and running from DC prior to President-Elect Joe Biden taking office so he doesn't have to ask permission to use Air Force One to depart, another act of pettiness that brings shame to himself and the Republican Party. He does know that Air Force One is not his to keep, right? Because Trump is already looting things from the White House that aren't his to keep.
This is one request that the military should deny. It's a waste of taxpayer dollars just so Trump can pretend he's an exiled dictator instead of a loser one-term president. A five-time draft dodger who referred to fallen soldiers as "losers" and "suckers" should not receive military honors, especially since he is a traitor who instigated an attempted coup and has been impeached twice. The military would be better off refusing to grant Trump's request lest their reputation fall even further than it already has over the last four years under Trump. The military has been used like a willing pawn in Trump's fantasies of being a dictator. It should never have started in the first place and it should be stopped now.
Trump is a coward, and granting this request only proves that our military leadership are a bunch of cowards, too. They can prove otherwise by telling Trump that he won't getting one last shot to boost his frail ego.
PreviousTwitter takes Melania to the woodshed for bragging about 'Be Best' in wake of Capitol insurrection
NextMyPillow CEO Mike Lindell visits Trump with notes calling for 'martial law if necessary'
Steve Bannon is finally indicted for contempt of Congress, arrest warrant issued
Trump overruled health officials who wanted to warn seniors about coronavirus
Legal experts pour cold water on idea that Trump can assert executive privilege to stop 1/6 Committee
Social media explodes after Mar-a-Lago is partially shut down for COVID outbreak


text:
Conocybe antipus är en svampart som först beskrevs av Wilhelm Gottfried Lasch, och fick sitt nu gällande namn av Victor Fayod 1889. Conocybe antipus ingår i släktet Conocybe och familjen Bolbitiaceae.  Artens status i Sverige är: Ej påträffad. Inga underarter finns listade i Catalogue of Life.

Källor

Basidiesvampar
antipus


This program plays songs in the specified folder randomly. The program starts in the My Music folder but the user can navigate to a different folder of their choosing. The user can pause/resume the song as well as navigate to the next or previous song on the playlist. The user can also rerandomize the playlist by pressing the play button again. The program also allows the user to find out details about the album the currently playing song appears on (this requires internet access).


The Voice Bulgaria (Bulgaria) - Live Stream | FirstOne TV - Watch TV when and where you want!
With one team member remaining for each coach, the final 4 contestants compete against each other in the finale with the outcome decided solely by public vote.
Thu, 09 Aug Truth-seeking scientists run for office "Scientists are not natural politicians Rositsa Ruseva, co-author of this article. Her songs are a source of national pride for Bulgarians. Each judge has the length of the auditioner's performance about one minute to decide if he or she wants that singer on his or her team; if two or more judges want the same singer as happens frequentlythe singer has the final choice of coach.
There's a dating apps jake and amir in Sweden over their reliability after women reported unwanted pregnancies.
The voice of our most famous folk singer is included on the Golden Record sent with the Voyager 1 and 2 into space in and is now travelling beyond our solar system. She sings with the same love and happiness in her own village neighborhood and in the biggest capitals of the world.
Brazilian World Cup winner in hospital with pneumonia Brazil World Cup winner Ronaldo is in hospital in Ibiza suffering with pneumonia, the voice bulgaria online dating been taken ill on Friday. This is a wonderful instrument from our folk tradition. In some way, it's our national musical treasure and brings tears to our eyes.
Heroes and villains of Nigeria's parliament siege Scenes reassembling a coup Nigeria have left many scratching their heads. Cat care into the bargain A Greek cat sanctuary - complete with 55 felines - is looking for a new employee.
She is accompanied by music from a goat-skin bagbipe called 'gaida' in Bulgarian.
Valya was born in in the village of Arda, not far from the city of Smolyan in the Rhodope Mountains. Do pregnancy prevention apps work? Wed, 08 Aug Within that first live round, the surviving four acts from each team again compete head-to-head, with public votes determining one of two acts from each team that will advance to the final eight, while the coach chooses which of the remaining three acts comprises the other performer remaining on the team.
In the final phase, the remaining contestants Final 24 compete against each other in live broadcasts. Fri, 10 Aug Public Domain Valya Balkanska is the cosmic voice of Bulgaria. Format[ edit ] The series consists of three phases: Valya Balkanska is the cosmic voice of Bulgaria.
Sun, 12 Aug Mon, 13 Aug In the second stage, called the battle phase, coaches have two of their team members battle against each other directly by singing the same song together, with the coach choosing which team member to advance from each of four individual "battles" into the first live round.
The test is about the struggle of the Bulgarians to be free. It was chosen as the most impressive and beautiful traditional song of Bulgaria from the Ottoman period to be included among the songs on the Golden Record.
We love this song a lot. White nationalists outnumbered at Washington rally About 20 white nationalists attended the rally in Washington, a year after violence in Charlottesville. This song is a great source of national pride for Bulgarians. This is near the place where the singer Orpheus is supposed to have been born.
Each team of singers is mentored and developed by its respective coach. World Architecture Festival shortlist A research centre in Riyadh, a village lounge in rural China and a mosque without a minaret in Iran are among the projects shortlisted in the World Architecture Festival Awards Desislava Dragomirova, co-author of this article.
Arms depot blast in Syria's Idlib province kills 39 - monitor Dozens of people are still missing after the blast in rebel-held Idlib, reports say.
Portugal's lingering influence in Zanzibar A festival in Pemba reveals cultural influences dating back to the 16th Century. Nasa launches mission to 'touch the Sun' The US space agency launches a probe that aims to travel closer to the Sun than ever before.
Bulgarian folk music is very special and famous in Europe and around the world. Five countries sign deal to end dispute Five countries agree to share the resource-rich Caspian Sea after more than two decades of dispute.


text:
Dazzling Trifid Nebula Glows in an Ocean of Stars (Photo)
By Miguel Claro 21 January 2018
The colorful Trifid Nebula is immersed in an ocean of stars in this deep-sky view captured by astrophotographer Miguel Claro from Noudar Park, Barrancos, in the Dark Sky Alqueva Reserve, Portugal.
(Image: © Miguel Claro)
Miguel Claro is a Lisbon, Portugal-based professional photographer, author and science communicator who creates spectacular images of the night sky. As a European Southern Observatory photo ambassador, a member of the international astrophotography project The World At Night and the official astrophotographer of the Dark Sky Alqueva Reserve, he specializes in astronomical "skyscapes" that connect Earth and the night sky. Join him here as he takes us through his photograph "The Trifid Nebula Between a Colorful Ocean of Stars."
The magnificent Trifid Nebula, also known NGC 6514, is a bright cloud of cosmic dust and gas that serves as a stellar nursery for newborn stars.
It lies about 5,000 light-years away from Earth in the nebula-rich constellation of Sagittarius the Archer. It was discovered in 1764 by the French astronomer Charles Messier, who originally cataloged it as Messier 20, or M20. Its nickname comes from the Latin word "trifid," meaning "divided into three lobes," as dark, obscuring dust lanes appear to carve out three sections, just like a "peace" sign.
This colorful nebula shares a crowded star field with the open star cluster Messier 21, which can be seen at the top right of this beautiful deep-sky scene immersed in a colorful ocean of stars. Estimates of the distances to both objects are about the same, but besides the gorgeous skyscape scene that these two entities share, there is no apparent connection between them. [50 Fabulous Deep-Space Nebula Photos]
Trifid does illustrate three different types of astronomical nebulas: a red emission nebula dominated by light from hydrogen atoms (the lower, red-violet portion), a blue nebulaproduced by dust reflecting starlight (the upper, blue portion), and dark nebulas that form the three prominent dust lanes, which are collectively known as Barnard 85.
The entire Trifid Nebula spans about 40 light-years across and is a mere 300,000 years old. It is a star-forming region in the Scutum spiral arm of the Milky Way, and is one of the youngest star-forming regions in our sky with newborn and embryonic stars embedded in its natal dust and gas clouds. A hot young star in the center illuminates the surrounding clouds.
To capture this image of the Trifid Nebula, I used a Takahashi FSQ-106ED refractor telescope with an Extender-Q 1.6x and an EM-200 auto-guided mount with a Nikon D810a DSLR astrophotography camera, set to DX format (1.5x). The camera was programmed to shoot with an ISO setting of 2500 and an exposure time of 240 seconds. The final composite combines 13 frames with a combined exposure time of 52 minutes. Image processing was completed with PixInsight 1.8 and Adobe Photoshop CS6.
The image was taken from Noudar Park, Barrancos, in the Dark Sky Alqueva Reserve, Portugal.
To see more of Claro's amazing astrophotography, visit his website: miguelclaro.com. Follow us @Spacedotcom, Facebook and Google+. Original article on Space.com.


2004 e83 m54 inpa trouble - BMW forum. Diagnostics, coding, programming, repair BMW vehicles.
I have been trying to get inpa working on my x3 for a few days now. I am using one of the k+dcan cables. The battery light is black, and the ignition light turns black when the ignition is turned on. if I hit sift+f2, which is labeled e83, none of the functions under there work for any of the submenus. If I hit shift+f6, which is labeled engine, I can communicate with the motor. Does anyone have an idea as to what the problem is? I would assume that the cable is functioning properly as I can pull data from the motor.


text:
Derek Klobucher
Posted on August 14, 2017 4 minute read
3 Big Trends to Help You Better Personalize Your Products
1 Like 337 Views 0 Comments
Two disruptive changes affecting manufacturers are speed in the supply chain and personalization of products, according to Hans Thalbauer, SAP's senior vice president, IoT & Digital Supply Chain, SAP Leonardo. Mastering them both will be critical to business success, but organizations can't go it alone.
One big trend in product personalization is distributed manufacturing, which involves producing goods as close as possible to the end customer.
"We need to be able to deliver within one hour, maybe even within 30 minutes … [so] I need to have a very clear understanding of the demand picture," Thalbauer said at SAP Leonardo Live. "It's not only statistical forecasting; I use machine learning in the supply chain, [and] I use predictive analytics."
The rise of demand-driven supply networks is forcing organizations to think differently about their processes — using all kinds of data from across an expanding network — in order to more quickly meet increasingly specific customer demands. Thalbauer predicts that the personalization of products will force organizations to contend with three major trends in manufacturing:
Moving from outsourcing to distributed manufacturing
Shifting from mass production to mass customization
1. Distributed Manufacturing
"We are not talking about outsourcing anymore," Thalbauer said. "We are talking about distributed manufacturing, [which] means I produce as close as possible to the end customer."
3D printing, or additive manufacturing (AM), is a good way to achieve distributed manufacturing for industries — as well as Hollywood and university theatre — because it can quickly produce architecturally complex items of varying scale, all with dramatically reduced risk of injury. And it's on the rise, as evidenced by Belgian AM pioneer Materialise NV reporting Tuesday a surge in 3D printing for end part manufacturing.
"Different from traditional manufacturing methods like CNC machining, which removes material from a solid block using rotating tools or cutters, 3D printing is a rapid production method with minimal waste material," The Engineer stated Thursday. "Its design flexibility means users can manufacture bespoke objects for a low cost."
Another manufacturing trend is mass customization (a.k.a. mass configuration), which offers the flexibility and personalization of custom goods and services — at high-volume/mass-produced prices.
2. Mass Customization
The next trend is mass customization (a.k.a. mass configuration), which offers the flexibility and personalization of custom goods and services — at high-volume/mass-produced prices. Look for intelligent manufacturing cells — as opposed to assembly lines — in consumer industries and pretty much everywhere else, according to SAP's Thalbauer.
"Manufacturing is dramatically changing into a very, very flexible environment," Thalbauer said. "We need to have an automation like never before in order to be fast — and also to be flexible in delivering the demands from the customers."
On-demand retailers can produce custom-made shoes within days an internet order — at a comparable price to their off-the-shelf competitors. And subscription box companies tailor each of their crates to individual consumers. But mass customization could soon move beyond what even customers think they want.
"For example, Google and Ivyrevel's Data Dress … uses an app to track a user's activities, lifestyle and environment to create a custom dress," Maya Mikhailov, co-founder of mobile marketing firm GPShopper, said on CNBC last month. "It is the beginning of a concept where mass customization would no longer even need user inputs, but instead make product suggestions for what the consumer needs based on tracked activity."
3. Building a Network
"We need to intelligently connect the things with the people and the processes," SAP's Thalbauer said. "From the equipment manufacturer to the logistics service providers, all of these partners need to be connected in one network … in order to really achieve a much more efficient supply chain."
A single network can increase efficiency and lower costs, as with the recent calls by Australia's container transport for an integrated supply chain network that better links sea, rail and other methods for moving goods. And Alibaba just established a network of small- and medium-sized U.S. suppliers; this gives the Chinese e-commerce company reliable partners, while suppliers gain access to more customers.
"From the equipment manufacturer to the logistics service providers, all of these partners need to be connected in one network … in order to really achieve a much more efficient supply chain," SAP's Hans Thalbauer said at SAP Leonardo Live.
"You have a system of record with SAP S/4HANA, which is really focusing on the operation … and you have a network with SAP Ariba," Thalbauer said. "Finally you add SAP Leonardo to it, and then you have a picture that allows you to be highly innovative and really drive the system."
It Takes A Village …
It's a big world of part manufacturers, and not all of them can do the right thing with a client's CAD file — so online networks help the right parties find each other. And a new community built in part on the SAP Cloud Platform has helped build "a new open space for digital innovation in supply chain planning," according to Josef Packowski, CEO of longtime SAP partner CAMELOT Management Consultants AG.
"Customers are already reporting great results," such as reducing inventory by 50 percent, and slashing lead times by 80 percent, Packowski said at SAP Leonardo Live. "This is, from my point of view, the biggest move we've seen in the last 20 years of co-innovation together."
Follow Derek on Twitter: @DKlobucher
More From Business Trends:
How to Find — And Solve — The Right Business Problems
Why Corporate Social Responsibility Could Be Your Next Strategic Priority
How Upgrading Your Digital Mindset Offers Big Benefits


Before he played Walter White on Breaking Bad, Bryan Cranston had a number of smaller television roles. But while most of his fans know he was on Malcolm in the Middle and Seinfeld, one show that apparently everyone missed out on was Canyon Confessions — a 2003 drama, a totally fake show about two base jumpers who confess things to each other in midair.
Luckily, during Monday's episode of The Tonight Show, Jimmy Fallon — who co-starred on the program — decided to air a few choice clips from its glory days. "I can't believe it got cancelled," Fallon lamented.
"I can't believe it was picked up," Cranston responded.
Watch the full video of the pair confessing their secrets while in freefall above.


text:
Q: Solr:Sorting on multiple fileds, one of them is date I'm trying to search in solr and the results have to be sorted first on date and then on name field. I'm able to get the expected result because the date is in this format: 2012-09-07T13:31:35Z.
The query goes like this:
sort=date+desc,name+desc

I don't want the sorting to be done on time also.

A: You can use function on date e.g. in your case
sort=floor(div(ms(date),86400000))+desc,name+desc

Do note that this requires dynamicField for wildcard not set to be ignored i.e. following line should not be present in schema.xml , and if it is then you will need to comment it out or use some numeric type before you can sort as above
<dynamicField name="*" type="ignored" multiValued="true" />

A: Another option would also to store only the date part as a numeric representation (i.e. time stamp, seconds from some date in the past until the document's date at 12am).
If u follow common standards on timestamps, should be fairly easy to maintain, query and transform from timestamp to date and vice versa.


text:
Home » Indian boxers continue their ruthless run at AIBA Youth Men's and Women's World Championships, Alfiya Pathan in action today
Published On : Mon, Apr 19th, 2021
Sports News | By Nagpur Today
Indian boxers continue their ruthless run at AIBA Youth Men's and Women's World Championships, Alfiya Pathan in action today
Nagpur: Extending splendid run, Indian boxers put up phenomenal performance on yet another glorious day at the AIBA Youth Men's and Women's World Boxing Championships after as many as country's five pugilists made their way into the quarter-finals on the fifth day of the competition in Kielce, Poland.
Asian Junior champion Biswamitra Chongtham led Indian pugilists' onslaught in the men's section as he outclassed Khosroshahi Parvizi 5-0 to enter 49-kg quarter-finals.
Manipuri pugilist Biswamitra, who was impressive in the trials where he shocked Khelo India gold medallist, looked in complete control against the Irish boxer as he carried on with the momentum before finishing the bout in his favour.
Besides Biswamitra, Ankit Narwal also secured a place in the last-8 alongside Uttar Pradesh boxer Vishal Gupta (91-kg) and Sachin (56-kg), who hails from Bhiwani, Haryana.
Asian Youth silver medallist Haryana's Ankit thrashed Polish boxer Oliwier Zamojski with a 4-1 split decision in the men's 64-kg category.
However, Vishal and Sachin comfortably registered identical 5-0 victories against Croatia's Borna Loncaric and Jose Valdez of Colombia respectively.
Meanwhile in the women's section, Gitika (48-kg), who came into the match beating European Champion Diana Ermakova, continued her impressive form as she notched up a flawless 5-0 triumph against Kazakhstani boxer Arailym Marat to progress into the last-8 stage.
However, Nisha Gurjar (64-kg) was the lone Indian who couldn't progress on Day 5 as she suffered a 1-4 loss against Latvia's Beatrise Rozentale in the pre-quarters.
The sixth day of the prestigious event, where India has fielded a strong 20-member team, will witness nine Indians in action.
Appearing in the quarter-finals, five women–Poonam (57-kg), Nagpur's Alfiya Pathan (+81kg), Khushi (81-kg), Gitika (48-kg) and Vinka (60-kg)–will look to make their way into semi-finals and assure country medals. While Akash Gorkha (60-kg), Manish (75-kg), Sumit (69-kg), Vinit (81-kg) will be seen playing in the men's pre-quarterfinals stage.
← India records 2,73,810 new Covid-19…
Sensex dives over 1,000 points… →


Today we are excited to announce the release of version 2.0 of the PressForward Turnkey Theme. Designed to complement the workflow of PressForward, our Turnkey theme aids scholars in quickly creating easily customizable PressForward publications.
While the theme has been available for download on GitHub since last summer, revisions to the WordPress Theme Submission Requirements prevented us from submitting it to the theme directory. Over the last six months we've completely re-coded the theme with an eye toward accessibility, cleaner code standards, and up to date metadata standards. However, the most significant change to version 2.0 is that we've moved all theme options over to the WordPress Customizer, making it easier for users to make changes to the site design and layout in real time, and allowing the theme to comply with the requirements for submission to the WordPress theme directory. In the next few months we'll work through the WordPress Theme Review process in order to add our theme to the directory but, in the meantime, the theme is available on the GitHub repository.
Our Turnkey theme offers a suite of options that allow users to segment content on the homepage by category. The homepage, which is made up of five "blocks" of content, is fully customizable and users have the ability to turn blocks on or off, customize all colors, icons, links, and text, and to control what content appears in each section at the category level. The options and layout for the homepage have been entirely recoded in version 2.0 to ensure that it is compatible with a range of devices and screen sizes and that it makes use of the most up to date web standards. Building on Zurb's Foundation Framework, the theme utilizes CSS media queries and a mobile first approach.
Version 2.0 also transitions all theme options from the Redux Framework to the WordPress Customizer. This allows us not only to maintain compatibility with the WordPress theme directory requirements but also to provide the user with easy and standardized theme options that reload live. In addition to options that allow users to edit the layout of the homepage, the theme contains several content options that fit with the PressForward Workflow. For example, users can opt to display the number of nominations a featured post received in the Content Options panel of the Customizer.
Other options, such as the Author Display Options are specific to the PressForward Publication workflow. This option, which is modeled after our experience on Digital Humanities Now, allows users to modify the byline on individual posts by category. A post that is drafted with PressForward attempts to bring in the item author from the original post and published posts with the item_author custom field will display the item_author rather than the WordPress user. This is useful for publications seeking to attribute credit to the original author, however, many themes will display this name as a link which will direct users to the author archives for the user who published the post. We've found that this is often problematic and confusing so we've designed a suite of options that allow sites to customize how the author information in the byline is displayed based on the category of the post.
On Digital Humanities Now, we use this option to remove the user link from the byline on our Editor's Choice pieces and to remove the author completely from news items. Rather than displaying an author on these posts, we simply use the option to display text rather than an author. In our case, we print "the Editors" in the byline for every News item. However on blog posts, we want to attribute credit to the author who is always a user of the site and has an account, so for these posts we use the default WordPress byline settings.
In future versions we'll be adding even more flexibility to customize the blocks on the homepage, further options that allow users to expose PressForward data such as a list of subscribed feeds, and a new image heavy homepage layout. Stay tuned in the coming months for these updates!