text:
package org.compass.core.converter;

import java.io.File;
import java.io.InputStream;
import java.io.Reader;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.net.URI;
import java.net.URL;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.compass.core.CompassException;
import org.compass.core.config.CompassConfigurable;
import org.compass.core.config.CompassEnvironment;
import org.compass.core.config.CompassSettings;
import org.compass.core.config.ConfigurationException;
import org.compass.core.converter.basic.*;
import org.compass.core.converter.dynamic.GroovyDynamicConverter;
import org.compass.core.converter.dynamic.JakartaElDynamicConverter;
import org.compass.core.converter.dynamic.JexlDynamicConverter;
import org.compass.core.converter.dynamic.OgnlDynamicConverter;
import org.compass.core.converter.dynamic.VelocityDynamicConverter;
import org.compass.core.converter.extended.FileConverter;
import org.compass.core.converter.extended.InputStreamConverter;
import org.compass.core.converter.extended.LocaleConverter;
import org.compass.core.converter.extended.ObjectByteArrayConverter;
import org.compass.core.converter.extended.PrimitiveByteArrayConverter;
import org.compass.core.converter.extended.ReaderConverter;
import org.compass.core.converter.extended.SqlDateConverter;
import org.compass.core.converter.extended.SqlTimeConverter;
import org.compass.core.converter.extended.SqlTimestampConverter;
import org.compass.core.converter.mapping.osem.ArrayMappingConverter;
import org.compass.core.converter.mapping.osem.ClassMappingConverter;
import org.compass.core.converter.mapping.osem.ClassPropertyMappingConverter;
import org.compass.core.converter.mapping.osem.CollectionMappingConverter;
import org.compass.core.converter.mapping.osem.ComponentMappingConverter;
import org.compass.core.converter.mapping.osem.ConstantMappingConverter;
import org.compass.core.converter.mapping.osem.ParentMappingConverter;
import org.compass.core.converter.mapping.osem.ReferenceMappingConverter;
import org.compass.core.converter.mapping.rsem.RawResourceMappingConverter;
import org.compass.core.converter.mapping.xsem.XmlContentMappingConverter;
import org.compass.core.converter.mapping.xsem.XmlIdMappingConverter;
import org.compass.core.converter.mapping.xsem.XmlObjectMappingConverter;
import org.compass.core.converter.mapping.xsem.XmlPropertyMappingConverter;
import org.compass.core.mapping.osem.ArrayMapping;
import org.compass.core.mapping.osem.ClassIdPropertyMapping;
import org.compass.core.mapping.osem.ClassMapping;
import org.compass.core.mapping.osem.ClassPropertyMapping;
import org.compass.core.mapping.osem.CollectionMapping;
import org.compass.core.mapping.osem.ComponentMapping;
import org.compass.core.mapping.osem.ConstantMetaDataMapping;
import org.compass.core.mapping.osem.DynamicMetaDataMapping;
import org.compass.core.mapping.osem.ParentMapping;
import org.compass.core.mapping.osem.ReferenceMapping;
import org.compass.core.mapping.rsem.RawResourceMapping;
import org.compass.core.mapping.xsem.XmlContentMapping;
import org.compass.core.mapping.xsem.XmlIdMapping;
import org.compass.core.mapping.xsem.XmlObjectMapping;
import org.compass.core.mapping.xsem.XmlPropertyMapping;
import org.compass.core.util.ClassUtils;

/**
 * Acts as a Converter registry based on all the converters
 * supplied in the module.
 *
 * @author kimchy
 */
public class DefaultConverterLookup implements ConverterLookup {

    private static final Log log = LogFactory.getLog(DefaultConverterLookup.class);

    // not synchronized since the assumption is that no changes are made after
    // theh constructor
    private final HashMap convertersByClass = new HashMap();

    private final HashMap cachedConvertersByClassType = new HashMap();

    private final HashMap convertersByName = new HashMap();

    private final HashMap defaultConveterTypes = new HashMap();

    private CompassSettings settings;

