text:
package org.apache.hadoop.yarn.server.resourcemanager.scheduler;

import java.io.IOException;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock;
import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.service.AbstractService;
import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
import org.apache.hadoop.yarn.api.records.ApplicationId;
import org.apache.hadoop.yarn.api.records.ApplicationResourceUsageReport;
import org.apache.hadoop.yarn.api.records.Container;
import org.apache.hadoop.yarn.api.records.ContainerId;
import org.apache.hadoop.yarn.api.records.ContainerState;
import org.apache.hadoop.yarn.api.records.ContainerStatus;
import org.apache.hadoop.yarn.api.records.NodeId;
import org.apache.hadoop.yarn.api.records.Resource;
import org.apache.hadoop.yarn.api.records.ResourceOption;
import org.apache.hadoop.yarn.api.records.ResourceRequest;
import org.apache.hadoop.yarn.conf.YarnConfiguration;
import org.apache.hadoop.yarn.exceptions.YarnException;
import org.apache.hadoop.yarn.proto.YarnServiceProtos.SchedulerResourceTypes;
import org.apache.hadoop.yarn.server.api.protocolrecords.NMContainerStatus;
import org.apache.hadoop.yarn.server.resourcemanager.RMAuditLogger;
import org.apache.hadoop.yarn.server.resourcemanager.RMAuditLogger.AuditConstants;
import org.apache.hadoop.yarn.server.resourcemanager.RMContext;
import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMApp;
import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppEvent;
import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppEventType;
import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppMoveEvent;
import org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttempt;
import org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainer;
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.common.QueueEntitlement;
import org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainerEventType;
import org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainerFinishedEvent;
import org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainerImpl;
import org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainerRecoverEvent;
import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNode;
import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeCleanContainerEvent;
import org.apache.hadoop.yarn.util.resource.Resources;

import com.google.common.util.concurrent.SettableFuture;

