text:
package org.dasein.cloud.util;

import org.apache.log4j.Logger;
import org.dasein.cloud.CloudProvider;
import org.dasein.cloud.ProviderContext;
import org.dasein.cloud.RequestTrackingStrategy;
import org.json.JSONObject;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import java.lang.management.ManagementFactory;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeSet;

/**
 * A tool for tracing the load your Dasein Cloud usage is placing on a cloud provider. This class is used by
 * {@link API} to provide JMX integration. In order for any API tracing to be functional, you must set the
 * log level for org.dasein.cloud.util.APITrace to TRACE, DEBUG, or INFO depending on the information you are seeking.
 * To turn it off, set the level to WARN or higher.
 *
Created by George Reese: 11/16/12 7:20 PM

 * @author George Reese
 * @version 2013.01 initial version (Issue #1)
 * @since 2013.01
 */
public class  APITrace {
    static private final Logger logger = Logger.getLogger(APITrace.class);
    static public final String DELIMITER       = ".";
    static public final String DELIMITER_REGEX = "\\.";

    static private class CloudOperation {
        public String name;
        public long startTimestamp = System.currentTimeMillis();
        public long endTimestamp = 0L;
        public int calls = 0;
        public CloudOperation currentChild;
        public ArrayList<CloudOperation> priorChildren;
        public ArrayList<String> apiCalls;

        public CloudOperation(@Nonnull String name) { this.name = name; }
    }

    static private final HashMap<String,Long>            apiCount       = new HashMap<String, Long>();
    static private final HashMap<String,Long>            operationApis  = new HashMap<String, Long>();
    static private final HashMap<String,Long>            operationCount = new HashMap<String, Long>();
    static private final HashMap<String,CloudOperation>  operationTrace = new HashMap<String, CloudOperation>();

    static private HashMap<Long,CloudOperation> operations = new HashMap<Long, CloudOperation>();

    static {
        try {
            MBeanServer server = ManagementFactory.getPlatformMBeanServer();
            ObjectName name = new ObjectName("org.dasein:type=API");
            API api = new API();

            server.registerMBean(api, name);
        }
        catch( Throwable t ) {
            logger.error("Unable to set up API MBean: " + t.getMessage());
        }
    }

    static public void begin(@Nonnull CloudProvider provider, @Nonnull String operationName) {
        if( logger.isDebugEnabled() ) {
            try {
                ProviderContext ctx = provider.getContext();
                String accountNumber = getAccountNumber( ctx );
                RequestTrackingStrategy strategy = ctx.getRequestTrackingStrategy();
                String requestTracking = "";
                if(strategy != null && strategy.getInAPITrace()){
                    requestTracking = strategy.getRequestId() + DELIMITER;
                }

                operationName = provider.getProviderName().replaceAll(DELIMITER_REGEX, "_") + DELIMITER + provider.getCloudName().replaceAll(DELIMITER_REGEX, "_") + DELIMITER + accountNumber.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + requestTracking + operationName;
                long thread = Thread.currentThread().getId();
                CloudOperation operation = new CloudOperation(operationName);
                CloudOperation current = operations.get(thread);

                if( current == null ) {
                    operations.put(thread, operation);
                }
                else {
                    while( current.currentChild != null ) {
                        current = current.currentChild;
                    }
                    current.currentChild = operation;
                }
                synchronized( operationCount ) {
                    if( operationCount.containsKey(operationName) ) {
                        operationCount.put(operationName,  operationCount.get(operationName) + 1);
                    }
                    else {
                        operationCount.put(operationName, 1L);
                    }
                }
            }
            catch( Throwable t ) {
                logger.warn("Error with API trace begin: " + t.getMessage());
            }
        }
    }

    static private long count(CloudOperation operation) {
        long count = operation.calls;

        if( operation.priorChildren != null ) {
            for( CloudOperation o : operation.priorChildren ) {
                count += count(o);
            }
        }
        return count;
    }

    static public void end() {
        if( logger.isDebugEnabled() ) {
            try {
                long thread = Thread.currentThread().getId();
                CloudOperation current = operations.get(thread);

                if( current == null ) {
                    return;
                }
                CloudOperation parent = null;

                while( current.currentChild != null ) {
                    parent = current;
                    current = current.currentChild;
                }
                current.endTimestamp = System.currentTimeMillis();
                if( parent != null ) {
                    if( parent.priorChildren == null ) {
                        parent.priorChildren = new ArrayList<CloudOperation>();
                    }
                    parent.priorChildren.add(current);
                    parent.currentChild = null;
                }
                else {
                    operations.remove(thread);
                }
                log(current);
            }
            catch( Throwable t ) {
                logger.warn("Error with API trace end: " + t.getMessage());
            }
        }
    }

    static public long getAPICount() {
        long count = 0L;

        synchronized( apiCount ) {
            for( Map.Entry<String,Long> api : apiCount.entrySet() ) {
                count += api.getValue();
            }
        }
        return count;
    }

    static public long getAPICount(@Nonnull String providerName) {
        return getAPICountForPrefix(providerName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER);
    }

    static public long getAPICount(@Nonnull String providerName, @Nonnull String cloudName) {
        return getAPICountForPrefix(providerName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + cloudName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER);
    }

    static public long getAPICount(@Nonnull String providerName, @Nonnull String cloudName, @Nonnull String accountNumber) {
        return getAPICountForPrefix(providerName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + cloudName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + accountNumber.replaceAll(DELIMITER_REGEX, "_") + DELIMITER);
    }

    static public long getAPICount(@Nonnull String providerName, @Nonnull String cloudName, @Nonnull String accountNumber, @Nonnull String apiCall) {
        return getAPICountForPrefix(providerName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + cloudName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + accountNumber.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + apiCall);
    }

    static public long getAPICountAcrossAccounts(@Nonnull String providerName, @Nonnull String cloudName, @Nonnull String apiCall) {
        String prefix = providerName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + cloudName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER;
        long count = 0L;

        synchronized( apiCount ) {
            for( Map.Entry<String,Long> api : apiCount.entrySet() ) {
                if( api.getKey().startsWith(prefix) && api.getKey().endsWith(apiCall)) {
                    count += api.getValue();
                }
            }
        }
        return count;
    }

    static private long getAPICountForPrefix(@Nonnull String prefix) {
        long count = 0L;

        synchronized( apiCount ) {
            for( Map.Entry<String,Long> api : apiCount.entrySet() ) {
                if( api.getKey().startsWith(prefix) ) {
                    count += api.getValue();
                }
            }
        }
        return count;
    }

    static public long getAPICountForOperation() {
        long count = 0L;

        synchronized( operationApis ) {
            for( Map.Entry<String,Long> api : operationApis.entrySet() ) {
                count += api.getValue();
            }
        }
        return count;
    }

    static public long getAPICountForOperation(@Nonnull String providerName) {
        return getAPICountForPrefixForOperation(providerName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER);
    }

    static public long getAPICountForOperation(@Nonnull String providerName, @Nonnull String cloudName) {
        return getAPICountForPrefixForOperation(providerName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + cloudName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER);
    }

    static public long getAPICountForOperation(@Nonnull String providerName, @Nonnull String cloudName, @Nonnull String accountNumber) {
        return getAPICountForPrefixForOperation(providerName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + cloudName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + accountNumber.replaceAll(DELIMITER_REGEX, "_") + DELIMITER);
    }

    static public long getAPICountForOperation(@Nonnull String providerName, @Nonnull String cloudName, @Nonnull String accountNumber, @Nonnull String operation) {
        return getAPICountForPrefixForOperation(providerName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + cloudName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + accountNumber.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + operation);
    }

    static public long getAPICountForOperationAcrossAccounts(@Nonnull String providerName, @Nonnull String cloudName, @Nonnull String operation) {
        String prefix = providerName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + cloudName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER;
        long count = 0L;

        synchronized( operationApis ) {
            for( Map.Entry<String,Long> api : operationApis.entrySet() ) {
                if( api.getKey().startsWith(prefix) && api.getKey().endsWith(operation)) {
                    count += api.getValue();
                }
            }
        }
        return count;
    }

    static private long getAPICountForPrefixForOperation(@Nonnull String prefix) {
        long count = 0L;

        synchronized( operationApis ) {
            for( Map.Entry<String,Long> api : operationApis.entrySet() ) {
                if( api.getKey().startsWith(prefix) ) {
                    count += api.getValue();
                }
            }
        }
        return count;
    }

    static public long getOperationCount() {
        long count = 0L;

        synchronized( operationCount ) {
            for( Map.Entry<String,Long> api : operationCount.entrySet() ) {
                count += api.getValue();
            }
        }
        return count;
    }

    static public long getOperationCount(@Nonnull String providerName) {
        return getOperationCountForPrefix(providerName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER);
    }

    static public long getOperationCount(@Nonnull String providerName, @Nonnull String cloudName) {
        return getOperationCountForPrefix(providerName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + cloudName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER);
    }

    static public long getOperationCount(@Nonnull String providerName, @Nonnull String cloudName, @Nonnull String accountNumber) {
        return getOperationCountForPrefix(providerName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + cloudName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + accountNumber.replaceAll(DELIMITER_REGEX, "_") + DELIMITER);
    }

    static public long getOperationCount(@Nonnull String providerName, @Nonnull String cloudName, @Nonnull String accountNumber, @Nonnull String operation) {
        return getOperationCountForPrefix(providerName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + cloudName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + accountNumber.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + operation);
    }

    static public long getOperationCountAcrossAccounts(@Nonnull String providerName, @Nonnull String cloudName, @Nonnull String operation) {
        String prefix = providerName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + cloudName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER;
        long count = 0L;

        synchronized( operationCount ) {
            for( Map.Entry<String,Long> api : operationCount.entrySet() ) {
                if( api.getKey().startsWith(prefix) && api.getKey().endsWith(operation)) {
                    count += api.getValue();
                }
            }
        }
        return count;
    }