    public DefaultConverterLookup() {
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Simple.BIGDECIMAL, BigDecimalConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Simple.BIGINTEGER, BigIntegerConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Simple.BOOLEAN, BooleanConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Simple.BYTE, ByteConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Simple.CALENDAR, CalendarConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Simple.CHAR, CharConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Simple.DATE, DateConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Simple.DOUBLE, DoubleConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Simple.FLOAT, FloatConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Simple.INTEGER, IntConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Simple.LONG, LongConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Simple.SHORT, ShortConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Simple.STRING, StringConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Simple.STRINGBUFFER, StringBufferConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Simple.STRINGBUILDER, StringBuilderConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Simple.ENUM, EnumConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Simple.URL, URLConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Extendend.FILE, FileConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Extendend.INPUT_STREAM, InputStreamConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Extendend.LOCALE, LocaleConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Extendend.PRIMITIVE_BYTE_ARRAY, PrimitiveByteArrayConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Extendend.OBJECT_BYTE_ARRAY, ObjectByteArrayConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Extendend.READER, ReaderConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Extendend.SQL_DATE, SqlDateConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Extendend.SQL_TIME, SqlTimeConverter.class);
        defaultConveterTypes.put(CompassEnvironment.Converter.DefaultTypes.Extendend.SQL_TIMESTAMP, SqlTimestampConverter.class);
    }

    public CompassSettings getSettings() {
        return settings;
    }

    public void configure(CompassSettings settings) throws CompassException {
        this.settings = settings;
        Map converterGroups = settings.getSettingGroups(CompassEnvironment.Converter.PREFIX);
        // add basic types
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Simple.BIGDECIMAL,
                BigDecimal.class, new BigDecimalConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Simple.BIGINTEGER,
                BigInteger.class, new BigIntegerConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Simple.BOOLEAN,
                new Class[]{Boolean.class, boolean.class}, new BooleanConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Simple.BYTE,
                new Class[]{Byte.class, byte.class}, new ByteConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Simple.CHAR,
                new Class[]{Character.class, char.class}, new CharConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Simple.DATE,
                Date.class, new DateConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Simple.CALENDAR,
                Calendar.class, new CalendarConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Simple.DOUBLE,
                new Class[]{Double.class, double.class}, new DoubleConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Simple.FLOAT,
                new Class[]{Float.class, float.class}, new FloatConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Simple.INTEGER,
                new Class[]{Integer.class, int.class}, new IntConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Simple.LONG,
                new Class[]{Long.class, long.class}, new LongConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Simple.SHORT,
                new Class[]{Short.class, short.class}, new ShortConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Simple.STRING,
                String.class, new StringConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Simple.STRINGBUFFER,
                StringBuffer.class, new StringBufferConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Simple.STRINGBUILDER,
                StringBuilder.class, new StringBuilderConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Simple.ENUM,
                Enum.class, new EnumConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Simple.URL,
                URL.class, new URLConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Simple.URI,
                URI.class, new URIConverter());
        // add extended types
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Extendend.FILE,
                File.class, new FileConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Extendend.INPUT_STREAM,
                InputStream.class, new InputStreamConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Extendend.LOCALE,
                Locale.class, new LocaleConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Extendend.PRIMITIVE_BYTE_ARRAY,
                byte[].class, new PrimitiveByteArrayConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Extendend.OBJECT_BYTE_ARRAY,
                Byte[].class, new ObjectByteArrayConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Extendend.READER,
                Reader.class, new ReaderConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Extendend.SQL_DATE,
                java.sql.Date.class, new SqlDateConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Extendend.SQL_TIME,
                java.sql.Time.class, new SqlTimeConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Extendend.SQL_TIMESTAMP,
                java.sql.Timestamp.class, new SqlTimestampConverter());
        // dynamic converters
        try {
            addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Dynamic.JEXL,
                    DynamicMetaDataMapping.class, new JexlDynamicConverter());
            log.debug("Dynamic converter - JEXL found in the class path, registering it");
        } catch (Error e) {
            // do nothing
        }
        try {
            addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Dynamic.VELOCITY,
                    DynamicMetaDataMapping.class, new VelocityDynamicConverter());
            log.debug("Dynamic converter - Velocity found in the class path, registering it");
        } catch (Error e) {
            // do nothing
        }
        try {
            addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Dynamic.JAKARTA_EL,
                    DynamicMetaDataMapping.class, new JakartaElDynamicConverter());
            log.debug("Dynamic converter - Jakarta EL found in the class path, registering it");
        } catch (Error e) {
            // do nothing
        }
        try {
            addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Dynamic.OGNL,
                    DynamicMetaDataMapping.class, new OgnlDynamicConverter());
            log.debug("Dynamic converter - OGNL found in the class path, registering it");
        } catch (Error e) {
            // do nothing
        }
        try {
            addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Dynamic.GROOVY,
                    DynamicMetaDataMapping.class, new GroovyDynamicConverter());
            log.debug("Dynamic converter - GROOVY found in the class path, registering it");
        } catch (Error e) {
            // do nothing
        }
        // add mapping converters
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Mapping.RAW_RESOURCE_MAPPING,
                RawResourceMapping.class, new RawResourceMappingConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Mapping.CLASS_MAPPING,
                ClassMapping.class, new ClassMappingConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Mapping.CLASS_PROPERTY_MAPPING,
                ClassPropertyMapping.class, new ClassPropertyMappingConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Mapping.CLASS_ID_PROPERTY_MAPPING,
                ClassIdPropertyMapping.class, new ClassPropertyMappingConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Mapping.COMPONENT_MAPPING,
                ComponentMapping.class, new ComponentMappingConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Mapping.COLLECTION_MAPPING,
                CollectionMapping.class, new CollectionMappingConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Mapping.ARRAY_MAPPING,
                ArrayMapping.class, new ArrayMappingConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Mapping.REFERENCE_MAPPING,
                ReferenceMapping.class, new ReferenceMappingConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Mapping.CONSTANT_MAPPING,
                ConstantMetaDataMapping.class, new ConstantMappingConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Mapping.PARENT_MAPPING,
                ParentMapping.class, new ParentMappingConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Mapping.XML_OBJECT_MAPPING,
                XmlObjectMapping.class, new XmlObjectMappingConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Mapping.XML_PROPERTY_MAPPING,
                XmlPropertyMapping.class, new XmlPropertyMappingConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Mapping.XML_ID_MAPPING,
                XmlIdMapping.class, new XmlIdMappingConverter());
        addDefaultConverter(converterGroups, CompassEnvironment.Converter.DefaultTypeNames.Mapping.XML_CONTENT_MAPPING,
                XmlContentMapping.class, new XmlContentMappingConverter());

        // now configure all the none default converters
        for (Iterator it = converterGroups.keySet().iterator(); it.hasNext();) {
            String converterName = (String) it.next();
            CompassSettings converterSettings = (CompassSettings) converterGroups.get(converterName);
            if (log.isDebugEnabled()) {
                log.debug("Conveter [" + converterName + "] building...");
            }
            String converterClassType = converterSettings.getSetting(CompassEnvironment.Converter.TYPE);
            if (converterClassType == null) {
                throw new ConfigurationException("Must define a class type for converter [" + converterName + "]");
            }
            Converter converter;
            try {
                Class converterClass = (Class) defaultConveterTypes.get(converterClassType);
                if (converterClass == null) {
                    converterClass = ClassUtils.forName(converterClassType, settings.getClassLoader());
                }
                if (log.isDebugEnabled()) {
                    log.debug("Converter [" + converterName + "] is of type [" + converterClass.getName() + "]");
                }
                converter = (Converter) converterClass.newInstance();
            } catch (Exception e) {
                throw new ConfigurationException("Failed to create converter type [" + converterClassType +
                        " for converter [" + converterName + "]", e);
            }
            if (converter instanceof CompassConfigurable) {
                if (log.isDebugEnabled()) {
                    log.debug("Conveter [" + converterName + "] implements CompassConfigurable, configuring...");
                }
                ((CompassConfigurable) converter).configure(converterSettings);
            }
            convertersByName.put(converterName, converter);
            String registerClass = converterSettings.getSetting(CompassEnvironment.Converter.REGISTER_CLASS);
            if (registerClass != null) {
                try {
                    if (log.isDebugEnabled()) {
                        log.debug("Converter [" + converterName + "] registered under register type [" +
                                registerClass + "]");
                    }
                    cachedConvertersByClassType.put(ClassUtils.forName(registerClass, settings.getClassLoader()), converter);
                    convertersByClass.put(registerClass, converter);
                } catch (Exception e) {
                    throw new ConfigurationException("Failed to create register class [" + registerClass + "] " +
                            " for converter [" + converterName + "]", e);
                }
            }
        }
    }

    private void addDefaultConverter(Map converterGroups, String name, Class type, Converter converter) {
        addDefaultConverter(converterGroups, name, new Class[]{type}, converter);
    }

    private void addDefaultConverter(Map converterGroups, String name, Class[] types, Converter converter) {
        CompassSettings converterSettings = (CompassSettings) converterGroups.remove(name);
        if (converterSettings == null) {
            converterSettings = new CompassSettings(settings.getClassLoader());
        }
        String converterType = converterSettings.getSetting(CompassEnvironment.Converter.TYPE);
        if (converterType != null) {
            try {
                if (log.isDebugEnabled()) {
                    log.debug("Converter [" + name + "] (default) configured with a non default type [" +
                            converterType + "]");
                }
                converter = (Converter) ClassUtils.forName(converterType, settings.getClassLoader()).newInstance();
            } catch (Exception e) {
                throw new ConfigurationException("Failed to create converter type [" + converterType + "] for " +
                        "converter name [" + name + "]");
            }
        }
        if (converter instanceof CompassConfigurable) {
            ((CompassConfigurable) converter).configure(converterSettings);
        }
        convertersByName.put(name, converter);
        for (int i = 0; i < types.length; i++) {
            Class type = types[i];
            convertersByClass.put(type.getName(), converter);
            cachedConvertersByClassType.put(type, converter);
        }
    }

    public void registerConverter(String converterName, Converter converter) {
        if (log.isDebugEnabled()) {
            log.debug("Converter [" + converterName + "] registered");
        }
        convertersByName.put(converterName, converter);
    }

    public void registerConverter(String converterName, Converter converter, Class registerType) {
        if (log.isDebugEnabled()) {
            log.debug("Converter [" + converterName + "] registered with type [" + registerType + "]");
        }
        convertersByName.put(converterName, converter);
        convertersByClass.put(registerType.getName(), converter);
        cachedConvertersByClassType.put(registerType, converter);
    }

    public Converter lookupConverter(String name) {
        Converter converter = (Converter) convertersByName.get(name);
        if (converter == null) {
            throw new IllegalArgumentException("Failed to find converter by name [" + name + "]");
        }
        return converter;
    }

    /**
     * Looks up a converter based on the type. If there is a direct hit, than it
     * is returned, else it checks for a converter based on the interfaces, and
     * than recursive on the super class.
     */
    public Converter lookupConverter(Class type) {
        // not the most thread safe caching, but good enough for us
        // so we don't need to create a thread safe collection.
        Converter c = (Converter) cachedConvertersByClassType.get(type);
        if (c != null) {
            return c;
        }
        synchronized (cachedConvertersByClassType) {
            c = actualConverterLookup(type);
            cachedConvertersByClassType.put(type, c);
            return c;
        }
    }

    private Converter actualConverterLookup(Class type) {
        Converter c = (Converter) convertersByClass.get(type.getName());
        if (c != null) {
            return c;
        }
        Class[] interfaces = type.getInterfaces();
        for (int i = 0; i < interfaces.length; i++) {
            c = (Converter) convertersByClass.get(interfaces[i].getName());
            if (c != null) {
                return c;
            }
        }
        Class superClass = type.getSuperclass();
        if (superClass == null) {
            return null;
        }
        c = lookupConverter(superClass);
        if (c != null) {
            return c;
        }
        return null;
    }
}

redpajama_set_name: RedPajamaGithub


text:
Q: How to prevent multiple occurrence of an optional argument with choices I am using argparse in python 2.7. I'd like to prevent the user from calling my_app.py with multiple
--cache optional argument. -cache (or --cache) is optional argument with choices and have a const and a default values. the code:
parser = argparse.ArgumentParser()
parser.add_argument("-cache","--
cache",required=False,const='all',default=None,nargs='?',choices=["server-only","local-only","all"],
help="Activate Cache by choosing one of the list choices. e.g. -cache=local-only")

I want to raise an exception when user calls my_app.py in the form below:
#if he calls with multiple --cache arguments, argparse takes the last dilvered one !! But i want to
raise an exception here!
my_app.py --cache --cache=server-only

No suffcient answer was fond in this similar Q. in the link multiple argument occurrence

A: You can define a custom action that "remembers" the first time the option is used, then raises an exception if it is used a second time.
import argparse

class OneTimeAction(argparse._StoreAction):
    def __init__(self, *args, **kwargs):
        super(OneTimeAction, self).__init__(*args, **kwargs)
        self.seen = False

    def __call__(self, *args, **kwargs):
        if self.seen:
            parser = args[0]
            option_string = args[3]
            parser.error("Cannot use {} a second time".format(option_string))
        super(OneTimeAction, self).__call__(*args, **kwargs)
        self.seen = True

parser = argparse.ArgumentParser()
parser.add_argument("-cache", "--cache",
                    action=OneTimeAction,
                    default="all",
                    choices=["server-only", "local-only", "all"],
                    help="Activate Cache by choosing one of the list choices. e.g. -cache=local-only")

More generally, you can define this as a mix-in to be used with any kind of action. The following example also folds much of the configuration of the argument into the custom action itself.
import argparse

class OneTimeMixin(object):
    def __init__(self, *args, **kwargs):
        super(OneTimeMixin, self).__init__(*args, **kwargs)
        self.seen = False

    def __call__(self, *args, **kwargs):
        if self.seen:
            parser = args[0]
            option_string = args[3]
            parser.error("Cannot use {} a second time".format(option_string))
        super(OneTimeMixin, self).__call__(*args, **kwargs)
        self.seen = True

class CacheAction(OneTimeMixin, argparse._StoreAction):
    def __init__(self, *args, **kwargs):
        # setdefault ensures you can override these if desired
        kwargs.setdefault('choices', ["server-only", "local-only", "all"])
        kwargs.setdefault('default', 'all')
        kwargs.setdefault('help', "Activate Cache by choosing one of the list choices. e.g. -cache=local-only")
        super(CacheAction, self).__init__(*args, **kwargs)

parser = argparse.ArgumentParser()
parser.add_argument("-cache", "--cache", action=CacheAction)

redpajama_set_name: RedPajamaStackExchange


The Berlin based managers oversee the international network. They initiate cooperative efforts, develop funding programs, and provide advice.
The Main Office is located in the rooms of MitOst e.V.
In the Berlin office meetings and events take place.
The Berlin office develops educational concepts for activists and experts and supports the programs' quality development.
The international network of experts, facilitators, partners and activists is coordinated through the Berlin managers. They involve on different national and international levels in existing networks of civil society and citizenship education. The Berlin office publishes publications for activists and experts.