@SuppressWarnings("unchecked")
public abstract class AbstractYarnScheduler
    <T extends SchedulerApplicationAttempt, N extends SchedulerNode>
    extends AbstractService implements ResourceScheduler {

  private static final Log LOG = LogFactory.getLog(AbstractYarnScheduler.class);

  // Nodes in the cluster, indexed by NodeId
  protected Map<NodeId, N> nodes = new ConcurrentHashMap<NodeId, N>();

  // Whole capacity of the cluster
  protected Resource clusterResource = Resource.newInstance(0, 0);

  protected Resource minimumAllocation;
  private Resource maximumAllocation;
  private Resource configuredMaximumAllocation;
  private int maxNodeMemory = -1;
  private int maxNodeVCores = -1;
  private final ReadLock maxAllocReadLock;
  private final WriteLock maxAllocWriteLock;

  private boolean useConfiguredMaximumAllocationOnly = true;
  private long configuredMaximumAllocationWaitTime;

  protected RMContext rmContext;
  protected Map<ApplicationId, SchedulerApplication<T>> applications;
  protected int nmExpireInterval;

  protected final static List<Container> EMPTY_CONTAINER_LIST =
      new ArrayList<Container>();
  protected static final Allocation EMPTY_ALLOCATION = new Allocation(
    EMPTY_CONTAINER_LIST, Resources.createResource(0), null, null, null);

  /**
   * Construct the service.
   *
   * @param name service name
   */
  public AbstractYarnScheduler(String name) {
    super(name);
    ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
    this.maxAllocReadLock = lock.readLock();
    this.maxAllocWriteLock = lock.writeLock();
  }

  @Override
  public void serviceInit(Configuration conf) throws Exception {
    nmExpireInterval =
        conf.getInt(YarnConfiguration.RM_NM_EXPIRY_INTERVAL_MS,
          YarnConfiguration.DEFAULT_RM_NM_EXPIRY_INTERVAL_MS);
    configuredMaximumAllocationWaitTime =
        conf.getLong(YarnConfiguration.RM_WORK_PRESERVING_RECOVERY_SCHEDULING_WAIT_MS,
          YarnConfiguration.DEFAULT_RM_WORK_PRESERVING_RECOVERY_SCHEDULING_WAIT_MS);
    createReleaseCache();
    super.serviceInit(conf);
  }

  public synchronized List<Container> getTransferredContainers(
      ApplicationAttemptId currentAttempt) {
    ApplicationId appId = currentAttempt.getApplicationId();
    SchedulerApplication<T> app = applications.get(appId);
    List<Container> containerList = new ArrayList<Container>();
    RMApp appImpl = this.rmContext.getRMApps().get(appId);
    if (appImpl.getApplicationSubmissionContext().getUnmanagedAM()) {
      return containerList;
    }
    Collection<RMContainer> liveContainers =
        app.getCurrentAppAttempt().getLiveContainers();
    ContainerId amContainerId =
        rmContext.getRMApps().get(appId).getCurrentAppAttempt()
          .getMasterContainer().getId();
    for (RMContainer rmContainer : liveContainers) {
      if (!rmContainer.getContainerId().equals(amContainerId)) {
        containerList.add(rmContainer.getContainer());
      }
    }
    return containerList;
  }

  public Map<ApplicationId, SchedulerApplication<T>>
      getSchedulerApplications() {
    return applications;
  }

  @Override
  public Resource getClusterResource() {
    return clusterResource;
  }

  @Override
  public Resource getMinimumResourceCapability() {
    return minimumAllocation;
  }

  @Override
  public Resource getMaximumResourceCapability() {
    Resource maxResource;
    maxAllocReadLock.lock();
    try {
      if (useConfiguredMaximumAllocationOnly) {
        if (System.currentTimeMillis() - ResourceManager.getClusterTimeStamp()
            > configuredMaximumAllocationWaitTime) {
          useConfiguredMaximumAllocationOnly = false;
        }
        maxResource = Resources.clone(configuredMaximumAllocation);
      } else {
        maxResource = Resources.clone(maximumAllocation);
      }
    } finally {
      maxAllocReadLock.unlock();
    }
    return maxResource;
  }

  @Override
  public Resource getMaximumResourceCapability(String queueName) {
    return getMaximumResourceCapability();
  }

  protected void initMaximumResourceCapability(Resource maximumAllocation) {
    maxAllocWriteLock.lock();
    try {
      if (this.configuredMaximumAllocation == null) {
        this.configuredMaximumAllocation = Resources.clone(maximumAllocation);
        this.maximumAllocation = Resources.clone(maximumAllocation);
      }
    } finally {
      maxAllocWriteLock.unlock();
    }
  }

  protected synchronized void containerLaunchedOnNode(
      ContainerId containerId, SchedulerNode node) {
    // Get the application for the finished container
    SchedulerApplicationAttempt application = getCurrentAttemptForContainer
        (containerId);
    if (application == null) {
      LOG.info("Unknown application "
          + containerId.getApplicationAttemptId().getApplicationId()
          + " launched container " + containerId + " on node: " + node);
      this.rmContext.getDispatcher().getEventHandler()
        .handle(new RMNodeCleanContainerEvent(node.getNodeID(), containerId));
      return;
    }

    application.containerLaunchedOnNode(containerId, node.getNodeID());
  }

  public T getApplicationAttempt(ApplicationAttemptId applicationAttemptId) {
    SchedulerApplication<T> app =
        applications.get(applicationAttemptId.getApplicationId());
    return app == null ? null : app.getCurrentAppAttempt();
  }

  @Override
  public SchedulerAppReport getSchedulerAppInfo(
      ApplicationAttemptId appAttemptId) {
    SchedulerApplicationAttempt attempt = getApplicationAttempt(appAttemptId);
    if (attempt == null) {
      if (LOG.isDebugEnabled()) {
        LOG.debug("Request for appInfo of unknown attempt " + appAttemptId);
      }
      return null;
    }
    return new SchedulerAppReport(attempt);
  }

  @Override
  public ApplicationResourceUsageReport getAppResourceUsageReport(
      ApplicationAttemptId appAttemptId) {
    SchedulerApplicationAttempt attempt = getApplicationAttempt(appAttemptId);
    if (attempt == null) {
      if (LOG.isDebugEnabled()) {
        LOG.debug("Request for appInfo of unknown attempt " + appAttemptId);
      }
      return null;
    }
    return attempt.getResourceUsageReport();
  }

  public T getCurrentAttemptForContainer(ContainerId containerId) {
    return getApplicationAttempt(containerId.getApplicationAttemptId());
  }

  @Override
  public RMContainer getRMContainer(ContainerId containerId) {
    SchedulerApplicationAttempt attempt =
        getCurrentAttemptForContainer(containerId);
    return (attempt == null) ? null : attempt.getRMContainer(containerId);
  }

  @Override
  public SchedulerNodeReport getNodeReport(NodeId nodeId) {
    N node = nodes.get(nodeId);
    return node == null ? null : new SchedulerNodeReport(node);
  }

  @Override
  public String moveApplication(ApplicationId appId, String newQueue)
      throws YarnException {
    throw new YarnException(getClass().getSimpleName()
        + " does not support moving apps between queues");
  }

  public void removeQueue(String queueName) throws YarnException {
    throw new YarnException(getClass().getSimpleName()
        + " does not support removing queues");
  }

  @Override
  public void addQueue(Queue newQueue) throws YarnException {
    throw new YarnException(getClass().getSimpleName()
        + " does not support this operation");
  }

  @Override
  public void setEntitlement(String queue, QueueEntitlement entitlement)
      throws YarnException {
    throw new YarnException(getClass().getSimpleName()
        + " does not support this operation");
  }

  private void killOrphanContainerOnNode(RMNode node,
      NMContainerStatus container) {
    if (!container.getContainerState().equals(ContainerState.COMPLETE)) {
      this.rmContext.getDispatcher().getEventHandler().handle(
        new RMNodeCleanContainerEvent(node.getNodeID(),
          container.getContainerId()));
    }
  }

  public synchronized void recoverContainersOnNode(
      List<NMContainerStatus> containerReports, RMNode nm) {
    if (!rmContext.isWorkPreservingRecoveryEnabled()
        || containerReports == null
        || (containerReports != null && containerReports.isEmpty())) {
      return;
    }

    for (NMContainerStatus container : containerReports) {
      ApplicationId appId =
          container.getContainerId().getApplicationAttemptId().getApplicationId();
      RMApp rmApp = rmContext.getRMApps().get(appId);
      if (rmApp == null) {
        LOG.error("Skip recovering container " + container
            + " for unknown application.");
        killOrphanContainerOnNode(nm, container);
        continue;
      }

      // Unmanaged AM recovery is addressed in YARN-1815
      if (rmApp.getApplicationSubmissionContext().getUnmanagedAM()) {
        LOG.info("Skip recovering container " + container + " for unmanaged AM."
            + rmApp.getApplicationId());
        killOrphanContainerOnNode(nm, container);
        continue;
      }

      SchedulerApplication<T> schedulerApp = applications.get(appId);
      if (schedulerApp == null) {
        LOG.info("Skip recovering container  " + container
            + " for unknown SchedulerApplication. Application current state is "
            + rmApp.getState());
        killOrphanContainerOnNode(nm, container);
        continue;
      }

      LOG.info("Recovering container " + container);
      SchedulerApplicationAttempt schedulerAttempt =
          schedulerApp.getCurrentAppAttempt();

      if (!rmApp.getApplicationSubmissionContext()
        .getKeepContainersAcrossApplicationAttempts()) {
        // Do not recover containers for stopped attempt or previous attempt.
        if (schedulerAttempt.isStopped()
            || !schedulerAttempt.getApplicationAttemptId().equals(
              container.getContainerId().getApplicationAttemptId())) {
          LOG.info("Skip recovering container " + container
              + " for already stopped attempt.");
          killOrphanContainerOnNode(nm, container);
          continue;
        }
      }

      // create container
      RMContainer rmContainer = recoverAndCreateContainer(container, nm);

      // recover RMContainer
      rmContainer.handle(new RMContainerRecoverEvent(container.getContainerId(),
        container));

      // recover scheduler node
      nodes.get(nm.getNodeID()).recoverContainer(rmContainer);

      // recover queue: update headroom etc.
      Queue queue = schedulerAttempt.getQueue();
      queue.recoverContainer(clusterResource, schedulerAttempt, rmContainer);

      // recover scheduler attempt
      schedulerAttempt.recoverContainer(rmContainer);

      // set master container for the current running AMContainer for this
      // attempt.
      RMAppAttempt appAttempt = rmApp.getCurrentAppAttempt();
      if (appAttempt != null) {
        Container masterContainer = appAttempt.getMasterContainer();

        // Mark current running AMContainer's RMContainer based on the master
        // container ID stored in AppAttempt.
        if (masterContainer != null
            && masterContainer.getId().equals(rmContainer.getContainerId())) {
          ((RMContainerImpl)rmContainer).setAMContainer(true);
        }
      }

      synchronized (schedulerAttempt) {
        Set<ContainerId> releases = schedulerAttempt.getPendingRelease();
        if (releases.contains(container.getContainerId())) {
          // release the container
          rmContainer.handle(new RMContainerFinishedEvent(container
            .getContainerId(), SchedulerUtils.createAbnormalContainerStatus(
            container.getContainerId(), SchedulerUtils.RELEASED_CONTAINER),
            RMContainerEventType.RELEASED));
          releases.remove(container.getContainerId());
          LOG.info(container.getContainerId() + " is released by application.");
        }
      }
    }
  }

  private RMContainer recoverAndCreateContainer(NMContainerStatus status,
      RMNode node) {
    Container container =
        Container.newInstance(status.getContainerId(), node.getNodeID(),
          node.getHttpAddress(), status.getAllocatedResource(),
          status.getPriority(), null);
    ApplicationAttemptId attemptId =
        container.getId().getApplicationAttemptId();
    RMContainer rmContainer =
        new RMContainerImpl(container, attemptId, node.getNodeID(),
          applications.get(attemptId.getApplicationId()).getUser(), rmContext,
          status.getCreationTime());
    return rmContainer;
  }

  /**
   * Recover resource request back from RMContainer when a container is
   * preempted before AM pulled the same. If container is pulled by
   * AM, then RMContainer will not have resource request to recover.
   * @param rmContainer
   */
  protected void recoverResourceRequestForContainer(RMContainer rmContainer) {
    List<ResourceRequest> requests = rmContainer.getResourceRequests();

    // If container state is moved to ACQUIRED, request will be empty.
    if (requests == null) {
      return;
    }
    // Add resource request back to Scheduler.
    SchedulerApplicationAttempt schedulerAttempt
        = getCurrentAttemptForContainer(rmContainer.getContainerId());
    if (schedulerAttempt != null) {
      schedulerAttempt.recoverResourceRequests(requests);
    }
  }

  protected void createReleaseCache() {
    // Cleanup the cache after nm expire interval.
    new Timer().schedule(new TimerTask() {
      @Override
      public void run() {
        for (SchedulerApplication<T> app : applications.values()) {

          T attempt = app.getCurrentAppAttempt();
          synchronized (attempt) {
            for (ContainerId containerId : attempt.getPendingRelease()) {
              RMAuditLogger.logFailure(
                app.getUser(),
                AuditConstants.RELEASE_CONTAINER,
                "Unauthorized access or invalid container",
                "Scheduler",
                "Trying to release container not owned by app or with invalid id.",
                attempt.getApplicationId(), containerId);
            }
            attempt.getPendingRelease().clear();
          }
        }
        LOG.info("Release request cache is cleaned up");
      }
    }, nmExpireInterval);
  }

  // clean up a completed container
  protected abstract void completedContainer(RMContainer rmContainer,
      ContainerStatus containerStatus, RMContainerEventType event);

  protected void releaseContainers(List<ContainerId> containers,
      SchedulerApplicationAttempt attempt) {
    for (ContainerId containerId : containers) {
      RMContainer rmContainer = getRMContainer(containerId);
      if (rmContainer == null) {
        if (System.currentTimeMillis() - ResourceManager.getClusterTimeStamp()
            < nmExpireInterval) {
          LOG.info(containerId + " doesn't exist. Add the container"
              + " to the release request cache as it maybe on recovery.");
          synchronized (attempt) {
            attempt.getPendingRelease().add(containerId);
          }
        } else {
          RMAuditLogger.logFailure(attempt.getUser(),
            AuditConstants.RELEASE_CONTAINER,
            "Unauthorized access or invalid container", "Scheduler",
            "Trying to release container not owned by app or with invalid id.",
            attempt.getApplicationId(), containerId);
        }
      }
      completedContainer(rmContainer,
        SchedulerUtils.createAbnormalContainerStatus(containerId,
          SchedulerUtils.RELEASED_CONTAINER), RMContainerEventType.RELEASED);
    }
  }

  public SchedulerNode getSchedulerNode(NodeId nodeId) {
    return nodes.get(nodeId);
  }

  @Override
  public synchronized void moveAllApps(String sourceQueue, String destQueue)
      throws YarnException {
    // check if destination queue is a valid leaf queue
    try {
      getQueueInfo(destQueue, false, false);
    } catch (IOException e) {
      LOG.warn(e);
      throw new YarnException(e);
    }
    // check if source queue is a valid
    List<ApplicationAttemptId> apps = getAppsInQueue(sourceQueue);
    if (apps == null) {
      String errMsg = "The specified Queue: " + sourceQueue + " doesn't exist";
      LOG.warn(errMsg);
      throw new YarnException(errMsg);
    }
    // generate move events for each pending/running app
    for (ApplicationAttemptId app : apps) {
      SettableFuture<Object> future = SettableFuture.create();
      this.rmContext
          .getDispatcher()
          .getEventHandler()
          .handle(new RMAppMoveEvent(app.getApplicationId(), destQueue, future));
    }
  }

  @Override
  public synchronized void killAllAppsInQueue(String queueName)
      throws YarnException {
    // check if queue is a valid
    List<ApplicationAttemptId> apps = getAppsInQueue(queueName);
    if (apps == null) {
      String errMsg = "The specified Queue: " + queueName + " doesn't exist";
      LOG.warn(errMsg);
      throw new YarnException(errMsg);
    }
    // generate kill events for each pending/running app
    for (ApplicationAttemptId app : apps) {
      this.rmContext
          .getDispatcher()
          .getEventHandler()
          .handle(new RMAppEvent(app.getApplicationId(), RMAppEventType.KILL));
    }
  }

  /**
   * Process resource update on a node.
   */
  public synchronized void updateNodeResource(RMNode nm,
      ResourceOption resourceOption) {
    SchedulerNode node = getSchedulerNode(nm.getNodeID());
    Resource newResource = resourceOption.getResource();
    Resource oldResource = node.getTotalResource();
    if(!oldResource.equals(newResource)) {
      // Log resource change
      LOG.info("Update resource on node: " + node.getNodeName()
          + " from: " + oldResource + ", to: "
          + newResource);

      nodes.remove(nm.getNodeID());
      updateMaximumAllocation(node, false);

      // update resource to node
      node.setTotalResource(newResource);

      nodes.put(nm.getNodeID(), (N)node);
      updateMaximumAllocation(node, true);

      // update resource to clusterResource
      Resources.subtractFrom(clusterResource, oldResource);
      Resources.addTo(clusterResource, newResource);
    } else {
      // Log resource change
      LOG.warn("Update resource on node: " + node.getNodeName()
          + " with the same resource: " + newResource);
    }
  }

  /** {@inheritDoc} */
  @Override
  public EnumSet<SchedulerResourceTypes> getSchedulingResourceTypes() {
    return EnumSet.of(SchedulerResourceTypes.MEMORY);
  }

  @Override
  public Set<String> getPlanQueues() throws YarnException {
    throw new YarnException(getClass().getSimpleName()
        + " does not support reservations");
  }

  protected void updateMaximumAllocation(SchedulerNode node, boolean add) {
    Resource totalResource = node.getTotalResource();
    maxAllocWriteLock.lock();
    try {
      if (add) { // added node
        int nodeMemory = totalResource.getMemory();
        if (nodeMemory > maxNodeMemory) {
          maxNodeMemory = nodeMemory;
          maximumAllocation.setMemory(Math.min(
              configuredMaximumAllocation.getMemory(), maxNodeMemory));
        }
        int nodeVCores = totalResource.getVirtualCores();
        if (nodeVCores > maxNodeVCores) {
          maxNodeVCores = nodeVCores;
          maximumAllocation.setVirtualCores(Math.min(
              configuredMaximumAllocation.getVirtualCores(), maxNodeVCores));
        }
      } else {  // removed node
        if (maxNodeMemory == totalResource.getMemory()) {
          maxNodeMemory = -1;
        }
        if (maxNodeVCores == totalResource.getVirtualCores()) {
          maxNodeVCores = -1;
        }
        // We only have to iterate through the nodes if the current max memory
        // or vcores was equal to the removed node's
        if (maxNodeMemory == -1 || maxNodeVCores == -1) {
          for (Map.Entry<NodeId, N> nodeEntry : nodes.entrySet()) {
            int nodeMemory =
                nodeEntry.getValue().getTotalResource().getMemory();
            if (nodeMemory > maxNodeMemory) {
              maxNodeMemory = nodeMemory;
            }
            int nodeVCores =
                nodeEntry.getValue().getTotalResource().getVirtualCores();
            if (nodeVCores > maxNodeVCores) {
              maxNodeVCores = nodeVCores;
            }
          }
          if (maxNodeMemory == -1) {  // no nodes
            maximumAllocation.setMemory(configuredMaximumAllocation.getMemory());
          } else {
            maximumAllocation.setMemory(
                Math.min(configuredMaximumAllocation.getMemory(), maxNodeMemory));
          }
          if (maxNodeVCores == -1) {  // no nodes
            maximumAllocation.setVirtualCores(configuredMaximumAllocation.getVirtualCores());
          } else {
            maximumAllocation.setVirtualCores(
                Math.min(configuredMaximumAllocation.getVirtualCores(), maxNodeVCores));
          }
        }
      }
    } finally {
      maxAllocWriteLock.unlock();
    }
  }

  protected void refreshMaximumAllocation(Resource newMaxAlloc) {
    maxAllocWriteLock.lock();
    try {
      configuredMaximumAllocation = Resources.clone(newMaxAlloc);
      int maxMemory = newMaxAlloc.getMemory();
      if (maxNodeMemory != -1) {
        maxMemory = Math.min(maxMemory, maxNodeMemory);
      }
      int maxVcores = newMaxAlloc.getVirtualCores();
      if (maxNodeVCores != -1) {
        maxVcores = Math.min(maxVcores, maxNodeVCores);
      }
      maximumAllocation = Resources.createResource(maxMemory, maxVcores);
    } finally {
      maxAllocWriteLock.unlock();
    }
  }
}