    static private long getOperationCountForPrefix(@Nonnull String prefix) {
        long count = 0L;

        synchronized( operationCount ) {
            for( Map.Entry<String,Long> api : operationCount.entrySet() ) {
                if( api.getKey().startsWith(prefix) ) {
                    count += api.getValue();
                }
            }
        }
        return count;
    }

    static public @Nullable String getStackTrace(@Nonnull String providerName, @Nonnull String cloudName, @Nonnull String operationName) {

        CloudOperation operation = null;

        synchronized( operationTrace ) {
            for( Map.Entry<String,CloudOperation> entry : operationTrace.entrySet() ) {
                if( entry.getKey().startsWith(providerName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + cloudName.replaceAll(DELIMITER_REGEX, "_") + DELIMITER) && entry.getKey().endsWith(DELIMITER + operationName) ) {
                    operation = entry.getValue();
                    break;
                }
            }
        }
        if( operation == null ) {
            return null;
        }
        return (new JSONObject(toJSON(operation))).toString();
    }

    static private @Nonnull Map<String,Object> toJSON(@Nonnull CloudOperation operation) {
        HashMap<String,Object> map = new HashMap<String, Object>();
        String[] parts = operation.name.split(DELIMITER_REGEX);
        String provider, cloud;
        String name;

        if( parts.length == 4 ) {
            provider = parts[0];
            cloud = parts[1];
            name = parts[3];
        }
        else if( parts.length > 4 ) {
            StringBuilder tmp = new StringBuilder();

            provider = parts[0];
            cloud = parts[1];
            for( int i=3; i<parts.length; i++ ) {
                tmp.append(parts[i]);
                if( i < parts.length-1 ) {
                    tmp.append(DELIMITER);
                }
            }
            name = tmp.toString();
        }
        else {
            provider = (parts.length > 0 ? parts[0] : "");
            cloud = (parts.length > 1 ? parts[1] : "");
            name = operation.name;
        }
        map.put("operation", name);
        map.put("provider", provider);
        map.put("cloud", cloud);
        map.put("apiCalls", operation.apiCalls == null ? new String[0] : operation.apiCalls);
        if( operation.endTimestamp > 0L ) {
            map.put("duration", operation.endTimestamp - operation.startTimestamp);
        }
        if( operation.priorChildren != null ) {
            ArrayList<Map<String,Object>> children = new ArrayList<Map<String, Object>>();

            for( CloudOperation child : operation.priorChildren ) {
                children.add(toJSON(child));
            }
            map.put("operationCalls", children);
        }
        else {
            map.put("operationCalls", new String[0]);
        }
        return map;
    }

    static public String[] listAccounts(@Nonnull String provider, @Nonnull String cloud) {
        provider = provider.replaceAll(DELIMITER_REGEX, "_");
        cloud = cloud.replaceAll(DELIMITER_REGEX, "_");
        TreeSet<String> list = new TreeSet<String>();

        synchronized( apiCount ) {
            for( String call : apiCount.keySet() ) {
                String[] parts = call.split(DELIMITER_REGEX);

                if( parts.length > 2 && parts[0].equals(provider) && parts[1].equals(cloud) ) {
                    list.add(parts[2]);
                }
            }
        }
        return list.toArray(new String[list.size()]);
    }

    static public String[] listApis(@Nonnull String provider, @Nonnull String cloud) {
        provider = provider.replaceAll(DELIMITER_REGEX, "_");
        cloud = cloud.replaceAll(DELIMITER_REGEX, "_");
        TreeSet<String> list = new TreeSet<String>();

        synchronized( apiCount ) {
            for( String call : apiCount.keySet() ) {
                String[] parts = call.split(DELIMITER_REGEX);

                if( parts.length > 3 && parts[0].equals(provider) && parts[1].equals(cloud) ) {
                    if( parts.length == 4 ) {
                        list.add(parts[3]);
                    }
                    else {
                        StringBuilder tmp = new StringBuilder();

                        for( int i=3; i<parts.length; i++ ) {
                            tmp.append(parts[i]);
                            if( i< parts.length-1 ) {
                                tmp.append(DELIMITER);
                            }
                        }
                        list.add(tmp.toString());
                    }
                }
            }
        }
        return list.toArray(new String[list.size()]);
    }

    static public String[] listClouds(@Nonnull String provider) {
        provider = provider.replaceAll(DELIMITER_REGEX, "_");
        TreeSet<String> list = new TreeSet<String>();

        synchronized( apiCount ) {
            for( String call : apiCount.keySet() ) {
                String[] parts = call.split(DELIMITER_REGEX);

                if( parts.length > 1 && parts[0].equals(provider) ) {
                    list.add(parts[1]);
                }
            }
        }
        return list.toArray(new String[list.size()]);
    }

    static public String[] listOperations(@Nonnull String provider, @Nonnull String cloud) {
        provider = provider.replaceAll(DELIMITER_REGEX, "_");
        cloud = cloud.replaceAll(DELIMITER_REGEX, "_");
        TreeSet<String> list = new TreeSet<String>();

        synchronized( operationCount ) {
            for( String call : operationCount.keySet() ) {
                String[] parts = call.split(DELIMITER_REGEX);

                if( parts.length > 3 && parts[0].equals(provider) && parts[1].equals(cloud) ) {
                    if( parts.length == 4 ) {
                        list.add(parts[3]);
                    }
                    else {
                        StringBuilder tmp = new StringBuilder();

                        for( int i=3; i<parts.length; i++ ) {
                            tmp.append(parts[i]);
                            if( i< parts.length-1 ) {
                                tmp.append(DELIMITER);
                            }
                        }
                        list.add(tmp.toString());
                    }
                }
            }
        }
        return list.toArray(new String[list.size()]);
    }

    static public String[] listProviders() {
        TreeSet<String> providers = new TreeSet<String>();

        synchronized( apiCount ) {
            for( String call : apiCount.keySet() ) {
                String[] parts = call.split(DELIMITER_REGEX);

                if( parts.length > 0 ) {
                    providers.add(parts[0]);
                }
            }
        }
        return providers.toArray(new String[providers.size()]);
    }

    static private void log(CloudOperation operation) {
        long count = count(operation);

        synchronized( operationApis ) {
            if( operationApis.containsKey(operation.name) ) {
                operationApis.put(operation.name, operationApis.get(operation.name) + count);
            }
            else {
                operationApis.put(operation.name, count);
            }
        }
        if( logger.isTraceEnabled() ) {
            operationTrace.put(operation.name, operation);
        }
    }

    static public void report(@Nonnull String prefix) {
        logger.info("");
        if( logger.isInfoEnabled() ) {
            synchronized( apiCount ) {
                TreeSet<String> keys = new TreeSet<String>();

                keys.addAll(apiCount.keySet());
                logger.debug(prefix + "-> API calls: ");
                for( String key : keys ) {
                    logger.debug(prefix + "->\t" + key + " = " + apiCount.get(key));
                }
            }
        }
        if( logger.isDebugEnabled() ) {
            synchronized( operationCount ) {
                TreeSet<String> keys = new TreeSet<String>();

                keys.addAll(operationCount.keySet());
                logger.debug(prefix + "-> Operation calls:");
                for( String key : keys ) {
                    logger.debug(prefix + "->\t" + key + " = " + operationCount.get(key));
                }
            }
            synchronized( operationApis ) {
                TreeSet<String> keys = new TreeSet<String>();

                keys.addAll(operationApis.keySet());
                logger.debug(prefix + "-> API calls by operation:");
                for( String key : keys ) {
                    logger.debug(prefix + "->\t" + key + " = " + operationApis.get(key));
                }
            }
        }
        if( logger.isTraceEnabled() ) {
            synchronized( operationTrace ) {
                TreeSet<String> keys = new TreeSet<String>();

                keys.addAll(operationTrace.keySet());
                logger.trace(prefix + "-> Stack trace:");
                for( String key : keys ) {
                    Map<String,Object> map = toJSON(operationTrace.get(key));

                    logger.trace((new JSONObject(map)).toString());
                    logger.trace("");
                }
            }
        }
        logger.info("");
    }

    static public void reset() {
        synchronized( apiCount ) {
            apiCount.clear();
        }
        synchronized( operationApis ) {
            operationApis.clear();
        }
        synchronized( operationCount ) {
            operationCount.clear();
        }
        synchronized( operationTrace ) {
            operationTrace.clear();
        }
        operations.clear();
    }

    static public void trace(@Nonnull CloudProvider provider,  @Nonnull String apiCall) {
        if( logger.isInfoEnabled() ) {
            ProviderContext ctx = provider.getContext();
            String accountNumber = getAccountNumber( ctx );
            String callName = provider.getProviderName().replaceAll(DELIMITER_REGEX, "_") + DELIMITER + provider.getCloudName().replaceAll(DELIMITER_REGEX, "_") + DELIMITER + accountNumber.replaceAll(DELIMITER_REGEX, "_") + DELIMITER + apiCall;

            try {
                CloudOperation current = null;

                if( logger.isDebugEnabled() ) {
                    long thread = Thread.currentThread().getId();

                    current = operations.get(thread);
                    if( current != null ) {
                        while( current.currentChild != null ) {
                            current = current.currentChild;
                        }
                        current.calls++;
                    }
                }
                synchronized( apiCount ) {
                    if( apiCount.containsKey(callName) ) {
                        apiCount.put(callName, apiCount.get(callName) + 1);
                    }
                    else {
                        apiCount.put(callName, 1L);
                    }
                }
                if( logger.isTraceEnabled() ) {
                    if( current != null ) {
                        if( current.apiCalls == null ) {
                            current.apiCalls = new ArrayList<String>();
                        }
                        current.apiCalls.add(apiCall);
                    }
                }
            }
            catch( Throwable t ) {
                logger.warn("Error with API trace trace: " + t.getMessage());
            }
        }
    }

    static public String getAccountNumber(@Nullable ProviderContext ctx) {
      return ((ctx == null || ctx.getAccountNumber() == null) ? "---" : ctx.getAccountNumber());
    }
}