Madagascar Coloring Pages Coloring And Printable Pages | Cropmobatl madagascar coloring pages free. madagascar characters coloring pages. madagascar coloring pages.
Madagascar Coloring Pages Free. Madagascar Coloring Pages Printable For Kids Cool2bKids. Madagascar Coloring Pages Free. Madagascar Coloring Pages MADAGASCAR 24 Online Sheets. Madagascar Coloring Pages Free. Madagascar Coloring Pages Animals For Kids Printable Free. Madagascar Coloring Pages Free. Madagascar Coloring Pages Penguins Of Pdf Page Cannexus Co. Madagascar Coloring Pages Best 19 In Free Colouring With Pertaining. Madagascar Coloring Pages Page 6 3715. Madagascar Coloring Pages Free. Madagascar Coloring Pages Gloria For Kids Printable Free. Madagascar Coloring Pages Free. Madagascar Coloring Pages On Book Info. Madagascar Coloring Pages 10 Best Free Printable Penguins Of. Madagascar Coloring Pages Picture. Madagascar Coloring Pages Penguins Of Mofassel Me. Madagascar Coloring Pages 12 Page Free 2 Intended For 7. Madagascar Coloring Pages Free Penguins Of And Activity Sheets. Madagascar Coloring Pages Cartoon Pinterest Digi. Madagascar Coloring Pages Penguins Of. Madagascar Coloring Pages 10 Best Free Printable Penguins Of. Madagascar Coloring Pages Fresh 43 For Your Download. Madagascar Coloring Pages Page 17 3726. Madagascar Coloring Pages Penguins Of To Print Download Printable.


Additionally, there will be a world of difference between the second and third tiers, which is pushing the nine provincial finalists to make the most of the Finals, being played in Cape Town from June 6-12.
Every day we will introduce you to two teams fighting it out for NFD status – today Chippa United FC and FC Buffalo.
COASTAL WESTERN CAPE – Chippa United FC Cape Town business tycoon Siviwe Mpengeni – who has interests in security, waste management, construction and cleaning – has taken Chippa straight to the Play-offs just over a year after buying the franchise of crumbling Mbekweni Cosmos.
With the professional salaries offered to players, the 'Chilli Boys' have been able to entice ex-PSL stars Ashley Opperman, Diego Brown, Abduraghmaan White (formerly with Bidvest Wits) and Welcome Qalanto, while they have Andile Mbeyane leading the team as captain.
On the bench they have Michael Lukhubeni, assisted by retired Duran Francis, and have used Phillipi Stadium as their home, though they train in Nyanga where they have their roots.
After losing just once in the 32 League matches that they played, their only other loss was against Witbank Spurs in the Nedbank Cup last 32.
Club administrator Wandisile Mbenguzana says they want to change the face of Cape Town football and he is confident they will use home ground advantage to good effect. They play in yellow and green.
EASTERN CAPE – FC Buffalo This is yet another province that was affected by cases that had to be settled in the boardroom.
FC Buffalo have already won the stream with 68 points – six clear of second placed FC Tornado, who had filed complaints against Buffalo.
The club is owned by Rodney Mashaya and coached by Bush Bucks legend William Mugeyi, who is assisted by Simon Nhunge and Meyisi Fuyane.
They have set base in the East London suburb of Southernhood and use the Jan Smuts Stadium as their home ground, where they also train.
Buffalo have Phelelo Pitso as captain while Bloemfontein Celtic reject Nathaniel November is a star player, along with Patrick Meso, Phikolethu Nogwazo Esau Mtsweni and Patrick Meso.
Though the club has been in existence since 2006, playing in the SAB League, they bought the franchise of The Guys last year. They play in green and white.
Click HERE and HERE for the previous club profiles.


Washington, D.C. (October 5, 2018) – Four million refugee children around the world are out of school – missing out on their right to an education due to displacement, poverty and exclusion. For refugee children who are in school, teachers matter more than any single factor and serve on the frontline in delivering on the world's promise to provide all refugee children with a quality education, according to a new report by Save the Children.
Released on World Teachers' Day, "Hear it from the Teachers" sheds light why the education of refugee children matters, as well as the greatest challenges teachers face in doing their jobs to support the ability of refugee children to recover, learn and thrive.
Without an education, teachers fear that the outlook for refugee children is bleak. The report findings make clear that refugee education provides children with hope for the future, helps them start to feel safe and recover from trauma, and leads to greater peace and stability.
"Education is essential for children. It's like the difference between light and darkness. Without knowledge, their options are limited. School is participation and joy. Children open up to the world and think of their responsibilities. Education is very important because we need a generation equipped with knowledge. That's strength," Mahmoud al-Salem, a Syrian early childhood care and development teacher in Lebanon said.
The lack of professional development and support teachers receive to meet refugee children's distinct needs in these respects.
To remedy these challenges, Save the Children teachers recognized the need to provide refugee students with targeted psychosocial and language support, and for marginalized children to access learning opportunities that are flexible to their needs. Teachers stressed that helping children recover psychosocially and supporting them to learn in a new language is also a key challenge and they need continuous teacher development and support to equip them to address the distinct issues refugee children face.
The teachers called on host governments, agencies and the international community to do everything possible to ensure teachers have the support they need to help refugee children thrive in their classrooms and make certain the most marginalized can return to learning.


What is the abbreviation for Wisconsin Lutheran Child Family Service?
A: What does WLCFS stand for?
WLCFS stands for "Wisconsin Lutheran Child Family Service".
A: How to abbreviate "Wisconsin Lutheran Child Family Service"?
"Wisconsin Lutheran Child Family Service" can be abbreviated as WLCFS.
A: What is the meaning of WLCFS abbreviation?
The meaning of WLCFS abbreviation is "Wisconsin Lutheran Child Family Service".
A: What is WLCFS abbreviation?
One of the definitions of WLCFS is "Wisconsin Lutheran Child Family Service".
A: What does WLCFS mean?
WLCFS as abbreviation means "Wisconsin Lutheran Child Family Service".
A: What is shorthand of Wisconsin Lutheran Child Family Service?
The most common shorthand of "Wisconsin Lutheran Child Family Service" is WLCFS.


Wet Grinders in Ahmedabad, Gujarat, India - IndiaMARTFind here Wet Grinders manufacturers, suppliers & exporters in Ahmedabad, Gujarat. Get contact details & address of companies manufacturing and supplying Wet Grinders in Ahmedabad, Gujarat.premier wet grinder distributor in ahmedabad,Top 10 Wet Grinder Dealers in Ahmedabad, Best Wet Grinders for .Wet Grinder Dealers in Ahmedabad - Find wet grinders for sale in Ahmedabad and get wet grinder lowest price quotes, dealers contact address, phone numbers, ratings, reviews and Sulekha score instantly to your mobile.
Premier Spice Grinder | Premier Wet and Dry Spice Grinder . Shop Premier Wet and Dry Spice Grinder to meet all Wet and Dry grinding needs like Dry spice grinding, Coffee Grinding and Chutney Grinding. Free Shipping in US. Read More >>.
Top 10 Wet Grinder Dealers in Ahmedabad, Best Wet Grinders for .
Wet Grinder Dealers in Ahmedabad - Find wet grinders for sale in Ahmedabad and get wet grinder lowest price quotes, dealers contact address, phone numbers, ratings, reviews and Sulekha score instantly to your mobile.
I have purchased tilting grinder in 1 months ago[APR 26th] . I have purchase it in a Jayanagar 4th Bangalore shop. its worked only 1 week and started giving pro.


For security reasons, we ask you to uncheck all items, and then use this button if you want to delete the entire Comments from countries and international organisations folder.
The entire Comments from countries and international organisations folder and all its contents will be deleted.
Are you sure you want to delete Comments from countries and international organisations and all its contents?


Your New Best Friend Why A Standing Desk Mat Will Change The Way For Standing Desk Mats Plan | Melissalinellis.com stand up desk floor mats. best standing desk floor mats. standing desk mats nz.
Awesome Standing Desk Mat Comparison Review Standing Mats In Standing Desk Mats Prepare. Comfortable Standing Desk Mats Ergonomic Desk Inside Standing Desk Mats Ideas. Excellent Imprint Comfort Mats Top Rated Anti Fatigue Kitchen Mats Regarding Standing Desk Mats Prepare. The Best Standing Desk Mats Reviews Wirecutter A New York Intended For Standing Desk Mats Prepare. Ergonomic Standing Desk Mats Standing Desk Mat Pertaining To Standing Desk Mats Decorating. Tv Stand Standing Desk Mat The Best Topo Review Akomunn With Regard To Standing Desk Mats Renovation. Standing Desk Mat Comparison Review Standing Mats Workwhilewalking Regarding Standing Desk Mats Plan. Standing Desk Accessories Standing Desk Chair Mat Lcd Arm Desk In Standing Desk Mats Ideas. The Best Standing Desk Mat So Far Tested Throughout Standing Desk Mats Decorating. Five Best Standing Desk Floor Mats Within Standing Desk Mats Decorating. Your New Best Friend Why A Standing Desk Mat Will Change The Way For Standing Desk Mats Plan. The Best Standing Desk Mats Reviews Wirecutter A New York Intended For Standing Desk Mats Ideas. Your New Best Friend Why A Standing Desk Mat Will Change The Way Intended For Standing Desk Mats Ideas. Standing Desk Mat Material Home Design Ideas Best And Cozy Regarding Standing Desk Mats Renovation. Standing Mat For Geekdesk Standing Desks Pertaining To Standing Desk Mats Renovation. Tv Stand Standing Desk Mat Amazon Com Uncaged Ergonomics Active Within Standing Desk Mats Renovation. Topo Ergodriven Not Flat Standing Desk Anti Fatigue Mat In Standing Desk Mats Ideas. Licloud Standing Desk Mat Review Throughout Standing Desk Mats Renovation. Top Anti Fatigue Standing Floor Mat Reviews For Office And Kitchen Within Standing Desk Mats Decorating. The Best Standing Desk Mat For 2018 Reviews With Standing Desk Mats Ideas. Ergonomic Standing Desk Mats Standing Desk Mat With Standing Desk Mats Decorating. Standing Desk Mat Comparison Review Standing Mats Workwhilewalking Regarding Standing Desk Mats Decorating. Round Standing Desk Mat Home Design Ideas Best And Cozy Standing Regarding Standing Desk Mats Prepare. Standing Mat Reviews Standing Desk Reviews With Regard To Standing Desk Mats Ideas. Delightful Standing Desk Floor Mat On Floor In Standing Desk Floor Pertaining To Standing Desk Mats Prepare. The Best Standing Desk Mats Reviews Wirecutter A New York In Standing Desk Mats Decorating. Standing Desk Mat Reviews Of Anti Fatigue Mats Standing Desks Throughout Standing Desk Mats Renovation. The Best Standing Desk Mats Reviews Wirecutter A New York Regarding Standing Desk Mats Prepare. Standing Desk Floor Mat Price Kitchen Set Intended For Standing Desk Mats Decorating. The Best Standing Desk Mats Reviews Wirecutter A New York For Standing Desk Mats Prepare. Standing Desk Mats Shop Varidesk Solutions Onsingularity Regarding Standing Desk Mats Prepare. The Best Flat And Non Flat Topo Standing Desk Mats For 2018 For Standing Desk Mats Ideas. Rubber Cal Bubble Top Rubber Anti Fatigue Standing Desk Mat With Regard To Standing Desk Mats Plan. Standing Desk Floor Mats Computer Desk Pads Gelpro Intended For Standing Desk Mats Renovation. Best Not Flat Standing Desk Mats 2018 Buyers Guide For Standing Desk Mats Prepare. Topo Ergodriven Not Flat Standing Desk Anti Fatigue Mat Regarding Standing Desk Mats Decorating. The Best Flat And Non Flat Topo Standing Desk Mats For 2018 Throughout Standing Desk Mats Ideas. Ergodriven Topo Anti Fatigue Standing Desk Mat Review Pertaining To Standing Desk Mats Prepare.