redpajama_set_name: RedPajamaGithub


text:
OBB '22 Position Preview: Linebackers
The linebacker core at the University of Miami will have many eyes upon it. New linebacker coach Charlie Strong will have an opportunity to improve a group that struggled at times in 2021. Only one player ranked in the top 50 in terms of tackles in the ACC from a year ago. Linebacker Corey Flagg Jr. had 60 total. In the last ten years, only four linebackers have been selected in the NFL draft.
A new implemented system that improves gap integrity can aid this group tremendously. Defensive coordinator Kevin Steele will look to improve upon his predecessor who often left defenders exposed. The linebacker group at Miami has included names like Lewis, Beason, Perryman, Vilma, Armstead, Marley and Barrow. The giants of the past need new ones who can maybe one day stand shoulder to shoulder.
Corey Flagg, Jr. stands in at 5-11 and 230 lbs. A third-year sophomore who started all 12 games and ranked among team leaders with seven tackles for loss and three sacks. A three star prospect listed by ESPN, Flagg was rated the number 88th player in the lone star state. Often times the focal point of the defense, Flagg is the returning starter at the middle linebacker position.
Caleb Johnson was the 10th transfer of the 2022 offseason and makes way from UCLA. Currently listed at the middle linebacker position, Johnson will add much needed depth and competition at a position of need. Standing in at 6-1 and 230 lbs. Johnson will be the biggest linebacker on the roster. Johnson is known as a sure tackler which is the perfect remedy for a defense who made a living on the alternative. The Miami Hurricanes were 44th in the country last year in stopping the run and Johnson could be a possible starting option.
UCLA linebacker Caleb Johnson announces transfer to Miami #Hurricanes https://t.co/hNHS2KVrOx pic.twitter.com/qpsr9xtlDS
— Sun Sentinel Sports (@Sentinel_Sports) April 22, 2022
Waymond Steed, Jr. is a 6-0 225 lb. sixth-year redshirt senior from Miami, Florida. The former stand out from Miami Central high school saw action in all 12 games last season. Steed ranked second on the team with 54 total tackles including 24 solo. Steed saw one season derailed due to injury in 2019. Steed's best performance came against Michigan State in which he finished with eight tackles and a sack.
Keontra Smith is listed at 5-11 and 205 lbs. The former recruited safety was utilized as a striker in Manny Diaz's scheme and ultimately moved to play weakside linebacker. The fourth-year junior saw action in nine games and made four starts last year. As a sophomore he totaled 38 tackles, five tackles for loss and three sacks. The former consensus four star recruit had his best season as a Hurricane a year ago and looks to solidify a spot moving forward.
Chase Smith is 6-2, 205 lbs. and had a predominant roll last year on special teams. This sophomore has flashed on film and shows a penchant for hard hits, instincts and some foot speed. A consensus four-star prospect, Smith was ranked the 34th best outside linebacker in the country by ESPN. A legacy recruit, Smith is the son of former UM tight end Willie Smith who played in the NFL and was an All-American in 1985.
Wesley Bissainthe is a true freshman listed at 6-1 and 205 lbs. This consensus four-star and four-orange prospect was the 189th overall player in the ESPN300. Bissainthe has turned heads and teammates say physically he does not look like a freshman. The former Miami Central rocket won state championships in 2019 and 2020. This coveted linebacker was involved in a highly contested recruiting battle where Mario Cristobal paid dividends. Picked Miami over offers Alabama, Florida, Florida state, Oregon and USC, among others.
Wesley Bissainthe wearing #31? Love it already pic.twitter.com/OQtIkr3x3I
— 4's Up Podcast (@4sUpPodcast) March 7, 2022
Avery Huff from St. Thomas Aquinas stands in at 6-3 and 205 lbs. The fourth-year redshirt sophomore saw action in 11 games mostly in a special teams variety. Huff only managed three tackles last season including one tackle in a win over the Duke Blue Devils. Rated a four-star prospect by ESPN, Huff chose Miami over Alabama, FSU, Georgia, LSU, Tennessee and Texas, among others.
Ryan Ragone is a native of Houston, Texas and stands in at 5-11 and 220 lbs. Ragone saw action in seven games last year and totaled nine tackles including six solo. The former Pasadena Memorial high school player flashes instincts and has a nose for the ball. Had three solo stops vs. Duke in the regular season finale. Ragone also lists a stop at Arkansas State.
Jake Hoffman 6-1, 216 lbs. is fourth-year redshirt sophomore and has served diligently as a member of the practice squad. Redshirt sophomore Lucas Peterson is also listed on the official Miami Hurricane roster as a linebacker.

redpajama_set_name: RedPajamaCommonCrawl