The Skoda Yeti is a five door, five seater, compact SUV built by the Czech manufacturer that wrestles with the mighty successful Renault Duster and Toyota RAV4 for a piece of the compact SUV segment.
Interior is heaps better than that of its competitors.
Exterior styling isn't its strongest point.
Contenders to this rapidly growing segment of the market more often than not, look like hatchbacks on steroids and the Yeti is no exception. While the hood flaunts a protruding centre section that integrates into the chrome grille, the rear end houses twin exhaust tips and almost semi-circular lights. Compared to Toyota's RAV4 and Renault's Duster, the Yeti isn't the prettiest of the lot.
Inside, it's a very different story. The 2015 Skoda Yeti almost feels like it belongs to a different league when compared to its French and Japanese competitors. While its rivals utilize hard plastics in abundance, the Czech makes use of its partnership with Volkswagen to deliver a cabin that is embellished with wood trim, soft touch materials and an attractive infotainment screen.
Equipped with an automatic parallel parking assist system, the Yeti is sure to make anyone look like a parking pro by nailing it in the first attempt itself. What starts off with searching for parking spaces, is then taken forward with the Yeti steering into the spot, leaving the driver to only control the pedals and shift gears when prompted to do so.
Two versions of the 2015 Skoda Yeti are available; a 1.4 litre 4-cylinder and a slightly larger 1.8 litre unit. The former pushes 120 horsepower and 200 Nm of torque through a 7 speed dual clutch automatic transmission to reach a top speed of 185 km/h, while the latter channels 160 horsepower and 250 Nm of torque through a 6 speed transmission to all four corners.
As far as value goes, there really isn't anything out there that comes close to the AED 50,000 Renault Duster. But if you're after something a little more refined, then your options boil down to the AED 95,000 Toyota RAV4 or AED 75,000 Skoda Yeti. And believe it or not, we're leaning towards the Yeti, because it's different and just that much nicer.
In Australia we can buy the Outdoor 2l TDI 4×4 DSG Skoda Yeti, and we did ( made 6/2015 delivered 8/2015).
The Car is well finished, both inside and out, and is the most comfortable car to drive that I have experienced in 55 years of driving. The diesel is both economical and powerful and reminds one of driving a very maneuverable rally car.
All aspects of the car respond remarkably including steering, cornering & braking. Electronics are completely up to the mark and deliver convenience and safety. Inside storage is enhanced with a flexible and clever space saving system. Our car has the full 4×4 package which is automatically engaged when driving off-road on uneven and slippery surfaces. We also have the Panoramic Roof, a must for the sunshine country, and 17"alloys. Despite making an excellent product Skoda are reluctant marketer's in Australia and you don't see many Yetis on the roads; suits us down to the ground. We have a great car that you cannot even buy in Canada or the US. And all for under $26K US.


text:
Crypto Bots
Best DEX
Best Crypto Bots
Best Free Crypto Bots
Best Forex Bots
Lending Platforms
Portfolio Trackers
Do Forex robots work?
Should I learn MQL4 or MQL5 as of today?
Bitcoin is a 'buying opportunity,' says Robert Kiyosaki
How to Calculate Currency Strength in Forex Trading
ZPG
Zipmex
ZipangCoin
Home Reviews Crypto Bots 2Moon Review
2Moon Review
bycoinpricepredict
2Moon is a cryptocurrency signal provider that was launched in 2017. As per vendor claims, this service has provided a total of 2133 signals so far, and these signals have a high chance of generating large profits. In this 2Moon review, we shall analyze the different aspects of the system to determine whether it is reliable or not.
Best Crypto Trading Bots 2022
The vendor has provided the contact information on the website. We have the official email address as well as the id for the Telegram channel. You can also use the live chat feature to get in touch with a service representative. We don't know where the headquarters of this company is located, since the vendor has not provided that information.
2Moon Overview
On the official website, the vendor has provided us with a short introduction to the signal provider, describing how the system came into being. Next, they have described how 2Moon works and what techniques it uses for generating the signals. We also have the details of the pricing plans along with the recent activity of the platform showing the closed targets and profits.
It is interesting to note that the vendor has not elaborated on the features offered through this signal provider. Thus, it seems to us that it does not have too many high-end features to offer. The vendor mentions that the company collaborates with some influential traders to know about their plans and this apparently guarantees profits. However, we don't know who these people are, so the veracity of the statement is quite dubious.
2Moon keeps an eye on the cryptocurrency market through its own tracking systems. The system looks for those currencies that are about to shoot up in value. Traders receive a signal from the system just as these assets are about to rise in worth.
This platform focuses on alternative cryptocurrencies, also known as Altcoins. The vendor mentions that this allows for easier profits in a shorter time, but we must take this with a grain of salt. After all, this is a new service that does not have much of a reputation in the market.
We don't have any information related to the minimum deposit and the withdrawal methods. The company provides 24/7 support for all customers.
The Idea Behind 2Moon
On the official website, the vendor has stated that this project is aimed at traders who wish to earn success by trading in digital currencies. Realizing the need for signal provider services, a group of friends started 2Moon, working on a single account at first. However, we don't know what this company plans to do in the future or what its motto is.
The Core Team
All reliable crypto platform vendors share the details of the team members along with their credentials so that traders feel more confident about investing. Unfortunately, we don't have any information on the team members of 2Moon. The vendor has not revealed the identities of the people working for this platform, so we are not sure whether we can trust it.
Safety of 2Moon and the Network
The vendor has not shared any details about the security features of 2Moon. Thus, we can assume that the system is missing some of the advanced security features that other platforms have.
There are four distinct pricing plans for 2Moon. The first plan has a duration of 1 month, and it costs $297. With the second plan, you get the same features for a 3 months duration and a price of $397.
We also have two temporary promo plans, one having 7 months duration and the other one being an unlimited plan. The prices for these two plans are $597 and $997, respectively. With the last two plans, you get access to strategic advice and portfolio analysis. These plans are not exactly cheap, and on top of that, the vendor does not provide a money-back guarantee, which makes it risky to invest in this system.
We were unable to find any user reviews for 2Moon on popular review websites. It is hard to trust a platform that does not have any reviews from real users. This tells us that not many people are using this platform as of now.
Is 2Moon a Legit Investment Service?
crptum
We don't think 2Moon is a platform you should trust for crypto signals. This system lacks adequate security features, and it is sold by a company we don't know anything about. Thus, it makes little sense to spend so much money on 2Moon.
Support is offered via live chat
Lack of vendor transparency
Advanced security features missing
Copy Trading: 8 Best Copy Trading Platforms to Consider
7 Best Forex Auto Trading Bots
bycoinpriceman
Best Monero (XMR) Wallets in 2022
7 Top Crypto Grid Bots | Grid Bots for 2022
TechBerry Review – Profitable Social Trading Platform Accepting Bitcoin
Top 12 Best Crypto Exchanges 2022
10 Best Crypto Trading Bots of 2022 – Automate Your Crypto Trading
0,351846 €
£ 18,718.26
£ 0.308763
The cryptocurrency market is booming in the post-pandemic era, where traders rush to participate in the bull run.…
Udemy Crypto Course Review
Udemy crypto course allows you to automate your strategies on notable platforms such as Binance and Bitmex by…
Kryll Review
Kryll is a cryptocurrency service that boasts a powerful strategy editor that enables users to create their strategies.…
GRID Trading Bot Review
GRID Trading Bot is a crypto robot launched by Pionex. According to the vendor, this robot provides merchants…
© 2023 CoinPricePredict All Rights Reserved.
Crypto Forecast

redpajama_set_name: RedPajamaCommonCrawl


text:
Home »Big Anthony: His Story (Paperback)
Big Anthony: His Story (Paperback)
By Tomie dePaola, Tomie dePaola (Illustrator)
Fans of Tomie dePaola's kindly Strega Nona will love this charming look at the early days of her good-hearted but clumsy helper Big Anthony. From the day he is born, Big Anthony never pays attention. As a boy, he leaves the gates of the farm open and all the animals escape. As a young man off to make his fortune in the world, he accidentally "fixes" the leaning Tower of Pisa. Will Italy survive the hilarious mishaps of Big Anthony?
"Readers of all ages can be grateful that dePaola continues to practice his magic so well."
"Big Anthony and Strega Nona certainly qualify as celebrities in the realm of picture books, and this latest installment will bring smiles to the faces of their young fans."
Tomie dePaola (www.tomie.com) is the acclaimed author and/or illustrator of more than 250 books for children. His books range from autobiographical stories to retellings of folktales and legends to original tales, such as the Strega Nona books. Tomie has received the Laura Ingalls Wilder Award, a Caldecott Honor for Strega Nona, and a Newbery Honor for his autobiographical chapter book, 26 Fairmount Avenue. The American Library Association said: "His works reflect an innate understanding of childhood, a distinctive visual style, and a remarkable ability to adapt his voice to perfectly suit the story." He was awarded the Smithson Medal, the Regina Medal, was designated a "living treasure" by the state of New Hampshire, and received the 2012 Original Art Lifetime Achievement Award given by the Society of Illustrators. He lives in New London, New Hampshire.
Juvenile Fiction / Boys & Men
Juvenile Fiction / People & Places / Europe
Prebound (June 25th, 2001): $20.68


text:
\section*{Introduction}
Two-electron atoms are probably the simplest systems where the electronic correlations play crucial role. The Schr\"odinger equation describing correlated three-body Coulomb dynamics cannot be resolved analytically; several approximate yet very accurate analytical methods have been developed to describe the helium atom in absence of the external field~\cite{Bete_Salpeter, Review_two-electron_atoms}.  In the presence of the intense laser field the numerical integration of the Schr\"odinger equation is the most effective tool to study the correlated dynamics in a two-electron system. This can be done directly~\cite{Smyth1998} for the 3D helium atom; however, such calculation is feasible for the limited range of the field parameters and anyway it is very computer-demanding (this makes it relevant to consider the simplified 3D two-electron system~\cite{Ruiz2006}). Moreover, many aspects of the multi-electron dynamics can be simulated via 1D helium model~\cite{1D_He_1976, 1d_He_1980, 1D_He_1996, 1D_He_2018}. In particular, it can be used to study such dynamics in the laser field~\cite{Grobe1992, Haan1994, Bauer1997, Lappas_1998, Lein2000, Borisova2020, Volkova2004, Roso2005,Zhao2012, Koval2007, Efimov2018}.