What's the Value of a Lane?
We've all probably seen some images floating around on Twitter or other blogs showing the public space various modes take to transport people. This is a powerful, visual way to highlight the inefficiencies of how we've laid out our streets and roads, but we still seem to lack the political will to make major changes in space allotment as we invest in transit projects or street redesigns. As a comment points out in Nick's recent post, Minneapolis (and other urban municipalities) completely miss opportunities to follow through on their stated goals to implement bicycle facilities. To my knowledge, none of the arterial bus lines proposed by Metro Transit will utilize dedicated lanes, either.
A good start, but nary a dedicated lane in sight.
Further, the graphic itself leaves open room for plenty of (somewhat legitimate) criticism, ranging from the fact that cars can indeed carry more than one occupant, to the fact that buses aren't running continuously but rather every 7.5 to 30 minutes (depending on the route and time of day). We need a slightly more detailed argument in our arsenal to make our public spaces both more efficient (moving people, cost to maintain, increased property values etc), and more pleasant to live, work, or play near.
How many people can a lane move in a day or hour? This is the primary question traffic engineers have tried to solve, and they've done so under the lens of moving personal vehicles rather than people, oftentimes sacrificing scarce space for even more lanes. But how efficient is a lane designed for cars? In theory, a group of semi-autonomous vehicles with moderate communication between each other (brake signals, a car's body language, speed, etc) can flow through a lane at roughly 2,500 vehicles per lane per hour.
Of course, this assumes freeway lane sizes without the interruptions you'd typically see on an urban street – traffic signals, pedestrians crossing, side friction from parking cars and merging buses, accidents, etc. It's easier to simply evaluate what our city and county engineers have been able to accomplish from a lane capacity standpoint. Below is a compilation of four of the busiest arterials in Minneapolis (each having at least 2 lanes in each direction), showing AM and PM peak hour traffic counts.
Consider this: with all our left and right turn lanes, timed signals, peak hour turn restrictions, and the rest of the ways we've engineered our streets as pipelines, these four streets average out to a maximum hourly throughput of 543 cars per lane, per hour.
Of course, we know that cars can carry multiple people, but during rush hours in America, the average occupancy of every car is just 1.13 people. This isn't a knock on drivers. Carpooling is inconvenient at best- most commuters don't live near co-workers, and may have personal obligations they'd like to take care of before or after work. In any case, this means our average urban lane in Minneapolis probably carries at most 613 people per hour.
Let's compare that to what I would call a world-class surface running transit system. Imagine for a second we had the political will to convert a lane in each direction on every major arterial, be they parking or thru-lanes, to transit only. Also imagine we had the (relatively marginal) capital to build the type of stations that allowed speedy boarding and comfortable waiting spaces (they're already planning on this part anyway). An articulated bus can seat 59 with room for 64 standing travelers. At 90% and 50% capacity (for a net 70% bus capacity – quite comfortable and a reasonable for peak hours), respectively, these buses can move 85 people at a time. If we were serious about transit, we'd run these every 5-6 minutes in peak hours and 10 minutes off-peak, giving us a peak hourly lane capacity of 850 to 1,020 people. Of course, there's a cost-benefit analysis methodology out there for considering BRT lane conversions – has it been used here in the Twin Cities? How does the city regularly evaluate its space allocation for moving people around between bus, bike, rail, and car?
Allowing more people to live and more companies to locate in core cities requires the kind of place-making that draws people and families of all ages. If we could replace 540 cars with a single bus every five minutes, how much quieter would our major streets be? How much safer would families feel if auto traffic moved by at 15-20 mph rather than 25-35 mph because lanes had narrowed to 9.5 feet? Would concerns of air pollution vanish? Would people be willing to make the trade-off between personal and public space if our great parks were supplemented with the type of public living rooms we'd get as a result?
A cost-benefit analysis will never answer these questions. Even the most hardened libertarian urbanist sees the value in creating welcoming, safe places – whether these are simply wider and well-designed sidewalks, parklets taking over on-street parking spaces, or new plazas that might result from reducing auto capacity in favor of other modes. But this is what it takes to make living and working in a city more appealing (and worth the trade-off of space and privacy). Let's push our city leaders to take a more proactive role in redefining every foot of every major street under a different set of goals and objectives.
Alex likes cities. He lives with his wife, two kids, and two poorly behaved dogs just south of Uptown (Minneapolis). Tweets found here: @alexcecchini and occasional personal blog posts at fremontavenueexperience.wordpress.com.
18 Responses to What's the Value of a Lane?
Dedicated bus-only lanes would be a game changer for transit in this city.
Well, I've yet to experience a good one.
They are really good in Paris.
Netherlands tried them and not only no longer allows them but made it a priority to eliminate the ones they had (in comparison to some other things they've tried and no longer allow but did not make removal a high priority).
Besides these being extremely uncomfortable for bicyclists, the two modes are very different. Bicyclists want to ride at as constant pace as possible (13 mph?). Buses speed up/stop on a regular basis which causes a constant need for each to pass the other over and over and over again but without the space to do so.
I think these are a very bad idea.
What if there are far-side bus bulbs but which leave 6′ or so of passing space for bicyclists? Of course some mechanism would be needed to make sure bus drivers could see passing bicyclists.
But in general I'd rather see more space transferred from space-inefficient automobile use to ROW for bikes AND transit.
I think the biggest issue is that only the brave and bold 2% don't completely despise sharing lanes with buses. Passing or getting passed, without some kind of physical separation, is just too uncomfortable.
How about the U of MN Transitway?
Oh, sorry, the transitway, not Wash Ave. It's not completely pleasant to be passed by buses there, but it's better than a bike lane on a standard street. Bus speed is better. Again very few stops so few direct conflicts for space.
This is great news – the questions I have are: how will they actually apply the recommendations made by NACTO (ie how will they balance the differing "needs" of streets), and how quickly will whatever resulting transformation take shape (ie will the city make changes prior to scheduled street re-construction)?
Ah, Place de la Contrescarpe! I spent so much time there during my senior year of college. I highly recommend the Lebanese sandwich shop, Au Vieux Cèdre just off the circle, and L'Ile de Crete right on the circle.
Rue Mouffetard is my favorite street in my (admittedly limited) time spent in Paris. So many great spots to grab a bite or drink, close to the action, and very old-school urban feeling. Also, awesome you could recognize it!
Yes, Rue Mouffetard is one of the very old trading paths dating back to the city's beginning. Ernest Hemingway also stayed just off the Place during his time in Paris. It's a great place that lasts.
What about trams? The two-way tram system in Amsterdam operates in 17′ 1″ of space, about 1 1/2 lanes. I believe they also have a narrower system that runs through some neighborhoods.
Roundabouts? How many of our multi-lane roads are necessary ONLY for queuing and to make intersections more efficient in the very narrow timeframe (about 30% of the time?) that a car lane can use it? Dedicated turn lanes are necessary for the same reason? Hiway 61 through White Bear may be a great example of this, peak traffic for only a short period each day, lots of lane space needed during this peak for cars to queue while they're sitting at a red light and so that as many as possible can get through in the short period these lanes have a green light.
Walker, are you referring to gauntlet track? Or do they run full double track trams in 17′ 1′? Anyways, I would like to see European-style gauntlet track, and dedicated right of way, if we are going to build urban streetcars. It would be much more efficient operationally than having shared right of way with cars.
Full two-way fits in 17′ (the mirrors on the trams usually less than 1″ apart when they pass). Gauntlet runs about 9′ at the narrowest I've seen.
Buses and taxi's can usually share the tram lanes with a few exceptions. Individual cars cannot. Fines for driving where you're not supposed to or for a taxi blocking a tram are quite steep.


text:
Varadise wins the Gold Award in the Start-Up Category in CIC Construction Digitalisation Award 2021 in Hong Kong
November 3, 2021 November 3, 2021 varadise2021Leave a comment
Varadise is proud to announce it has been awarded the top-notch "Gold" Award for Start-Up Category in Construction Industry Council (CIC) Construction Digitalisation Award 2021.
The Award recognizes outstanding start-up company that has adopted, advanced, and achieved excellence in Digital Transformation for its contribution in the application of cutting-edge technologies about innovation that radically improves safety, productivity, quality, and sustainability, with measurable KPIs, to enhance project delivery outcomes. The judging criteria are accessed against four key attributes – Technical Execution & Benefit Realisation; Strategy & Leadership; Innovation Management & Operation; and ESG & Industry Impact and the winners were determined by a panel of twelve external judges who are esteemed locals and international industry professionals.
At Varadise, we continue to strive to be a market leader in digitalization and data management, consistently contributing to the advancement of the construction industry and Hong Kong as a smart city towards Construction 2.0. Our Varadise Twin, a Smart Site Management Platform (SSMP) built upon the latest Digital Twin technology, serves as a single source of truth to synchronize information across project teams. We have successfully worked with public and private sector clients, main-contractor, consultants, subcontractors, and other solutions vendors to bring state-of-the-art solutions to our industry.
"My goal is to work faster and better for construction projects. I always remind myself and my team, we are not an IT company, we are engineers who solve problems with new technologies " said Ir Terence Lui, CEO of Varadise. "Digitalization is all about standardization. It is more than just buying software or installing sensors, it is about structuring your work, your data workflows, and even your business so that you can monitor and automate your works in a better way using digital technologies. "
Tagged: Digital Twin, Varadise Twin
Written by varadise2021
View all posts by varadise2021
Previous Introduce Yourself (Example Post)
Next Varadise's impactful Digital Twin solutions wins the Most Innovative Award at New World Innovation Challenge 2021

redpajama_set_name: RedPajamaCommonCrawl


text:
The Cyrus is Spreading
Offenders for the week ending October 17, 2019:
#3 MAMA JUNE
You can take the trash out, but it's still trash. This unfortunate reality TV star had it all, except class and common sense, but we digress. She and her loser boyfriend, Geno Doak (or is that D*ck?) have both entered "not guilty" pleas in their crack cocaine possession case. These two starred in the We TV reality series "From Hot to Not." The two didn't show up in an Alabama courtroom, which disappointed the reality TV crew. (Why does she still have a show?)
Anywho... the last time Doak was in court, he shouted a homophobic slur and cussed out a photographer. Why can't this slob-y wench disappear?
#2 JON GOSSELIN
This dude continues to be an embarrassment to the Korean people, as well as the male gender in general. He's still unhappy with his ex-wife, Kate. I get it. He's not thrilled that Kate continues to film "Kate Plus 8" with their children-- the youngest six are all 15 now. Sure, a judge ruled that filming isn't the best thing for the kids. But methinks Jon protesting isn't because of his love for his children:
"(The network) didn't care. It's really upsetting that big businesses and big corporations go do whatever they want, against a parent's legal right. I do know what (Kate's) capable of, whether it's mental or physical (abuse). I have two kids in my house who left a whole pile of money behind. They left fame and money and came to my house. They left it all behind."
And you left your (steady, high-paying) engineering job to pursue your nightclub-DJ dreams (not-so-steady, maybe a one-time big pile... of money). You can'T support eight kids without a J-O-B. Miss that reality money yourself, don't you?
#1 CODY SIMPSON AND MILEY CYRUS
Is Miley's bucket list really a f*ckit list-- like, anything that moves? She dumped her lady love for some Oscar Mayer, in the form of Cody Simpson. He says their uglies-bumpin' "wasn't sudden" and "he's very happy." Wasn't Miley recently really happy with what's-her-face? And if this wasn't sudden, then was she cheating on the lady she was cheating on her husband with? Exactly. It hurts your head, no? Cody says:
"We just have a ball (or two-- wink, wink) and that's the most important part of a relationship. The reason why it's not like... it hasn't been a really crazy sudden thing is we've been friends for so long that when we sort of found each other again in a space where... We both met back in the day when we were partying a lot. We had a lot of fun then... but now we've found each other in a space where we're not partying, working real hard and just like (to) keep things healthy."
But I thought the reason Miley dumped that chick was because it was moving too fast towards commitment? Maybe she just needed to fill the hole... in her heart...
Why does anyone want this hazmat vag? It's not golden. Gooey, maybe...


text:
Current Weather:
California Mid-State Fair ›
Paso Robles Event Center menu
WiFi Information
Paso Robles Event Center
Adelaide Hall
Estrella Hall
Frontier Pavilion
Ponderosa Pavilion
RV Parking & Spaces
California Mid-State Fair
Buildings & Areas
Mid-State Fair
Luke Bryan to perform at Mid-State Fair!
Home › Latest News › Luke Bryan to perform at Mid-State Fair!
PASO ROBLES (CA) – The California Mid-State Fair is pleased to announce that country music superstar Luke Bryan has been confirmed to perform in concert on Thursday, July 26 at 7:30 pm. Special Guest is Jon Pardi, who will open the show. Bryan's concert is part of the annual Bud Light Concert Series and will take place in the Chumash Grandstand Arena at the Paso Robles Event Center. It marks the first time Bryan has ever performed at the California Mid-State Fair.
Ticket prices for the show are $51, $86, $131 and $156 and will go on sale Friday, March 2, 2018. Tickets will be available starting at 10:00 am online at www.MidStateFair.com or by calling 1-800-909-FAIR (3247), and at 1:00 pm at the California Mid-State Fair box office located at 2198 Riverside Avenue in Paso Robles.
Country music superstar Luke Bryan is a two-time Academy of Country Music and Country Music Association Entertainer of the Year, a five-time host of the ACM Awards and the Super Bowl LI National anthem performer. He has more certified digital singles than any other country artist with 40 million tracks and 12 million albums with three Billion music streams and he was the most-streamed country artist from 2012 to 2016. Luke has placed 19 singles at #1, 11 of which he co-wrote, and has headlined arena tours and sold-out stadiums across the U.S. performing for 1.5 Million fans in 2017 alone.
California native and Capitol Records Nashville's Jon Pardi is undeniably country, with an evident influence from country music pioneers from Dwight Yoakam, to Merle Haggard. His laid back, fun-loving approach towards life, charisma and authenticity strike a chord with country audiences as he regularly sells out shows across the country. His second studio album, California Sunrise, was released in June of 2016 and features two #1 hits "Head Over Boots" and "Dirt On My Boots", as well as the hits "Heartache On The Dance Floor" and his current smash "She Ain't In It".
The 2018 California Mid-State Fair runs July 18-29 and this year's theme is "Ole, It's Fiesta Time!" Connect with the California Mid-State Fair on Facebook, Instagram, Twitter and Snapchat.
‹ Back to All Articles
eBillboard Rental
Address: 2198 Riverside Ave., Paso Robles, CA 93446
Mailing Address: PO Box 8, Paso Robles, CA 93447 | Tel: (805) 239-0655 | Box Office: (805) 238-3565
© 2021 Paso Robles Event Center | All Rights Reserved | Website Design and Development by LIFTOFF Digital


text:
The Noize Faktory
Episode 8 – There's A Rule You'll Find…Only The Strong Survive
[html5mp3full:11]
I want to thank all the new followers for checking out the Todd Kerns episode last week, and for those of you that are coming back, here is what the Noize Faktory is all about week to week! The best rock and roll anywhere! Fans of Todd's will definitely enjoy this show on a regular basis, and you guys should dig into the archives for some more great stuff from past episodes.
Hour 1 features new tracks from Black Star Riders, Monster Truck's new epic "For The Sun", and the debut of brand new Queensryche! The self titled CD is out now, and for those long time Queensryche fans you will not be disappointed. We also have some great songs from UFO, King's X, Blue Murder, and a special dedication to one of friends from the road!
Hour 2 has a couple of new tracks from Tom Keifer and Black Sabbath, and some lost classics from Tommy Bolin and the Scorpions. I also threw in a great live track from Paul Stanley on his 2006 solo tour, a killer version of the Kiss track "Magic Touch".
Hour 3 starts out with one of my favorite Blue Oyster Cult tracks "Take Me Away", you may not know it, but you should! We have a couple more new tracks for you from the Winery Dogs and The Cult, and some cool covers from Leslie West, Pat Travers, and Tesla.
Three great hours of rock with bands from the 60's to today! Enjoy, and leave your comments with me at pete@thenoizefaktory.com, and if you want to be in the next show email me an audio file with your comments or requests in MP3 format!
This entry was posted in 2013, Archived, Episode 8 - There's A Rule You'll Find...Only The Strong Survive on July 5, 2013 by admin.
← The Conspirators – "Not For Me" Acoustic Ugly Kid Joe – "So Damn Cool" →
Head over to the Shadow & The Thrill page and give it a like and a follow please! These guys are a great new... https://t.co/5w7oBGZNYd 06:03:48 PM December 19, 2017 from Facebook ReplyRetweetFavorite
Screaming Eagles - Rock N' Roll Soul - Do you like AC/DC? How about Free? What if you smashed those two bands... https://t.co/Q7zN3m8gm9 10:09:33 AM April 03, 2017 from Facebook ReplyRetweetFavorite
Cheap Trick - When I Wake Up Tomorrow - This is one of the amazing tracks from their last release. In my opinion... https://t.co/tVAK7Sh0NT 10:02:06 AM April 03, 2017 from Facebook ReplyRetweetFavorite
Derringer - Sittin' By The Pool - This is a great live clip of the Derringer band during their reunion tour in... https://t.co/AL45OOo4yC 01:56:30 PM March 30, 2017 from Facebook ReplyRetweetFavorite
https://t.co/zkJKaCb98H 11:53:06 AM March 27, 2017 from Facebook ReplyRetweetFavorite
@noizefaktory
The Noize Faktory – Hour 35
© 2013-2020 Copyright | The Noize Faktory | ALL RIGHTS RESERVED | Created By TackleboxxDesigns


text:
The Winslow philosophy
Careers at Winslow
Commentary library
Philanthropy at Winslow
Spotlight on Winslow
Contact associates
Directions – Boston
Directions – Braintree, MA
Directions – New York City
Directions – Paramus, NJ
How-to: Access my account
Tax Form Downloads to TurboTax®
Important information for investors
NetXInvestor™ App
Money market sweeps
+ What approach is right for me?
+ Choosing a financial professional
+ Brokers
+ Investment advisors
+ The Winslow philosophy
+ Plan for life
+ What to expect: Six steps
+ Plan for retirement
+ Save for college
+ Invest and trade
+ Tax-advantaged investing
+ Trading desk services
+ Client support
+ Insure your future
+ Life insurance
+ Annuities: "Income for life"
+ Property and casualty
+ Submit your current policy
+ Long-term care
+ Equity trading
+ Fixed income
+ Municipal desk
+ by Name
+ by Branch
OPPORTUNITIES AT WINSLOW
+ Financial advisors
+ Business partners
+ Working with Winslow
EVOLUS DEADLINE ALERT
By: NewMediaWire
November 30, 2020 at 21:09 PM EST
Securities Litigation Partner James Wilson Encourages Investors Who Suffered Losses Exceeding $100,000 In Evolus To Contact Him Directly To Discuss Their Options
NEW YORK - (NewMediaWire) - November 30, 2020 - If you suffered losses exceeding $100,000 investing in Evolus stock or options between February 1, 2019 and July 6, 2020 and would like to discuss your legal rights, click here: www.faruqilaw.com/EOLS or call Faruqi & Faruqi partner James Wilson directly at 877-247-4292 or 212-983-9330 (Ext. 1310).
There is no cost or obligation to you.
Faruqi & Faruqi, LLP, a leading minority and certified woman-owned national securities law firm, is investigating potential claims against Evolus, Inc. ("Evolus" or the "Company") (NASDAQ:EOLS) and reminds investors of the December 15, 2020 deadline to seek the role of lead plaintiff in a federal securities class action that has been filed against the Company.
As detailed below, the lawsuit focuses on whether the Company and its executives violated federal securities laws by making false and/or misleading statements and failing to disclose to investors that: (1) the real source of botulinum toxin bacterial strain as well as the manufacturing processes used to develop Jeuveau™ originated with and were misappropriated from Medytox; (2) sufficient evidentiary support existed for the allegations that Evolus misappropriated certain trade secrets relating to the botulin toxin strain and the manufacturing processes for the development of Jeuveau™; (3) as a result, Evolus faced a real threat of regulatory and/or court action, prohibiting the import, marketing, and sale of Jeuveau™; which in turn (4) seriously threatened Evolus' ability to commercialize Jeuveau™ in the United States and generate revenue; and (5) any revenues generated from the sale of Jeuveau™ were based on Evolus' unlawful activities, including the misappropriation of trade secrets and secret manufacturing processes belonging to Allergan and Medytox.
Specifically, on July 6, 2020, the U.S. International Trade Commission ("ITC") Court issued its Final Initial Determination on the question of Evolus' alleged violation of section 337 of the Tariff Act of 1930, in misappropriating certain trade secrets from Medytox. The ITC Court found that Evolus misappropriated Medytox's trade secrets which caused substantial injury to the domestic industry. Additionally, the ITC Court found that Daewoong misappropriated certain trade secrets relating to the manufacturing processes of the relevant botulinum toxin strain. As a remedy, the ITC Court recommended a limited exclusion order preventing Evolus from importing Jeuveau™ into the United States for ten years and a cease and desist order that would prevent Evolus from marketing and selling Jeuveau™ in the United States, also for a period of ten years.
On this news, the Company's shares dropped to $3.35 per share over the next two trading days, representing a loss of 37%.
The court-appointed lead plaintiff is the investor with the largest financial interest in the relief sought by the class who is adequate and typical of class members who directs and oversees the litigation on behalf of the putative class. Any member of the putative class may move the Court to serve as lead plaintiff through counsel of their choice, or may choose to do nothing and remain an absent class member. Your ability to share in any recovery is not affected by the decision to serve as a lead plaintiff or not.
Faruqi & Faruqi, LLP also encourages anyone with information regarding Evolus's conduct to contact the firm, including whistleblowers, former employees, shareholders and others.
Attorney Advertising. The law firm responsible for this advertisement is Faruqi & Faruqi, LLP (www.faruqilaw.com). Prior results do not guarantee or predict a similar outcome with respect to any future matter. We welcome the opportunity to discuss your particular case. All communications will be treated in a confidential manner.
Evolus Inc
Market Action
Home | Individual investors | Institutional investors | Find an advisor | Opportunities at Winslow | About | News | Contact | Mobile | Site map
Privacy | Legal notices | Copyright 2021 Winslow, Evans & Crocker, Inc.
Broker/Dealer, SEC Registered Investment Advisor, MSRB Registered Company | Member FINRA, SIPC
Accounts are carried by Pershing LLC, member FINRA, NYSE, SIPC, a wholly owned subsidiary of The Bank of New York Mellon Corporation (BNY Mellon)
Accounts carried by Raymond James & Associates, Inc., member New York Stock Exchange / SIPC


Fast Track Hobbies - Where YOU are in control!- Birthday Party Fun!
You can download our Slot Car brochure by clicking here!
HAVE YOUR BIRTHDAY PARTY IN OUR RACING THEMED PARTY ROOM!
Looking for something different to do for your next birthday party? Want to have a fun and exciting birthday experience?
Have your birthday party at Fast Track Hobbies!
Sure to be a hit with all of the kids and parents too! We offer two affordable packages, sure to fit your budget.
Move the racing to the Purple Angel Track for only $10 more!
Get thirty minutes extra time in the Party Room for only $25 more!
Is it a Double Party? Get a second Birthday Trophy for only $10 more!
One Full Slot Car Race on the Purple Angel Slot Car Track. The Slot Car Race lasts approximately 30-60 Minutes, depending on the number of racers.
Parties require your own "Slot Car Pit Crew"
to monitor out of control slot cars.
For your	convenience, the party room is decorated and we have a refrigerator / freezer available for your cake, drinks and ice cream.
A 50 percent, non-refundable, deposit is required at the time of booking.
We recommend bringing Disposable Table Cloths.


The CCM is a registered 501(c)3 organization.
After the genocidal regime of Pol Pot, that killed 1.7 million, ended in 1979, God opened the door for us whom He spared to minister to His people in Kompong Chhnang Province in Cambodia. In Melum Commune, there are 450 children and youth who are struggling to stay in school because they are growing up in poor families and do not have enough financial, education, and emotional support.
During their weekly activity, they continually pray for their Activity Center to be built. They continue meeting under the cashew trees with joyful hearts, under the leadership of our youth pastor along with youth leaders. The property is 4.8 acres. The fence and the well have been completed and we are ready for the next project: building a more suitable kitchen.
The Cambodian Children's Center is located in the Kingdom of Cambodia, about 19 km from Kompong Chhnang Province's city center toward Posat and Battambong, along Highway 5 on the Right side of the highway. It's about 200 meters off the highway.
The Cambodian Children Ministry relies on partnerships with local churches and individuals like you. Under the leadership of Pastor Peter Im, the ministry partners with local Cambodian families in the discipleship of their children, guiding their children to know, love, serve, share and worship God in a lifelong relationship with Jesus Christ. Contributions from individuals and local churches have resulted in the construction of the ministry's first Cambodian Children Center, which continues the amazing work of spreading the love and teachings of Christ.
Rev. Peter V. Im is a survivor from the Killing Fields and was called to minister in Cambodian Ministry at First Baptist Church of Portland, Ore. in 1988. He was appointed as a missionary in 2004–2012 to work with the Children's Ministry in Cambodia. He also served on the board of the Cambodian Ministry for Christ International from 1993–2009. Currently, First Baptist Church is proud to partner with him. Please join him to bring the gospel to Cambodians here in the community and back in Cambodia for His Kingdom.


HTML and text sizes are used in the main page of www.1game.ua like the graph.
- HTML size is 29KB, compressed HTML and Text Size are 22KB and 5KB.
Your site is on 31.28.170.119 IP server and working speed with a value of 152 ms is fine. We recommend that you keep this value. If necessary, you can speed up even more by making new studies.


Vauxhall has confirmed plans to launch two new EVs in 2020, joining its electric Corsa – set to debut in 2019.
The electric vehicles are the next-gen Mokka X and Vivaro van, building on the sales successes of the existing models. No further details have yet been released, including where the vehicles will be produced, following job cuts at Vauxhall's Ellesmere Port production site.
The three EVs will be complemented by Vauxhall's forthcoming Grandland X plug-in hybrid, offering all-wheel drive and 298bhp.
Vauxhall says electrification between now and 2025 will represent the greatest technological advance in the company's 115-year old history, since the first seven years of production between 1903-1910.


text:
The Waco Patent Blog by Erick Robinson
Waco Patent Blog
Who Writes This
PATENT LITIGATION IN THE WESTERN DISTRICT OF TEXAS
WACO DIVISION
Thank you to IAM for Naming Me a "Global Leader" in IP
I am humbled to have been identified as an Intellectual Property Global Leader by IAM:
I particularly appreciate this honor as both my Texas and Chinese patent litigation practices continue to grow exponentially at my new firm. I am looking forward to achieving great things for my amazing clients at Porter Hedges LLP.
Thank you to my clients, colleagues, and to IAM!
#PatentsAreBack #PatentLitigation #ChinesePatents #TexasPatents
More Markman Hearings via Zoom
Judge Albright has claim constrruction hearings scheduled this week via Zoom and all are invited to observe.
Here are the details (the Zoom info is the same for both):
Thursday @ 9:00AM: Jiaxing Super Lighting Electric Appliance, Co., Ltd. et al v. CH Lighting Tech. Co., Ltd. et al. (6:20-cv-00018-ADA)
Friday @ 9:00AM: Green Mountain Glass, LLC et al v. O-I Glass, Inc. et al (6:19-cv-00600-ADA)
Please remember to mute yourself!
Join ZoomGov Meeting
https://txwd-uscourts.zoomgov.com/j/16057076711?pwd=WHljN0h3Yk03K3JLUTZ2a0tTMitPZz09
+16692545252,,16057076711#,,,,,,0#,,873559# US (San Jose)
+16468287666,,16057076711#,,,,,,0#,,873559# US (New York)
Find your local number: https://txwd-uscourts.zoomgov.com/u/aecopz1LeN
Join by SIP
16057076711@sip.zoomgov.com
Join by H.323
161.199.138.10 (US West)
161.199.136.10 (US East)
Markman Hearing Available Via Zoom
Judge Albright has a Markman hearing TODAY (Friday) via Zoom starting at 9am CT am. If you would like to learn how the Court handles claim construction, this is a great opportunity. The access information is below:
Cases: 6:20-CV-124 & 125 Cameron International Corporation v. Butch's Rathole & Anchor Service Inc. and Cameron International Corporation v. Nitro Fluids LLC. The technology relates to well fracturing.
Start Time: 9 am CT
PLEASE ENSURE YOU ARE ON MUTE SO AS NOT TO DISTURB THE HEARING!!
https://txwd-uscourts.zoomgov.com/j/16057076711?pwd=VzFsL3RPZXIwMGJ6Tjg4MEROdzk2UT09
+16468287666,,16057076711#,,1#,873559# US (New York)
Thank you to IAM and my friends, colleagues and clients!
I am honored to be selected for the IAM Strategy 300 for the sixth straight year.
I greatly appreciate IAM, as well as my clients, colleagues, and friends for their trust ! I especially thank to my US and China teams for helping me create a one-of-a-kind patent litigation practice.
When I left my very good in-house position at Qualcomm a little over five years ago with no clients, things could have gone horribly wrong. There have been hiccups, of course, but I during this period, I have been honored to work with the top patent litigators in the world. What started as a limited IP practice focused only in China has become a worldwide patent litigation and licensing practice focusing on the US, China, and Germany.
With the growth of litigation funding for US patent litigation and fair judges like those in the Western and Eastern Districts of Texas, the US part of my practice has continued to flourish. The magic, though, is combining US, Chinese, and German patent law into a worldwide enforcement campaign. Successful patent enforcement is no longer limited to one or even two countries. Rather, it is a vital part of business planning, and can require access to unfamiliar jurisdictions. As the world gets smaller and smaller, I have been honored to help clients successfully litigate in the US, Mainland China, Taiwan, Germany, France, Brazil, Vietnam, Singapore, and Italy.
I love what I do, and although that is generally enough, I appreciate the occasional accolade from great folks like IAM to substantiate that I am making a difference. I owe all of my partners, associates, assistants, friends, and clients for supporting me over the years, and especially during this horrid 2020. Here's to a better year next year, and to great patents and technology!
多谢!
The Strengthening of the "Albright Doctrine" re IPRs at the PTAB
The "Albright Doctrine"
First, to be clear, the naming of the "Albright Doctrine" is mine, and hopefully no one (especially Judge Albright or the WDTX) takes offense. What I am calling the Albright Doctrine is simply the idea that a federal court can get to trial more quickly than the PTAB can both institute and and adjudicate an inter partes review. Judge Albright has been outspoken about this issue, saying specifically that "[i]t's my job to give people the opportunity to have their cases tried in a federal court ... and I probably can get a patent trial resolved more quickly than the PTAB can."
Patent cases in Waco have been moving MUCH more quickly than in courts in Delaware and California. For example, most claim construction hearings in Waco have taken place between 8 and 12 months from case filing according to data obtained from Lex Machina. Even more important than a quickly moving docket, though, is that Judge Albright has does not generally stay litigation due to an IPR request or institution. When asked recently by IAM why this is, here is how the Judge replied:
https://www.iam-media.com/law-policy/albright-the-last-thing-anyone-should-think-about-venue-it-plaintiff-friendly
In allowing patent owners their day in court in a timely manner, Judge Albright has single-handedly changed the tenor of patent litigation and provided a fair and reasonable jurisdiction for patent disputes. Now, the PTAB is jumping on board!
As indicated below, the PTAB has basically stated that if the invalidity challenges are the same in the IPR request and parallel patent litigation, then if a court has a reasonable chance of adjudicating the issue first, the Board will use its discretion and not even institute a review. In essence, the PTAB is saying, "yes, we believe that courts can move more quickly than we can, and if the issues are the same, then any IPR would be moot and should not be instituted."
This is what I call the Albright Doctrine: that a district court can moot an IPR by moving quickly to trial so that a jury can adjudicate validity rather than the PTAB. I am a fan, because I agree with Judge Albright that juries are wise and will make the correct decisions through the longstanding U.S. trial system if allowed to do so. I am sure that infringers and those that do not respect patents would disagree.
Board Rejects Institution of IPR of FinTiv Patent
Last Wednesday, May 13, the PTAB denied institution of an IPR of Fintiv Inc.'s Patent No. 8,843,125. Apple had requested institution while Fintiv asserted that the PTAB should deny institution because Apple had raised the same invalidity challenges in the district court proceeding, which should be resolved before the PTAB reached its final decision.
The PTAB in its previous March 20 order regarding the same matter identified six factors for determining whether to institute the IPR under 35 U.S.C. § 314(a):
After reviewing the parties' briefs as to whether the Board should use its discretion to deny Apple's petition based on the board's precedential NHK Spring decision, the PTAB declined to institute review.
In NHK, the PTAB refused to institute an IPR when a trial was set to take place before the Board was expected to issue a final written decision, after analyzing factors six non-exclusive factors:
- the similarities and material differences between the asserted art and the prior art involved during examination;
- the cumulative nature of the asserted art and the prior art evaluated during examination;
- the extent to which the asserted art was evaluated during examination, including whether the prior art was the basis for rejection;
- the extent of the overlap between the arguments made during examination and the manner in which Petitioner relies on the prior art or Patent Owner distinguishes the prior art;
- whether Petitioner has pointed out sufficiently how the Examiner erred in its evaluation of the asserted prior art; and
- the extent to which additional evidence and facts presented in the Petition warrant reconsideration of prior art or arguments." Citing Becton, Dickinson & Co. v. B. Braun Melsungen AG, IPR2017-01586, slip op. at 17–18 (Paper 8) (PTAB Dec. 15, 2017) (informative).
Six Factors Made Precedential
The Panel in its March 20 order made the six factors precedential, building on its NHK Spring decision and requiring future panels to analyze these factors when determining whether to exercise discretion to refuse review of a challenged patent on the ground that an upcoming district court trial will address the patent's validity.
Specifically, in its May 13 decision denying institution, the Board found that five of the six factors weighed in favor of denying Apple Inc.'s IPR bid, including the upcoming trial date of March 8, 2021 (postponed from November 16, 2020 due to COVID-19 pandemic) in the parallel litigation in the Western District of Texas (case no. 1:19-cv-01238-ADA).
Other factors that supported denial of institution of IPR included:
the petitioner and the defendant in the parallel proceeding are the same party;
there was significant investment by the court and parties in the Texas federal court litigation (Apple had argued that only two depositions had been taken, and only substantial investment regarded claim construction, which was fully complete. The Court admitted that "fact discovery is in its early stages, with document production ongoing and depositions just getting underway, expert reports are not yet due, and substantive motion practice is yet to come" but still found that "[b]ased on the level of investment and effort already expended on claim construction and invalidity contentions in the District Court, this factor weighs somewhat in favor of discretionary denial in this case";
the same claims were challenged based on the same prior art in both the Petition and in the District Court; and
Apple's arguments appeared to have weaknesses.
This PTAB decision makes the most sense of any I have seen in some time. I hope other courts around the country will adopt Judge Albright's policy of not staying cases and moving cases quickly to trial. Only time will tell, but right now, the PTAB just gave Judge Albright a vote of confidence.
Part 2 of IAM's Interview with Judge Albright (aka "Why Waco is Fair, and Not Plaintiff-Oriented)
Richard Lloyd at IAM has published part 2 of his interview with Judge Albright of the Western District of Texas Waco Division. For part 1, see my earlier post. Interestingly, Judge Albright makes a point to point out that his court should not be considered plaintiff-friendly, but rather, "scrupulously fair":
So, every single time I have ever given a talk to anybody, I have tried to stress that what I am hoping the people are going to get from my court is someone who had 20 years of experience handling patent cases and handled a fair number of patent trials to verdict - but also handled them on both sides of the docket. I want every party that comes out of my court to feel like I was scrupulously fair:
I have been saying this since Judge Albright (re)took the bench. Patent owners are rejoicing at the ability to file in Waco not because they get an unfair advantage, but rather because -- unlike many district courts and the PTAB -- the rules are not 100% against them. Perhaps the most important aspect of Judge Albright's court is that he generally does not stay litigation pending IPRs at the PTAB. As he says in part 2 of the interview:
"I think that people have a constitutional right to assert their patent. I mean, patents are in the Constitution, the right to a jury trial is in the Constitution. I am not taking away anyone's right to go to the PTAB, but I think people ought to have a jury trial. [] I don't have any problem with the idea of the PTAB handling validity issues, but I will say this: I think juries are very wise and I think we can count on them to make the right decisions if they are provided with the right evidence. So, I have great faith in the juries on every issue."
It's sad that because defendants do not have their normal huge advantage, they are eager to imply that Waco is "plaintiff-friendly." Like Judge Albright, I think the better term is "fair."
Excellent interview with Judge Albright
Richard Lloyd at IAM just published his excellent interview with Judge Albright of the Western District of Texas Waco Division. I fully recommend everyone give it a read.
Judge Albright Issued Standing Order Re Scheduled Hearings
Yesterday, March 24, WDTX. District Court Judge Albright issued a Standing Order regarding Waco non-bankruptcy civil cases. You can click on the image to the right to download the PDF, but the main points are as follows:
1. All civil case hearings in Waco will continue as scheduled, but will be done telephonically.
2. For non-Markman hearings, if a party wants to use PowerPoint slides, the party must email the slides to the Court at least 24 hours before the hearing (if not, then the party waives its right to use slides during the hearing).
3. For Markman hearings, if a party wants to use PowerPoint slides, the party must email the slides to the Court within 6 hours of receiving preliminary constructions from the Court.
I am very happy that Judge Albright and the Western District of Texas are moving things forward even in the face of the COVID-19 pandemic. We should all applaud the Court for its courage and creativity in this dark time!
Excellent IAM article, but I respectfully disagree. Waco is a great place for patent owners.
Richard Lloyd of IAM recently published a great article regarding the emergence of Waco as a top patent litigation forum (see https://www.iam-media.com/litigation/plaintiffs-are-flocking-ips-hottest-new-district-recent-changes-suggest-defendants). However, while we do not yet have a huge number of cases (I am hoping to change that substantively as well as with analysis here on the blog), I believe Waco is, without a doubt, the best place to file a patent litigation in the US.
Richard quotes my friend, Michael Smith, oracle of all things EDTEX, as pointing out several potential drawbacks of Waco. First, as anyone practicing in WDTX knows, discovery is limited until after claim construction. While this can be a drawback in certain circumstances, limiting (but not eliminating) discovery pre-Markman is smart, and helps limit costs for small business and NPE plaintiffs while they wait to get their claim construction. As someone that regularly represents "the little guy," spending millions of dollars in time and money on reviewing discovery that, for the most part, will not affect the trial is wasteful. I learned how to work and try a case from my mentor, Sam Baxter, who taught me (especially in contingent-fee cases) to focus on the things that matter at trial. Large defendants will try to get small inventors and NPEs (and their counsel) to focus on other things, but if it is not needed for trial, then it is a waste of resources. Without hordes of lawyers that literally get paid to be inefficient, the little guys need to keeps their eye on the ball. And as anyone that has tried more than a few patent cases knows, only a few documents obtained in discovery are even remotely useful. Sam told me that we should be able to try the case the day we file it, and I have found that advice remarkably wise and productive. Limiting discovery to those things that are actually needed pre-Markman helps do that.
Plus, Judge Albright is a smart, common-sense judge, just as he was a smart, common-sense patent litigator before taking the bench. If something is truly necessary for your case, you will likely get it. Common-sense discovery rules are a good thing.
Second, Michael points out that parties are, absent prejudice, allowed to amend their infringement and invalidity contentions until several weeks after the Markman hearing. While less than ideal in some cases, because no one likes unpredictability, I don't see this as a major problem, so long as the judge allows the jury to hear about the amendment and timing. Again, this is all about the jury, and unlike most courts these days, Waco allows the patentee to get their case to a jury in a timely manner.
While we're talking about timing, perhaps the greatest advantage of filing in Waco is that patent owners will not have their cases stayed pending IPR. This is golden. In most courts around the country, the litigation is stayed for 12 to 24 months while the defendants throw darts as the patents via the PTAB. In addition to being remarkably unfair, it increases the cost and time of litigation for the plaintiff. This is particularly painful for small companies and individuals, who have to come up with between a $200K to $1M before they even get to step into court. This can be fatal for many folks. Let's face it, few inventors have $500K lying around to wait until the USPTO agrees that the patent that they already granted is actually valid.
Lastly, the article points out that many hearings are taking place in Austin. Also, Judge Albright has made at least one inter-divisional transfer of a case from Waco to Austin. This is because the Judge's son is completing high school in Austin this year. Judge Albright is often making the oh-so-beautiful drive up and down I-35 and there is no reason not to have hearings in Austin. In fact, as mentioned on this blog, Judge Albright encourages the parties to submit briefing via audio file so that he can listen to the while he drives back and forth. The Austin-centric portion of Judge Albright's hearing schedule will likely diminish as Judge settles into his new home in Waco. In any case, again, I don't see this as a problem, even if trials were to be held in Austin. Yes, many of the defendants are sued in Waco because they have a significant presence in Austin. However, I don't see a jury being unfair to a patentee because Apple or any other large company has an office in Austin. Don't get me wrong, I like the jury pool in Waco. But Austin is just not that bad, even if you have to have your case there.
Ultimately, patent owners that file in Waco know which judge they will get, because there is only one: Judge Albright. He is a capable, fair, and practical judge, which is why defendants don't like Waco. It's not that Waco is unfair, it is that Waco is fair to both sides. Big infringers don't like this. But I (Erick) do. And so do patent owners starved for a forum to give them a fair opportunity to present their case to a jury.
Q & A with Judge Alan D. Albright
Photograph by Waco Tribune-Herald
Recently, David had the chance to interview the Honorable Alan D. Albright. In this Q&A with Judge Albright, the Waco Patent Blog hopes to provide practitioners in Judge Albright's court with some useful guidance and practice pointers.
WPB: Judge, many have taken note of your invitation to submit audio recordings for briefs. Are there any pointers that you would like to share with parties and their counsel?
Judge: First of all, there is no requirement to submit an audio file. I do find that it is helpful to have an audio version of a brief, but, with or without it, by the time for any action on my part I will have read every written brief that the parties submit. I certainly will not penalize any party for not providing an audio file. If a party does submit a file, it needs to be as an MP3 or Dropbox file. Also, I would prefer that the reader not speak out case citations, but rather simply say something like "see case". Again, I will have read all of the written documents and the cited authorities.
WPB: Do you have any other "nuts and bolts", brief-related suggestions for parties before your court?
Judge: Because I tend to write all of my own orders and opinions, and it is often useful to excerpt certain passages from the parties' filings, I would appreciate receiving Word versions of motions and briefs. Counsel can email those to my law clerk.
WPB: When the inevitable discovery and other procedural disputes arise, how would you prefer that the attorneys approach the issue in your court?
Judge: I was in litigation practice for many years. I understand that counsel needs to protect their client's interests, and that disputes will arise. I do not penalize attorneys or their clients for disagreeing. At the same time, I want to resolve disputes as quickly, fairly and efficiently as possible. So, I encourage counsel for all parties to simply call my chambers when a reasonable dispute arises. At that time, or as soon as I am available, I will resolve a reasonable dispute – have no problem doing that. At the same time, I do not want to get a call about petty disputes, the resolution of which would be apparent to any reasonable attorney.
WPB: While you obviously have any number of other kinds of cases, your patent docket seems to have received the most attention, nationally. Do you have any practice pointers with respect to the pivotal Markman hearings in your patent cases?
Judge: There are several features of my Markman hearings that parties would likely want to know. Unless the case is a multiple patent one, parties can expect one-half day for the Markman hearing. I have not yet found a case that required any more than that, though I do not at this time have an arbitrary argument time limit, either for parties or for any given claim term. With respect to argument, I will want to hear argument from both sides as to each disputed claim term, before moving to the next term. If a party is urging "plain and ordinary meaning", I will want to first hear from the party that urges other than "plain and ordinary meaning". While this may seem self-evident, I would like for at least one party to bring physical copies of the patent or patents at issue. I recently held a Markman hearing in which I was forced, because of a technical issue, to read the patent on my smart phone. I would also appreciate the parties bringing a simple list of the claim terms that are at issue. I've had cases in which the briefing actually left it unclear about what terms the parties were actually in disagreement. Finally, I want the parties to know that my goal is to reach the right claim construction, not to conform to any artificial structure for argument or time limits. I do not want to hear parties repeatedly arguing and re-arguing the same points over-and-over, especially once it is clear that we have exhausted all credible arguments and I have reached my conclusions, but I am happy to hear whatever counsel believe that I should hear until we reach that point.
WPB: Your standing order provides for tutorials. Do you have any pointers or preferences that you would like to share about tutorials?
Judge: As with audio files, tutorials are not required, but they can be very helpful in some cases. They are most helpful to me when they are structured in a way that explains, as simply as possible, what problem an embodiment of the claimed invention solves, and how it does it. I am not looking, for example, for just another way for a party to somehow support a claim construction position. Also, note that tutorials will not be on the record.
WPB: Your standing order for patent cases provide a clear structure and sequence for patent cases in your court. Do you have anything to add with respect to your prescribed procedures and schedules for parties to consider as they begin a patent case.
Judge: Yes, actually. As I have said in about every forum in which I have had the chance, my goal is to provide a venue in which every party knows that they have had their day in court, have had every opportunity to present their case, have been treated fairly, and have had every opportunity to do all of this in the most efficient and cost-effective way possible. Consistent with that, I not only do not mind, but encourage counsel to suggest alternative proceedings, sequences and schedules that depart from my default arrangements, if they believe that it makes sense for their case. If I agree, I will adjust accordingly.
WPB: Thank you for your time today, Judge. I think that this information will further help parties and their counsel appreciate the opportunity that both bringing and defending a patent case in your court represents for their clients.
Subscribe to The Waco Patent Blog by Email
Judge Albright
© 2020 Erick Robinson


Preheat the oven to 375°. Line a baking sheet with parchment and arrange flatbread rounds.
Rinse the kale and add the leaves to a pot with 2 tablespoons of water over medium heat. Cover and cook until kale is tender, about 6 minutes. Squeeze excess water from the kale, and transfer to cutting board to finely mince, add to a small bowl and set aside.
Combine the milk and heavy cream in a small saucepot over low to medium heat and bring to a simmer. Meanwhile, in a separate saucepot over medium heat, melt the butter until it begins to froth. Add the flour to the butter and cook, stirring constantly, until the roux turns a pale yellow colored paste. Using a wire whisk, slowly add the warm milk mixture to the butter roux, whisking vigorously to avoid lumps.
Add the garlic, onion, and salt to the pot and simmer for 15 minutes until the cream base is fragrant. The sauce should be just thick enough to coat the back of a spoon. Stir in 1/3 cup of the chopped kale until incorporated. If consistency is too thick, add a touch of milk to loosen. Season to taste with salt and black pepper.
Spread a generous layer of the sauce over the flatbreads, top with cheeses, a few artichoke hearts, and bake for 15-20 minutes until cheese has melted and sauce bubbles off the sides a bit. Cut into strips and serve.