text:
Sheffield United Who are You?: The Full Monty, Ched Evans, miners' strikes
September 4, 2017 September 7, 2017 by Colin Randall
Dave Eyre: the Blade who lifted the Champions League trophy**
On a train somewhere during a long trip to the United States, our Sheffield United interviewee Dave Eyre* will try to find wifi access to events at the Stadium of Light. He predicts an uneventful season for both clubs, a win on Saturday for the Blades. United are an interesting club and Dave, an academic and folk music broadcaster, is an interesting man. These are fascinating and thought-provoking responses to the Salut! Sunderland questions though we can surely quarrel with his assertion that the United-Wednesday rivalry is more intense than Sunderland-Newcastle …
Salut! Sunderland: So how will Sheffield United do on their return to the second tier and can they ever return to the top?
Dave Eyre: I expect this year to be one of consolidation. It's taken a while – six years – to get back into this division. Looking at the money being spent by some clubs we will not be competing via the transfer stakes and buying our way further up. But we have a great academy with some superb prospects and if Huddersfield can do it why not? We have a history as a First Division/Premiership club; brilliant facilities ready for the Premier League; and the first ever goal scored in the Premier League was at Bramall Lane – Brian Deane against Manchester United. We won 2-1.
Chris Wilder had a long but unspectacular playing career. But do you see him as a top quality manager???
Always difficult to tell what any manager will do. Judging by his progress so far his chances must be good. He learnt his trade in the lower leagues and he has been on an upward curve ever since. At Northampton where he had to cope with severe financial problems off the field, he succeeded in winning promotion. At Bramall Lane where the expectations are high he has won the hearts of the fans. 199 points in the last two years is good going and few other managers have ever achieved that, let alone with two different teams. A number of great managers have had unspectacular careers, some great players have tried and failed. The local saying is IWWT – In Wilder We Trust.
Interesting ownership partnership – solid Sheffield businessman and Saudi prince known for his love of American football. How does it work in practice?
I am not privy to what goes on behind the scenes – the prince seems to keep a low profile. He came with a reputation as a man into sport, always a good start. I doubt we will see many Saudi millions coming or way until we have consolidated at Championship level at least. McCabe has pumped around £80 million into the club with some return and some very valuable real estate out of it – but he is a huge fan and was born just at the back of the Kop. Few clubs these days have a local owner like that.
Our recent Sheff Wed interviewee gleefully predicted relegation for you. A serious risk or just partisan nonsense?
This is one where time will tell and it's a bit early I feel. (For both clubs incidentally). If he is a proper Wednesdayite he will rarely have seen us play so will have no idea just how good we were last year. 100 points and 93 goals tell a great story.
Dave with the County Durham-based French folk singer Flossie Maliavialle (well known to Salut! Live readers)
Is it really true, as a survey suggested, that Blades fans are the most obsessed in the country?
I doubt it though they are very passionate. We got brilliant crowds when last in the Premier League averaging over 30,000. A lot of teams currently in the Premier League cannot get that into their stadiums. We had a pre-season game this year aganst Malaga in an obscure ground (Malaga's training ground at Coin). Despite the cost at the height of the holiday season about 200 booked flights. And we have a great song that no one has ever stolen!
On the darker side of football, was the trouble after the Boro match an aberration or a sign that the ugly face of the game hasn't gone away?
I wholeheartedly condemn any form of violence and what happened seems to have been a bit of a disgrace. We had little trouble last year and I thought we had got rid of any reputation we might have had. However despite the reports of 200 fighting and plenty of police around, my understanding is there were only five arrests and two of those arrested were from Middlesbrough. I would imagine that is around what they get in a normal Saturday night in Middlesbrough. It would be for Sheffield.
Who are the players who can cause problems in the Championship and where does your team cry out for strengthening?
Sharpe has had plenty of Championship experience and will always score goals nowadays. Clarke also, though he may not last the season as centre-forward. But they both lack a lot of pace and that will be our downfall. Hoping for a pacy young forward from the Permiership pool.
I watched a young Dele Alli run rings around us when he played for MK Dons whilst a Tottenham player. Someone like that would be fine.
Young star David Brooks coming on and causing problems up front and also in midfield will be a revelation to some. He lacks a little in the strength department but if you ever saw John "The Ghost" White play – well he looks the same. Won player of the tournament in Toulon for Young England earlier this year.
In midfield Paul Couts and Samir Carruthers both look as if they can hold their own. Of the defenders Jack O' Connell is outstanding; Richard Stearman has loads of experience at this level and has performed well so far. Our 3-5-2 puts a lot of emphasis on positional sense and the three defenders (Basham is the other) seem to do well. Both Basham and O'Connell get forward as part of their general game and not just at free kicks. And then there is Ched Evans.
Did you welcome Ched Evans back?
He was finally found innocent, so to me that is the end of it. There will be some name calling from the opposition when he comes on and this will set our fans off with retaliating chants, So long as it stays like that it'll be OK. His appearances so far have shown he has lost none of his beefiness. He was just getting into his stride when jailed. No doubt in my mind that his loss cost us promotion that season. We were one of the highest scoring teams in western Europe when we faltered.
Your best and worst moments as a supporter?
One thing about supporting the Blades – they are consistent. They always let you down. Highs are promotions – Darlington from the Fourth; up from the Third last season; away at Leicester to go into the Premier League. Hammering Wednesday 3-1 at Hillsborough. Lows? Dozens. Failure of three managers who ought to have done better – Weir, Robson, Adkins. And of course losing on Boxing Day to Wednesday.
The players who have given you most – and least – pleasure in your colours?
I watched Jagielka as a youngster and saw him mature into an England player. Least pleasure – Don Givens. No competition. For those of your readers not familiar with the story, he missed a last minute penalty against Walsall which sent us into the Fourth Division as was.
Tell us a little of your club's association with culture – not forgetting When Saturday Comes and The Full Monty
We seem to be very media friendly at Bramall Lane and we were of course the very first United before a team from Stretford also took the name. The TV series starring Cherie Lunghi The Manageress was filmed at Bramall Lane in the main, and Dave Bassett had a camera with him the whole year when we were promoted to the Premier League.
That was fun in parts. There is a great museum at Bramall Lane – and it seems I missed many of the glory days at the turn of the 19th century. I was there for When Saturday Comes (the penalty scene was filmed at a half-time). Sean Bean has a Blades tattoo which say "100% Blade". Rumour is that he had a flesh coloured plaster over it when performing in Lady Chatterley. One of my favourite actors Robert Carlyle wore a Blades shirt in The Full Monty. There is a wonderful local artist called Joe Scarborough who does great paintings of the local scene. I can't afford an original but I do have a couple of prints of United related material including a limited edition print done for a promotion.
I think United are a very working-class club. I was at a game versus Forest a few years after the miners' strike and as the Forest came out there was a huge cry of "scabs". My friend, naively I thought, suggested we had long memories going back to the 1984 miners' strike. I pointed out that that was for 1926.
Hand on heart, where will our clubs finish this season?
I don't see Sunderland up there – sorry. Too much baggage from the relegation period. In fact I don't see either of us there. So long as there are three teams below you including Wednesday of course and we are above you I suspect most fans will settle for that. I am looking to us to be around 12/14 in reality and no doubt you will be at that point too.
Thoughts on Sunderland – club, fans, city, region, Grayson?
I went out with a wonderful young lady from Sunderland but we were both living in Hull at the time so I never saw a lot of the town. I went to a couple of games at the old Roker – when we were visiting her parents.
Your fans seem to have been almost as hard done by as ours and the only games that guarantee wins are against Newcastle ! Your rivalry there is not quite as intense as ours – I suspect the proximity of both sets of supporters has something to do with that. We live and work with ours. Love the area and I have lots of friends up there. We visit often and have spent every New Year in the North East since 1969.
I have a lot of time for Grayson. He was hard done by at Leeds and he is a wise choice. I suspect the debt is strangling you and you will be selling Kone to help defray some of it and get the wages bill down to manageable proportions. (Written of course before transfer deadline day – Ed) In your position I reckon the parachute payments will disappear like snow off a wall.
You'll be away for the match. How will you keep tabs and what do you think will be the score?
I am looking for a 2-1 win. I'll be somewhere between New York and Chicago and on an overnight train so I shall be scanning for Wifi …
Jake: 'let's be having you'
Dave Eyre on himself: my first Blades games was way back in 1959 when I reach the age of 16. I had supported Chesterfield until then, but my parents judged I was old enough at 16 to travel to Sheffield on my own. Work took me all around the country for a few years from 1962 onwards and I rarely got to see them. Came back to Sheffield just as Tony Currie was at his height and I was at Old Trafford stood right behind George Best as he scored a goal for our first defeat that season on our return to the old First Diivision They showed it for about two years as part of the opening sequence for Match of the Day. Been there through the doldrum years. I became a mature student and then college lecturer and actually taught footballers as YTS apprentices though few actually made it, Carl Bradshaw and Wayne Quinn being the most notable. My hobby is folk music and I had a live show on Community Radio for seven years. Whilst broacasting this live show I tried to mention Sheffield United as much as I could even if the Sheffield Wednesday folkies stopped listening. Happily married to the same woman since 1972 – though she is barred from football at Bramall Lane since a 0-0 league cup draw with Aldershot. Both my kids would call themselves Blades though they have never been to a game. It's in the blood you see!
worth dreaming about …
** Dave's short explanation of the Champions league trophy moment: 'photographed in Candas Asturia shortly after beating Manchester United'. The longer one: my wife and I were in Candas, Asturias. The cup was on display in the lobby area of a hotel and all the local children were having their picture taken with it – they all had Barca shirts apart from one cheeky monkey with a Real Madrid one. The four "heavies' guarding it were happy to let anyone have their picture taken and there was no charge. They use it as an attraction for small scale soccer camps with Barca coaches and one of the coaches there reckoned that all they have to do is find one first team player and all the expenses of doing this are replayed. Not so far though.
Categories Content Tags Sheffield United, Sunderland, The Full Monty, When Saturday Comes, Who Are You? 4 Comments Post navigation
Sixer recalls: The first time he ever saw Sheffield United
The first time ever I saw your team – Nottingham Forest
4 thoughts on "Sheffield United Who are You?: The Full Monty, Ched Evans, miners' strikes"
Well if Penshaw's say so then who am I to argue.
Penshaw Car Centre
Penshaw Car Centre say Sunderland are far superior to Sheffield United in every way
Great articles. Not sure about your inter city rivalry with Newcastle but here it is really fervent. The Pigs who seem to consider themselves massive and are the most successful of the two, and have always lived above their means compared to United, strangely enough haven't averaged 30000 in over 50 years despite having one of the largest stadiums in English football ( United have done it twice in that time). In fact despite their perceived "massiveness" their historical average is only 1900 than United's.
This was brought up when one Pig fan came on local radio and said they were bigger than both Sunderland and West Ham. Bigger in delusions but nowhere near attendances.
Anyway, great articles.
UTB FTO's
The North-East rivalry is not as strong as Sheffield because supporters here don't live and work together, he says.
Totally out of touch with that one, it's as if he had to look at a map before answering.
I lived on the outskirts of Sheffeld for a number of years and watched my football at the Lane. Yes, the rivalry is strong there but the intensity here in the region – not just one city – easily surpasses it. Football is, and has been for well over a century, burnt into the souls of both camps.
The nature of the traditional industries has meant that supporters of both clubs have intermingled for years.
Only clubs with more divisive differences between fans (eg Scotland) have deeper rivalries.


text:
Michael Lorri Scioscia, mais conhecido como Mike Scioscia (Upper Darby Township, 27 de novembro de 1958), é um ex-jogador e atualmente treinador de beisebol norte-americano.

Carreira como treinador
Mike Scioscia foi campeão da World Series 2002 dirigindo o time do Anaheim Angels. Na série de partidas decisiva, sua equipe venceu o San Francisco Giants por 4 jogos a 3.

Beisebolistas da Pensilvânia
Beisebolistas do Los Angeles Dodgers

redpajama_set_name: RedPajamaWikipedia


text:
Home > Events/Appearances > The 2012 Ben Roethlisberger Foundation Invitational
Most viewed - The 2012 Ben Roethlisberger Foundation Invitational
July 9, 2012 - The Ben Roethlisberger Foundation Invitational2133 viewsActually this is Rob, one of Ben's golfing buddies clowning around with the big guy.
Photo: Tommy/Proserv Executive Service
July 9, 2012 - The Ben Roethlisberger Foundation Invitational2048 viewsNow Ben may be skeptical of Ryan Tollner's arm, but Ryan is no stranger to throwing a football! He is a former quarterback for the University of California Berkeley (Cal Bears)!
July 9, 2012 - The Ben Roethlisberger Foundation Invitational2027 viewsThe Welcome Committee!
The Foundation Invitational was played at Sewickley Heights Golf Club in Sewickley, PA. Proceeds from the Invitational will benefit the Make-A-Wish Foundation and The Ben Roethlisberger Foundation.
In 2011, The Ben Roethlisberger Foundation granted $46,000 to police and fire departments in the Pittsburgh area, and another $77,000 around the country for a total of $123, 700.
For the past several years, Ben has devoted his time to the Make-A-Wish Foundation because of his passion to help children.
July 9, 2012 - The Ben Roethlisberger Foundation Invitational1966 viewsAlmost!!
*Click on "LAST UPLOADS" at the top of the page to see the photos in the proper order!
July 9, 2012 - The Ben Roethlisberger Foundation Invitational1928 viewsI don't even want to know where that football landed or who it hit!!
July 9, 2012 - The Ben Roethlisberger Foundation Invitational1926 viewsI think this guy may have done this before!
July 9, 2012 - The Ben Roethlisberger Foundation Invitational1819 viewsThe golfers had a great time with the pre-tournament competitions, which included the Chip Shot Challenge, a Super Bowl XLIII Challenge, Shuffleboard Golf, a Big Shot Challenge (driving your way through the AFC North), a $5,000 Putt Challenge, and a $1 million dollar Shootout (165 yard shot).
All the winners received amazing prizes.
July 9, 2012 - The Ben Roethlisberger Foundation Invitational1814 viewsSome golfers really wanted to take advantage of having a two-time Super Bowl winning QB on the course!
July 9, 2012 - The Ben Roethlisberger Foundation Invitational1751 viewsLook out! Here comes the touchdown pass that will win the Lombardi!
July 9, 2012 - The Ben Roethlisberger Foundation Invitational1749 viewsKen Roethlisberger enjoyed watching the pre-game competitions.
July 9, 2012 - The Ben Roethlisberger Foundation Invitational1728 viewsA golfer tries the Super Bowl XLIII throw to Santonio!
July 9, 2012 - The Ben Roethlisberger Foundation Invitational1704 viewsWhile talking to his parents, Ben realizes his agent is getting ready to try the Super Bowl XLIII throw competition!
57 files on 5 page(s) 1 2 3 4 5


Waterfall @ MOECC consultation for ON renewable fuel policy.
Waterfall @ ECCC CFS Multi Stakeholder Consultative Committee (MSCC).
Waterfall @ National Biodiesel Board Annual Conference.
Waterfall @ BC Low Carbon Fuels Standard pre-consultation.


Copyright © 2008 Henry Clark Stroke Foundation and logo are registered service marks of Barbara Lewis-Clark.
Copyrights 2003, 2004 Let's Talk Stroke!; copyrights 2003, 2004 and trademark 2013 STROKE NO JOKE! registered to Henry Clark Stroke Foundation.
2001-2018 copyright. All Rights Reserved.
CONTACT THE HENRY CLARK STROKE FOUNDATIONType your paragraph here.
Thank You for Visiting HCStrokeFoundation.org!
We appreciate your continued interest, participation and support, as our Foundation continues to grow and reach out to people in the community. Please feel free to ask questions and send us your news about strokes. Find out how you can get involved contact the Henry Clark Stroke Foundation today!


Our luxurious, exclusive suites are located in a privileged corner on Tenerife's south-western coast in the Guía de Isora area.
LAS TERRAZAS DE ABAMA offers impressive views of La Gomera Island and the Atlantic Ocean. Surrounded by lush gardens and palm trees, our complex provides guests with an endless number of options: discover a golfing paradise, explore the beauty of the island's scenery and history, immerse yourself in unrivalled tranquillity in hidden corners, or dare to experience unique, sophisticated adventures.
Surrounded by lush gardens and palm trees, our exclusive holiday rentals are the perfect choice for guests hoping to enjoy the peace and quiet of a select suite with top-quality services.
MELVIN RESTAURANT is an eatery designed under a concept that unites the personality of the architect Melvin Villarroel and the culinary skill of Martín Berasategui who, with 10 Michelin stars, is considered one of the world's best chefs.
Superb facilities and excellent service combine with unique scenery and unbeatable weather conditions.
Beside a golf course opposite La Gomera Island.
With our Kids Camp, children can learn and have fun in a natural environment.
Open your mind to all our culinary trends and enjoy new experiences.
Our Week at Las Terrazas de Abama Few years ago we enjoyed a marvellous stay at Abama Hotel. This time we decided to stay in a new... read more built Las Terrazas apartment, not knowing, that these are two different companies as it is not communicated at all from the management. We learnt this at check-in and were rather disappointed due to several points: it was not possible to get tables at Kabuki or MB Restaurants – nearly fully booked for the whole week. We tried several times and wasted a lot of efforts and time for getting tables not later than 21.00… We had to ask several times for getting answers regarding reservations – they have a chaotic reservation system. Although we had given them our credit card details before our arrival, we had to fill out forms with our name, credit card details…. for a reservation in the hotel restaurants, where it was not possible to book the bill on our room. The staff at reception was friendly but incompetent and chaotic. This is no 5 star service at all! We could not book tee times directly in the Proshop – we had to get a voucher at the reception at Las Terrazas and again to wait, as it mostly was very busy at this desk. Food and service in Kabuki and MB were marvellous and a great experience. We love playing golf at Abama golf course. This was the main reason why we booked this resort,... Few years ago we enjoyed a marvellous stay at Abama Hotel. This time we decided to stay in a new built Las Terrazas apartment, not knowing, that these are two different companies as it is not communicated at all from the management.
it was not possible to get tables at Kabuki or MB Restaurants – nearly fully booked for the whole week. We tried several times and wasted a lot of efforts and time for getting tables not later than 21.00… We had to ask several times for getting answers regarding reservations – they have a chaotic reservation system.
Although we had given them our credit card details before our arrival, we had to fill out forms with our name, credit card details…. for a reservation in the hotel restaurants, where it was not possible to book the bill on our room. The staff at reception was friendly but incompetent and chaotic. This is no 5 star service at all!
We could not book tee times directly in the Proshop – we had to get a voucher at the reception at Las Terrazas and again to wait, as it mostly was very busy at this desk.
Food and service in Kabuki and MB were marvellous and a great experience.
We love playing golf at Abama golf course. This was the main reason why we booked this resort, hoping to get a better price for the greenfees. We paid € 168,- per round, per person, plus 70,- for the golf car, which is highly overpriced for guests staying at the resort. On our last stay at the hotel 3 years ago we had special golf deals for Abama course.
The food choice of breakfast at Melvin Restaurant was good; the egg dishes were fabulous. Many (mostly English) families with children stayed at the resort during the holiday week. We hardly could stand the noise and the hectic rush; unfortunately there is no area for people travelling without children. There was far too less staff; nevertheless we have to mention an extremely competent woman (Melania?) who gave her best. She stayed friendly all the time although she was responsible for EVERYTHING, she had to take orders, serving dishes, cleaning the tables, replacing plates…. all in all very uncomfortable for the guests and not at all worth the price.
We rented a one bedroom apartment which was fabulous, quiet and clean; nice terrace with a stunning view to the ocean and breath taking sun downers. Just one point to mention: the lights were faulty, some switches didn't work.
All in all, bad management and the value for the money you pay for Las Terrazas is not appropriate at the moment.
Family holiday We had a fantastic time at this wonderful hotel. The setting is out of this world and the apartments are... read more very spacious and new. The apartments are well serviced apart from a few amenities, eg washing up liquid, dish cloths etc. I provided this feedback to the hotel.
The staff are all very nice and helpful too.
The pool area is lovely however the pool bar menu is limited and no kids menu available but again the hotel took this feedback from me.
The beach is a short drive and a complimentary shuttle bus can drop and collect you which was very easy.
Premium experience Excellent break from the European winter on Tenerife at Terrazas de Abama.
2 bedroom apartment with great views, superb quality of... read more services and fantastic interior decoration.
The whole place is new. Opened in 2015 but they have been adding buildings (~10 apartments each) every year. The resort is still modest in size and very quiet.
From any apartment, it's max 3 minutes walk to one of the two pools. These are normally heated but during our stay, the heating system was down after a storm. One of the pools has a pool bar and restaurant. Decent prices and good service.
The complex is about 1km from the beach which you can see from any apartment as the apartments are built against a slope. There is situated on a golf course which can be accessed easily.
There is a service shuttle bus that you can call for a 5 minute transfer to the beach. Very convenient. There are also many golf carts whizzing about. I am sure these can be rented.
The 2 bedroom apartment is really great. Premium fit and finish with marble floors, good a/c with proper heating for chilly winter nights. Fully equipped kitchen and luxury bathroom.
Big flatscreen TVs with a modest selection of television channels.
Excellent WiFi. Not so much in terms of speed but it was very stable and reliable also for video calls.
The terrace is huge and has dining table, relax chairs and 2 sun-beds.
The resort is in the middle of nowhere. It's only 10 minutes to a nearby village but only by car. Without a car, you are stuck.
There is a little food shop at reception. Nice stuff but not a replacement for a corner shop or supermarket. A nice selection of upmarket (local) product and fresh bread in the morning.
fantastic experience a big thank you to the staff who really make the difference! The apartament was very convenient. cleaning service every... read more day, travelling with kids is a need. the front office staff could not do enough for us, thank you Virginia from italy. The restaurant in the main building offers a nice bfast and very reasoble prices dor dinner, we tryed it once.
Fabulous apartment, lovely setting Stayed 5 nights in the smallest apartment, but still space aplenty. Quality throughout, and spotlessly clean. Very quiet, you'd... read more need to stay put or have a car. We self catered. Kitchen completely functional and good quality but limited in the equipment, few pans and limited space. But we managed just fine and had to just be a little creative! The balcony we had only got the sun late in the afternoon because of the situation and it being covered, the setups do vary.
Housekeeping were great. They noticed birthday cards and left a chilled bottle of fizz which was a lovely touch.
We didn't make use of any of the amenities other than the pool area which was beautiful.
Resort of 150 luxury apartments with 1 – 4 bedrooms.
Internal transportation within Abama Resort: beach, golf, tennis, etc.


IMF Survey:The first question is prompted by the title of the new history: why do you call it the Silent Revolution?
Boughton: The impetus for the title was the speech that Michel Camdessus gave in 1989 in which he said there was, in his view, a silent revolution going on in the developing countries. What he meant by that was that country after country in the developing world were trying to reformulate their economic policies in a way that was market friendly, brought them into the world economy, moved away from a strong development role for the state, and enabled private sectors to develop. He called it a "silent revolution" because, to the naked eye, there was nothing very dramatic going on, but the effect on the world economy and on these particular countries was dramatic. So when I then looked at the whole time span, I said: "How did the world change?" If you took two snapshots—one in 1979 and one in 1989—you'd find that the world had changed dramatically. Mexico is a good microcosm of what was going on in those 10 years. If you read what Mexican officials were saying in the late 1970s and early 1980s about how they thought their economy should be run and then you looked at what they were saying in 1989—it's completely night and day.
IMF Survey:After the breakdown of the Bretton Woods system in the early 1970s, many observers said the IMF was really an institution that had lost its role. But you chart an extremely active and, at times, controversial period in the IMF's history. What were the forces that drew the IMF into deeper involvement in the world economy?
Boughton: One thing I realized fairly early on in doing my research was that 1982 was really a bigger watershed year for the IMF than 1973 was. Most people—if they reflect on the history of the IMF and its 55 years of experience—think that 1973 was the big shift. Until then we had been overseeing the fixed exchange rate system; after that, we kind of drifted and had to look for a new role. But that's not actually what happened. It's true that 1973 drew the IMF into a more active and important role in the world economy than it had before, in the sense that the world was a less stable place. We had the oil shocks of the early and late 1970s, and we had all these floating exchange rates and countries having to develop their own exchange rate policies. The world needed a guiding force to cope with this new kind of rapid growth and greater instability.
What happened in 1982 was that all of those forces came to a head. Suddenly, a lot of countries were facing massive problems all at once, and this became the debt crisis. There was a great need for an agency to jump in and try to lead the world out of the crisis, to try to find solutions to those problems. And that agency turned out to be the IMF.
IMF Survey:Since 1979, no industrial country has borrowed from the IMF, and IMF lending has been entirely to developing countries. What effect has this change in lending had on the institution and its operations? Should the IMF become more involved in structural reform and longer-term lending?
Boughton: Certainly the demand for IMF resources shifted very dramatically. In the late 1970s, the IMF was still lending to the United Kingdom and Italy, and it was not at all obvious that the future of the IMF would be with the developing countries. But the rapid growth in private international financial markets, which started in the mid-1970s and became much more important in the 1980s and 1990s, insulated the industrial countries from the need for any financing from the IMF. That actually increased rather than decreased the importance of the IMF in the world economy, because it meant that the resources that the IMF had been using for short-term stabilization in these industrial countries were now free for meeting the demands of the developing countries, which turned out to be enormous.
Unlike the industrial countries, the developing countries needed to have this financing for longer periods of time and to solve more deep-seated, more structural problems. There has indeed been an ongoing debate about whether the IMF should be getting into these longer-term roles. But the answer is very clear: the IMF has to get involved in longer-term issues because it is no longer possible to separate short-term from longer-term financing needs. The same countries that have serious balance of payments problems are also the countries that have structural imbalances, and you need an agency that can coordinate that. You can't say, well, longer-term lending is a World Bank problem, and short-term lending is an IMF problem, because it's the same problem. So the IMF and the World Bank have to coordinate.
IMF Survey:You discuss the IMF's surveillance over industrial countries, which is still a live topic. Is this debate likely to continue?
Boughton: I think it will continue. Obviously, right now, surveillance over the industrial countries seems like a back burner issue, but it's very important that the IMF maintain the ability to examine and provide advice to the large industrial countries if it's going to continue to be the premier international financial institution in the world.
What's interesting is that in the 1980s, when people thought that the IMF was moving away from the industrial countries, it was actually devoting a great deal of its energies to trying to maintain a dialogue and give strong policy advice to the large industrial countries. In fact, all through the 1980s, the IMF was sending a very strong and consistent and pointedly worded message to the United States, which the United States did not want to hear. The message was that the United States had to pay attention to its fiscal deficit. It could not simply ignore the fact that it was tripling the total amount of government debt outstanding in a period of a few years, because that was going to have enormous adverse effects on the rest of the world and eventually on the U.S. economy itself.
By the end of the 1980s, the United States actually did change its fiscal policy quite dramatically, trying to get its government deficit under control in line with the IMF message. How much direct influence the IMF had in bringing that about is another matter, but the fact that the IMF was consistently sending the right message to the U.S. government gained the IMF quite a bit of credibility.
IMF Survey:During the 1980s, private capital flows became increasingly important, as they continue to be today. Has the development of private capital flows reduced the importance of the IMF as a source of official financing?
Boughton: I think it's been quite the opposite. The growth of private markets has benefited a number of countries; but in many cases, only temporarily, or has benefited some countries one year and other countries the next. There was a huge inflow of private capital flows to emerging markets in the early 1990s, but when some of them got into trouble in the mid-1990s, the money simply vanished, and countries that thought they could rely on private markets found there would still be times when they would need official financing and that the IMF was an effective agency for filling those gaps.
IMF Survey:The IMF is now intimately involved in providing financial assistance to the poorest countries. What progress have you seen in this area since the early 1980s?
Boughton: This is probably the most controversial area for the IMF. It's quite clear that the whole process of trying to provide stable long-term development financing, at least right now, could not work without the IMF being heavily involved, because the IMF is the only institution that has the credibility to impose effective policy conditionality. It's the linchpin for making this whole process work.
Whether that's the right long-run solution is another matter. Would the world be better off with one institution rather than several institutions providing coordinated financing and the right policy advice to poor countries? I don't think we know the answer to that yet. Certainly in the 1980s, the IMF made huge progress toward developing a rational strategy for helping the low-income countries; for example, it established the Structural Adjustment Facility and then the Enhanced Structural Adjustment Facility, and there was steady progress from the mid-1980s to the late 1990s. But in my view, if we're really going to see an effective mechanism for financing development in low-income countries, a lot more progress is needed.
IMF Survey:What conclusions do you draw from your work on the history, and what did you find that particularly surprised you?
Boughton: One main conclusion—and it's kind of middle of the road—is that markets and institutions go hand in hand, that we need market-friendly solutions, but we need market-friendly solutions that are guided by institutions. We need both a visible hand and an invisible hand. I think that conclusion emerges whether you're looking at the outcome of the debt crisis or whether you're looking at financing for low-income countries.
The biggest surprise for me was that the 1980s turned out to be quite different from what I thought they were when I first started working on the book in 1992. I thought I was going to be writing about the last period when the IMF's primary activity was providing balance of payments financing to its member countries. The 1990s were supposed to be a whole new ball game: the Soviet Union had collapsed, and the IMF was getting involved in transition issues as countries moved from central planning to markets.
What became obvious by 1998 when I essentially finished drafting the book was that the 1980s had set the stage for the IMF to play a very active and major role in emerging markets in the 1990s; that the role the IMF played in Mexico in 1995 and in Thailand, Indonesia, and Korea in 1997 and 1998 was made possible by its having been involved with emerging markets all through the 1980s. By becoming the major player in developing a strategy for dealing with the debt crisis in the 1980s, the IMF positioned itself for helping countries solve the problems of the 1990s. So, the whole dynamic changed from the time I started working on this project to the time I ended it.
IMF Survey:How would you distinguish the style and content of your history from earlier IMF histories? In this age of transparency, I'm sure there are materials you could bring in that previous historians maybe were not able to.
Boughton: The IMF is a very different place now from what it was when the previous histories were published. The first IMF history was written in the late 1960s, and the history previous to this one was written in the early 1980s. The IMF is now a much more transparent place. My predecessors had full access to the IMF archives, but they were the only ones who had such access. As I was writing this book, I was fully aware that all the sources I was using would be accessible to other people interested in writing about the IMF or about its member countries. So I have provided thousands of footnotes to internal IMF documents; people can now look at these footnotes and if they want to know more about a document, they can go look at it themselves.
Beyond that, I've tried to make this as much a history of the world economy in the 1980s as it is a history of the institution. All through the 1980s, the IMF was dealing with political issues as much as with economic issues; for example, several of the countries that were hit hardest by the debt crisis were also moving from military dictatorships to democracy. Argentina and Brazil provide clear examples. These countries were struggling with the need to establish democracy at the same time they were dealing with severe economic problems. And the IMF had to take all that into account. Dealing with political issues was unavoidable when the IMF was working with countries like Sudan, what was then called Zaïre, Sierra Leone, and Liberia. All these countries had huge political and economic problems. All these political and economic issues overlapped, and the IMF had to come to grips with that. So this history is much more of a story about political economy than about technical economics.
IMF Survey:What will be the scope of the next chapter in the IMF's history?
Boughton: As exciting as the 1980s were for the IMF, the 1990s were even more challenging and exciting. When you think about all the important stories of the 1990s—the geopolitical importance of Russia and all the work the IMF has done there; the financial crises; globalization—the history of the 1990s will be a fascinating story.
Copies of Silent Revolution: The International Monetary Fund, 1979-1989, by James M. Boughton, are available for $75.00 each from IMF Publication Services. See page 337 for ordering information.


Southern Africa is blessed, or cursed (depending on your viewpoint) with a wealth of Little Brown Jobs. If you feel like tackling the LBJ challenge, and perhaps learning to love these amazing little birds along the journey, this book is essential for you.
1) Complete the form below, so I have your email address on record.
2) There are two ways to pay the R195 price: a standard EFT (making sure to include a reference so I know who the money is from); or with a Credit Card through PayFast (just click on the button below).
3) As soon as I see the payment, I'll email you a direct download link for the book. Because it's a digital book, there are no shipping costs, and I can "ship" the file to you anywhere in the world.
4) Go to that link, download/save the 60-odd MB file, and enjoy!
Clicking on the "Buy Now" button below will take you to the PayFast payment portal – South Africa's premier online payment system. You just enter your email and credit card details and voila! You can do an instant EFT in the same way, if you're with a major South African bank.
You'll see my banking details below. Please remember to include a sensible reference when paying, so I know who the money is from. If you're with a major South African bank, you can also do an instant EFT through PayFast, by clicking the button under Credit Card.