The existence of auto-ionizing states (AIS) (quasi-stable atomic states whose excitation energies exceed the ionization threshold) is one of the striking multi-electronic phenomena. The role of these states in high-order harmonic generation (HHG) is actively studied both theoretically~\cite{Milosevic_2007, Kheifets2008, Strelkov2010, Frolov2010, Strelkov2014, Wahyutama2019} and experimentally~\cite{Ganeev2006, Chang2008, Singh2021, Shiner2011, Fareed2018} (for a review see~\cite{Ganeev2012_Review} and references therein).When the one-photon transition from AIS to the ground state is allowed (such AIS is called a bright one) and the transition frequency is close to the harmonic frequency, the HHG can be strongly enhanced (by more than an order of magnitude). This can be attributed to the AIS population from the continuum in the re-scattering process, and XUV emission via the AI-ground state transition~\cite{Strelkov2010}. Moreover, the HHG enhancement by a bright AIS {\it dressed} by two laser photons was observed~\cite{Fareed2017}.

If the transition is forbidden the AIS is called a dark one. In particular, this is the case when the AI state has the same parity as the ground one. This AIS can be populated by an {\it even} number of laser photons, but the XUV at the AI-ground state frequency cannot be emitted. However, the dark AIS dressed by the laser photon can absorb~\cite{Magunov2001, Argenti2015} or emit the XUV photon. Very recently the HHG enhancement due to dressed dark AIS was observed in indium plasma plume~\cite{Fareed2022}.

In this paper we study the resonant properties of HHG using the numerical integration of the time-dependent Schr\"odinger equation (TDSE) for 1D helium. We investigate the level structure of the 1D helium atom and ion with an emphasis on the AIS properties. Knowledge of the level structure allows attributing HHG enhancement found in numerical calculations to resonances with certain AI states. In particular, we investigate the enhancement of two neighbouring odd harmonics due to a single resonance with the dark AIS. Calculating intensities and phases of these harmonics we show that the shape of the resonant harmonic enhancement line can be linked to the attosecond properties of the resonant XUV emission.

\section{Level structure of 1D helium}

We use the following model potential (atomic units are used throughout the paper):
\begin{equation}
V(x,y)=\frac{-2}{\sqrt{x^2+a^2}}+\frac{-2}{\sqrt{y^2+a^2}}+\frac{1}{\sqrt{(x-y)^2+b^2}},
\label{eq_Potential}
\end{equation}
where $x$ and $y$ are the electrons' coordinates, $a$ and $b$ are constants. We use $a=1/\sqrt 2=0.707$ and $b=1/\sqrt 3=0.577$ to reproduce the first and the second ionization potential of the actual helium, see Appendix for more details. Note that the similar value of the latter constant was found in~\cite{Zhao2012}, and the former constant was found in Ref~\cite{Javanainen}. The 2-D time-dependent Schr\"odinger equation (TDSE) for the atomic potential given by Eq.~(\ref{eq_Potential}) is solved numerically with the approach described in \cite{Strelkov_2006}. The solution is done on a spatial grid of $N \times N$ nodes; we use $N$ from 500 to 1000 depending on the conditions; the spatial step is $0.2$; 100 notes at the boundaries of the numerical box are occupied by the (almost non-reflecting) absorbing layers.

The level structures of the ion and the atom are illustrated by Fig.~\ref{Levels}, the method for calculating the energies of the levels is described in the Appendix. We present both the binding energies of the levels (multiplied by $-1$) and the excitation energies with respect to the atomic ground state.

