text:
Search our registers
Search the Academy Website
Homepage / Knowledge Hub / Kirkman v Euro Exide Corporation (CMP Batteries Ltd)
Kirkman v Euro Exide Corporation (CMP Batteries Ltd)
Relevance of Expert Evidence to Limitation
[2007] EWCA Civ 66 TEDR Volume 12 Issue 1
In September 2001 the claimant sustained an accident at work when he fell into a 2 feet deep hole. His foot became trapped and he suffered a wrenching injury to the right knee. He had some previous history of a problem with his right knee. At 17 he had had a motorcycle accident. In 1994 his knee was investigated and a diagnosis was made of damage to the anterior cruciate ligament.
The claimant was referred to Mr Anthony Banks, a consultant orthopaedic surgeon at what was then the Bolton Royal Infirmary. His knee problems subsided, but they recurred in 2001. The claimant's GP referred him back to Mr Banks and an appointment was made for 9 October 2001.
However, on 25 September 2001 the claimant had his accident at work. He attended the hospital. The initial diagnosis was of a soft-tissue injury to the right knee. He was treated and told to keep his appointment, already made, with Mr Banks as a follow-up. On 9 October 2001 the claimant saw Mr Banks. An MRI scan was ordered; that was available in late November 2001. Mr Banks advised an operation to reconstruct the anterior cruciate ligament. The operation took place on 8 May 2002. The claimant developed MRSA – a virulent infection. He had extensive treatment, but eventually in 2003, he had to submit to an above-knee amputation of the right leg.
The claimant commenced proceedings in respect of the accident at work. Liability was not in issue – but an important issue arose as to whether or not the need for the operation which resulted in the development of MRSA was necessitated by the accident or whether the claimant would have undergone the operation even if he had not had the accident at work. That issue plainly would make a great deal of difference to the damages to be recovered.
The claimant initially obtained medical reports from an orthopaedic surgeon named Mr David Markham, but he has not sought to rely upon those. He also obtained medical reports from Mr Banks. The gist of these was that, had it not been for the accident at work, the claimant would not have had surgery in May 2002, although it was Mr Banks' view that he might have needed surgery in due course, say in about three to five years' time. Mr Banks also expressed the view that MRSA was an extremely rare complication in this kind of knee surgery. The accident at work had led to the surgery taking place when it did; that had led to the infection, which led to the amputation.
The claimant sued for damages.
The Expert Evidence
The claimant obtained medical reports from an orthopaedic surgeon but did not seeks to rely upon them. He also obtained medical reports from Mr Banks. The gist of these was that, had it not been for the accident at work, the claimant would not have had surgery in May 2002, although it was Mr Banks' view that he might have needed surgery in due course, say in about three to five years' time. Mr Banks also expressed the view that MRSA was an extremely rare complication in this kind of knee surgery. The accident at work had led to the surgery taking place when it did; that had led to the infection, which led to the amputation.
The claimant's solicitor also obtained an expert report from another orthopaedic surgeon, Mr Peter Kay. He referred quite extensively to Mr Banks' report and concluded that, absent the accident at work, it was likely that the claimant would have soldiered on without an operation for some further time and might never have needed one at all. As MRSA is a very rare complication, its occurrence would have been unlikely if the operation had taken place at any other time.
The defendant's medical expert, Mr Parkinson, was of the view that the claimant's knee had deteriorated to such an extent before September 2001 that, even absent the accident at work, he would probably have had an operation in March 2002 with the same consequences as had in fact occurred.
Arising from the joint meeting of experts, Mr Kay and Mr Parkinson became much closer in their opinions. Their joint review was that the claimant's underlying condition made surgery almost inevitable, but the accident brought forward the need for it to take place by about three months.
Following one statement of Mr. Banks being excluded by a district judge as containing expert evidence, a revised statement was drafted for Mr Banks, dated 7 October 2005. However, the defendant did not agree that it contained only evidence of fact and the matter went back to the district judge. The defendant objected to the following passage in the statement:
"I have been asked whether I would have advised Mr Kirkman to undergo surgery following his referral to me in 2001 in the absence of the September 2001 accident. I would not have advised the surgery which Mr Kirkman in fact underwent in the absence of the accident in September 2001."
Mr Banks had also said in the following paragraph:
"I have been asked by the solicitors acting for Mr Kirkman not to give reasoning for the advice I would have given in the absence of the accident of September 2001 in order to avoid giving opinion evidence. I am fully willing to give my reasons if asked."
The district judge ruled that Mr Banks should be permitted to attend court to give evidence and that it should be left to the trial judge to decide if his evidence contained expert opinion or not.
The defendant was unhappy with this ruling and appealed it to the circuit judge. That judge, HHJ Warnock, upheld the appeal on the basis that the statement contained expert opinion evidence and held the statement to be inadmissible.
The leading judgment was given by Lady Justice Smith in which she said:
"14. The problem that has arisen in this case seems to me to stem from the rigid application of the aspirational objective within the Civil Procedure Rules that the parties to litigation should operate under equality of arms. This objective has been interpreted to mean that it is desirable for each party to have permission to deploy similar resources. Each party will, in general, be limited to instructing the same number of experts; the number will depend upon what is proportionate, bearing in mind the importance and complexities of the issues in the case. However, the desirability for equality of arms was not intended to result in an absolute rule that, in every case, the parties must be limited to calling the same number of experts. There may be circumstances in which that general rule should give way for the sake of achieving the overriding objective of dealing with the case justly." (see ES v Chesterfield and North Derbyshire Royal Hospital NHS Trust [2003] EWCA CIV 1284 as an example)
The following passages are highly instructive as to how to discern the difference between expert evidence and evidence of fact in such cases. Lady Justice Smith said:
"16. The kernel of Mr Banks' proposed evidence, as re-drafted, is the statement that if the claimant had presented himself in October 2001 and had not recently had an accident he, Mr Banks, would not have advised the claimant to undergo a ligament reconstruction. In my view, that is clearly a statement of fact. He is there saying what he would have done in a set of circumstances which did not in fact happen. True, in saying that, Mr Banks is relying upon his knowledge and his experience as a professional person. But he is not expressing an expert opinion.
17. I can see that the distinction may not be immediately obvious. I suggest that the distinction can be seen by applying the following tests. One is to consider the difference between the positions between Mr Kay and Mr Parkinson on the one hand and Mr Banks on the other hand in the present case. Mr Kay and Mr Parkinson have no personal knowledge of the facts; they bring their expertise to bear upon their understanding of the claimant's chronic condition, absent the accident. They express a view as to what most competent surgeons would advise; or, put another way, what it is probable that an unidentified surgeon on whom the claimant attended would have advised. In giving their opinions they are advising as to their understanding of received medical wisdom applicable to the circumstances of this case.
18. Mr Banks' position is quite different. He is the doctor who would in fact have advised the claimant. He is saying what he would have advised the claimant to do. He is not saying that that advice would have been correct, or that most competent surgeons would have given that advice, or that an unidentified surgeon to whom the claimant presented would have given similar advice. He is speaking only for himself. He might, if asked in cross-examination, be able to justify his advice as good and correct. In doing so he would almost certainly have to express expert opinion. On the other hand, it might be possible for the defendant to attack his advice as bad or incorrect, but the correctness of his advice or whether it accorded with received medical wisdom is not in issue; the only issue is what he would have advised. His evidence as to that might be challenged, at least theoretically, on the basis that it is not true, or more realistically on the basis that it is not reliable, but if it was sought to challenge his evidence on the basis that no other orthopaedic surgeon would have advised as he had done, his answer could quite properly be: "Well, that may be so, but right or wrong that's what I would in fact have advised".
19. The other way in which one can be satisfied that this is evidence of fact is to compare it, as Mr Limb invited us to do, with the evidence of the employer, who states that if his employee (the claimant) had not been injured, he (the employer) would have promoted him to a more senior position within, say, two years. No-one would suggest that such evidence is inadmissible; no-one would suggest that it is expert evidence, although it is founded upon the witness's knowledge, experience and expertise. The usefulness of the employer's statement is that he has sufficient knowledge of the claimant's qualities and the needs of his own business to be able to give a credible statement as to what would have happened if the claimant had not been injured. But although the evidence depends upon a degree of expertise, it is not expert evidence. I can see no essential difference between the evidence of the employer and the evidence of Mr Banks."
So the Court of Appeal held this to be evidence of fact and allowed the same to be provided but also made the cogent point that even if it had been in part expert evidence, it ought probably to have been allowed in the exercise of judicial discretion in this case.
An important decision on the difference between expert and factual evidence and also the flexibility of the overall approach of their being equality of numbers of experts on opposing sides and that it does not amount to a rigid rule. It also is an example of considerable costs being thrown away through an overly rigid application of CPR by one party and a failure to look at a case proportionately and in the round. It is important to remember that expert witnesses may occasionally be called as witnesses purely of fact. The irony is that they may then be asked questions in court (sometimes by counsel and sometimes by the judge) seeking to elicit expert views and this is whether or not they are being paid as experts. I suppose technically such a witness may say that he or she is there to give evidence of fact and hence would decline to provide any expert opinion evidence (no doubt appreciating that he or she would not be being paid a professional fee to provide such expert opinion evidence). However, in reality most experts giving factual evidence will be well advised to comply with the wishes of the judge. Those wishes may not necessarily be assumed however and an expert who is giving evidence of fact but is being asked to stray into areas of expert opinion, may well wish to clarify at the time of giving his or her evidence what the judge wishes him or her to deal with in testimony.
TAE Knowledge Hub
The resource centre and library.
Some content is free to all, some is limited to members.
Open the hub
Expert Determiner
admin@academy-experts.org
3 Gray's Inn Square
WC1R 5AH
E: admin@academy-experts.org
Linkedin TAE
Twitter TAE
Judicial committee