text:
News & Media Letters to the editor
Looking Homeward
Readers relate to Julia Levitina's reflections on the war in Ukraine
It's not often that both of AOPA's senior photographers cover the same story—when Director of Photography Chris Rose is out west photographing a backcountry fly-in, Senior Photographer David Tulis could be in Ohio getting a behind-the-scenes look at an aviation museum. Both men travel more than 125 days a year capturing the images that grace these pages and tell the story of general aviation through their lenses. While there are times that our photographers also double as videographers, that's a lot of heavy lifting for one person. We usually send one of our staff videographers with a photographer on a major story, but this past fall—usually our most active time of year—we were short a videographer. Tulis stepped up to take over the video portion of our story on TacAero in Hood River, Oregon (see "Off the Grid," p. 58). "It was fun to exchange ideas while in the field," Rose said. Here's the duo actually "in the field" capturing our cover shot.
Ukrainian Julia Levitina's "Musings: Looking Homeward" (November 2022 AOPA Pilot) resonated with me, as a first-generation American of both a Ukrainian mother and a Crimean-Tatar father. Prior to the current Russian invasion, both of their homelands were invaded by the Nazis in 1941. My then-17-year-old mother, along with 2 million other Ukrainians, was taken to the Third Reich as a forced laborer; basic freedoms lost, under a brutal regime.
Julia's night flying reminds me of my own primary night cross-country: flown on July 3, the eve of our Independence Day. As we flew, the sky was alight with exploding fireworks. Fireworks are celebratory, but also have me reflect on all of the freedoms we enjoy. Included is the "freedom to fly," as enabled by our American nation and, in large part, by the ongoing, diligent work of the staff and leadership of AOPA.
Sevim Ablay / AOPA 4635183
Dundee, Illinois
I was moved by Julia Levitina's aviation take on the war in Ukraine. Watching the initial news coverage of Putin's heinous invasion of Ukraine, like most observers I expected Kyiv to be quickly overrun. My surprise and astonishment at the Ukrainian people's response quickly turned into deep admiration of their dedication and bravery, including those now living abroad and waiting to return to rebuild once the madness is over. They have been an inspiration, and I feel they are kindred souls to what most free people hope we would be if faced with a similar trial by fire. My aircraft now flies with Ukrainian flags proudly displayed on my vertical stabilizer. And looking forward to life after the war, here is a thought: What better poke in Putin's eye than having American-style freedom to fly within Ukraine? I can't think of a people that would appreciate and deserve it more.
Al Herron / AOPA 888615
Placerville, California
First Fly-In of 2023
Thank you for the article about AOPA participating in the Buckeye Air Fair in February 2023 ("First Fly-In of 2023," December 2022 AOPA Pilot). I am pleased that AOPA will be a part of the airshow, rather than holding a stand-alone event. Ever since AOPA moved away from the annual convention to regional fly-ins I have been to one almost every year as I looked forward to the seminars, aircraft/vendor displays, and the cadre of aviation experts on-hand. However, when I noted this year's "Hangout" events were charging admission, that seemed like a huge step backward and a bad choice for reinforcing the existing AOPA membership/pilot community or attracting prospective pilots. I look forward to seeing the AOPA staff in Buckeye.
Dan Ybarra / AOPA 4615703
Menifee, California
IFR Turn-Arounds
Tom Horne's "IFR Turn-Arounds" (November 2022 AOPA Pilot) was a useful refresher on procedure turn dos and don'ts. In his discussion of the hold in lieu of procedure turn (HILPT), Horne suggests that after flying the appropriate hold entry procedure, the pilot should "make a trip around the pattern before exiting it and flying the rest of the approach," seeming to imply that a full circuit around the racetrack needs to be flown. Paraphrasing AIM 5-4-9.a.5 that covers HILPT procedures, the holding pattern maneuver is completed when the aircraft is established on the inbound course, and, if cleared for the approach prior to returning to the holding fix, additional circuits of the holding pattern are not necessary nor expected by ATC.
I have observed confusion among even some seasoned instrument pilots as to whether the HILPT is actually required if approaching the holding fix from a direction that "implies" a simple straight-in entry to the final approach course. As Horne points out, the HILPT is required unless "NoPT" is explicitly noted, when receiving radar vectors to the final approach course, or if otherwise instructed by ATC. Pilots should always clarify any confusion with ATC prior to beginning any procedure.
Fred I. Stahl / AOPA 899593
Brava to Natalie Bingham Hoover for her article in November's AOPA Pilot magazine ("Men and Women in the Cockpit")! Her litany of transgressions by male counterparts is more than enough to prove her point. Fellow male pilots, pay attention! The woman next to you in the cockpit has every bit as much right to be there as you do, without the slightest hint of "chivalry" or whatever you may call it, from you. Act like a professional—you can bet she will! —Brian Smith / AOPA 5085148Big Pine Key, Florida
The Power of Two
I very much enjoyed Catherine Cavagnaro's recent article ("The Power of Two," November 2022 AOPA Pilot). As a technically minded person I've long had F=1/2MV2 posted on the visor of my car ever since I spent a duty station in Germany. The office on the base there, where one obtained their international driver's license, featured photos of truly catastrophic car wrecks on the autobahn, the likes of which the average American might be unaccustomed to seeing. Of course, this was an effort to impress upon invincible young service members being released on speed limitless roads, the "power of two" as it relates to the force of impact. The article inspired me to expand that thinking to other exponential relationships, and especially consider where they appear in my flying. As she rightly points out, it's an effective way to quickly distill the factors that matter most.
Demetri Capetanopoulos / AOPA 2895767
Upper Arlington, Ohio
In "What's in a Name: Taking the Waters in TorC" (November 2022 AOPA Pilot) Julie Summers Walker mentioned Spaceport America and the municipal airport. But then there's the Elephant Butte Reservoir.
In June 1958 I was a crew member on a Navy P5M Marlin flying boat. We blew a cylinder about 60 miles east of El Paso, Texas, which resulted in shutting down and feathering one of our two engines. These seaplanes weren't the best with single-engine performance. We strapped on our parachutes and flew north about 60 miles to the 30-mile-long Elephant Butte Reservoir at Truth or Consequences, New Mexico. We landed on it. We were greeted by a fish and game warden in an outboard motorboat. He hollered up to the captain, "What's the matter, buddy, are you lost?"
We were there for three days repairing the engine. The town supplied us with a car and motel rooms. They made the skipper an honorary mayor of Truth or Consequences and the crew members honorary town commissioners. We inflated a life raft and had swimming parties with lovely maidens diving off the wings. A couple of waitresses came out to the plane and cooked up some great meals in our galley.
On the day of our departure a big crowd showed up to watch the takeoff. It was a very long run. We fired two JATO (Jet Assisted Take Off) units and we were still on the water. The second pair were fired and the 60-ton airplane broke the surface. We lumbered over the watching crowd and we turned west toward home. It was an interesting experience to be a sailor in the desert.
Ed Stanfield / AOPA 654515
Middletown, Maryland
"Safety Tool" (November 2022 AOPA Pilot) misstated the chemical formula of carbon monoxide (CO).
An incorrect link for a Garmin SiriusXM Aviation Training video appeared on p. 97 of December 2022 AOPA Pilot. The url is: siriusxm.com/avoidconvectiveweather.
AOPA Pilot regrets the errors.
We welcome your comments! Send letters to [email protected] or Editor, AOPA Pilot, 421 Aviation Way, Frederick, Maryland 21701. Letters may be edited for length and style.
Vintage Electric rolls out most powerful EV throttle bikes yet
Better Together: Industry Resources Help Improve Aviation Safety