\begin{figure}[h
\centering
\includegraphics[width=0.9\linewidth]{F2.png}
\caption{The level structure of the model 1D helium atom and the 1D hydrogen-like ion. Zero of the excitation energy is the ground state of the atom; zero of the binding energy is the second ionization threshold.}
\label{Levels}
\end{figure}

An atomic level is characterized by a pair of integer quantum numbers $n_x$ and $n_y$; $n_{x,y}=0,1...$. The state is even if $n_x+n_y$ is even, and odd if $n_x+n_y$ is odd. A quantum number can be understood as describing the state of one electron\footnote{In contrast to the 3D atom, the ground state in one-electronic 1D system is usually denoted by $n=0$ (so that $n$ gives the number of  wave-function nodes), not $n=1$, see for instance Eq.~(\ref{levels_energy}). Keeping this tradition, we use $n_{x,y}=0,1,...$ for numbering the states of our system}. So the states $(0,n)$ are the bound atomic states. For $n \gg 1$ these are the Rydberg states. The state $(1,1)$ is the first doubly-excited state.  Using the modified P\"oschl-Teller potential (see Appendix) we can estimate the energy of this state in zero approximation neglecting the electron-electron interaction. Within this approximation the energy of the state is twice the energy $E_1$ given by eq.~(\ref{levels_energy}); this gives $2 \times -18.6$eV$=-37.2$eV, which is in a reasonable agreement with the level energy of $-34.0$ eV found numerically solving the TDSE.

\section{Spatial distribution of the electronic density in the AIS}

The wave-functions for several states found via numerical TDSE solution are shown in Fig.~\ref{Wave-functions}, and details of the corresponding calculations are presented in Appendix, section~\ref{spatial}

Let us discuss the properties of the wave-functions shown in Fig.~\ref{Wave-functions}. First, the potential and the wave-functions are symmetric with respect to the line $y=x$. This is a result of the indistinguishability of the electrons. Note that we assume that the two electrons {\it can} find themselves in the same point; so we consider the parahelium. Second, in the figure one can see that the ground (0,0) and dark AIS (1,1) states are even, because the wave-functions do not change the sign after the inversion of the space coordinates $x \rightarrow -x$, $y \rightarrow -y$, and the first excited state (0,1) is odd (see the second and the third columns in Fig. ~\ref{Wave-functions}). Third, the AIS wave-function consists of the part which is well-localized near the origin, and the running waves which 'leak out' from the atom along the valleys ($x=0$ and $y=0$) of the potential (see Fig.~\ref{Potential3D}).

\begin{figure*}[
\centering
\includegraphics[width=0.3\linewidth]{F4a_abs2.pdf}
\includegraphics[width=0.3\linewidth]{F4a_re.pdf}
\includegraphics[width=0.3\linewidth]{F4a_im.pdf}
\includegraphics[width=0.3\linewidth]{F4b_abs2.pdf}
\includegraphics[width=0.3\linewidth]{F4b_re.pdf}
\includegraphics[width=0.3\linewidth]{F4b_im.pdf}
\includegraphics[width=0.3\linewidth]{F4c_abs2.pdf}
\includegraphics[width=0.3\linewidth]{F4c_re.pdf}
\includegraphics[width=0.3\linewidth]{F4c_im.pdf}
\caption{Wave-functions of several states in 1D helium atom. Absolute value squared (left column), real (middle column} and imaginary (right column) part of the wave functions of ground (0,0) (upper row), first excited (0,1) (middle row) and lowest dark AIS (1,1) (lower row) states.
\label{Wave-functions}
\end{figure*}

\section{Resonances with AI states in one- and two-photon ionization}
In this section we study the resonant features appearing in the photoelectronic spectrum due to bright and dark AI states. To calculate the photoelectronic spectrum we solve numerically the TDSE for the atom irradiated with an XUV field, thus finding the wave-function as a function of space and time $\psi (x,y,t)$. Then we calculate\footnote{This operation requires storage of a big data in computer memory; to make it less demanding, we store the wave function not at {\it every} step of numerical integration $dt=0.05$, but at every 8-th step. Correspondingly, we find only the lowest-energy part of the photoelectronic spectrum. This is definitely sufficient here, because the inverse step of the numerical integration is much higher than the reasonable electronic energies.} its spectrum $\psi (x,y,\omega)$ and the energy distribution for the part of the wave-function, where at least one electron is free:
\begin{equation}
\widetilde W(\omega)= \int_{x^2+y^2>r^2} dx dy |\psi (x,y,\omega)|^2.
\label{photoelectron_spectrum}
\end{equation}
We used $r=30$ and checked that results are not sensitive to this parameter provided that $r > 20$. In the latter equation $\omega$ is the binding energy (negative when the system is in atomic bound states or in ionic bound states + free electron). It is more convenient to deal with the excitation energy $\omega-E_0$, where $E_0=-79.3$eV is the atomic ground state energy.  In the excitation energy range between the first ionization energy (24.9 eV) and the first excited state of the ion (52.4 eV) the photoionization leads to the appearance of a free electron and an ion in the ground state. So the energy of the ion is defined, thus the spectrum (\ref{photoelectron_spectrum}) directly corresponds to the photoelectron spectrum. Fig.~\ref{Cross-sections} presents the spectrum as a function of the excitation energy.

The {\it bright} AI states lead to resonant features in the spectrum of the electrons detached due to {\it one}-photon ionization. To find this spectrum we solve the TDSE for the atom irradiated by a short XUV pulse. The pulse intensity is $3.5 \times 10^{12}$ W/cm$^2$ (the field amplitude is $0.1$ atomic unit), its duration is 100 as. The AIS leads to a Fano~\cite{Fano1961} feature in the photoelectron spectrum. Note that a similar feature was found in the 1D helium photoelectron spectrum in Ref.~\cite{Zhao2012}. We have found the width and the Fano parameter of the line, which is shown in the graph.

\begin{figure}[
\centering
\includegraphics[width=0.95\linewidth]{F5.pdf}
\caption{Normalized photoelectron spectra calculated for the case of irradiation of the atom by one- (red curve) and two-color (blue and violet curves) XUV field, see the text for more details. The two-photon resonance leads to a Fano feature in the total spectrum (violet) due to the interference of the resonant and the non-resonant terms, whereas the resonant term can be separated calculating the spectrum over the time interval {\it after} the irradiation (blue). The central frequencies, the FWHM and the Fano parameter of the peaks are shown in the graph.}
\label{Cross-sections}
\end{figure}

To find the resonances with the {\it dark} AIS, we solve the TDSE for an atom irradiated by {\it two}-color XUV pulse. The carrier frequencies are 130 eV and 85 eV, the pulse duration is 100 as, the fields' amplitudes are 1.0 atomic units. These frequencies of the fields are chosen to have two-photon response in the studied spectral range (due to Raman-type transition 130-85=45 eV), and no one-photon response in this range. The short duration of the pulse provides the wide spectral range covered by the two-photon response (more precise, the spectrum of the field squared has a wide peak near 45 eV, and the FWHM of this peak is 27 eV). The TDSE is solved over the time interval of 20 fs thus over the irradiation time plus a long time after the pulse. For the attosecond pulse used here the latter time period is important for the correct photoelectron spectrum calculation because the AI states continue decaying after the pulse has already passed. Calculating the spectrum over the whole time we find the spectrum with the Fano feature, see the violet curve in Fig.~\ref{Cross-sections}. This feature appears due to the interference of the non-resonant and resonant contributions to the two-photon ionization; the latter contribution is due to the dark AIS. Moreover, calculating the spectrum for the time interval where the field is off, we find only the resonant contribution, see the blue line.

Note that the authors of  Ref.~\cite{Haan1994} have studied the parameters of the Fano resonance appearing due to the single-photon ionization from the first atomic excited state to the dark AIS. The width of the resonance is very close to that found in our simulations (hence the parameters of the 1D He potential in Ref.~\cite{Haan1994} are $a=b=1$). The Fano parameter is also negative but it is much higher, thus the line shapes of the single-photon transition from the first excited state to the (1,1) AIS and of the two-photon transition from the ground state to the (1,1) AIS differ essentially.

\section{Resonances with AI states in HHG}

In this section we study the role of the resonance with the AI states in HHG simulating the XUV spectrum emitted by our model atom in an external laser field. The peak pulse intensity is $8 \times 10^{14}$ W/cm$^2$,  the fundamental frequency $\omega_l$ is about 3 eV (the wavelength is about 400 nm, the cut-off is approximately at H19-H21, the Keldysh parameter is $\gamma \approx 0.95$); it is tuned near the 14th order resonance with the transition from the ground to the dark (1,1) AIS and near the 17th order resonance with the bright (1,2) AIS. The laser pulse intensity increases during 4 cycles, then it is constant during 8 cycles, than decreases down to zero during 4 cycles; the slopes of the pulse have $\sin^2$ shape.

\begin{figure}[
\centering
\includegraphics[width=0.95\linewidth]{F7a.pdf}

\includegraphics[width=0.95\linewidth]{F7b.pdf}
\caption{Intensity (a) and phase (b) of harmonics 15 (blue circles), 17 (violet triangles), and 19 (dark cyan diamonds) in the vicinity of the 17-photon resonance with the bright AIS (1,2).}
\label{Resonance_bright}
\end{figure}

In Fig.~\ref{Resonance_bright} we show the intensities and phases of H15, H17, and H19 as functions of laser frequency (the horizontal axis above the graph) in the vicinity of the resonance with the bright AIS. The H17 frequency is shown for reference in the axis below the graph.  We can see the pronounced enhancement of the resonant harmonic intensity. The "enhancement line" (enhancement as a function of the laser frequency) is shifted and broadened with respect to the resonant line in the one-photon photoelectron spectrum shown in Fig.~\ref{Cross-sections}. This can be attributed to the line modification by the laser field (to the Stark shift of the levels and photoionization of the AIS). Moreover, there is even qualitative difference between the shapes of the lines in the photoelectronic spectrum and harmonic enhancement: in the spectrum the dip is at the high-energy side of the maximum, in the enhancement line it is at the low-energy side. This agrees with the experimental studies in helium: in the photo-absorption spectrum~\cite{Chan_helium} the dip is at the high-energy side, and in the XUV spectrum~\cite{Chang2008} it is at the low-energy one. Similar difference was discussed in~\cite{Strelkov2014}.

One can also see a pronounced modification of the harmonic phase by the resonance; such distortion was measured in~\cite{Haessler2013}. Also there is some enhancement of the harmonic above the resonance (H19) and almost no enhancement of the harmonic below it (H15). However, the phases of all the three harmonics are affected by the resonance. The total variation of the laser frequency in Fig.~\ref{Resonance_bright} is small (approx 5\%), so the non-resonant contribution to the generation of a harmonic should not vary much; the resonant one vanishes at the edges of the considered frequency range. Thus, the total phase variation over this range for a harmonic is approximately either $0$ or $2 \pi$.

The HHG modification by dark AIS has been studied much less than that for the bright AIS. Very recently the resonance of an even number of laser photons with the dark AIS was considered~\cite{Fareed2022} and an enhancement of the harmonic with an order differing by unity from this number was observed. This phenomenon can be understood as a resonance between the harmonic and the dark AIS, dressed by a laser photon.

Our simulations presented in  Fig.~\ref{HHG} show that in the case of the 14th order resonance with the dark AIS the two neighbouring harmonics (i.e. H13 and H15) are enhanced by the resonance.
Note that there are no one-photon resonances that can cause the HHG enhancement in the considered spectral range (see Fig.\ref{Cross-sections}).

\begin{figure}[
\centering
\includegraphics[width=0.95\linewidth]{F6.pdf}
\caption{HHG spectra in the vicinity of the 14-photon resonance with the dark AIS (1,1). The fundamental frequency and the frequency of the 14 harmonic is shown in the graph.}
\label{HHG}
\end{figure}

To study this enhancement in more detail we present in Fig.~\ref{Resonance_dark} the intensity of H13 and H15 as functions of the fundamental frequency in the vicinity of the 14-photon resonance with the dark AIS. Comparing this figure with Fig.~\ref{Resonance_bright} we can see that the enhancements caused by the resonances with dark and bright AIS are comparable in the considered conditions. The width of the enhancement lines for H13 and H15 are close to the one in the two-photon photoelectron spectrum in Fig~\ref{Cross-sections}; the center of the HHG enhancement line is slightly shifted due to the Stark shift of the levels in the laser field. Counterintuitively, the enhancement lines for H13 (red) and H15 (blue) are different: the peak enhancement is achieved for different laser frequencies; moreover, zero enhancement for H13 near 44.6eV does not correspond to any specific feature of H15 at this frequency.

The difference of the enhancement lines for H13 and H15 can be understood taking into account that XUV emission time is different under resonant and non-resonant conditions: one can assume that, similar to the HHG enhancement with the bright AIS, the emission of the resonant XUV is delayed (with respect to the non-resonant one) by the AIS lifetime~\cite{Tudorovskaya2011, Strelkov2016}.  In more detail, the difference of the harmonic enhancement lines can be explained as following.

Similarly to the Fano line in the photoionization cross-section, the harmonic enhancement line originates from the interference of the resonant and non-resonant terms~\cite{Strelkov2014} in the harmonic amplitude. The phase of the resonant term varies strongly near the resonance as a function of the detuning, whereas the phase of the non-resonant term does not. Let us denote the phase difference of these terms for the $q$th harmonic as
\begin{equation}
\delta \varphi_q= \varphi_q^r- \varphi_q^{nr}
\label{delta_phi}
\end{equation}.

The difference of H15 and H13 phases $\Delta \varphi=\varphi_{15}-\varphi_{13}$ defines the emission time~\cite{Mairesse2003} of the attosecond pulse consisting of H15 and H13:  $t_e=\Delta \varphi /(2 \omega_l)$. (Note that $\Delta \varphi$  should not be confused with $\delta \varphi_q$: the former gives the phase difference between the neighbouring harmonics, whereas $\delta \varphi_q$ describes the interference of the resonant and non-resonant terms of the same harmonic)

Far from the resonance the non-resonant term dominates: $\varphi_q \approx \varphi_q^{nr} $, so the emission time is defined by this term:
\begin{equation}
\Delta \varphi^{nr}=\varphi_{15}^{nr}-\varphi_{13}^{nr}=2 t_e^{nr} \omega_l,
\label{Delta_phi_r}
\end{equation}
Note that the phases of the non-resonant terms do not vary much within the considered small detuning interval of the fundamental, in particular, this equation is valid near the resonance as well.

Near the resonance the resonant term dominates: $\varphi_q \approx \varphi_q^{r} $, so the emission time is defined by this term. This emission time as we mentioned above is $t_e^{r}= t_e^{nr}+ \tau$, where $\tau$ is the AIS lifetime. So near the resonance
\begin{equation}
    \Delta \varphi^{r}= \varphi_{15}^{r}-\varphi_{13}^{r}=2  (t_e^{nr}+ \tau) \omega_l.
     \label{Delta_phi_nr}
\end{equation}

From Eqs.~(\ref{delta_phi}), (\ref{Delta_phi_r}), and (\ref{Delta_phi_nr}) we conclude that near the resonance
$\delta \varphi_{15}-\delta \varphi_{13}= 2 \tau \omega_l$. So the enhancement line shape defined by the interference of resonant and non-resonant contributions to the harmonic emission is different for H13 and H15.

From the harmonic phases shown in Fig.~\ref{Resonance_dark} we find that $\Delta \varphi^{nr} \approx 0$ and $\Delta \varphi^{r} \approx 2.8$~rad. From  Eqs.~(\ref{Delta_phi_r}) and (\ref{Delta_phi_nr}) we find $\tau=300$~as. This agrees with the fact that this delay is comparable but less than the inverse FWHM of the resonant term in the two-photon ionization cross-section (blue line in Fig.~\ref{Cross-sections}), namely $1/\Gamma=470$~as.

Note that in Ref.~\cite{Haessler2013} the resonant phase was measured under some detuning from the resonance because closer to the resonance the intensity difference of the resonant and non-resonant harmonic make RABBIT measurements problematic. For HHG enhanced by the dark AIS such measurements can be done near the center of the resonance, because the {\it two} harmonics are enhanced in a similar way.

\begin{figure}[
\centering
\includegraphics[width=0.95\linewidth]{F8a.pdf}

\includegraphics[width=0.95\linewidth]{F8b.pdf}
\caption{Intensity (a) and phase (b) of the harmonics 11 (yellow triangles), 13 (red squares), 15 (blue circles), and 17 (violet triangles) in the vicinity of the 14-photon resonance with the dark AIS (1,1).}
\label{Resonance_dark}
\end{figure}

Fig.~\ref{Attopulses} shows the attosecond pulses obtained from the cut-off harmonics (H19-H23) and harmonics near the 14-photon resonance with dark AIS (H13-H17). Naturally, the emission time of the cut-off attosecond pulse does not depend on the detuning from the resonance. So this emission time gives a straightforward reference for the emission times of the attosecond pulses obtained from H13-H17. The latter pulses in the off-resonance conditions are emitted before the cut-off attosecond pulse. (This shows that the short quantum path dominates in HHG response, see~\cite{Mairesse2003}.) The H13-H17 pulses are emitted approximately at the same time for the above-resonance conditions (laser frequency 3.22eV) and the below-resonance ones (laser frequency 3.07 eV), so the resonance does not affect the attosecond pulses emission. In the resonant case the attosecond pulse is much more intense and emitted later than in the off-resonant cases, in agreement with the considerations presented above. The delay of $310$~as is close to the one found above from the harmonic phases.

\begin{figure}[
\centering
\includegraphics[width=1.0 \linewidth]{F9.pdf}
\caption{Attosecond pulses produced by the harmonics near the resonance with the dark AIS (dashed, dotted, and dash-dotted lines) and by the cut-off harmonics (solid lines) for the three fundamental frequencies shown in the graph.}
\label{Attopulses}
\end{figure}

\section{Conclusions}
In this paper we study the role of the dark and the bright AIS in resonant HHG using the 1D helium model allowing ab initio numerical TDSE simulations beyond the singe-electron approximation.

Analytical model using a modified P\"oschl-Teller potential allows obtaining a reasonable estimate of the lowest double-excited state energy. We present the structure of the (lowest) levels of the studied system. The simplicity of the system allows straightforward graphical presentation of the wave-functions of different states, including the AI ones.

We make detailed simulations of the interaction of the atom with electromagnetic field. The photoelectronic spectra demonstrate pronounced features due to resonances with AIS. In particular, the resonances lead to asymmetric Fano peaks in the spectrum of the photoelectrons appearing due to one- and two-photon ionization.

We simulate the HHG enhancement via the resonance with the bright AIS and find a pronounced difference between the shapes of the above-mentioned Fano maximum in the photoelectronic spectrum and the harmonic enhancement line. We find an essential enhancement of the resonant harmonic, some enhancement of the harmonic above it and no enhancement of the harmonic below it.

Moreover, we simulate HHG under the conditions when the fundamental frequency is close to a multiphoton resonance of an even order with the dark AIS. We find an enhanced generation of the neighbouring harmonics. The shapes of the enhancement lines for the harmonics are different. The difference can be understood taking into account the harmonic phase properties defined by a delay between the emission of the non-resonant and resonant XUV; this delay is close to the AIS lifetime. Simultaneous enhancement of the two harmonics by the resonance with dark AIS makes feasible the experimental measurement of resonance-induced dephasing between them. Finally, our simulations show that the enhancement due to dark and bright AIS is comparable in the studied system.

\section{Acknowledgments}
We are grateful to V.~Birulia for the TDSE code development, and to M. Singh, M. A. Fareed, T. Ozaki, A.I. Magunov, A. N. Grum-Grzhimailo for the discussions on the AI states properties and their role in HHG. We would like to thank N. Yu. Shubin for his helpful language assistance.
The study was funded by RSF (grant No 22-12-00389).

\section*{Appendix}

\setcounter{section}{0}
\setcounter{figure}{0}
\setcounter{equation}{0}
\renewcommand{\thesection}{\Roman{section}}
\renewcommand{\thefigure}{A\arabic{figure}}
\renewcommand{\theequation}{A\arabic{equation}}

\subsection{1D hydrogen-like ion}
The 1D hydrogen atom or hydrogen-like ion with the Coulomb potential or the soft-Coulomb potential was studied in an number of papers~\cite{1D_H_1959, 1D_H_2006, 1D_H_2009, 1D_H_2016,1D_H_2018,1D_H_2021}. In contrast to the 3D system, the bound state of the 1D hydrogen cannot found analytically, either for the Coulomb, or for the soft-Coulomb potential.  Here we describe our numerical method and approximate analytical approach to find the eigenstates' energies and wave-functions.

To study He$^+$ ion we remove the last term in Eq.~(\ref{eq_Potential}). Then the TDSE describes two non-interacting ions, and the interpretation of the TDSE solution results in terms of a single ion is straightforward. The ion's potential
is
\begin{equation}
V_{ion}(x)=\frac{-2}{\sqrt{x^2+a^2}}.
\label{ion_Potential}
\end{equation}
Under $a=1/\sqrt{2}$ the ground state energy of the model ion is equal to the actual ionization energy of He$^+$~\cite{Javanainen}. This soft-Coulomb potential is shown in Fig.~\ref{Potentials}a.

Solving the TDSE we find the energies of the ground state and several first excited ones. The energy and wave-functions of the states are found as following. The initial wave-function of the $n$-th state ($n=0,1$...) is set as the corresponding wave-function of a harmonic oscillator; then the wave-function evolution is simulated via numerical TDSE solution. The part of the initial wave-function that is orthogonal to the bound eigenstates of the ion spreads in space and finally is absorbed by the absorbing boundary of the numerical box. So the part of the wave-function bound near the origin corresponds to the eigenstate of the potential~(\ref{ion_Potential}) (more precisely, it corresponds to a superposition of the eigenstates; however, choosing the initial wave-function with proper number of zeros guarantees that the weight of all eigenstates, except one, is very small). Numerical TDSE solution gives us the wave-function as a function of space and time $\psi (x,y,t)$. We calculate its spectrum $\psi (x,y,\omega)$ and the following energy distribution:
\begin{equation}
W(\omega)= \int dx dy |\psi (x,y,\omega)|^2,
\label{energy_distribution}
\end{equation}
(In contrast to Eq.~(\ref{photoelectron_spectrum}), here the integration is done over the whole numerical box.) The energy of the maximum in this distribution gives the energy of the found state; this negative energy is the state's binding energy, multiplied by $-1$. Other peaks in the energy distribution, if any, are much weaker; the ratio of the peaks to the main one gives the weights of the other eigenstates in the found state.

 In~\cite{1D_H_1959} the approximate equation for the ground states' energies of the truncated Coulomb potential was found. The accuracy of the approximation becomes better as the truncation parameter (roughly analogous to the parameter $a$) tends to zero. However, under $a=1/\sqrt{2}$ the accuracy for the ground and first excited state is insufficient. Much better analytical approach can be developed approximating the soft-Coulomb potential~(\ref{ion_Potential}) with the modified P\"oschl-Teller potential:

\begin{equation}
V_{PT}(x)=-\frac{\alpha^2}{2} \quad \frac{\lambda (\lambda-1)}{\cosh^2(\alpha x)},
\label{PT_potential}
\end{equation}
where $\alpha$ and $\lambda$ are parameters. The bound states' energies for this potential are~\cite{Flugge2}:

\begin{equation}
\begin{array}{l}
E_n=-\frac{\alpha^2}{2}(\lambda-1-n)^2,\\
n= 0,1,...\\
n \le \lambda-1,
\end{array}
\label{levels_energy}
\end{equation}
an even $n$ gives the energy of an even state, and an odd $n$ gives the energy of an odd one.

\begin{figure}[h]
\flushleft
a)

\includegraphics[width=0.9\linewidth]{F1a.pdf}

\flushleft
b)

\includegraphics[width=0.9\linewidth]{F1b.pdf}
\caption{Soft-Coulomb (a) and modified P\"oschl-Teller (b) potentials. Blue and red lines show the ground and the first excited state wave-functions, respectively.}
\label{Potentials}
\end{figure}

The parameters $\alpha$ and $\lambda$ are chosen so that:

- the minimum of the potential~(\ref{PT_potential}) is equal to the minimum of the potential~(\ref{ion_Potential});

- the energy of the ground state $E_0$ is equal in both potentials.

The found approximating potential is shown in Fig.~\ref{Potentials}b. Using Eq.~(\ref{levels_energy}) we find the energy of the first excited state $E_1=-18.6$~eV.

\subsection{1D helium. Calculation of the electronic density spatial distribution in the AIS.}
\label{spatial}
Setting $b \approx a$ in potential~(\ref{eq_Potential}) we consider a two-electron atom. The parameter $b$ is chosen so that the atom ionization energy is close to the one of real helium. The found value is $b=1/\sqrt{3}=0.577$. The energy of the atomic ground state is the energy of the ionic ground state (-54.4 eV) minus the ionization energy 24.9eV (24.6eV in actual helium); the found energy of the ground state is -79.3 eV.

The potential given by Eq.~(\ref{eq_Potential}) under $a=1/\sqrt{2}$ and $b=1/\sqrt{3}$ is shown in Fig.~\ref{Potential3D}.

To find analytically the energy of (1,1) state in zero approximation one can neglect the electronic interaction. Within this approximation the energy of the state is doubled energy $E_1$ given by eq.~(\ref{levels_energy}); this gives $2 \times -18.6$eV$=-37.2$eV. This is pretty close to the level energy of $-34.0$ eV found numerically solving TDSE. This similarity can be explained as follows: for $n \ge 1$ the 1D soft-Coulomb potential's levels are lower than the ones of the modified P\"oschl-Teller potential. However, the electronic repulsion in the atom moves them up. So finally these two "shifts" partly compensate each other for $n=1$.

\begin{figure}[
\centering
\includegraphics[width=0.9\linewidth]{F3.pdf}
\caption{Potential given by Eq.~(\ref{eq_Potential}) describing the model 1D helium atom.}
\label{Potential3D}
\end{figure}

The wave-functions for several states found via numerical TDSE solution are shown in Fig.~\ref{Wave-functions}.

The wave-functions and the energies of the bound states (the two upper rows in the figure) are found similarly to the case of the hydrogen-like ion: the initial wave-function for a state $(n_x, n_y)$ is set as a symmetrized product of the one-electron wave-functions $(n_x)$ and $(n_x)$ in the modified P\"oschl-Teller potential; TDSE is solved for a long enough time, so that the eigenstate survives and the remaining part of the initial wave-function is absorbed after spreading. The maximum in the energy distribution~(\ref{energy_distribution}) gives the eigenstate energy.

However, this procedure could not be applied directly for an AIS: this state decays, so, after some time we find zero population in all states. So the procedure is slightly modified: first we set the initial wave-function (1,1) as described above, then propagate the TDSE and find the energy $E_{AIS}$ of the AIS; then, using the wave-function found during the TDSE integration $\psi(x,y,t)$ we calculate spectrum $\psi(x,y,\omega)$ and finally find the spectral component with this energy: $\Psi(x,y) \equiv \psi(x,y, \omega=E_{AIS})$. This function is shown in Fig.~\ref{Wave-functions}, bottom row.
\typeout{}

redpajama_set_name: RedPajamaArXiv


text:
Ruillé-le-Gravelais és un municipi francès situat al departament de Mayenne i a la regió de . L'any 2007 tenia 825 habitants.

Demografia

Població
El 2007 la població de fet de Ruillé-le-Gravelais era de 825 persones. Hi havia 294 famílies de les quals 56 eren unipersonals (24 homes vivint sols i 32 dones vivint soles), 93 parelles sense fills, 137 parelles amb fills i 8 famílies monoparentals amb fills.

La població ha evolucionat segons el següent gràfic:

Habitants censats

Habitatges
El 2007 hi havia 331 habitatges, 303 eren l'habitatge principal de la família, 13 eren segones residències i 14 estaven desocupats. 323 eren cases i 6 eren apartaments. Dels 303 habitatges principals, 248 estaven ocupats pels seus propietaris, 53 estaven llogats i ocupats pels llogaters i 2 estaven cedits a títol gratuït; 1 tenia una cambra, 8 en tenien dues, 45 en tenien tres, 88 en tenien quatre i 161 en tenien cinc o més. 195 habitatges disposaven pel capbaix d'una plaça de pàrquing. A 109 habitatges hi havia un automòbil i a 177 n'hi havia dos o més.

Piràmide de població
La piràmide de població per edats i sexe el 2009 era:

Economia
El 2007 la població en edat de treballar era de 521 persones, 410 eren actives i 111 eren inactives. De les 410 persones actives 388 estaven ocupades (208 homes i 180 dones) i 21 estaven aturades (15 homes i 6 dones). De les 111 persones inactives 53 estaven jubilades, 37 estaven estudiant i 21 estaven classificades com a «altres inactius».

Ingressos
El 2009 a Ruillé-le-Gravelais hi havia 299 unitats fiscals que integraven 831 persones, la mediana anual d'ingressos fiscals per persona era de 17.286 €.

Activitats econòmiques
Dels 16 establiments que hi havia el 2007, 1 era d'una empresa de fabricació d'altres productes industrials, 6 d'empreses de construcció, 4 d'empreses de comerç i reparació d'automòbils, 1 d'una empresa de transport, 1 d'una empresa immobiliària i 3 d'empreses de serveis.

Dels 7 establiments de servei als particulars que hi havia el 2009, 1 era un taller de reparació d'automòbils i de material agrícola, 1 paleta, 1 guixaire pintor, 2 fusteries, 1 lampisteria i 1 agència immobiliària.

L'únic establiment comercial que hi havia el 2009 era una botiga de més de 120 m².

L'any 2000 a Ruillé-le-Gravelais hi havia 35 explotacions agrícoles que ocupaven un total de 1.118 hectàrees.

Equipaments sanitaris i escolars
El 2009 hi havia una escola elemental.

Poblacions més properes
El següent diagrama mostra les poblacions més properes.

Referències

 Résumé statistique Fitxa resum de dades estadístiques de Ruillé-le-Gravelais a l'INSEE.
 Évolution et structure de la population Fitxa amb el detall de dades de Ruillé-le-Gravelais a l'INSEE
 France par commune Dades detallades de tots els municipis de França accessibles a partir del mapa.

Municipis de Mayenne

redpajama_set_name: RedPajamaWikipedia


When we dare to dream as children we are often told that 'nothing is impossible'. If we are to make a success of life, we must turn that statement around – 'impossible is nothing'. Impossible becomes nothing when you dare to dream and keep your feet on the ground. Knowing exactly what it takes to make your dream a reality is all you really need to see the reality of 'impossible is nothing"!
Sometimes that includes helping others reach their dreams. We've backed more than 30 crowdfunding projects since January 1 of this year – most of them food related. There are some really great projects that need your support, including ours!
Once you find a project you want to support, the very next question is how much do I want to give. The formula used to answer that question is complex. How much do you like the project itself? Does it have a cool factor or are you interested in backing it for what you might get from it? Candidly, backer rewards at the various levels often determine what dollar level is selected.
Indiegogo's structure offers a unique approach for our project. Our 120 day project means you can actually budget monies each month for up 4 months. Indiegogo allows each person to back a project multiple times. For example you could select the $25 perk as many times as you like!
For those who may not be able to contribute more than "x" number of dollars in any given pay period because of budget constraints, they could still back at one of the lower levels multiple times and we will accumulate and acknowledge their total investment and provide their perks based on the level at or below the total amount of backing. ($25 a month for 4 months and they would be considered a $100 backer of the project – $150 a month for 4 months and they would be considered a $500 backer and invited to the Founders Gala…you get the idea).
Others may embrace the concept of helping to establish a legacy orchard, something they can give as a gift to children, grand children, nieces or nephews. The good news is that you can choose to back the project yourself and then back the project on behalf of someone else and gift it in their name.
We want this project to be about the little people because that's what crowdfunding is all about. For those that initially back at one level and decide they want to go bigger as the project progresses, the cumulative approach makes that possible.
We hope this approach brings more people to the project because of their ability to do more over the 4 month period the project will run. To each and every backer, we appreciate the great trust you've place in us by choosing to back this project. We'll continue to provide updates along the way to let you know exactly what's going on!
Tell everyone about the underground project that's all about the little guy!
Again, thanks for backing and thanks for sharing!


The Carolina Panthers are a professional American football team based in Charlotte, North Carolina, representing North Carolina and South Carolina in the National Football League. They are currently members of the South Division of the National Football Conference (NFC) in the National Football League (NFL). The Panthers, along with the Jacksonville Jaguars, joined the NFL as expansion teams in 1995. In their 14 years of existence, the Panthers have compiled a record of 115–120, and appeared in Super Bowl XXXVIII in Houston, Texas.
See what Dean's Cards has to offer on their Panthers Team Page!


Scary stock. Played with fire got out quick.
Shorted when It couldnt go green. chased it down a BIT. but i was confident in the weakness and that it would drive down to all time lows. could have stayed A LOT more patient, but thats the story of my life. ill take the single.
Be more patient. story of my life. shorted a bit before resistance on this one, but my size was small so i could wait on it. failed nicely.
should have held. blah. whatever. shorted the red day... seems like this works on big stocks too.
Went bigish size on the morning weakness of this new IPO.


text:
If you already subscribe to our print edition, sign up for FREE access to our online edition. Thanks for reading The Henderson News.
Please sign up to subscribe to The Henderson News online edition.
$1.00 for 1 day
1 Day $1.00 for 1 day
1 Month $6.00 for 30 days
2 Months $12.00 for 60 days
Six Months $30.00 for 180 days
One Year $50.00 for 365 days
eEdition Subscribers
If you already subscribe to our eEdtion, sign up for FREE access to our online edition. Thanks for reading The Henderson News.
Marching through Mississippi
The sweet wife and I took a vacation recently. It was her birthday wish to head to the beach, her happy place! So we did, driving way east, driving through Alabama, where I proudly wore my Texas A&M cap, thankfully without incident! We had a great time, but alas, it was time to return to East Texas.
Before heading home, we visited the Naval Aviation Museum and the tallest operational lighthouse in the nation. Both are located in Pensacola Beach, Fla. The Pensacola Lighthouse has been a navigation aid in the nation's first port settlement since 1859.
After leaving the Emerald Coast, we took the route along Interstate 20 West, stopping in Vicksburg, Miss. to spend the night.
In recent years, we passed through the historic city many times without stopping.
Vicksburg, of course, is a modern city, but retains, and emphasizes, it's history that is connected to the Civil War and the Vicksburg Siege.
The late Paul Harvey often called this the "Uncivil War." It has been controversial for more than a hundred years, but it is a part of our history.
The sweet wife and I just wanted to see a part of the area that was one of the key elements of the Civil War. Much of the actual battlegrounds have been preserved in Vicksburg's Military Park.
"On May 25, 1863 to July 4, 1863, Major General Ulysses Grant laid siege to Vicksburg, cutting off supplies and travel to the city for 47 days," according to actual documents in the Old Courthouse Museum.
Confederate General John Pemberton, short on food, water and losing men daily, finally surrendered his troops, ending the siege. General Grant, and Union troops, raised the Stars and Stripes on July 4, 1863 on the grounds of the Old Courthouse.
There is so much to see in Vicksburg, including the Cedar Hill Cemetery, representing more than 150 years of Vicksburg history. The cemetery contains the graves of more than 5,000 soldiers who died during the siege.
The USS Cairo, sunk in 1862 in the Yazoo River north of Vicksburg when struck by two underwater torpedoes, was under water in 12 minutes. The Union gunboat was restored and is now on display in Vicksburg's Military Park.
Tourists can visit the Coca Cola Museum where Coke was first bottled, according to the brochures published by the Convention and Visitors Bureau. There is the Old Depot Museum and the Anshe Chesed Cemetery, located near Military Park, dates back to 1864. A fortification was built at this site by the Confederacy and on May 19, 1863, was the site of fierce fighting. The first African American Methodist Episcopal Church in Mississippi was organized in Vicksburg in 1875. The church building still stands and is available for visits by appointment.
Unable to visit all of the sites, we settled on touring the Old Court House Museum. The building, first constructed in 1858, was used as the courthouse for the county seat of Warren County until 1948. A new building was occupied for county business and the old courthouse was converted to a museum. And what a museum it is.
I enjoy history and especially when the history includes artifacts actually used by those people who were, and are, a part of our past. The Old Courthouse has two floors filled with Civil War artifacts and items used by the North and South during the long battle.
An 1862 flag, rescued from the battlefield, is on display in an environment designed to preserve the 157 year old cloth. The building is full of uniforms and weapons used by the soldiers; cannon balls of all sizes along with home made bombs and grenades (disarmed) found on the battle fields so many years ago.
The residents of Vicksburg, during the siege, were driven out of their homes and many lived in caves in the area. Many of their tools used for survival are displayed in the museum.
The museum stands on the highest hill overlooking Vicksburg and at one time dominated the skyline of the city. It is still impressive and an important part of the city's history as well as the present day pride of Vicksburg citizens.
The CVB labels Vicksburg, the "Key to the South!" I don't know about that, but it does retain a touch of the old south while thriving in modern day United States of America.
Ronnie Morrison is a former Henderson Daily News sports editor who is now a freelance writer and occasional contributor.
Ulysses Grant
Please log in, or sign up for a new account and purchase a subscription to read or post comments.
City hires consulting firm for waste management search
Henderson woman killed in accident
Kimberly Matthews Roberts
Stephen Phillip Parnell
Stepping in when help is needed
Sanctuary Cities project is gaining traction
Eula 'Mecie' McChristian
One-vehicle accident claims life of Tatum teen
Zoning board approves restaurant request
The State of The Henderson News
The Henderson News
Shawnee Air Conditioning
1804C US Highway 79 S, Henderson, TX 75654
Service Insurance Group
121 North Marshall, Henderson, TX 75654
thehendersonnews.com
Email: publisher@thehendersonnews.com
© Copyright 2020 The Henderson News, P.O. Box 30 Henderson, TX | Terms of Use | Privacy Policy


High blood pressure is a key healthcare issue. It is estimated to affect a large proportion of the adult population today. It shows no symptoms and if left untreated can have serious consequences, such as heart attacks and strokes.
High blood pressure is a key healthcare issue. It is estimated to affect a large proportion of the adult population today. It shows no symptoms and if left untreated can have serious consequences, such as heart attacks and strokes. The only reliable way to identify high blood pressure is by monitoring it using a blood pressure monitor.
Place the cuff on the arm. Attach the cuff to your Lloydspharmacy Blood Pressure Monitor.
Important: Use the most suitable cuff size for your arm, ask your Lloydspharmacist for advice.


There are also a handful of venerable and up-and-coming wineries scattered across Chile's Casablanca Valley (about 50 miles northwest of Santiago). This region teems with wineries that produce top-tier Sauvignon Blancs and Pinot Noirs. To arrange a trip to a variety of wineries across the valley without having to rent your own set of wheels, plan your trip on the Casablanca Valley Wine Producers Association website.
Tour costs and hours vary by winery. The easiest way to reach many popular wineries (such as Concha y Toro) is by taxi. Ask your hotel concierge to arrange a taxi for you to ensure you take the most direct route and pay a fair rate. Expect the taxi fare from downtown Santiago to Concha y Toro to cost approximately 16,625 CLP (about $30 USD) each way. Those looking to tour the Casablanca Valley should consider making arrangements through Santiago Adventures, a reliable operator based in Santiago that offers a variety of wine-focused excursion options. For further details, check out the Santiago Adventures website.


Abstract: When I was in grad school it was called statistics. A few years later I told people I did machine learning and after seeing the confused look on their face I changed that to data science which excited them. More years passed, and without changing anything I do, I now practice AI, which seems scary to some people and somehow involves ML. During this talk we will demystify buzzwords, technical terms and overarching ideas. We'll touch upon key concepts and see a little bit of code in action to get a sense of what is happening in ML, AI or whatever else we want to call the field.


L1.1 is involved in spinal cord regeneration in adult zebrafish Becker et al.
Expression of the cell adhesion molecule L1 is generally correlated with regenerative success, but it only appears in mammalian axotomized central neurons when axons are within a permissive peripheral nerve graft. The fish homolog L1.1 is upregulated after spinal transection, and is thought to aid in their robust axon regeneration and functional recovery. Without L1.1, brainstem neurons did not regenerate spinal axons or form functional synapses, and normal constant swimming behavior was nearly abolished.
Attentional modulation of motion integration of individual neurons in the middle temporal visual area (MT) Cook et al.
Two highly-trained monkeys performed a motion detection task under two different attentional states. For cells that had robust responses to the motion stimulus, attention modulated the response function without a shift in the time or shape of the response. Thus their results suggest that attention increases the sensitivity of neurons without affecting the temporal characteristics of the response.
The JNK signaling pathway mediates Bax activation and subsequent neuronal apoptosis through interaction with bim after transient focal cerebral ischemia Okuno et al.


St. Augustine Bridge of Lions Prints.
This Studio deals in photographic prints of the St. Augustine Bridge of Lions.
St. Augustine Bridge of Lions.
Photographic Prints of the St. Augustine Bridge of Lions.
With Mediterranean Revival towers, it was built in 1926 to give autos access to anastasia Island. It replaced a wooden bridge. The bridge is named for the two lions at the west end of the bridge. The statues were done by sculptor Romanelli of Florence, Italy and donated by Dr. Andrew Anderson.The lions were made to resemble the Loggia dei Lanzi in Florence Italy.
Photographic prints of the St. Augustine Bridge of Lions from my-e-gems.com.


text:
Gorgeous shots of a cruise liner on overnight stay in Cobh
This giant ship looks majestic, lit up at night by the deep water berth in Cobh
Joe O'SheaEditor
Updated 09:36, 17 JUL 2019
Stunning - Oriana on an overnight in Cobh last night (Image: Colm McDonagh)
The giant cruisers have become a common sight in Cork harbour, with scores now calling every summer to the historic port town of Cobh.
But while we are used to seeing many shots of the ships during the day, maneuvering to get into position by the deep water berth next to the town's train station, it's relatively rare to seem them there at night, all lit up.
Oriana on an overnight
Local photographer Colm McDonagh used a drone to capture this brilliant shots of the Oriana of the P&O line by the berth in Cobh last night. The Oriana is a familiar sight in Cork harbour and she brought just under 2,000 passengers to Cobh on this trip, with many of them enjoying the pubs, cafes and restaurants in the newly revitalised town.
Oriana by her berth in Cobh (Image: Colm McDonagh)
The cruise ships and the crowds they bring may not be the kind of tourism some want for Cork harbour. But there is no arguing against the new life and colour they have brought to Cobh.
Lovely scenes in Cobh as Aussies cruise off into the sunset
Thanks to Colm for sharing these fabulous pics. If you like them, you can follow Colm on twitter @C1McD for plenty more!


I gave a talk on Dealing with Errors at the PHP Unconference 2011 in Manchester, and notes were requested. So these posts cover the content of the talk, and more besides. This one covers suppressed errors, debug backtraces and multiple error handlers.
I gave a talk on Dealing with Errors at the PHP Unconference 2011 in Manchester, and notes were requested. So these posts cover the content of the talk, and more besides. This post covers Exceptions.
This is the 2nd time I've booked tickets through http://www.amiando.com/, an on-line ticket system. They have a system where you can embed a widget in the events organisers website, so the whole order happens on their website. This creates problems.
I've seen several tutorials on catching PHP errors that only mention how to catch one type of error – so here is a quick post with details of how to catch more.
This oatmeal comic talks about Shopping Carts, and while most of it is spot on there in one thing I've seen before that annoys me: put the most popular counties at the top of the county list.
If you have a PHP app, how do you track errors? I've been working on an Open Source project to enable you to capture errors and send them to a reporting app.
My Bus Edinburgh for Android is a brilliant app that lets you see when a bus is due at a bus stop near you. While it's already become essential after only a week or two, one thing would really improve it. While it provides real time information on the buses due, it doesn't tell you how old that information is.
I use GPS Logger on my Android phone. It's a simple app that just records your position to a KML data file regularly. Interpreting it in an useful manner is another matter tho.
Most internet sites have them – users who are downright rude, nasty and offensive to others.


LOOKING for Christmas present for that family member who already has everything or is maybe just very hard to please?
The Edinburgh Art Fair, which takes place at The Corn Exchange, New Market Road, this weekend, might just hold the answer.
Established in 2005 the Edinburgh Art Fair (EAF) is Scotland's longest running modern and contemporary Art Fair.
Every November in the run up to Christmas between 60 and 70 galleries from around the UK, Ireland and abroad converge on the Capital to showcase the work of their artists.
Past exhibitors have travelled from as far off as Australia, India, Spain, Italy, France, Argentina, The USA and Canada for the occasion.
This year's Fair runs from tomorrow, Friday 23 November to Sunday 25 November, with a preview session this evening between 6.30pm and 9.30pm.
Artworks in all mediums including paintings, original prints, photography, ceramics, sculpture and glassware are displayed at the EAF and all are available to buy. Prices range from £100 to £50,000 so there is sure to be something to suit all tastes and budgets.
A 'gallery led fair', all the work is vetted for quality prior to the event.
For first time visitors the EAF advises that you buy a catalogue and as you leaf through it, highlight the galleries you wish to visit first and then work out a route on the floor plan.
Another recommendation is not to be scared to engage with the gallery staff and to ask them as many questions as you want.
And don't be in a rush to buy the first thing that catches your eye. Relax in the restaurant or bar as you consider your potential purchases.
Tonight's preview evening is the ideal opportunity if you want to get dressed up for the occasion, head along, enjoy a complimentary wine and get first dibs on the artwork.
Fridays are traditionally quieter than the weekend, which means you will be able to have a more relaxed walk around the show.