Minnesota is a very large state and it offers scores of health and fitness activities to take part in. Long-time yoga practitioners may be interested in becoming instructors and offering their services to the public. This is a good thing, since doing so can end up being a very rewarding endeavor. However, there are certain costs and responsibilities that must be taken into consideration when becoming a yoga instructor. For one, a teacher should acquire Minnesota yoga insurance. Most assume this insurance will cover costs associated with the physical property, such as fire, flood, theft, and loss of use. Insurance of this nature is definitely helpful, but there is also the necessity of acquiring yoga insurance that covers liability.
Not everyone may see the immediate need for such insurance. Oversights of this nature are a huge mistake. While it is certainly true yoga is far less risky than other physical activities, there is always a risk of injury when a client/student steps into your school. Tearing a muscle is a possibility when performing an exercise. Slipping on the floor can happen, and this might lead to a major injury.
Since, as the instructor, are in charge of the class, if any clients were injured during one of your sessions, they may wish to recoup their losses from you. Whether or not you truly are liable or have committed an act of negligence is somewhat moot. The aggrieved will try to blame you when they seek civil remedy for their injuries. The major damage that can result to your professional and personal life if you are held liable civilly could be disastrous. Having a decent insurance policy in place that caters to yoga instructors might aid in eliminating a host of stress, worry, and, of course, financial calamities.
In the state of Minnesota, there are no mandatory educational or regulatory requirements for becoming a yoga instructor. Once the yoga lover gets a location to teach out of and starts running classes, he or she might not think anything more is required. Rather than make such a mistake, it would be best to look into Minnesota yoga insurance that covers the major areas of liability: professional liability, general liability, and product liability. Professional liability can cover malpractice and professional liability can cover trips, slips, falls, and other accidents. Product liability is there if a product you use in class is somehow faulty and contributes to an issue.
For a very low monthly premium, upwards of $3 million in annual insurance may be acquired. The insurance could even cover $2 million for a single event. Such a huge amount of coverage can give an instructor peace of mind.


text:
package com.haulmont.cuba.gui.app.security.user.edit;

import com.haulmont.bali.util.ParamsMap;
import com.haulmont.chile.core.model.MetaClass;
import com.haulmont.cuba.client.ClientConfig;
import com.haulmont.cuba.core.entity.Entity;
import com.haulmont.cuba.core.global.*;
import com.haulmont.cuba.gui.UiComponents;
import com.haulmont.cuba.gui.WindowManager.OpenType;
import com.haulmont.cuba.gui.WindowParam;
import com.haulmont.cuba.gui.WindowParams;
import com.haulmont.cuba.gui.app.security.events.UserPasswordChangedEvent;
import com.haulmont.cuba.gui.app.security.user.NameBuilderListener;
import com.haulmont.cuba.gui.components.*;
import com.haulmont.cuba.gui.components.actions.BaseAction;
import com.haulmont.cuba.gui.components.actions.ItemTrackingAction;
import com.haulmont.cuba.gui.components.actions.RemoveAction;
import com.haulmont.cuba.gui.data.CollectionDatasource;
import com.haulmont.cuba.gui.data.DataSupplier;
import com.haulmont.cuba.gui.data.Datasource;
import com.haulmont.cuba.gui.data.DsContext;
import com.haulmont.cuba.gui.data.impl.AbstractDatasource;
import com.haulmont.cuba.gui.data.impl.DatasourceImplementation;
import com.haulmont.cuba.gui.events.UserSubstitutionsChangedEvent;
import com.haulmont.cuba.gui.icons.CubaIcon;
import com.haulmont.cuba.gui.icons.Icons;
import com.haulmont.cuba.gui.theme.ThemeConstants;
import com.haulmont.cuba.security.entity.*;
import com.haulmont.cuba.security.global.UserSession;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;

import javax.inject.Inject;
import java.util.*;

import static com.haulmont.cuba.gui.components.PickerField.LookupAction;

public class UserEditor extends AbstractEditor<User> {

    @Inject
    protected DsContext dsContext;

    @Inject
    protected DataSupplier dataSupplier;

    @Inject
    protected Datasource<User> userDs;

    @Inject
    protected CollectionDatasource<UserRole, UUID> rolesDs;

    @Inject
    protected CollectionDatasource<UserSubstitution, UUID> substitutionsDs;

    @Inject
    protected Table<UserRole> rolesTable;

    @Inject
    protected Table<UserSubstitution> substTable;

    @Inject
    protected FieldGroup fieldGroupLeft;

    @Inject
    protected FieldGroup fieldGroupRight;

    @Inject
    protected Icons icons;

    protected PasswordField passwField;
    protected PasswordField confirmPasswField;
    protected LookupField<String> languageLookup;
    protected LookupField<String> timeZoneLookup;

    @Inject
    protected UserSession userSession;

    @Inject
    protected UiComponents uiComponents;

    @Inject
    protected Configuration configuration;

    @Inject
    protected Metadata metadata;

    @Inject
    protected Security security;

    @Inject
    protected PasswordEncryption passwordEncryption;

    @Inject
    protected ThemeConstants themeConstants;

    @Inject
    protected TimeZones timeZones;

    @Inject
    protected Events events;

    @WindowParam(name = "initCopy")
    protected Boolean initCopy;

    public interface Companion {
        void initPasswordField(PasswordField passwordField);
    }

    @Override
    public void init(Map<String, Object> params) {
        super.init(params);

        userDs.addItemPropertyChangeListener(new NameBuilderListener<>(userDs));
        userDs.addItemPropertyChangeListener(e -> {
            if ("timeZoneAuto".equals(e.getProperty())) {
                timeZoneLookup.setEnabled(!Boolean.TRUE.equals(e.getValue()));
            }
        });

        AddRoleAction addRoleAction = new AddRoleAction();
        addRoleAction.setEnabled(security.isEntityOpPermitted(UserRole.class, EntityOp.CREATE));
        rolesTable.addAction(addRoleAction);
        EditRoleAction editRoleAction = new EditRoleAction();
        rolesTable.addAction(editRoleAction);

        RemoveRoleAction removeRoleAction = new RemoveRoleAction(rolesTable, false);
        boolean isUserRoleDeletePermitted = security.isEntityOpPermitted(UserRole.class, EntityOp.DELETE);
        boolean isUserUpdatePermitted = security.isEntityOpPermitted(User.class, EntityOp.UPDATE);
        removeRoleAction.setEnabled(isUserRoleDeletePermitted && isUserUpdatePermitted);
        rolesTable.addAction(removeRoleAction);

        AddSubstitutedAction addSubstitutedAction = new AddSubstitutedAction();
        addSubstitutedAction.setEnabled(security.isEntityOpPermitted(UserSubstitution.class, EntityOp.CREATE));

        substTable.addAction(addSubstitutedAction);
        EditSubstitutedAction editSubstitutedAction = new EditSubstitutedAction();
        substTable.addAction(editSubstitutedAction);
        RemoveAction removeSubstitutedAction = new RemoveAction(substTable, false);
        substTable.addAction(removeSubstitutedAction);

        boolean isUserRoleCreatePermitted = security.isEntityOpPermitted(UserRole.class, EntityOp.CREATE);
        addRoleAction.setEnabled(isUserRoleCreatePermitted && isUserUpdatePermitted);

        boolean isSubstitutedUserCreatePermitted = security.isEntityOpPermitted(UserSubstitution.class, EntityOp.CREATE);
        addSubstitutedAction.setEnabled(isSubstitutedUserCreatePermitted && isUserUpdatePermitted);

        boolean isSubstitutedUserDeletePermitted = security.isEntityOpPermitted(UserSubstitution.class, EntityOp.DELETE);
        removeSubstitutedAction.setEnabled(isSubstitutedUserDeletePermitted && isUserUpdatePermitted);

        boolean isRoleUpdatePermitted = security.isEntityOpPermitted(Role.class, EntityOp.UPDATE);
        editRoleAction.setEnabled(isRoleUpdatePermitted);

        boolean isSubstitutedUserUpdatePermitted = security.isEntityOpPermitted(UserSubstitution.class, EntityOp.UPDATE);
        editSubstitutedAction.setEnabled(isSubstitutedUserUpdatePermitted);

        initCustomFields(PersistenceHelper.isNew(WindowParams.ITEM.getEntity(params)));

        dsContext.addAfterCommitListener((context, result) -> {
            updateSessionSubstitutions(result);

            if (passwField.getValue() != null) {
                publishPasswordChangedEvent(getItem(), passwField.getValue());
            }
        });
    }

    protected void updateSessionSubstitutions(Set<Entity> committedEntities) {
        for (Entity entity : committedEntities) {
            if (entity.equals(userSession.getUser())) {
                userSession.setUser((User) entity);
            }
            if (entity.equals(userSession.getSubstitutedUser())) {
                userSession.setSubstitutedUser((User) entity);
            }
        }

        if (userSession.getUser().equals(getItem())) {
            for (Entity entity : committedEntities) {
                if (entity instanceof UserSubstitution) {
                    publishUserSubstitutionsChanged(userSession.getUser());

                    break;
                }
            }
        }
    }

    @Override
    protected void postInit() {
        setCaption(PersistenceHelper.isNew(getItem()) ?
                getMessage("createCaption") : formatMessage("editCaption", getItem().getLogin()));

        timeZoneLookup.setEnabled(!Boolean.TRUE.equals(getItem().getTimeZoneAuto()));

        // Do not show roles which are not allowed by security constraints
        LoadContext<Role> lc = new LoadContext<>(Role.class);
        lc.setQueryString("select r from sec$Role r");
        lc.setView(View.MINIMAL);
        List<Role> allowedRoles = dataSupplier.loadList(lc);

        Collection<UserRole> userRoles = new ArrayList<>(rolesDs.getItems());
        for (UserRole userRole : userRoles) {
            if (!allowedRoles.contains(userRole.getRole())) {
                rolesDs.excludeItem(userRole);
            }
        }

        if (BooleanUtils.isTrue(initCopy)) {
            initCopy();
        }

        // if we add default roles, rolesDs becomes modified on setItem
        ((AbstractDatasource) rolesDs).setModified(false);
    }

    @Override
    protected void initNewItem(User item) {
        addDefaultRoles(item);
        item.setLanguage(messages.getTools().localeToString(userSession.getLocale()));
        initUserGroup(item);
    }

    protected void initUserGroup(User user) {
        LoadContext<Group> ctx = new LoadContext<>(Group.class);
        ctx.setQueryString("select g from sec$Group g");
        ctx.setView(View.MINIMAL);
        List<Group> groups = dataSupplier.loadList(ctx);
        if (groups.size() == 1) {
            user.setGroup(groups.get(0));
        }
    }

    protected void addDefaultRoles(User user) {
        LoadContext<Role> ctx = new LoadContext<>(Role.class);
        ctx.setQueryString("select r from sec$Role r where r.defaultRole = true");
        List<Role> defaultRoles = dataSupplier.loadList(ctx);

        List<UserRole> newRoles = new ArrayList<>();
        if (user.getUserRoles() != null) {
            newRoles.addAll(user.getUserRoles());
        }

        MetaClass metaClass = rolesDs.getMetaClass();
        for (Role role : defaultRoles) {
            UserRole userRole = dataSupplier.newInstance(metaClass);
            userRole.setRole(role);
            userRole.setUser(user);
            newRoles.add(userRole);
        }

        user.setUserRoles(newRoles);
    }

    protected void initCustomFields(boolean isNew) {
        createPasswordFields(isNew);

        createLanguageLookup();

        createTimeZoneField();

        createGroupField();
    }