The Emerging and Sustainable Cities Program (ESC) is the IDB's non-reimbursable technical assistance program providing direct support to national and subnational governments in the development and execution of city Action Plans. ESC employs a multidisciplinary approach to identify, organize and prioritize urban interventions to tackle the main roadblocks that prevent the sustainable growth of emerging cities in Latin America and the Caribbean. This transversal approach is based on three pillars: (i) environmental and climate change sustainability, (ii) urban sustainability, and (iii) fiscal sustainability and governance.


Coming Up Roses. The vibrant Kennedy Park Rose Garden should be at its best when the Napier City Council holds the first of two Rose Sundays tomorrow. Council horticultural apprentice Jared Kemsley is pictured at the garden during weekend duty, among some of the 600 varieties of roses. On Sunday the Napier Technical Band will perform.
Photograph taken 13 November 1993 and published in newspaper on that date.


The Wing Flex makes the saddle a little friendlier to the inside of your thighs.
The Fizik Antares R3 saddle is part of the further developed Spine Concept. Before, this just looked at the flexibility of your spine, but now it takes the way you ride into consideration as well. The rotation of your pelvis is essential to determine whether a saddle suits your needs or not. There's now both a Regular (130 mm) and Large (152 mm) version available of the Fizik Antares R3. The faster you ride, the lower the pressure gets on the saddle, requiring less surface area for support.
The Fizik Antares R3 has been designed with the so-called Chameleons in mind. According to Fizik, the Chameleon is a rider with a fairly flexible spine. The Antares saddle is a mix of the Arione and Aliante when it comes to the shape. The saddle offers great support in every possible position. The Chameleon bars have the same shallow drops as the Bull version, but the reach of the Snake bars. The Fizik Antares R3 is a lightweight and rigid saddle. This is because of the Carbon Kevlar thermoplastic composite shell, Wing Flex technology, and K:ium rails.
doe de job goed ondersteuning top.
Zadel is hard maar zit heel fijn. Ik moest wel wennen aan het ruw leren/suede toplaagje. Je moet in een keer goed gaan zitten. Anders kan je koersbroek een beetje "kleven" aan het zadel.
Qua maatbepaling zadel (regular vs. large) gaat Fizik niet uit van de afstand zitbotjes maar van het gewicht en gem. snelheid van de rijder. Dit is hun spine-concept-evo. Bij het uitpakken van het zadel las ik hierover in bijgesloten boekje. Met het volgen van systeem/tabel van Fizik kom je mogelijk op een andere maat zadel uit.