    protected void createTimeZoneField() {
        FieldGroup.FieldConfig timeZoneFc = fieldGroupRight.getFieldNN("timeZone");

        HBoxLayout hbox = uiComponents.create(HBoxLayout.class);
        hbox.setSpacing(true);

        timeZoneLookup = uiComponents.create(LookupField.TYPE_STRING);

        timeZoneLookup.setDatasource(timeZoneFc.getTargetDatasource(), timeZoneFc.getProperty());
        timeZoneLookup.setRequired(false);

        MetaClass userMetaClass = userDs.getMetaClass();
        timeZoneLookup.setEditable(fieldGroupRight.isEditable()
                && security.isEntityAttrUpdatePermitted(userMetaClass, timeZoneFc.getProperty()));

        Map<String, String> options = new TreeMap<>();
        for (String id : TimeZone.getAvailableIDs()) {
            TimeZone timeZone = TimeZone.getTimeZone(id);
            options.put(timeZones.getDisplayNameLong(timeZone), id);
        }
        timeZoneLookup.setOptionsMap(options);

        hbox.add(timeZoneLookup);

        CheckBox autoDetectField = uiComponents.create(CheckBox.class);
        autoDetectField.setDatasource(timeZoneFc.getTargetDatasource(), "timeZoneAuto");
        autoDetectField.setCaption(messages.getMainMessage("timeZone.auto"));
        autoDetectField.setDescription(messages.getMainMessage("timeZone.auto.descr"));
        autoDetectField.setAlignment(Alignment.MIDDLE_RIGHT);

        autoDetectField.setEditable(fieldGroupRight.isEditable()
                && security.isEntityAttrUpdatePermitted(userMetaClass, "timeZoneAuto"));

        hbox.add(autoDetectField);
        hbox.expand(timeZoneLookup);

        timeZoneFc.setComponent(hbox);
    }

    protected void createGroupField() {
        FieldGroup.FieldConfig groupFc = fieldGroupRight.getFieldNN("group");

        PickerField<?> pickerField = uiComponents.create(PickerField.class);

        pickerField.setDatasource(groupFc.getTargetDatasource(), groupFc.getProperty());
        pickerField.setRequired(true);
        pickerField.setRequiredMessage(getMessage("groupMsg"));

        LookupAction action = LookupAction.create(pickerField);
        action.setLookupScreenOpenType(OpenType.DIALOG);
        action.setLookupScreenParamsSupplier(() -> {
            if (getItem().getGroup() != null) {
                return ParamsMap.of("selectedGroup", getItem().getGroup());
            }
            return Collections.emptyMap();
        });
        pickerField.addAction(action);

        groupFc.setComponent(pickerField);
    }

    protected void createPasswordFields(boolean isNew) {
        passwField = uiComponents.create(PasswordField.class);
        if (isNew) {
            passwField.setRequiredMessage(getMessage("passwMsg"));

            Companion companion = getCompanion();
            if (companion != null) {
                companion.initPasswordField(passwField);
            } else {
                passwField.setRequired(true);
            }
            passwField.addValueChangeListener(e ->
                    ((DatasourceImplementation) userDs).setModified(true)
            );
        } else {
            passwField.setVisible(false);
        }
        fieldGroupLeft.getFieldNN("passw").setComponent(passwField);

        confirmPasswField = uiComponents.create(PasswordField.class);
        if (isNew) {
            confirmPasswField.setRequiredMessage(getMessage("confirmPasswMsg"));

            Companion companion = getCompanion();
            if (companion != null) {
                companion.initPasswordField(confirmPasswField);
            } else {
                confirmPasswField.setRequired(true);
            }
            confirmPasswField.addValueChangeListener(e ->
                    ((DatasourceImplementation) userDs).setModified(true)
            );
        } else {
            confirmPasswField.setVisible(false);
        }
        fieldGroupLeft.getFieldNN("confirmPassw").setComponent(confirmPasswField);
    }

    protected void createLanguageLookup() {
        languageLookup = uiComponents.create(LookupField.TYPE_STRING);
        FieldGroup.FieldConfig languageLookupFc = fieldGroupRight.getFieldNN("language");
        languageLookup.setDatasource(languageLookupFc.getTargetDatasource(), languageLookupFc.getProperty());
        languageLookup.setRequired(false);

        Map<String, Locale> locales = configuration.getConfig(GlobalConfig.class).getAvailableLocales();
        Map<String, String> options = new TreeMap<>();
        for (Map.Entry<String, Locale> entry : locales.entrySet()) {
            options.put(entry.getKey(), messages.getTools().localeToString(entry.getValue()));
        }
        languageLookup.setOptionsMap(options);
        languageLookupFc.setComponent(languageLookup);
    }

    @Override
    protected boolean preCommit() {
        if (rolesDs.isModified()) {
            @SuppressWarnings("unchecked")
            DatasourceImplementation<UserRole> rolesDsImpl = (DatasourceImplementation) rolesDs;

            CommitContext ctx = new CommitContext(Collections.emptyList(), rolesDsImpl.getItemsToDelete());
            dataSupplier.commit(ctx);

            List<UserRole> modifiedRoles = new ArrayList<>(rolesDsImpl.getItemsToCreate());
            modifiedRoles.addAll(rolesDsImpl.getItemsToUpdate());
            rolesDsImpl.committed(Collections.emptySet());
            for (UserRole userRole : modifiedRoles) {
                rolesDsImpl.modified(userRole);
            }
        }

        User user = getItem();

        if (PersistenceHelper.isNew(user)) {
            String password = passwField.getValue();
            String passwordConfirmation = confirmPasswField.getValue();

            if (passwField.isRequired() && (StringUtils.isBlank(password) || StringUtils.isBlank(passwordConfirmation))) {
                showNotification(getMessage("emptyPassword"), NotificationType.WARNING);
                return false;
            } else {
                if (Objects.equals(password, passwordConfirmation)) {
                    if (StringUtils.isNotEmpty(password)) {
                        ClientConfig passwordPolicyConfig = configuration.getConfig(ClientConfig.class);
                        if (passwordPolicyConfig.getPasswordPolicyEnabled()) {
                            String regExp = passwordPolicyConfig.getPasswordPolicyRegExp();
                            if (!password.matches(regExp)) {
                                showNotification(getMessage("simplePassword"), NotificationType.WARNING);
                                return false;
                            }
                        }

                        String passwordHash = passwordEncryption.getPasswordHash(user.getId(), password);
                        user.setPassword(passwordHash);
                    }

                    return true;
                } else {
                    showNotification(getMessage("passwordsDoNotMatch"), NotificationType.WARNING);
                    return false;
                }
            }
        } else {
            return true;
        }
    }

    public void initCopy() {
        @SuppressWarnings("unchecked")
        DatasourceImplementation<UserRole> rolesDsImpl = (DatasourceImplementation) rolesDs;
        for (UserRole item : rolesDs.getItems()) {
            rolesDsImpl.modified(item);
        }
    }

    protected void publishUserSubstitutionsChanged(User user) {
        events.publish(new UserSubstitutionsChangedEvent(user));
    }

    protected void publishPasswordChangedEvent(User user, String newPassword) {
        events.publish(new UserPasswordChangedEvent(this, user, newPassword));
    }

    protected class AddRoleAction extends BaseAction {
        public AddRoleAction() {
            super("add");

            icon = icons.get(CubaIcon.ADD_ACTION);

            setCaption(messages.getMainMessage("actions.Add"));

            ClientConfig clientConfig = configuration.getConfig(ClientConfig.class);
            setShortcut(clientConfig.getTableAddShortcut());
        }

        protected Collection<String> getExistingRoleNames() {
            User user = userDs.getItem();
            Collection<String> existingRoleNames = new HashSet<>();
            if (user.getUserRoles() != null) {
                for (UserRole userRole : user.getUserRoles()) {
                    if (userRole.getRole() != null)
                        existingRoleNames.add(userRole.getRole().getName());
                }
            }
            return existingRoleNames;
        }

        @Override
        public void actionPerform(Component component) {
            AbstractLookup roleLookupWindow = openLookup(Role.class, items -> {
                Collection<String> existingRoleNames = getExistingRoleNames();
                rolesDs.suspendListeners();
                try {
                    for (Object item : items) {
                        Role role = (Role) item;

                        if (existingRoleNames.contains(role.getName())) {
                            continue;
                        }

                        MetaClass metaClass = rolesDs.getMetaClass();
                        UserRole userRole = dataSupplier.newInstance(metaClass);
                        userRole.setRole(role);
                        userRole.setUser(userDs.getItem());

                        rolesDs.addItem(userRole);
                        existingRoleNames.add(role.getName());
                    }
                } finally {
                    rolesDs.resumeListeners();
                }
            }, OpenType.THIS_TAB, ParamsMap.of("windowOpener", "sec$User.edit"));

            roleLookupWindow.addCloseListener(actionId -> {
                rolesTable.focus();
            });

            Component lookupComponent = roleLookupWindow.getLookupComponent();
            if (lookupComponent instanceof Table) {
                ((Table) lookupComponent).setMultiSelect(true);
            }
        }
    }

    protected class EditRoleAction extends ItemTrackingAction {
        public EditRoleAction() {
            super("edit");

            icon = icons.get(CubaIcon.EDIT_ACTION);

            setCaption(getMessage("actions.Edit"));
        }

        @Override
        public void actionPerform(Component component) {
            if (rolesDs.getItem() == null)
                return;

            Window window = openEditor("sec$Role.edit", rolesDs.getItem().getRole(), OpenType.THIS_TAB);
            window.addCloseListener(actionId -> {
                if (Window.COMMIT_ACTION_ID.equals(actionId)) {
                    rolesDs.refresh();
                }
                rolesTable.focus();
            });
        }
    }

    protected class RemoveRoleAction extends RemoveAction {

        private boolean hasDefaultRole = false;

        public RemoveRoleAction(ListComponent owner, boolean autocommit) {
            super(owner, autocommit);
        }

        @Override
        protected void confirmAndRemove(Set<Entity> selected) {
            hasDefaultRole = hasDefaultRole(selected);

            super.confirmAndRemove(selected);
        }

        @Override
        public String getConfirmationMessage() {
            if (hasDefaultRole)
                return getMessage("dialogs.Confirmation.RemoveDefaultRole");
            else
                return super.getConfirmationMessage();
        }

        private boolean hasDefaultRole(Set selected) {
            for (Object roleObj : selected) {
                UserRole role = (UserRole) roleObj;
                if (Boolean.TRUE.equals(role.getRole().getDefaultRole()))
                    return true;
            }
            return false;
        }
    }

    protected class AddSubstitutedAction extends BaseAction {
        public AddSubstitutedAction() {
            super("add");

            this.icon = icons.get(CubaIcon.ADD_ACTION);
            this.caption = messages.getMainMessage("actions.Add");

            ClientConfig clientConfig = configuration.getConfig(ClientConfig.class);
            setShortcut(clientConfig.getTableAddShortcut());
        }

        @Override
        public void actionPerform(Component component) {
            UserSubstitution substitution = metadata.create(UserSubstitution.class);
            substitution.setUser(userDs.getItem());

            Window editor = openEditor(substitution, OpenType.DIALOG, ParamsMap.empty(), substitutionsDs);
            editor.addCloseListener(actionId -> {
                substTable.focus();
            });
        }
    }

    protected class EditSubstitutedAction extends ItemTrackingAction {
        public EditSubstitutedAction() {
            super("edit");

            this.icon = icons.get(CubaIcon.EDIT_ACTION);
            this.caption = messages.getMainMessage("actions.Edit");
        }

        @Override
        public void actionPerform(Component component) {
            if (substitutionsDs.getItem() != null) {
                Window editor = openEditor(substitutionsDs.getItem(), OpenType.DIALOG, ParamsMap.empty(), substitutionsDs);
                editor.addCloseListener(actionId -> {
                    substTable.focus();
                });
            }
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
Frederick Franklin "Clancy" Tyler (December 16, 1891 – October 14, 1945) was a Major League Baseball player. He played one season with the Boston Braves in 1914.

References

External links

Boston Braves players
Major League Baseball catchers
1891 births
1945 deaths
Baseball players from New Hampshire
People from Derry, New Hampshire
Jersey City Skeeters players
Sportspeople from Rockingham County, New Hampshire
Syracuse Stars (minor league baseball) players
Worcester Busters players
Worcester Boosters players
Waterbury Brasscos players

redpajama_set_name: RedPajamaWikipedia


Welcome home to Buckman Place. Last chance opportunity to live in the most exciting new development in the heart of Newtown Boro and in the most alluring location. Lot 3 is the last one remaining in this 4 house subdivision, consisting of three new building lots and an authentic, meticulously restored and re-constructed 1839 Victorian, also available for purchase ( MLS 6646101 ). The lot is fully utilitied with public water and sewer, natural gas, electric, cable, and ready to build. Imagine your dream design and construct the home of a lifetime just steps away from all that the fabulous, charming and beautiful Boro has to offer. 60% impervious coverage will allow for a large home, attached or detached garage. In ground pools are permitted. Don't miss out on this incredible opportunity for the discerning buyer.


Thanks to mFortune, the best iPhone bingo app around is available to play anywhere. Whether you would like to play for fun or for real money, you can rest assured that you will have hours of fun with this app. As a new player, you have the opportunity to start winning one of the many amazing cash prizes straight away, as you will receive a free £5 deposit. By registering with mFortune and entering your phone number, you will be on your way to enjoying hours of fun with other iPhone bingo players from across Europe.
Despite bingo being an all-time favourite with gamers throughout Europe, the majority of bingo halls have now closed. This means that players everywhere have been left without somewhere to have fun with their most cherished game. If you are one of the many people who cannot enjoy bingo live from a local hall, then the iPhone bingo app is perfect for you. As well as offering a touch screen feature that will leave you feeling as though you are stamping real cards, it has been fully optimised to meet the high spec demands of the iPhone user interface. In addition to this, mFortune have created graphics and background noises that make the experience even more realistic, which means you will be left feeling as though you are playing a real bingo game no matter where you are in the world.
In order to make sure you can monitor your games as and when you wish, the iPhone bingo app's creators have introduced a live feed. This means you can keep an eye on how well your cards are doing, even when you are busy elsewhere. As you watch the numbers on your cards tick off, you can look forward to a variety of cash prizes that you can then use on further games, or spend as you wish. To boost your chances of winning, you can take part in weekly promotions, refer friends, and opt for prize draws.
For those who would love to play bingo on the go but do not have an iPhone, you can download mFortune's bingo app for your mobile device or tablet, including apps for iPad bingo, Blackberry bingo and Android bingo. As well as offering bingo lovers the chance to play on any device, mFortune have made every effort to ensure that each individual app is optimised for the device that it will be played on. The game's creators also update regularly, which means you can enjoy smooth-running game play anytime, anywhere.
To get started with the iPhone bingo app, download, register, claim your free credit, and play. The sooner you start playing, the faster you will be able to win one of the many amazing prizes that are available. Whether you like to play alone, or you want to share the experience with friends, you are guaranteed to have fun with this app. You can play from the comfort of your home, office, and even on holiday. As long as you love bingo, you will get hours of fun from mFortune's mobile bingo app.


text:
package fake

import (
	api "github.com/openshift/origin/pkg/build/api"
	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	labels "k8s.io/apimachinery/pkg/labels"
	schema "k8s.io/apimachinery/pkg/runtime/schema"
	types "k8s.io/apimachinery/pkg/types"
	watch "k8s.io/apimachinery/pkg/watch"
	testing "k8s.io/client-go/testing"
)

// FakeBuildConfigs implements BuildConfigInterface
type FakeBuildConfigs struct {
	Fake *FakeBuild
	ns   string
}

var buildconfigsResource = schema.GroupVersionResource{Group: "build.openshift.io", Version: "", Resource: "buildconfigs"}

func (c *FakeBuildConfigs) Create(buildConfig *api.BuildConfig) (result *api.BuildConfig, err error) {
	obj, err := c.Fake.
		Invokes(testing.NewCreateAction(buildconfigsResource, c.ns, buildConfig), &api.BuildConfig{})

	if obj == nil {
		return nil, err
	}
	return obj.(*api.BuildConfig), err
}

func (c *FakeBuildConfigs) Update(buildConfig *api.BuildConfig) (result *api.BuildConfig, err error) {
	obj, err := c.Fake.
		Invokes(testing.NewUpdateAction(buildconfigsResource, c.ns, buildConfig), &api.BuildConfig{})

	if obj == nil {
		return nil, err
	}
	return obj.(*api.BuildConfig), err
}

func (c *FakeBuildConfigs) UpdateStatus(buildConfig *api.BuildConfig) (*api.BuildConfig, error) {
	obj, err := c.Fake.
		Invokes(testing.NewUpdateSubresourceAction(buildconfigsResource, "status", c.ns, buildConfig), &api.BuildConfig{})

	if obj == nil {
		return nil, err
	}
	return obj.(*api.BuildConfig), err
}

func (c *FakeBuildConfigs) Delete(name string, options *v1.DeleteOptions) error {
	_, err := c.Fake.
		Invokes(testing.NewDeleteAction(buildconfigsResource, c.ns, name), &api.BuildConfig{})

	return err
}

func (c *FakeBuildConfigs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
	action := testing.NewDeleteCollectionAction(buildconfigsResource, c.ns, listOptions)

	_, err := c.Fake.Invokes(action, &api.BuildConfigList{})
	return err
}

func (c *FakeBuildConfigs) Get(name string, options v1.GetOptions) (result *api.BuildConfig, err error) {
	obj, err := c.Fake.
		Invokes(testing.NewGetAction(buildconfigsResource, c.ns, name), &api.BuildConfig{})

	if obj == nil {
		return nil, err
	}
	return obj.(*api.BuildConfig), err
}

func (c *FakeBuildConfigs) List(opts v1.ListOptions) (result *api.BuildConfigList, err error) {
	obj, err := c.Fake.
		Invokes(testing.NewListAction(buildconfigsResource, c.ns, opts), &api.BuildConfigList{})

	if obj == nil {
		return nil, err
	}

	label, _, _ := testing.ExtractFromListOptions(opts)
	if label == nil {
		label = labels.Everything()
	}
	list := &api.BuildConfigList{}
	for _, item := range obj.(*api.BuildConfigList).Items {
		if label.Matches(labels.Set(item.Labels)) {
			list.Items = append(list.Items, item)
		}
	}
	return list, err
}

// Watch returns a watch.Interface that watches the requested buildConfigs.
func (c *FakeBuildConfigs) Watch(opts v1.ListOptions) (watch.Interface, error) {
	return c.Fake.
		InvokesWatch(testing.NewWatchAction(buildconfigsResource, c.ns, opts))

}

// Patch applies the patch and returns the patched buildConfig.
func (c *FakeBuildConfigs) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *api.BuildConfig, err error) {
	obj, err := c.Fake.
		Invokes(testing.NewPatchSubresourceAction(buildconfigsResource, c.ns, name, data, subresources...), &api.BuildConfig{})

	if obj == nil {
		return nil, err
	}
	return obj.(*api.BuildConfig), err
}


We build custom homes in Fairbanks, Alaska including framing, insulating, siding, interiors, windows, and so on. We have a residential endorsement which means we take continuing education classes as required by our license. These classes keep us up to date on code changes and contemporary building techniques.
This entry was posted on Sunday, May 25th, 2014 at 10:29 am	and tagged with Alaska, carpentry, custom homebuilder, design, DIY, life and posted in Fairbanks, Alaska construction news, Testimonials.	You can follow any responses to this entry through the RSS 2.0 feed.


text:
Lok Virsa to hold talk on Quaid's ideology on Dec 25
ISLAMABAD-With an aim of marking 144th birth anniversary of founding father of the nation Muhammad Ali Jinnah with great enthusiasm, the research section of National Institute of Folk and Traditional Heritage (Lok Virsa) will hold a talk titled "Role and Personality of Jinnah as Founder of Pakistan" on December 25 here at media studios. The event has been arranged with reference to national celebrations of founder Qauid-e Azam's birth anniversary for which special events will be arranged on the day to highlight and promote ideals and views of father of the nation, said an official of Lok Virsa .
READ MORE: Kremlin pledges 'large-scale public discussion' on proposed constitutional amendments
Professor Dr Riaz Ahmed and Professor Dr Farooq Ahmed Dar will speak on the subject. Prof. Dr. Riaz Ahmad, Tamgha-i-Imtiaz and Aaizaz-i-Fazeelat, is a scholar of national and international repute with over 40 years of teaching and research experience. He has authored/edited more than 50 books mainly on the personality and work of Quaid-i-Azam Mohammad Ali Jinnah.
RCCI to hold business summit
England hold advantage as Stokes, Pope rebuild
PTI, PML-Q to hold meeting this week over coalition govt matters
Pakistan, Kenya hold joint navy drill
Content for December 21, 2019 is not available×
Anti-Muslims legislation draws flak
Waqar Kauravi, Adeela Naureen
Implications of Trump's impeachment
Rehan Khan
Military adventurism in Islamic thought
A New Chief Justice
Police Brutality In India
The Polio Quagmire
Rape case
Congratulations to M.Asif
Victim of his mdreams!

redpajama_set_name: RedPajamaCommonCrawl


text:
About Stories
Martha de la Torre, Co-Founder & CEO
El Clasificado supports hundreds of Hispanic-owned micro-businesses and connects them with their audience of 20M+ readers
Martha and her team at El Clasificado use Ad Manager not only for their business, but also to help fuel growth for small businesses in their community. We think of our ad revenue from Ad Manager as our 'Angel Investor,'" Martha says; "it's money that helps us do things we normally wouldn't be able to do, like training our employees and creating our El Clasificado (EC) Stimulus Opportunity." The EC Simulus Opportunity became a key initiative to help El Clasificado and their community of merchants get through the pandemic.
Martha shares how El Clasificado has grown and supports their small business customers.
What started out as a Spanish classifieds print company in the Los Angeles area, has blossomed into an online marketplace to help people find jobs, services, and places to live. "People shouldn't have to pay to find a job," says Martha. "So that was the idea I had for El Clasificado, something with classifieds of jobs and services that people can pick up for free."
"We've heard thousands of stories from small businesses who were on the verge of closing but because of advertising through El Clasificado they were able to generate enough business to not just survive but grow."
Martha de la Torre is the CEO of El Clasificado, the flagship brand of the parent company EC Hispanic Media. Founded originally as a weekly Spanish-language classified publication with her husband, Joe Badame, ElClasificado.com is now the largest Spanish language classified marketplace in the United States.
Ad Manager Small & Medium Businesses Commerce
About Products Privacy Terms


The Swiss National Squad's tour to play Sussex University on the south coast of England has been confirmed.
Two fifty-over matches and a Twenty20 match against the University of Sussex Cricket Club has been planned from Monday 3rd and Wednesday 5th July 2013 at the Falmer Sports Complex at the University of Sussex.
Players already contesting in the David Barmes Memorial Trophy will be automatically nominated. However, additional player nominations are being invited from all member clubs, deadline is Friday 5th April 2013.


text:
Q: How to link a menu bar that will display in a container but in the same page in html? I'm creating an ordering website with a layout like this and I'm still an amateur in creating a website so I want to ask how will I link the SIDEBAR and MENU BAR that when clicked, it will display in the container of the PRODUCTS only and in the same page like in frameset. Thank you.
HERE'S THE LINK OF MY LAYOUT:
http://tinypic.com/view.php?pic=zn2w8&s=8#.VIe0nzGUeAk

A: use an a href tag on both sidebar and menu bar with an anchor set, where the a tag has classes that will be opened in an iframe like fancybox.
http://fancybox.net/

redpajama_set_name: RedPajamaStackExchange


Featuring a high resolution touch screen display and intuitive point and touch access to telephony services and custom apps, OmniTouch 8082 My IC Phone represents the next generation business phone.
The OmniTouch 8082 takes a unique approach to presence and mobility. Use the touch screen to set your UC status and call routing with an intuitive phone-based graphical user interface.
Graphical presence display shows current state of coworkers in real time. A useful bit of information when attempting to transfer a call or collaborate.
Speed up problem resolution, access contacts more efficiently and empower staff with native instant messaging. Plus, easily shift the session from an instant message to a voice call to a video call by tapping the screen.
Use the 8082 as a video phone to call other video enabled phones.
7 inch high resolution touch screen provides easy access to telephony features and custom applications.
IP Touch Bluetooth wireless handset.
Touch screen access to directory, messages, presence look-up and contacts.
Applications for hotel information, weather forecasts, room automation control and more.
Session shift from phone to mobile device, laptop softphone.
A 10/100/1,000 Ethernet connection to connect to enterprise networks or a PC.
1 mini-USB connector for a keyboard.
1 RJ9 connector for a corded handset.
One 3.5 mm headset connector.


An essential for working with slotted aluminum extrusion, these slim metal nuts slide into the side-slot of the extrusion. The slightly oval shape means that as they screwed-into the nut jams against the slot.
This product comes as a bag of 50 slim T-nuts, with M4 threads. If you don't need to be able to insert them from the side, check out our «oval» T-nuts that be dropped into the slot from the end. Works with any of our M4 screws.
Simple RF L4 Receiver — 315MHz Latching Selector Type	322 грн.
Qi Wireless Charger Sleeve — iPhone 5 Lightning Connector	814 грн.
Шлейф 10 см для камеры Raspberry Pi	112 грн.


Senator Joel Villanueva on Wednesday hailed the Senate's approval of the rice tarrification bill, saying it would address the hike on price of rice.
"As one of the authors of the bill, it has been our consistent call to liberalize the entry of cheaper rice in the country to ease the burden of our kababayans suffering from the rising price of rice," Villanueva said in a statement.
Voting 14-0, the Senate approved Senate Bill No. 1998 or An Act Replacing The Quantitative Import Restrictions On Rice With Tariffs, Lifting The Quantitative Export Restrictions On Rice, And Creating The Rice Competitiveness Enhancement Fund.
Under the bill, a 35 percent duty will be implemented on imports from the Association of SouthEast Asian Nations (Asean) member states and 50 percent for non-Asean nations.
It will also impose a P10-billion "rice enhancement fund" from proceeds of the proposed rice tariffs. The fund will provide forms of assistance to farmers such as equipment and skills enhancement, among others.
Villanueva is also hoping that the bill will address issues such as rice shortage and rice smuggling.


Advance Food Breaded Veal and Beef Parmigiana Patties, 4 Ounce -- 40 per case.
Chopped veal and beef, blended with mozzarella cheese and Italian seasonings. Golden flour-based breading. Soy added. Natural shape.
Preparation instructions: Deep fryer: preheat oil to 350 degrees f. Place frozen product in oil for 3 1/2 minutes or until product reaches an internal temperature of 165 degrees f. Flat grill: add a small amount of oil to the medium heat section of the grill (350 degrees f); cook frozen product for approximately4 minutes on each side or until internal temperature reaches165 degrees f, turning the product frequently to avoid burning the breading.


Heather Graham, absent from the New York stage since 2003's Recent Tragic Events at Playwrights Horizons, will return to off-Broadway next month to star in the world premiere of Neil LaBute's new play, The Money Shot, directed by Terry Kinney. The play is the season opener at Bernard Telsey and Robert LuPone's MCC Theater, which operates at the Lucille Lortel Theatre in Greenwich Village. Performances begin September 4, with an official opening on September 22 for a limited run slated to end October 12. LaBute is MCC's Playwright-In-Residence.
Graham (Boogie Nights, Drugstore Cowboy, etc.) co-stars with Gia Crovatin, Callie Thorne and Frederick Weller. In The Money Shot, Karen (Graham) and Steve (Weller) are formerly glamorous movie stars desperate for a hit. Will it be the latest movie by a hot shot European director? The night before filming a big scene guaranteed to make news, Karen, her partner Bev (Thorne), Steve, and his aspiring actress wife Missy (Crovatin) meet to discuss how far will they will go to reclaim past glory.


In our world, we are all Firefighters, regardless of race creed or color. We have sworn to protect and serve the citizens of our community. We all get on the big truck, regardless of color or gender, when the bell hits to do our job. Are you a veteran or a Dinosaur? This statement applies to every Firefighter, from probationary to retirement.
In my opinion, the major difference in defining a veteran or a dinosaur is quite simple. One word defines this difference and that is Initiative.
We can and do as firefighters add many tags to a veteran Brother, for example, years of service, fires fought, leadership ability, etc. When we shift through all of the tags placed on a veteran, what we truly see at the bottom is initiative. The initiative this member has shown shows whether the firefighter is or is not a veteran.
A veteran will show initiative from the day they start Probie School, to the day they retire and hang up their boots. While as a young firefighter, you need to work on your skills and rely on the veterans in the house with the same work ethic, values, and integrity and initiative, to be trained and ready to do the job. While the journey through the Fire Service will be filled with small bumps and huge difficulties, maintaining the initiative, will continue to make all of us stronger and able to make a difference in the training and molding members that follow us in the future, to be veterans also. Every veteran of the service, understand that last sentence, as our Fire Service future.
I suppose this brings us to the dinosaur. A dinosaur, in the Fire Service, is not the member who has tenure or the firefighter who comes on duty everyday and does his or her job, but the member, who uses the Fire Department as a part-time job. This may offend some, but read on. The member may be on the department, insert years here. This member may be on the job thirty years, one year thirty times. A dinosaur is the firefighter who complains about the calls, being up at night, training more than what is scheduled, etc, the list could continue, but every member can add their own.
Dinosaurs are not rank specific, as some believe. This belief is common among dinosaurs that roam our Fire Service today. Make no mistake dinosaurs are not extinct; they walk in every firehouse across our great nation, each and everyday. As a veteran, our task is to mitigate this behavior to the best of our ability, as we would with any other incident we come to face. A dinosaur, in and of themselves, are not bad individuals, by any stretch of the imagination. As most things in our lives, it an individual choice we make.
Veterans and dinosaurs are our friends and fellow firefighters, that we are responsible for each day. We have to ask daily in the Fire Service, dinosaur are veteran, what are we? Will we continue to work to keep our service professional, or let it slip away because of a secondary job, its hot outside, or its nap time, etc? So I ask every member, veteran or dinosaur, where do you fit in? Put another way; is this a job or a profession?
Veterans and dinosaurs? That's depends who you and where you are? I have little over 28 years as a firefighter. My fellow firefighters who I associate with and other's with different departments, they make fun of me and jokes about horse drawn water bucket companys, etc. That classified me as a (dinosaur). But as a true Veteran I teach old and new methods, and stay with the quidelines that handed down to us as firefighters. We as Veterans make the safe changes in training to teach others. You will make mistakes in your career, but, dont forget why? The old guy said this will happen , I should have lesson. That's why I'm proud to be call a Veteran firefighter and a dinosaurs (with joking to aside).
Thanks LT, I have 28 years in myself, the day I turned dinosaur is the day the good Lord puts me in the ground. Thanks for the reply, nice way to start my shift Brother!


[Closed] How to make good puddle with Decals ?
Hello. I have a problem with Decals. Can someone please give me some advice about how to create good looking puddle with decals ?
Right now I set my decal material to Deffered Decal > Masked > Stain.
How I can add some opacity depth to my puddle ?
Distance To Nearest Surface Node not working, only returns 0. Need fix!
shaders vs decals better performance?
Ocean Shading - Use pixel data in vertex computations.


Mark has a master's degree in engineering from University of California, Berkeley and a master's of liberal arts from St John's College, as well as two undergraduate degrees from Syracuse University. Mark enjoys kiteboarding, rock-climbing, cycling, and creative writing.
Michael Sollami is currently a research programmer in the Applied Research Group at Wolfram Research. He finished his masters and doctorate in pure mathematics at the University of Wyoming and is now working on various aspects of Wolfram|Alpha and future versions of Mathematica. His interests include music theory, complexity theory, and approximation algorithms.


text:
Laurie Girand
Founder and President, I'm with Them
Laurie Girand is the founder and President of I'm With Them, a nonprofit and website that privately connects victims of work-related sexual misconduct by a common perpetrator. Girand began her career in technology as a graphics systems software engineer and, after graduate school, worked at Apple Computer as an Evangelist and Product Manager. She subsequently started a consulting firm, providing strategy and product launches to companies including Adobe, Digital Equipment Corp., Netscape, Novell and Sun in the 1990s. After her daughter was poisoned in an unpasteurized apple juice outbreak in 1996, she spent five years as a national consumer advocate for juice safety with STOP Foodborne Illness, rising from advisory board member to board member and Co-President and successfully changing the FDA's regulations. In the 2000s, Girand shifted her focus to advocacy on local issues and the challenges in STEM education for girls. She is presently a member of the Board of Regents of the Boys & Girls Club of Capistrano Valley, the Parents' Advisory Board of Stanford University, and the Board of Trustees of Harvey Mudd College. Girand holds a BSE in Electrical Engineering and Computer Science from Princeton University and an MBA from Stanford.
Career: Shifting Tech Culture in the age of #MeToo
Ballroom 3
#MeToo has broken through the myth that an individual must prove sexual misconduct "beyond a shadow of a doubt" to stop a perpetrator or end misconduct. What other myths and realities inhibit the reporting of sexual misconduct in the workplace? Come learn how you can play a role in shifting tech culture around sexual misconduct […]
Powered by Fudge 2.0 by Showthemes


Beipiao (Cheenese: 北票市; pinyin: Běipiào Shì) is a ceety in Chaoyang prefectur, Liaoning province, in northren Cheenae. It haes a population o 202,807. The main industry in the aurie is coal minin. Wi vertical shafts o amaist 1000m, these are some o the deepest coal mines in Cheenae. The coal produced is uised for cokin. Daheishan Naitional Forest Pairk is locatit in the northwastren pairt o Beipiao ceety.
The dinosaur Beipiaosaurus wis named efter the ceety whaur its fossils wur foond nearbi.
This page wis last eeditit on 14 Juin 2017, at 01:22.


text:
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.11">
  <compounddef id="d9/d7e/structSJList" kind="struct" language="C++" prot="public">
    <compoundname>SJList</compoundname>
    <includes refid="d1/d2e/simple__json__list_8h" local="no">simple_json_list.h</includes>
      <sectiondef kind="public-attrib">
      <memberdef kind="variable" id="d9/d7e/structSJList_1a43fc72ebe9774607d3c503917b911c7c" prot="public" static="no" mutable="no">
        <type><ref refid="d0/d8b/structSJListElementData" kindref="compound">SJListElementData</ref> *</type>
        <definition>SJListElementData* SJList::elements</definition>
        <argsstring></argsstring>
        <name>elements</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>a pointer to the array of the data </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/djkehoe/git/simple_json/include/simple_json_list.h" line="18" column="1" bodyfile="/home/djkehoe/git/simple_json/include/simple_json_list.h" bodystart="18" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="d9/d7e/structSJList_1a1e3944d88b5e2aac09698498f376559b" prot="public" static="no" mutable="no">
        <type>unsigned int</type>
        <definition>unsigned int SJList::size</definition>
        <argsstring></argsstring>
        <name>size</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>how much memory has been allocated </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/djkehoe/git/simple_json/include/simple_json_list.h" line="19" column="1" bodyfile="/home/djkehoe/git/simple_json/include/simple_json_list.h" bodystart="19" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="d9/d7e/structSJList_1a706017d74f3cde16157127d8e8025116" prot="public" static="no" mutable="no">
        <type>unsigned int</type>
        <definition>unsigned int SJList::count</definition>
        <argsstring></argsstring>
        <name>count</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>how many elements are in use </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/djkehoe/git/simple_json/include/simple_json_list.h" line="20" column="1" bodyfile="/home/djkehoe/git/simple_json/include/simple_json_list.h" bodystart="20" bodyend="-1"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>this is a simple list structure intended to hold an arbitrary number of elements list will automatically grow as space is needed to accomodate more elements </para>    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <collaborationgraph>
      <node id="23">
        SJList
        <link refid="d9/d7e/structSJList"/>
        <childnode refid="24" relation="usage">
          <edgelabel>elements</edgelabel>
        </childnode>
      </node>
      <node id="24">
        SJListElementData
        <link refid="d0/d8b/structSJListElementData"/>
      </node>
    </collaborationgraph>
    <location file="/home/djkehoe/git/simple_json/include/simple_json_list.h" line="17" column="1" bodyfile="/home/djkehoe/git/simple_json/include/simple_json_list.h" bodystart="16" bodyend="21"/>
    <listofallmembers>
      <member refid="d9/d7e/structSJList_1a706017d74f3cde16157127d8e8025116" prot="public" virt="non-virtual"><scope>SJList</scope><name>count</name></member>
      <member refid="d9/d7e/structSJList_1a43fc72ebe9774607d3c503917b911c7c" prot="public" virt="non-virtual"><scope>SJList</scope><name>elements</name></member>
      <member refid="d9/d7e/structSJList_1a1e3944d88b5e2aac09698498f376559b" prot="public" virt="non-virtual"><scope>SJList</scope><name>size</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>


text:
An Alpine Village Airshow: Small Town Charm Present in Abundance at Wings Over Northern Michigan 2019
Posted by Mark Kolanowski on October 26th, 2019
Czech 2 and 4 taxi in
About an hour west of Traverse City, Gaylord is a small town in Northern Michigan best known for golfing, winter sports, and its "Alpine Village" aesthetic. The 2019 edition of Wings Over Northern Michigan marked the 10th consecutive year of airshows hosted at Gaylord Regional Airport, an admirable streak for any show much less one hosted in a quaint vacation town with a population under 4,000.
This year's show had a solid lineup that spanned the aviation world from single ship aerobatic acts to warbirds, a civilian jet team, and even an appearance by a B-2 Spirit! The small town feel of the show stands in stark contrast to so many others, with far more manageable grounds, parking lots, and traffic compared to many of the more well known shows in the Midwest. Of course this comes at the expense of some of the "big show" features like a large static ramp, and the relatively small runway makes it difficult to draw some of the more well-known military demonstration teams, but Wings Over Northern Michigan really knows how to make the most of the facility they have available!
Looks like the field will be IFR for a bit following this takeoff
As a note to our readers, you may notice that this article is not up to the usual standards of coverage of the static displays that you'd expect from a PhotoRecon article. The primary reason for this is that I attended the show as the team photographer and a ground crew member for the Czech-Mate L-39 team. Accordingly, my time prior to the show's beginning was spent assisting the pilots prepare the aircraft for their performance, wiring up onboard cameras, and working out some enhanced access photo opportunities of the flying displays rather than walking the ramp as I ordinarily would. I sincerely hope that the images of the flying display more than make up for the absence of "guest experience" type photos!
The show grounds opened to the public each morning with the promise of good weather come flying time. Saturday's early showers lifted not long after the gates opened, and Sunday morning's weather was just about perfect for an airshow with mild temperatures and sunshine being the order of the day. A big selling point of the show was an abundance of local food vendors in attendance to keep the masses fed with options spanning the culinary spectrum from Tex-Mex to Greek, Coffee to Slushees and beyond. Plenty of other groups of local interest were also in attendance, including the Michigan Department of Natural Resources and craft vendors to help showcase the community to those who traveled from near and far to witness the show's 10th anniversary.
Perhaps unsurprisingly, the local EAA chapter played a huge part in helping to put on the show, between an army of volunteers helping to keep the hot ramp clear, and offering up their facilities to host numerous airshow events. In addition, some of their members went way above and beyond to assist this photojournalist in acquiring a handheld aviation radio to help make some of the photos that accompany this article possible.
Paul Wood running up in the Warbird Heritage Foundation's A-4
The static ramp was sparsely populated, primarily with small GA aircraft and a Cessna Caravan cargo aircraft that serves the airport. To make up for this, spectators were able to view the hot ramp quite easily from the publically accessible areas of the show. The Yankee Air Museum's B-17 "Yankee Lady" and C-47 "Hairless Joe" were prominently featured near the crowd line in this area, as was Paul Wood's A-4, a few of the other warbirds, and the aerobatic machines flown by Mike Vanknin and Skip Stewart. A bit further from the caution tape sat the 4 L-39 Albatros jets of the Michigan-based Czech-Mate Jet Team, and the EF-18G's that took part in the Tailhook Legacy Flight to close out the show. In addition to warbird flight experiences aboard the Yankee Air Museum's aircraft, the ShellCamino monster truck was on hand giving rides, as were a handful of Magnum Helicopter's Robinson R-44s. When possible, it's always great to have affordable flights available to patrons, as a brief taste of soaring above the show grounds might be all it takes to get a future aviator hooked on flying!
Almost a perfect side profile of the B-2 courtesy of the Whiteman crew
The flying portion of the show kicked off both days with a series of fly-bys from a B-2 Spirit. The boomerang shaped stealth bomber made three passes over the field, showing the top and bottom sides and finishing with a flat pass. With only 20 such aircraft in service, it's a treat to see one in action at a show. While I haven't seen a B-2 in years, I never remembered seeing a topside photo pass with the aircraft. Perhaps the impending arrival of the B-21 has resulted in a bit looser restrictions on showing off America's "Big Stick" first strike bomber.
As the sound of the B-2 faded into the distance, a puff of smoked marked the start of the high energy act by the one and only Skip Stewart. Beginning with a knife edge tail slide immediately after takeoff, Skip's performance launched into a series of extreme maneuvers to rival any muscle biplane in the airshow world these days. With little resemblance to the original Pitts S-2S upon which Prometheus P2 is based, the red and black biplane tumbled, rolled, and looped through the box with an urgency that impressed even the most experienced airshow fans in attendance. Skip's act wraps up with a series of maneuvers that sees him fly inches off the ground beneath a pair of ribbons, followed by an inverted ribbon cut, and a tailslide ribbon cut all centered around a single set of poles.
Cutting the ribbon with P2
PhotoRecon had the pleasure of witnessing this particular brand of precision flying from mere feet away, standing with the pole holders out on Gaylord's Runway 09/27 as Prometheus sliced through the air in the skilled hands of Stewart three times per performance. With the aircraft being so close, a wide-angle lens was a necessity and a shutter speed had to be carefully selected to ensure the aircraft remained sharp despite the massive angular velocity, while still maintaining some amount of prop blur. Needless to say, it's one of the more challenging types of airshow photography one can partake in!
Not satisfied to let Skip have all the low altitude fun, Darnell Racing's Aftershock took to the taxiways and runways at Gaylord next. Aftershock, styled after a 1940s fire truck, is powered by a pair of Rolls-Royce Bristol Viper turbines putting out over 24,000 horsepower that have pushed the truck to speeds in excess of 400 miles per hour in the hands of driver Mark Smith. New to Aftershock this year are a pair of telescoping "exhaust" stacks that spew flames vertically in addition to the fire and smoke coming from the Rolls-Royce power. Neal Darnell explained the challenge of creating the stacks for Aftershock, which need to retract to fit inside the team's hauler to transit from show site to show site. Similar to the familiar routine of the Darnell's Shockwave, Aftershock passes down the crowd line before smoking out the middle of the runway after which the truck makes a high speed run in preparation for the truck's second performance of the day, where a drag race between Aftershock and P2 was slated to occur at Wings Over Northern Michigan.
Bruce Koch's SNV-1 making a photo pass
In the spirit of Aftershock's 1940s era styling, the trainer flight took to the skies. The formation was made up of Bruce Koch's SNV-1 Valiant, one of four of the SNV-1 variants of the BT-13 Vultee Vibrator still flying. The WW2 era basic trainer resembles a fixed-gear variant of the venerable T-6/SNJ/Harvard and has a smaller streamlined cowling and lower horsepower than its North American Aviation cousin. Bruce's Valiant is a common sight at formation training events in Michigan, and beautifully restored wearing the nose art of "California Girl".
With the right shutter speed, even a well designed slow flyer on takeoff can look speedy!
The SNV-1 was joined by Mike Weinfurter's L-19 Bird Dog. First flown in the late 40s, the L-19 is an observation/liaison variant of the Cessna 170 that served in the Vietnam War, and had a solid reputation as a capable spotting aircraft that was able to take on numerous other roles including medevac, communications, and training. The orange aircraft is equipped with a pair of rockets under each wing to help drive home the fact that, while the aircraft resembles the ubiquitous Cessna light singles, this is very much a warbird, having been used to train Army forward air controllers near Ft. Rucker. The L-19 led the SNV-1 through a series of flat and photo formation passes before the formation split up, allowing for each plane to make solo passes and recovering.
The B-17 Yankee Lady
Continuing with the warbirds, the Yankee Air Museum's aircraft took to the skies over Northern Michigan. The polished silver B-17 "Yankee Lady" led her fleetmate, the recently painted C-47 "Hairless Joe" through a series of passes in front of the crowd at Gaylord. The sweet sound of radial engines rumbled over the crowd, as the aircraft brought history to life showing off two of the most recognizable aircraft from World War II.
Having performed in nearly all of the previous airshows at Gaylord Regional Airport, Mike Vaknin's slot during the flying schedule was up next. Wearing a custom carbon fiber cowling that would look more at home on an Edge 540v3 weaving in and out of Red Bull Air Race pylons, Mike's black and white Extra powered through a high-energy aerobatic routine with the crisp precision we've come to expect from unlimited class monoplanes in this day and age. Unfortunately a technical issue prevented Mike from flying during Sunday's show, but if history is any indication, we'll be seeing him in the skies over Northern Michigan again for the 2020 edition of the show!
Czech-Mate's echelon right pass in revue… Not bad for a single team practice!
The sound of four Saphir APUs soon filled the east end of the ramp, as startup procedures began for the Czech-Mate Jet Team. Minutes later, a full power runup of the Ivchenko AI-25 turbofans commenced just prior to the team taxiing out. The team is made up of four Aero L-39 Albatros jets based around Michigan, each one flown by an experienced formation-qualified aviator, and Gaylord was the debut performance for this particular iteration of the team.
Overhead break
Due to runway width, the team elected to take off in two elements, with the #4 jet taking off solo first, followed by 1-3 taking off together. Scott in Czech 4 performed a single turn after takeoff before sliding into the slot position of the diamond formation prior to the first pass. The team entered from behind the crowd with plumes of smoke trailing for all to see and began a series of passes and formation changes that showcased the skills of the pilots to hold tight positions in diamond, trail, and echelon. Following the formation portion of the show the team came in for an overhead break. Czech 2 and 4 landed, while Czech 1 and 3 performed missed approaches and re-entered the box for a series of aerobatic passes consistent with the prevailing weather conditions at the time. Throughout the weekend, both looping and rolling maneuvers were utilized in the demo in addition to a minimum radius turn. Based on the reaction from the crowd it seems the demo was well received, and one can only hope the team can make more show appearances in coming seasons!
Aftershock brings the heat
Skip Stewart and Aftershock returned to the Gaylord flight line as the Russian turbines spun down. Mark Smith began to rile up the crowd with fireballs, smoke, and burner pops, while Skip taunted the World's Fastest Firetruck with a series of low passes, even flying through Aftershock's smoke multiple times. As Aftershock got into position on Runway 27, Skip flew P2 in a wide pattern heading back towards the truck. As Skip passed Aftershock in a tailslide, Crew Chief Neal Darnell dropped his arm, signaling Mark Smith to release the brakes and rocket down the runway. The speed and acceleration of Aftershock is truly incredible and P2 was soon left behind on the day's races, though one can't help but think there's a lot more in Prometheus' tank if Skip really wanted to give Aftershock a run for their money. Needless to say the race was one of the favorite moments for kids and casual airshow fans alike and made a solid impression on the organizers who signed up Darnell Racing's Shockwave to attend next year's show!
Up close with a Skyhawk photo pass
The final acts of Wings Over Northern Michigan 2019 came as part of the US Navy's Tailhook Legacy Flight program. Up first was a flight demonstration by the founder of the Warbird Heritage Foundation, Paul Wood, in a Douglas A-4B Skyhawk. It truly is a shame that the "Scooter" is not a more common sight at airshows, as the agile Cold War era attack jet puts on one heck of a demo. The aircraft flown at Gaylord was built in 1957, was decommissioned in the 80s, returned to flight status in 1989 with a museum prior to being grounded just a few years later and sent to the EAA Museum at Oshkosh. The jet was restored and returned to flight status in 2009 and has been flying airshows ever since. In Paul's hands, the jet's show sequence included a series of high performance maneuvers that kept the beautiful aircraft close to the crowd. Additional maneuvers brought the A-4 in low and slow, with a dirty pass showing off the plane's lanky landing gear, speed brakes, and tailhook.
The Tailhook Legacy Flight with two iconic aircraft
Following the solo portion of the demo, the Skyhawk was joined by an EF-18G, the electronic warfare variant of the F/A-18F Super Hornet that replaced the Navy's EA-6B Prowlers. The visiting Growler was in town from NAS Whidbey Island and flown by VAQ-129. The Vikings are a Fleet Replacement Squadron (Similar to VFA-106 and -122), the Navy's only Growler training squadron, and has helped train Australian EF-18G crews as well. The Tailhook Legacy Flight serves to display the proud heritage of Naval Aviation in a similar way to the USAF's popular Heritage Flight program. The demo profile consisted of a series of formation passes including a photo pass, a hook down pass, and a break. Following the break the A-4 recovered while the Growler flew a few solo maneuvers that included high speed flat and photo passes resulting in considerable amounts of vapor appearing over the wings of the jet. Rumor has it that the squadron is in the process of standing up an internal training program that may allow them to expand their participation in Legacy Flights in the future, and maybe even begin flying a more complete demo profile. With the recent announcement about the draw-back of TAC Demo performances in 2019, one can only hope that VAQ-129 can help pick up some of the slack, and bring a bit more noise as part of Tailhook Legacy Flights in the coming seasons!
As the weekend came to a close, the sun poked out from behind Sunday's persistent overcast, bathing the grounds in a warm golden glow for departures. In 10 years Wings Over Northern Michigan has gone from a relatively unknown show to one capable of drawing support from military demo teams and some airshow industry legends. The hard work of the volunteers was surpassed only by the hospitality shown by Michigan's "Alpine Village", and it will be a pleasure to see what the next ten years may bring to Gaylord Regional Airport.
The author would like to thank Shari, the EAA volunteers, and the entire Wings Over Northern Michigan team for helping ensure top notch access during the show as well as putting small town hospitality on full display for the weekend visitors. Additional thanks are owed to Air Boss Scott Duck, Skip Stewart, and Cari Miller for their assistance in ensuring the photos that accompany this article could be captured as intended. Finally, to Spanky, Pucker, V+12, and Scott of the Czech-Mate Jet Team, a heartfelt thank you for taking me under your wings (and in your back seats) to experience airshows from a perspective so few get to see. I'll try to relax back there next time lest I end up with a new callsign so soon after being slapped with "#"!
A1 – The Author preparing in the back seat of Czech 3 prior to Friday's practice flight. Photo courtesy of Ms. Sandy Koch
Posted in airshows, Bombers, EAA Warbirds of America, Trainers, warbirds Tags: Czech-Mate L-39 Team, Douglas A-4B Skyhawk, F/A-18G Growler, Gaylord Michigan, Gaylord Regional Airport, Scooter, Tailhook Legacy Flight, Warbirds, Wings Over Northern Michigan
« Planes of Fame 2019
Going Corsair Crazy at Thunder Over Michigan »


I have to show some appreciation to you for bailing me out of this type of predicament. Just after browsing through the the net and obtaining views that were not productive, I figured my life was well over. Living devoid of the approaches to the problems you've resolved by way of your article content is a serious case, and the ones that would have in a wrong way damaged my career if I had not come across your web site. The training and kindness in playing with a lot of things was priceless. I'm not sure what I would've done if I had not come upon such a point like this. I can now look ahead to my future. Thank you so much for the specialized and result oriented guide. I won't think twice to refer your blog post to anyone who should get direction about this topic.


text:
Thomas V. Mike Miller, Jr., P.A.
Clinton: 301-856-3030
Dunkirk: 301-855-3100
Thomas V. Mike Miller, Jr., P.A. is here for you during this difficult time by continuing to remain open and fully functioning. Whether you're having a personal injury, workers comp, family law, protective order, criminal law or traffic defense related issue, our attorneys are available by appointment, phone or video consultations to meet your needs. To schedule a consultation, please call our office at 301-856-3030 or contact us through our website and we will respond promptly.
John R. Webster Jr.
Serving Our
Community Since 1967
It is critical to find a lawyer you can trust. One of Maryland's best-known attorneys and public servants, Mike
Miller has been active in Prince George's County and nearby communities for more than 50 years.
» John R. Webster Jr.
John R. Webster
John specializes in personal injury, workers' compensation, and medical malpractice cases. He was admitted to the Maryland Bar in 1973 after graduating from George Washington University Law School. John is a life-long resident of Prince George's County and a graduate of Suitland Senior High School. He is an active member of the Prince George's County Bar Association, Maryland State Bar Association, American Bar Association, and the American Trial Lawyers Association. Prior to joining the firm, Mr. Webster was a Commissioner for the State of Maryland Workers' Compensation Commission.
Personal lnjury
U.S. District Court District of Maryland, 1975
George Washington University Law School, Washington, District of Columbia
Honors: magna cum laude
University of Maryland, College Park, Maryland
Honors: cum laude
Major: History
Classes/Seminars
Seminars on Worker's Compensation, MWCEA, 1998 to 2014
Maryland State Bar Association, 2015 to Present
Prince George's County Bar Association, 1974 to 1998
American Bar Association, 1974 to 1998
American Trial Lawyers Association, 2015 to Present
Criminal Felonies
DUI And DWI Defense
Motor Vehicle Violations
Gynecological Injuries
Car And Truck Accidents
Bicycle And Pedestrian Injuries
Serious Brain, Spine And Back Injuries
HOW CAN WE HELP? Schedule your free consultation today!
8808 Old Branch Avenue
Clinton, MD 20735
Clinton Law Office Map
Dunkirk Office
2981 Penwick Lane
Dunkirk, MD 20754
Dunkirk Law Office Map
© 2021 Thomas V. Mike Miller, Jr., P.A.. All Rights Reserved.


text:
Clinical characteristics and prognosis of infections caused by OXA-48 carbapenemase-producing Enterobacteriaceae in patients treated with ceftazidime-avibactam.
Int J Antimicrob Agents 2019; 53(4):520-524IJ
Ceftazidime-avibactam has in vitro activity against Gram-negative bacilli that produce Class A, C and some D β-lactamases, and has been successfully used in the treatment of infections caused by cephalosporin and carbapenem-resistant Enterobacteriaceae. However, actual experience in the treatment of OXA-48 carbapenemase-producing Enterobacteriaceae (CPE) is limited.
To review the characteristics and prognosis of OXA-48 CPE infections treated with ceftazidime-avibactam since introduction of the drug to the current centre during the period October 2014 to December 2016.
Retrospective assessment of episodes of infection caused by OXA-48 CPE treated with ceftazidime-avibactam, analysing data collected from infection diagnosis until 90 days after the end of treatment.
Twenty-four episodes were analysed. Ceftazidime-avibactam was given as the initial definitive treatment in 15 (62.5%) and as salvage therapy in nine (37.5%). Intraabdominal (seven, 29%), urinary (six, 25%) and respiratory (five, 21%) were the most common sources. The 30-day and 90-day mortality rates were 8.3% and 20.8%, respectively. Clinical cure at 30 days was achieved in 62.5% of episodes. Four (16.7%) patients had adverse events, two of them were related to impaired renal function. Among patients who finished the treatment with ceftazidime-avibactam, seven (35%) were diagnosed with infection recurrence within 90 days of the end of treatment.
From experience, ceftazidime-avibactam is an effective drug for treating infections due to OXA-48 CPE. From these results a better safety profile than the current best available therapy could be expected.
De la Calle C
Department of Infectious Diseases, Hospital Clinic of Barcelona, Barcelona, Spain. Electronic address: Cristinacalle10@hotmail.com.
Rodríguez O
Department of Infectious Diseases, Hospital Clinic of Barcelona, Barcelona, Spain.
Morata L
Marco F
Department of Microbiology, Hospital Clinic of Barcelona, Barcelona, Spain.
Cardozo C
García-Vidal C
Department of Infectious Diseases, Hospital Clinic, Barcelona, University of Barcelona, IDIBAPS, Spain.
Río AD
Feher C
Pellicé M
Puerta-Alcalde P
Mensa J
Soriano A
Martínez JA
Anti-Bacterial AgentsAzabicyclo CompoundsCarbapenem-Resistant EnterobacteriaceaeCeftazidimeDrug CombinationsDrug Resistance, Multiple, BacterialEnterobacteriaceae InfectionsFemaleHumansKlebsiella pneumoniaeMaleMicrobial Sensitivity TestsMiddle AgedRecurrenceRetrospective StudiesSalvage Therapybeta-Lactamase Inhibitorsbeta-Lactamases
De la Calle, Cristina, et al. "Clinical Characteristics and Prognosis of Infections Caused By OXA-48 Carbapenemase-producing Enterobacteriaceae in Patients Treated With Ceftazidime-avibactam." International Journal of Antimicrobial Agents, vol. 53, no. 4, 2019, pp. 520-524.
De la Calle C, Rodríguez O, Morata L, et al. Clinical characteristics and prognosis of infections caused by OXA-48 carbapenemase-producing Enterobacteriaceae in patients treated with ceftazidime-avibactam. Int J Antimicrob Agents. 2019;53(4):520-524.
De la Calle, C., Rodríguez, O., Morata, L., Marco, F., Cardozo, C., García-Vidal, C., ... Martínez, J. A. (2019). Clinical characteristics and prognosis of infections caused by OXA-48 carbapenemase-producing Enterobacteriaceae in patients treated with ceftazidime-avibactam. International Journal of Antimicrobial Agents, 53(4), pp. 520-524. doi:10.1016/j.ijantimicag.2018.11.015.
De la Calle C, et al. Clinical Characteristics and Prognosis of Infections Caused By OXA-48 Carbapenemase-producing Enterobacteriaceae in Patients Treated With Ceftazidime-avibactam. Int J Antimicrob Agents. 2019;53(4):520-524. PubMed PMID: 30471403.
TY - JOUR T1 - Clinical characteristics and prognosis of infections caused by OXA-48 carbapenemase-producing Enterobacteriaceae in patients treated with ceftazidime-avibactam. AU - De la Calle,Cristina, AU - Rodríguez,Olga, AU - Morata,Laura, AU - Marco,Francesc, AU - Cardozo,Celia, AU - García-Vidal,Carolina, AU - Río,Ana Del, AU - Feher,Csaba, AU - Pellicé,Martina, AU - Puerta-Alcalde,Pedro, AU - Mensa,Josep, AU - Soriano,Alex, AU - Martínez,Jose Antonio, Y1 - 2018/11/22/ PY - 2017/12/06/received PY - 2018/11/09/revised PY - 2018/11/17/accepted PY - 2018/11/25/pubmed PY - 2018/11/25/medline PY - 2018/11/25/entrez KW - Adverse events KW - Carbapenemase KW - Ceftazidima-avibactam KW - Enterobacteriaceae KW - Mortality KW - Treatment SP - 520 EP - 524 JF - International journal of antimicrobial agents JO - Int. J. Antimicrob. Agents VL - 53 IS - 4 N2 - BACKGROUND: Ceftazidime-avibactam has in vitro activity against Gram-negative bacilli that produce Class A, C and some D β-lactamases, and has been successfully used in the treatment of infections caused by cephalosporin and carbapenem-resistant Enterobacteriaceae. However, actual experience in the treatment of OXA-48 carbapenemase-producing Enterobacteriaceae (CPE) is limited. OBJECTIVE: To review the characteristics and prognosis of OXA-48 CPE infections treated with ceftazidime-avibactam since introduction of the drug to the current centre during the period October 2014 to December 2016. METHODS: Retrospective assessment of episodes of infection caused by OXA-48 CPE treated with ceftazidime-avibactam, analysing data collected from infection diagnosis until 90 days after the end of treatment. RESULTS: Twenty-four episodes were analysed. Ceftazidime-avibactam was given as the initial definitive treatment in 15 (62.5%) and as salvage therapy in nine (37.5%). Intraabdominal (seven, 29%), urinary (six, 25%) and respiratory (five, 21%) were the most common sources. The 30-day and 90-day mortality rates were 8.3% and 20.8%, respectively. Clinical cure at 30 days was achieved in 62.5% of episodes. Four (16.7%) patients had adverse events, two of them were related to impaired renal function. Among patients who finished the treatment with ceftazidime-avibactam, seven (35%) were diagnosed with infection recurrence within 90 days of the end of treatment. CONCLUSIONS: From experience, ceftazidime-avibactam is an effective drug for treating infections due to OXA-48 CPE. From these results a better safety profile than the current best available therapy could be expected. SN - 1872-7913 UR - https://www.unboundmedicine.com/medline/citation/30471403/Clinical_characteristics_and_prognosis_of_infections_caused_by_OXA_48_carbapenemase_producing_Enterobacteriaceae_in_patients_treated_with_ceftazidime_avibactam_ L2 - https://linkinghub.elsevier.com/retrieve/pii/S0924-8579(18)30340-6 DB - PRIME DP - Unbound Medicine ER -
Azabicyclo Compounds
Carbapenem-Resistant Enterobacteriaceae
Drug Combinations
Drug Resistance, Multiple, Bacterial
Enterobacteriaceae Infections
Microbial Sensitivity Tests
Salvage Therapy
beta-Lactamase Inhibitors
beta-Lactamases
Effectiveness of ceftazidime/avibactam as salvage therapy for treatment of infections due to OXA-48 carbapenemase-producing Enterobacteriaceae.
Clinical experience with ceftazidime/avibactam for treatment of antibiotic-resistant organisms other than Klebsiella pneumoniae.
Colistin Versus Ceftazidime-Avibactam in the Treatment of Infections Due to Carbapenem-Resistant Enterobacteriaceae.
Treating complicated carbapenem-resistant enterobacteriaceae infections with ceftazidime/avibactam: a retrospective study with molecular strain characterisation.
Activity of ceftazidime-avibactam against carbapenemase-producing Enterobacteriaceae from urine specimens obtained during the infection-carbapenem resistance evaluation surveillance trial (iCREST) in Spain.
In vitro and in vivo bactericidal activity of ceftazidime-avibactam against Carbapenemase-producing Klebsiella pneumoniae.
Multicenter Study of Outcomes with Ceftazidime-Avibactam in Patients with Carbapenem-Resistant Enterobacteriaceae Infections.
Ceftazidime-Avibactam Is Superior to Other Treatment Regimens against Carbapenem-Resistant Klebsiella pneumoniae Bacteremia.
Ceftazidime-Avibactam: A Novel Cephalosporin/β-Lactamase Inhibitor Combination for the Treatment of Resistant Gram-negative Organisms.
Ceftazidime-Avibactam: A Review in the Treatment of Serious Gram-Negative Bacterial Infections.


Have you heard about the tracking device in U.S. banknotes? There's a plastic strip embedded in $20 bills that lets the government track them and count how much money is in your wallet by sending a signal to a satellite.
That's an urban legend that dates back to at least 2001, but something a bit like it is coming true in Saudi Arabia.


To tassel or not to tassel? Artisans hand cut our tassels in all four classic tote colors. Combine the two for a chic update to your bag or luggage!
Designed and handcrafted from 100% Ethiopian leather, each leather product brings dignity and purposeful work to artisans across Addis Ababa, Ethiopia. Made from high-quality full grain leather, each piece will patina beautifully over time, only improving with age.