text:
Конец «сильной руки»? Критический дискурс-анализ нормативного взгляда в политической культуре россиян
Социологический журнал. 2020. Т. 26. № 4. С. 96-115.
Земцов А. О.
Research target: Sociology (including Demography and AnthropologyPolitical Science (including International Relations)
Priority areas: sociology
Full text (PDF, 1018 Kb)
Keywords: strong handauthoritarianismpolitical culturepolitical orientationscritical discourse analysis
Publication based on the results of: Values, identities and social behavior(2020)
Этические проблемы организационной, профессиональной и межличностной коммуникации
Edited by: М. А. Пильгун Вып. 12. М.: АПК и ППРО, 2012.
Политическая культура как предмет политической социологии
Малинова О. Ю. В кн.: Политическая социология. Учебно-методический комплекс. М.: РОССПЭН, 2013. Гл. 15. С. 323-347.
Added: Mar 7, 2014
Политология: Курс лекций
Дегтярев А. А., Марченко М. Н. М.: Юристъ, 2003.
Added: Apr 4, 2013
Некоторые тезисы о народном представительстве в условиях ограниченности публичного ресурса
Сивицкий В. А. Ученые записки юридического факультета. 2011. № 23(33). С. 71-75.
Trial by Fire: a Natural Disaster's Impact on Attitudes toward the Government in Rural Russia
Lazarev Y. A., Sobolev A. S., Soboleva I. V. et al. Political Science. PS. Высшая школа экономики, 2012. No. 04/PS/2012.
This study aims to explore the psychological foundations of political support under a nondemocratic regime by investigating the impact of a natural disaster on attitudes toward the government. The research exploits the enormous wildfires that occurred in rural Russia during the summer of 2010 as a natural experiment. Since wildfire spreads due to the direction of the wind, the local distribution of fire is as if random: one village may burn while the neighboring village is left unscathed. We test the effects of this exogenous variation with a survey of almost 800 respondents in randomly selected villages, 34 of which were burned and 36 of which were unburned, in the four regions of Russia that were most severely affected. Contrary to the conventional scholarly wisdom that suggests that natural disasters cause people to blame politicians, our study finds that in the burned villages there is higher support for the government at all levels, namely for the United Russia Party, the village head, the governor, Prime Minister Putin, and President Medvedev. Most counterintuitively, the rise of support for authorities cannot be fully explained by the generous governmental aid provided to the villages that were damaged by the fires. We interpret the results within the framework of system justification theory, developing it by adding to individual characteristics the factors of the political regime and the demonstration effect.
Почему фашисты не придут сейчас к власти в Кремле: сравнение краха демократии и взлета фашизма в Веймарской Германии и постсоветской России
Kailitz S., Umland A. Политическая теория и политический анализ. WP14. Высшая школа экономики, 2010. No. 02.
First, we demonstrate that structural explanations based on socio-economic factors are insufficient to account for authoritarian regression in two of collapsology's "crucial cases" – inter-war Germany and post-communist Russia. Instead, (a) a dearth of pro-democratic actors on the elite, intermediary as well as population levels, and (b) a misconstrued form of government allowing the head of state to rule without parliament in combination with the election of a restorationist president, are identified as a configuration constituting a sufficient cause for a country to experience authoritarian regression. Second, we speculate about when an electoral autocracy gets in danger to transform into a fascist ideocracy. Like in Weimar Germany, we can find in today's Russia fascist actors and widespread nationalism among the population. In current Russia, in distinction to inter-war Germany, however, the party system is manipulated and the third sector underdeveloped. The continuing political presence of a strongly authoritarian, yet non-fascist "national leader" Vladimir Putin creates hindrances for the country to become a liberal democracy, but makes it also improbable that the Russian regime will transgress into fascism.
Политическая культура на осях ценностно-нормативной модели социогенеза
Тульчинский Г. Л. Философские науки. 2013. № 1. С. 24-38.
Modern Authoritarianism and Political Ideology
Nisnevich Y. A., Ryabov A. V. Political Science. PS. Высшая школа экономики, 2017. No. WP BRP 44/PS/2017.
This article analyses the ideologies of authoritarian and neo-authoritarian regimes. The analysis is carried out in three clusters: "rudimentary" authoritarian regimes, post-colonial dictatorships, neo-authoritarian regimes. The first cluster is subdivided into two subgroups: authoritarian monarchies and "communist regimes". The regimes in the third cluster are also subdivided into two subgroups: post-Soviet regimes and neo-authoritarian regimes in Africa, Asia and Latin America. In an age of the decline of ideologies on a global scale, authoritarian and neo-authoritarian regimes, as before, need political ideologies to legitimise their power. However in the contemporary epoch which sets authoritarian and neo-authoritarian regimes new and much more complicated challenges, these regimes are forced to use more flexibility ideologies in order to adapt to the rapidly changing world. Ideologies of such regimes lose their former integrity and become "multi-layer", eclectic. "Non-ideological" elements such as corruption have become a part of the ideologies of neo-authoritarian regimes. But herewith priority of the state as the highest value remains "the bearing structure" of the political ideologies of all authoritarian and neo-authoritarian regimes. Despite the official protection of human rights and liberties by neo-authoritarian regimes, this occupies a secondary and subordinate place in the ideological hierarchy and political practice of these regimes.
Публичная политика – 2009
СПб.: НОРМА, 2010.
The Dynamics of Sub-National Authoritarianism: Russia in Comparative Perspective
Gelman V. Y. In bk.: The Politics of Sub-National Authoritarianism in Russia. Ashgate, 2010. P. 1-18.
In the 1990s, sub-national authoritarian regimes – local-based monopolies of ruling elites – emerged in many of Russia's regions and cities against the background of spontaneous decentralization of government and competitive electoral politics. In the 2000s, the decline of political competition and recentralization of the Russian state led to incorporation of sub-national authoritarian regimes under federal control and cooptation of local-based actors into the dominant party, United Russia. This paper is devoted to a comparative analysis of sub-national authoritarianism in Russia in light of the experience of local political machines in other countries, ranging from US cities from the 1870s-1930s to Southern Italy from the 1950s-1980s. Unlike the American political machines, which were demolished from below as a by-product of modernization processes, Russia's sub-national authoritarian regimes were integrated from above into the nation-wide authoritarianism. One might expect further stagnation of sub-national authoritarian regimes in Russia until major regime changes will occur on the national level.
Совещательные органы при исполнительной власти
Гарифуллина Г. А. Государственная служба. 2011. № 5. С. 104-106.
Russian federal agencies have created a variety of consultative bodies during the last decade, but their role in the agency's decision-making process is yet to be evaluated. Relevant experience of other countries proposes two major political factors of consultative bodies' influence. The political culture orientation towards compromise and positive perception of interest groups' participation in the decision-making process seem to contribute to that influence.
Social and Behavioral Sciences under Dictatorship
Kirtchik O. I., Heredia M. In bk.: International Encyclopedia of Social & Behavioral Sciences 2nd Edition. Elsevier, 2015. P. 139-146.
Various forms of dictatorship have been a context in which SBS have been developing through most of the 20th century. Nazi and fascist regimes in Europe, Communist single-party states, military juntas in Latin America and elsewhere in the post-colonial world accompanied the crisis of tradition and development of modernity as an alternative to liberal democracy. Dictatorships have thoroughly affected the history of SBS pursuing a policy of repression and control and, sometimes, encouraging a growth of various social science disciplines. The lack of intellectual and institutional autonomy is generally endured, though to different degrees and in different aspects, by SBS under dictatorship.
Политология: Учебник
Дегтярев А. А., Ильин М. В., Мельвиль А. Ю. и др. М.: Проспект, 2011.
Constructing Identities And Boundaries: Fashion And Clothing Of Working And Middle Class Youth In Contemporary Russia
Margarita Kuleva. Humanities. HUM. Basic Research Programme, 2015. No. 85.
Clothing and fashion play significant role in the process of ageing, and help put bodily experiences in the context of culture. It is especially important for young people as social subjects, who are starting to become independent but do not have sufficient experience and social competences to do this. This paper explores how youth of middle and working class in Russia use clothing to denote their social identity and construct boundaries.The paper is based on materials of 81 IDI with young people from St. Petersburg.
Экономическая активность населения России в 1990-е гг.
Гимпельсон В. Е. Проблемы рынка труда. WP3. Высшая школа экономики, 2002. № 01.
Что есть демократия?
Нисневич Ю. А. Вопросы политологии. 2012. № 1 (5). С. 29-40.
Различия в ценностях, показателях социального капитала и экономических установках между жителями регионов России
Павленко О. Б. Альманах современной науки и образования. 2012. № 1 (56). С. 120-121.
Инновационные информационные технологии. Материалы международной научно-практической конференции
Edited by: И. Иванов, Л. Агеева, Д. Дубоделова и др. М.: МИЭМ, 2012.
Ценности культуры и имплицитные теории инновативности
Лебедева Н. М. Общественные науки и современность. 2012. № 5. С. 25-40.
The results of cross-cultural research of implicit theories of innovativeness among students and teachers, representatives of three ethnocultural groups: Russians, the people of the North Caucasus (Chechens and Ingushs) and Tuvinians (N=804) are presented. Intergroup differences in implicit theories of innovativeness are revealed: the 'individual' theories of innovativeness prevail among Russians and among the students, the 'social' theories of innovativeness are more expressed among respondents from the North Caucasus, Tuva and among the teachers. Using the structural equations modeling the universal model of values impact on implicit theories of innovativeness and attitudes towards innovations is constructed. Values of the Openness to changes and individual theories of innovativeness promote the positive relation to innovations. Results of research have shown that implicit theories of innovativeness differ in different cultures, and values make different impact on the attitudes towards innovations and innovative experience in different cultures.
Численность и состав российской бюрократии: между советской номенклатурой и госслужбой гражданского общества
Современный менеджмент: проблемы, гипотезы, исследования : сборник научных трудов
Вып. 1. М.: Издательский дом ГУ-ВШЭ, 2009.
Is Education a Signal on the Russian Labour Market?
Aistov A. Education. EDU. Высшая школа экономики, 2012. No. 5.
This research focuses on estimating the signalling role of education on the Russian labour market. Two well-known screening hypotheses are initially considered. According to first of these, education is an ideal filter of persons with low productivity: education does not increase the productivity of a person, but it does give him the possibility to signal about his innate productivity via an educational certicate. The second of these hypotheses admits that productivity actually does increase during the period of study, but nevertheless the main objective of getting an education is to acquire a signal about one's productivity. Information theory suggests that employees use education signals during the hiring processes whereby employers screen potential employees. Employers and other categories of self-employed workers are usually not screened by the labour market via their educational attainments. Comparison of the returns to education of employees vs. self-employed workers could show the difference between the returns to signals and the returns to human capital. Yet another way to understand the signals is to consider the time dynamics of the returns to education for employees staying in the same firm. This helps us to answer the question about whether the signals are valuable only during the hiring process, or whether they remain valuable during the whole experience with the firm. This research is based on the Mincerian-type earnings functions, estimated on RLMS-HSE and NOBUS data. On the basis of the available information, we cannot say that the returns to signals and human capital differ significantly in Russia. Nevertheless we can say that, for the majority of men, the return to educational signals decreases with time spent in the same firm, while we observe the opposite for women.
Ритуалы в медиатизированном обществе
Черных А. И. Политическая теория и политический анализ. WP14. Высшая школа экономики, 2012. № 03.
Общественные консультативные структуры при органах власти: опыт Санкт-Петербурга
Горный М. Б. Телескоп: журнал социологических и маркетинговых исследований. 2011. № 2. С. 14-24.
Непосредственные вопросы
Вып. 1. М.: Некоммерческая исследовательская служба «Среда», 2011.
Математическое моделирование социальных процессов
Edited by: А. Михайлов Вып. 14. М.: Социологический факультет МГУ, 2012.
Прием в российские государственные вузы - 2010: увидеть, чтобы задуматься
Добрякова М. С., Андрущак Г. В. Вопросы образования. 2010. № 4. С. 101-121.
Проблемы российской экономической журналистики
Казун А. Д., Байтимерова С. И., Богомазова Л. В. и др. Медиаальманах. 2018. Т. 88. № 5. С. 82-91.
Неформальная занятость и удовлетворенность жизнью
Аистов А. В., Леонова Л. А. Научные доклады лаборатории количественного анализа и моделирования экономики. P1. Нижегородский филиал НИУ ВШЭ, 2010. № Р1/2010/04.