text:
"""Tasks related to projects, including fetching repository code, cleaning
``conf.py`` files, and rebuilding documentation.

"""
import fnmatch
import os
import re
import shutil
import json
import logging
import operator

from celery.decorators import task
from django.conf import settings
from django.contrib.sites.models import Site
from django.core.mail import send_mail
from django.db import transaction
from django.template import Context
from django.template.loader import get_template
from django.utils.translation import ugettext_lazy as _
import redis
import requests
import slumber
from sphinx.ext import intersphinx

from builds.models import Build, Version
from doc_builder import loading as builder_loading
from doc_builder.base import restoring_chdir
from projects.exceptions import ProjectImportError
from projects.models import ImportedFile, Project
from projects.utils import (mkversion, purge_version, run, slugify_uniquely,
                            make_api_version, make_api_project)
from tastyapi import client as tastyapi_client
from tastyapi import api
from core.utils import copy_to_app_servers, run_on_app_servers

ghetto_hack = re.compile(
    r'(?P<key>.*)\s*=\s*u?\[?[\'\"](?P<value>.*)[\'\"]\]?')

log = logging.getLogger(__name__)

@task
def remove_dir(path):
    """
    Remove a directory on the build/celery server.

    This is mainly a wrapper around shutil.rmtree so that app servers
    can kill things on the build server.
    """
    log.info("Removing %s" % path)
    shutil.rmtree(path)

@task
@restoring_chdir
def update_docs(pk, record=True, pdf=True, man=True, epub=True, dash=True,
                version_pk=None, force=False, **kwargs):
    """The main entry point for updating documentation.

    It handles all of the logic around whether a project is imported or we
    created it.  Then it will build the html docs and other requested parts. It
    also handles clearing the varnish cache.

    `pk`
        Primary key of the project to update

    `record`
        Whether or not to keep a record of the update in the database. Useful
        for preventing changes visible to the end-user when running commands
        from the shell, for example.

    """

    ###
    # Handle passed in arguments
    ###
    project_data = api.project(pk).get()
    project = make_api_project(project_data)

    # Prevent saving the temporary Project instance
    def new_save(*args, **kwargs):
        log.warning("Called save on a non-real object.")
        return 0
    project.save = new_save

    log.info("Building %s" % project)
    if version_pk:
        version_data = api.version(version_pk).get()
    else:
        branch = project.default_branch or project.vcs_repo().fallback_branch
        try:
            # Use latest version
            version_data = (api.version(project.slug)
                            .get(slug='latest')['objects'][0])
        except (slumber.exceptions.HttpClientError, IndexError):
            # Create the latest version since it doesn't exist
            version_data = dict(
                project='/api/v1/project/%s/' % project.pk,
                slug='latest',
                active=True,
                verbose_name='latest',
                identifier=branch,
            )
            try:
                version_data = api.version.post(version_data)
            except Exception as e:
                log.info("Exception in creating version: %s" % e)
                raise e

    version = make_api_version(version_data)
    version.save = new_save

    if not version_pk:
        # Lots of course correction.
        to_save = False
        if not version.verbose_name:
            version_data['verbose_name'] = 'latest'
            to_save = True
        if not version.active:
            version_data['active'] = True
            to_save = True
        if version.identifier != branch:
            version_data['identifier'] = branch
            to_save = True
        if to_save:
            version_data['project'] = ("/api/v1/version/%s/"
                                       % version_data['project'].pk)
            api.version(version.pk).put(version_data)

    if record:
        # Create Build Object.
        build = api.build.post(dict(
            project='/api/v1/project/%s/' % project.pk,
            version='/api/v1/version/%s/' % version.pk,
            type='html',
            state='triggered',
        ))
    else:
        build = {}

    try:
        log.info("Updating docs from VCS")
        update_output = update_imported_docs(version.pk)
        #update_output = update_result.get()
    except ProjectImportError, err:
        log.error("Failed to import project; skipping build.", exc_info=True)
        build['state'] = 'finished'
        build['setup_error'] = ('Failed to import project; skipping build.\n'
                                'Please make sure your repo is correct and '
                                'you have a conf.py')
        api.build(build['id']).put(build)
        return False

    # kick off a build
    if record:
        # Update the build with info about the setup
        build['state'] = 'building'
        output_data = error_data = ''
        # Grab all the text from updating the code via VCS.
        for key in ['checkout', 'venv', 'sphinx', 'requirements', 'install']:
            data = update_output.get(key, None)
            if data:
                try:
                    output_data += u"\n\n%s\n\n%s\n\n" % (key.upper(), data[1])
                    error_data += u"\n\n%s\n\n%s\n\n" % (key.upper(), data[2])
                except UnicodeDecodeError:
                    log.debug("Unicode Error in setup")
        build['setup'] = output_data
        build['setup_error'] = error_data
        api.build(build['id']).put(build)

    log.info("Building docs")
    # This is only checking the results of the HTML build, as it's a canary
    try:
        results = build_docs(version_pk=version.pk, pdf=pdf, man=man,
                             epub=epub, dash=dash, record=record, force=force)
        (html_results, latex_results, pdf_results, man_results, epub_results,
         dash_results) = results
        (ret, out, err) = html_results
    except Exception as e:
        log.error("Exception in flailboat build_docs", exc_info=True)
        html_results = (999, "Project build Failed", str(e))
        latex_results = (999, "Project build Failed", str(e))
        pdf_results = (999, "Project build Failed", str(e))
        # These variables aren't currently being used.
        # man_results = (999, "Project build Failed", str(e))
        # epub_results = (999, "Project build Failed", str(e))
        # dash_results = (999, "Project build Failed", str(e))
        (ret, out, err) = html_results

    if record:
        # Update builds
        build['success'] = html_results[0] == 0
        build['output'] = html_results[1]
        build['error'] = html_results[2]
        build['state'] = 'finished'
        api.build(build['id']).put(build)

        api.build.post(dict(
            project='/api/v1/project/%s/' % project.pk,
            version='/api/v1/version/%s/' % version.pk,
            success=pdf_results[0] == 0,
            type='pdf',
            setup=latex_results[1],
            setup_error=latex_results[2],
            output=pdf_results[1],
            error=pdf_results[2],
        ))

    if version:
        # Mark version active on the site
        version_data = api.version(version.pk).get()
        version_data['active'] = True
        version_data['built'] = True
        # Need to delete this because a bug in tastypie breaks on the users
        # list.
        del version_data['project']
        try:
            api.version(version.pk).put(version_data)
        except Exception, e:
            log.error("Unable to post a new version", exc_info=True)

    # Build Finished, do house keeping bits

    if 'no targets are out of date.' in out:
        log.info("Build Unchanged")
    else:
        if ret == 0:
            log.info("Successful Build")
            purge_version(version, subdomain=True,
                          mainsite=True, cname=True)
            symlink_cname(version)
            # This requires database access, must disable it for now.
            # symlink_translations(version)
            #send_notifications(version, build)
            log.info("Purged %s" % version)
        else:
            log.warning("Failed HTML Build")

        # TODO: Find a better way to handle indexing.
        fileify.delay(version.pk)

        # Things that touch redis
        update_intersphinx(version.pk)
        # Needs to happen after update_intersphinx
        clear_artifacts(version.pk)

    # Try importing from Open Comparison sites.
    try:
        result = tastyapi_client.import_project(project)
        if result:
            log.info("Successful import from Open Comparison")
        else:
            log.info("Failed import from Open Comparison")
    except:
        log.info("Failed import from Open Comparison", exc_info=True)

    # Try importing from Crate
    try:
        result = tastyapi_client.import_crate(project)
        if result:
            log.info("Successful import from Crate")
        else:
            log.info("Failed import from Crate")

    except:
        log.info("Failed import from Crate", exc_info=True)

    return True

@task
def update_imported_docs(version_pk):
    """
    Check out or update the given project's repository.
    """
    version_data = api.version(version_pk).get()
    version = make_api_version(version_data)
    project = version.project

    # Make Dirs
    if not os.path.exists(project.doc_path):
        os.makedirs(project.doc_path)

    with project.repo_lock(getattr(settings, 'REPO_LOCK_SECONDS', 30)):
        update_docs_output = {}
        if not project.vcs_repo():
            raise ProjectImportError(("Repo type '{0}' unknown"
                                      .format(project.repo_type)))

        # Get the actual code on disk
        if version:
            log.info('Checking out version {slug}: {identifier}'.format(
                slug=version.slug, identifier=version.identifier))
            version_slug = version.slug
            version_repo = project.vcs_repo(version_slug)
            update_docs_output['checkout'] = version_repo.checkout(
                version.identifier
            )
        else:
            # Does this ever get called?
            log.info('Updating to latest revision')
            version_slug = 'latest'
            version_repo = project.vcs_repo(version_slug)
            update_docs_output['checkout'] = version_repo.update()

        # Ensure we have a conf file (an exception is raised if not)
        project.conf_file(version.slug)

        # Do Virtualenv bits:
        if project.use_virtualenv:
            if project.use_system_packages:
                site_packages = '--system-site-packages'
            else:
                site_packages = '--no-site-packages'
            # Here the command has been modified to support different
            # interpreters.
            update_docs_output['venv'] = run(
                '{cmd} --distribute {site_packages} {path}'.format(
                    cmd='virtualenv -p {interpreter}'.format(
                        interpreter=project.python_interpreter),
                    site_packages=site_packages,
                    path=project.venv_path(version=version_slug)
                )
            )
            # Other code expects sphinx-build to be installed inside the
            # virtualenv.  Using the -I option makes sure it gets installed
            # even if it is already installed system-wide (and
            # --system-site-packages is used)
            if project.use_system_packages:
                ignore_option = '-I'
            else:
                ignore_option = ''
            if project.python_interpreter != 'python3':
                sphinx = ('hg+http://bitbucket.org/birkenfeld/sphinx/@d4c6ac1fcc9c'
                          '#egg=Sphinx')
                update_docs_output['sphinx'] = run(
                    ('{cmd} install -U {ignore_option} {sphinx} '
                     'virtualenv==1.8.2 distribute==0.6.28 '
                     'docutils==0.8.1').format(
                        cmd=project.venv_bin(version=version_slug, bin='pip'),
                        sphinx=sphinx, ignore_option=ignore_option))
            else:
                sphinx = 'sphinx==1.1.3'
                # python 3 specific hax
                update_docs_output['sphinx'] = run(
                    ('{cmd} install {ignore_option} {sphinx} '
                     'virtualenv==1.9.1 docutils==0.11').format(
                        cmd=project.venv_bin(version=version_slug, bin='pip'),
                        sphinx=sphinx, ignore_option=ignore_option))

            if project.requirements_file:
                os.chdir(project.checkout_path(version_slug))
                update_docs_output['requirements'] = run(
                    '{cmd} install --exists-action=w -r {requirements}'.format(
                        cmd=project.venv_bin(version=version_slug, bin='pip'),
                        requirements=project.requirements_file))
            os.chdir(project.checkout_path(version_slug))
            if getattr(settings, 'USE_PIP_INSTALL', False):
                update_docs_output['install'] = run(
                    '{cmd} install --ignore-installed .'.format(
                        cmd=project.venv_bin(version=version_slug, bin='pip')))
            else:
                update_docs_output['install'] = run(
                    '{cmd} setup.py install --force'.format(
                        cmd=project.venv_bin(version=version_slug,
                                             bin='python')))

        # Update tags/version

        version_post_data = {'repo': version_repo.repo_url}

        if version_repo.supports_tags:
            version_post_data['tags'] = [
                {'identifier': v.identifier,
                 'verbose_name': v.verbose_name,
                 } for v in version_repo.tags
            ]

        if version_repo.supports_branches:
            version_post_data['branches'] = [
                {'identifier': v.identifier,
                 'verbose_name': v.verbose_name,
                 } for v in version_repo.branches
            ]

        try:
            api.project(project.pk).sync_versions.post(json.dumps(version_post_data))
        except Exception, e:
            print "Sync Verisons Exception: %s" % e.message

    return update_docs_output

@task
def build_docs(version_pk, pdf, man, epub, dash, record, force):
    """
    This handles the actual building of the documentation and DB records
    """
    version_data = api.version(version_pk).get()
    version = make_api_version(version_data)
    project = version.project

    if not project.conf_file(version.slug):
        return ('', 'Conf file not found.', -1)

    with project.repo_lock(getattr(settings, 'REPO_LOCK_SECONDS', 30)):

        html_builder = builder_loading.get(project.documentation_type)(version)
        if force:
            html_builder.force()
        html_builder.clean()
        html_results = html_builder.build()
        if html_results[0] == 0:
            html_builder.move()

        fake_results = (999, "Project Skipped, Didn't build",
                        "Project Skipped, Didn't build")
        # Only build everything else if the html build changed.
        if html_builder.changed and not project.skip:
            if pdf:
                pdf_builder = builder_loading.get('sphinx_pdf')(version)
                latex_results, pdf_results = pdf_builder.build()
                # Always move pdf results even when there's an error.
                #if pdf_results[0] == 0:
                pdf_builder.move()
            else:
                pdf_results = latex_results = fake_results
            if man:
                man_builder = builder_loading.get('sphinx_man')(version)
                man_results = man_builder.build()
                if man_results[0] == 0:
                    man_builder.move()
            else:
                man_results = fake_results
            if epub:
                epub_builder = builder_loading.get('sphinx_epub')(version)
                epub_results = epub_builder.build()
                if epub_results[0] == 0:
                    epub_builder.move()
            else:
                epub_results = fake_results
            # Disable dash building for now.
            dash = False
            if dash:
                dash_builder = builder_loading.get('sphinx_dash')(version)
                dash_results = dash_builder.build()
                if dash_results[0] == 0:
                    dash_builder.move()
            else:
                dash_results = fake_results

    return (html_results, latex_results, pdf_results, man_results,
            epub_results, dash_results)

@task
def fileify(version_pk):
    """
    Create ImportedFile objects for all of a version's files.

    This is a prereq for indexing the docs for search.
    It also causes celery-haystack to kick off an index of the file.
    """
    version_data = api.version(version_pk).get()
    version = make_api_version(version_data)
    project = version.project
    path = project.rtd_build_path(version.slug)
    log.info('Indexing files for %s' % project)
    if path:
        for root, dirnames, filenames in os.walk(path):
            for filename in filenames:
                if fnmatch.fnmatch(filename, '*.html'):
                    dirpath = os.path.join(root.replace(path, '').lstrip('/'),
                                           filename.lstrip('/'))
                    if getattr(settings, 'DONT_HIT_DB', True):
                        api.file.post(dict(
                            project="/api/v1/project/%s/" % project.pk,
                            version="/api/v1/version/%s/" % version.pk,
                            path=dirpath,
                            name=filename))
                    else:
                        ImportedFile.objects.get_or_create(
                            project=project,
                            version=version,
                            path=dirpath,
                            name=filename)

#@periodic_task(run_every=crontab(hour="*", minute="*/5", day_of_week="*"))
def update_docs_pull(record=False, pdf=False, man=False, force=False):
    """
    A high-level interface that will update all of the projects.

    This is mainly used from a cronjob or management command.
    """
    for version in Version.objects.filter(built=True):
        try:
            update_docs(pk=version.project.pk, version_pk=version.pk,
                        record=record, pdf=pdf, man=man)
        except Exception:
            log.error("update_docs_pull failed", exc_info=True)

@task
def unzip_files(dest_file, html_path):
    if not os.path.exists(html_path):
        os.makedirs(html_path)
    else:
        shutil.rmtree(html_path)
        os.makedirs(html_path)
    run('unzip -o %s -d %s' % (dest_file, html_path))
    copy_to_app_servers(html_path, html_path)

@task
def update_intersphinx(version_pk):
    version_data = api.version(version_pk).get()
    version = make_api_version(version_data)
    project = version.project

    try:
        object_file = version.project.find('objects.inv', version.slug)[0]
    except IndexError:
        print "Failed to find objects file"
        return None

    f = open(object_file)
    f.readline()
    urlpattern = "http://%s/en/%s/%%s" % (project.subdomain, version.slug)
    data = intersphinx.read_inventory_v2(f, urlpattern, operator.mod)
    for top_key in data.keys():
        #print "KEY: %s" % top_key
        inner_keys = data[top_key].keys()
        for inner_key in inner_keys:
            #print "INNER KEY: %s" % inner_key
            _project, sphinx_version, url, title = data[top_key][inner_key]
            try:
                url_key = url.split('#')[1]
            except IndexError:
                # Invalid data
                continue
            if ":" in url_key:
                #This dumps junk data into the url namespace we don't need
                #print "INNER: %s->%s" % (inner_key, url)
                save_term(version, inner_key, url)
            else:
                last_key = url_key.split('.')[-1]
                if last_key != url_key:
                    #Only save last key if it differes
                    #print "LAST: %s->%s" % (last_key, url)
                    save_term(version, last_key, url)
                #print "URL: %s->%s" % (url_key, url)
                save_term(version, url_key, url)

def save_term(version, term, url):
    redis_obj = redis.Redis(**settings.REDIS)
    lang = "en"
    project_slug = version.project.slug
    version_slug = version.slug
    redis_obj.sadd('redirects:v4:%s:%s:%s:%s' % (lang, version_slug,
                                                 project_slug, term), url)
    redis_obj.setnx('redirects:v4:%s:%s:%s:%s:%s' % (lang, version_slug,
                                                     project_slug, term, url),
                    1)

def symlink_cname(version):
    build_dir = version.project.rtd_build_path(version.slug)
    # Chop off the version from the end.
    build_dir = '/'.join(build_dir.split('/')[:-1])
    redis_conn = redis.Redis(**settings.REDIS)
    try:
        cnames = redis_conn.smembers('rtd_slug:v1:%s' % version.project.slug)
    except redis.ConnectionError:
        return
    for cname in cnames:
        log.info("Symlinking %s" % cname)
        symlink = version.project.rtd_cname_path(cname)
        run_on_app_servers('mkdir -p %s' % '/'.join(symlink.split('/')[:-1]))
        run_on_app_servers('ln -nsf %s %s' % (build_dir, symlink))

def symlink_translations(version):
    """
    Link from HOME/user_builds/project/translations/<lang> ->
              HOME/user_builds/<project>/rtd-builds/
    """
    translations = version.project.translations.all()
    for translation in translations:
        # Get the first part of the symlink.
        base_path = version.project.translations_path(translation.language)
        translation_dir = translation.rtd_build_path(translation.slug)
        # Chop off the version from the end.
        translation_dir = '/'.join(translation_dir.split('/')[:-1])
        log.info("Symlinking %s" % translation.language)
        run_on_app_servers('mkdir -p %s' % '/'.join(base_path.split('/')[:-1]))
        run_on_app_servers('ln -nsf %s %s' % (translation_dir, base_path))
    # Hack in the en version for backwards compat
    base_path = version.project.translations_path('en')
    translation_dir = version.project.rtd_build_path(version.project.slug)
    # Chop off the version from the end.
    translation_dir = '/'.join(translation_dir.split('/')[:-1])
    run_on_app_servers('mkdir -p %s' % '/'.join(base_path.split('/')[:-1]))
    run_on_app_servers('ln -nsf %s %s' % (translation_dir, base_path))

def send_notifications(version, build):
    #zenircbot_notification(version.id)
    for hook in version.project.webhook_notifications.all():
        webhook_notification.delay(version.project.id, build, hook.url)
    emails = (version.project.emailhook_notifications.all()
              .values_list('email', flat=True))
    for email in emails:
        email_notification(version.project.id, build, email)

@task
def email_notification(project_id, build, email):
    if build['success']:
        return
    project = Project.objects.get(id=project_id)
    build_obj = Build.objects.get(id=build['id'])
    subject = (_('(ReadTheDocs) Building docs for %s failed') % project.name)
    template = 'projects/notification_email.txt'
    context = {
        'project': project.name,
        'build_url': 'http://%s%s' % (Site.objects.get_current().domain,
                                      build_obj.get_absolute_url())
    }
    message = get_template(template).render(Context(context))

    send_mail(subject=subject, message=message,
              from_email=settings.DEFAULT_FROM_EMAIL, recipient_list=(email,))

@task
def webhook_notification(project_id, build, hook_url):
    project = Project.objects.get(id=project_id)
    data = json.dumps({
        'name': project.name,
        'slug': project.slug,
        'build': {
            'id': build['id'],
            'success': build['success'],
            'date': build['date']
        }
    })
    log.debug('sending notification to: %s' % hook_url)
    requests.post(hook_url, data=data)

@task
def zenircbot_notification(version_id):
    version = Version.objects.get(id=version_id)
    message = "Build of %s successful" % version
    redis_obj = redis.Redis(**settings.REDIS)
    IRC = getattr(settings, 'IRC_CHANNEL', '#readthedocs-build')
    try:
        redis_obj.publish('out',
                          json.dumps({
                              'version': 1,
                              'type': 'privmsg',
                              'data': {
                                  'to': IRC,
                                  'message': message,
                              }
                          }))
    except redis.ConnectionError:
        return

@task
def clear_artifacts(version_pk):
    """ Remove artifacts from the build server. """
    pass
    # Stop doing this for now as it causes 403s if people build things back to
    # back some times because of a race condition
    #version_data = api.version(version_pk).get()
    #version = make_api_version(version_data)
    #run('rm -rf %s' % version.project.full_epub_path(version.slug))
    #run('rm -rf %s' % version.project.full_man_path(version.slug))
    #run('rm -rf %s' % version.project.full_build_path(version.slug))
    #run('rm -rf %s' % version.project.full_latex_path(version.slug))


Badcock, Leonard Clyde (1972) A study of teacher misassignment among secondary school teachers in Newfoundland and Labrador. Masters thesis, Memorial University of Newfoundland.
Balisch, Alexander (1972) The emergence of the first general drill Reglement in 1749 : an aspect of the move toward centralization and standardization in the Austrian Army of the eighteenth century. Masters thesis, Memorial University of Newfoundland.
Barry, Mary Elizabeth (1972) Thackeray's major novels: a Kierkegaardian view. Masters thesis, Memorial University of Newfoundland.
Bartlett, Donald R. (Donald Radford) (1972) William Butler Yeats as a literary critic. Doctoral (PhD) thesis, Memorial University of Newfoundland.
Bishop, Claude Howard (1972) A survey of public relations activities in the school districts of Newfoundland and Labrador as perceived by the district superintendents. Masters thesis, Memorial University of Newfoundland.
Bradbrook, Frederick James (1972) Urban travel demands created by schools in the city of St. John's. Masters thesis, Memorial University of Newfoundland.
Bromley, Ronald M. (1972) Developing and executing a plan for a school-community communications program. Masters thesis, Memorial University of Newfoundland.
Brooks, Byron A. (Byron Arthur) (1972) The relationship of personal problems to academic achievement among junior high school students in a rural area of Newfoundland. Masters thesis, Memorial University of Newfoundland.
Bullen, Frederick Samuel (1972) A study of influential and effective supervisory roles as perceived by the primary teachers in Newfoundland and Labrador. Masters thesis, Memorial University of Newfoundland.
Bursey, Wallace (1972) Rider Haggard : a study in popular fiction. Doctoral (PhD) thesis, Memorial University of Newfoundland.
Butler, R. S. (1972) A heuristic method of equipment acquisitioning for maximum profit. Masters thesis, Memorial University of Newfoundland.
Byrne, Pat (1972) Sane lunacy : an evaluation of Joseph Heller's Catch-22 and the critical reaction to it. Masters thesis, Memorial University of Newfoundland.
Chen, Teng-song (1972) The chemistry of some dihydropyridine derivatives. Doctoral (PhD) thesis, Memorial University of Newfoundland.
Chipp, Dorman George (1972) A comparison of biographical variables dropouts, graduates and no-shows, at the Stephenville Adult Centre. Masters thesis, Memorial University of Newfoundland.
Condon, Raymond Joseph (1972) A study of influential and effective supervisory roles as perceived by the senior high school teachers of Newfoundland and Labrador. Masters thesis, Memorial University of Newfoundland.
Cronquist, Stanley Vern. (1972) English adaptations of Juvenal from the Restoration to Dr. Johnson. Masters thesis, Memorial University of Newfoundland.
Dinham, Paul S. (1972) Conceptions and management of mental illness in outport Newfoundland. Masters thesis, Memorial University of Newfoundland.
Down, Roger Lancelot (1972) Mount Pearl: a community study of a suburb. Masters thesis, Memorial University of Newfoundland.
Doyle, Sister Teresa (1972) A study of influential and effective supervisory roles as perceived by the junior high school teachers in Newfoundland and Labrador. Masters thesis, Memorial University of Newfoundland.
Dunn, Marcia Olive Louise (1972) The effect of group vocational guidance on the certainty, satisfaction, and realism of vocational choices made by grade eleven students. Masters thesis, Memorial University of Newfoundland.
Eastham, Francis Charles (1972) Private returns to education and training for selected trade-occupations and vocational teaching. Masters thesis, Memorial University of Newfoundland.
Fagan, Bonaventure (1972) The literary criticism of William Hazlitt. Masters thesis, Memorial University of Newfoundland.
Frampton, Graham E. (1972) A material expediting system for use in the construction industry: project report. Masters thesis, Memorial University of Newfoundland.
Gedge, Joseph L. (1972) Functions and styles of supervision as perceived by Newfoundland and Labrador school board supervisors. Masters thesis, Memorial University of Newfoundland.
Goulding, Wallace Franklin (1972) A preliminary evaluation of the process-oriented Elementary Science Curriculum Project (ESCP) in Newfoundland schools. Masters thesis, Memorial University of Newfoundland.
Grace, Thomas J. (1972) A parental attitudinal assessment as a basis for a school board public relations program. Masters thesis, Memorial University of Newfoundland.
Hicks, Benvie Earl (1972) The preparation of instructional materials for orientation of Grade VIII students to the Conception Bay South pre-vocational courses : a project report. Masters thesis, Memorial University of Newfoundland.
Hiscock, Hollis (1972) Personal-social adjustment and social participation of transported and non-transported students. Masters thesis, Memorial University of Newfoundland.
House, Ellen Jane (1972) The relationship of personality characteristics to the expressed vocational satisfactions of student nurses : a comparative study of a degree and a diploma program. Masters thesis, Memorial University of Newfoundland.
Jones, Donald James Joseph. (1972) The Asquith cabinet and woman's suffrage, 1908-1914. Masters thesis, Memorial University of Newfoundland.
Jones, Virginia (1972) The relationship between academic self-concept of Grade VIII girls in an urban setting and each of the following variables: parent-child relationship, teacher-child relationship, peer relationship, intelligence, social class. Masters thesis, Memorial University of Newfoundland.
King, Frank Jerome (1972) Role pressures, personality characteristics and extent of job satisfaction of the district superintendent in Newfoundland. Masters thesis, Memorial University of Newfoundland.
Kirby, David Malcolm (1972) The extent of the political socialization of first year Memorial University students. Masters thesis, Memorial University of Newfoundland.
Koster, Ditte A. (1972) Frobisher Bay : ambiguity and gossip in a colonial situation. Masters thesis, Memorial University of Newfoundland.
Kristjansson, Leo Geir (1972) A magnetic study of tertiary igneous rocks from Greenland, Baffin Island and Iceland. Doctoral (PhD) thesis, Memorial University of Newfoundland.
Lee, Frank Severn (1972) The development of educational specifications for a primary school. Masters thesis, Memorial University of Newfoundland.
Liew, Yu-Yuan Lim (1972) The acid catalyzed hydrolysis of methyl isocyanide. Masters thesis, Memorial University of Newfoundland.
Long, Mary Elizabeth (1972) The educational and occupational aspirations and expectations of high school students in Newfoundland. Masters thesis, Memorial University of Newfoundland.
MacInnes, Daniel William (1972) What can be said of those who remain behind? : a historic, cultural and situational perspective on the Poplar Grove Scot. Masters thesis, Memorial University of Newfoundland.
McCarthy, Charles F. (1972) The emission spectrum of carbon monoselenide. Masters thesis, Memorial University of Newfoundland.
Mercer, Terrence (1972) A context evaluation of the effects of transfer on the personal, social, and academic adjustment of students who leave Churchill Falls after Grade IX to attend Grade X outside Churchill Falls. Masters thesis, Memorial University of Newfoundland.
Mercer, William Wayne (1972) The use of the Taxonomy of educational objectives : cognitive domain when analyzing and comparing geography objectives and questions on the public examinations for the province of Newfoundland. Masters thesis, Memorial University of Newfoundland.
Mounier, Robert Alan (1972) Archaeological investigations in the Maurice River tidewater area, New Jersey. Masters thesis, Memorial University of Newfoundland.
O'Brien, Catherine Florence (1972) The relationship of self-concept of academic ability to academic achievement for Grade Eight students in six rural schools of Ferryland District. Masters thesis, Memorial University of Newfoundland.
Oldford, William Ross (1972) A study of influential and effective supervisory roles as perceived by the elementary teachers in Newfoundland and Labrador. Masters thesis, Memorial University of Newfoundland.
Pätzold, Raymund Rainer (1972) High-temperature magnetic susceptibility bridge. Masters thesis, Memorial University of Newfoundland.
Peters, Helen (1972) A critical edition of the odes of Mark Akenside, M.D. Masters thesis, Memorial University of Newfoundland.
Reid, John G. (John Graham) (1972) Maine and the Royal Commission of 1664-1666. Masters thesis, Memorial University of Newfoundland.
Sen, Sri Moloy Kumar (1972) Application of graph theoretic concepts in short circuit analysis of power systems. Masters thesis, Memorial University of Newfoundland.
Simmonds, Anthony Joseph (1972) Differential characteristics of higher and lower achieving Junior Division spring semester students at Memorial University. Masters thesis, Memorial University of Newfoundland.
Straus, Richard (1972) The diplomatic negotiations leading to the establishment of American bases in Newfoundland, June 1940-April 1941. Masters thesis, Memorial University of Newfoundland.
Tan, Ping-teng (1972) The making of Britain's new Malayan policy, 1857-1874 : the interplay of imperial and colonial interests. Masters thesis, Memorial University of Newfoundland.
Trask, Maxwell (1972) Criteria for the selection of public elementary school principals in the province of Newfoundland and Labrador. Masters thesis, Memorial University of Newfoundland.
Turpin, Edna F. (1972) Implementation of a junior high school vocational guidance program in conjunction with a district vocational school program. Masters thesis, Memorial University of Newfoundland.
Van den Hoonaard, Willy Carl (1972) Local-level autonomy : a case study of an Icelandic fishing community. Masters thesis, Memorial University of Newfoundland.
Vickers, Michael John (1972) An investigation into the career aspirations and expectations of grade XI students in St. John's, Newfoundland and the congruency of these variables with the occupational distribution of Canada's employed labour force. Masters thesis, Memorial University of Newfoundland.
Wahi, Parmod Kumar (1972) The vibrational spectra of some trifluoromethyl derivatives of selenium and phosphorus. Masters thesis, Memorial University of Newfoundland.
Warren, Murray (1972) A descriptive bibliography of Thomas Chatterton. Masters thesis, Memorial University of Newfoundland.
White, Donald John (1972) An analysis of political systems among the Dogon. Masters thesis, Memorial University of Newfoundland.
This list was generated on Mon Apr 22 15:23:02 2019 NDT.


The Duchess is a lively town centre pub and cocktails bar. During the week offering great value beers and ciders from only £1.99 a pint. With Both Sky and BT sports you can catch all the top sporting action.


text:
Queen AndreYAH Black
Queen AndreYAH is a voice of heaven. Her name represents her royalty as a woman of God. It gives honor to the name of God, YAHWEH/(YHWH) the Hebrew tetragrammaton. This songstress and songwriter blends gospel, R&B and Jazz into angelic, yet exceptionally powerful songs. Through her music, she worships and sings of love, including her own life experiences.
Queen AndreYAH's music has also been featured on USA and Russian radio, Piccolo and M.O.J.A Festivals in Charleston, South Carolina and the White Dog Festival in Belorussia. She has produced concerts and one-woman shows in jazz venues on Broadway and off-off Broadway. She got her start years ago at Jazz Cultural Theater in New York City, where Barry Harris was a partner. She has also shown her work at Club La Mama Theater, The Metropolitan Room, Triad Theater and other venues off-Broadway.
Queen AndreYAH Black's self-titled EP broadcasts her distinctive sound and exquisite musicality. She blissfully merges sweetness and command into cover and original
songs like "Gem of A Man" and her rendition of "Blessed Assurance". This EP is bound to leave its mark in the gospel, jazz and R&B scene, as will the virtuous woman herself, Queen AndreYAH Black.
Queen AndreYAH was born and raised in Stamford, Connecticut and is currently based in New York City. She says, "My great-great grandfather George D. Hernandez, a tenor, sang light opera, jazz and spiritual songs worldwide. My late mother came from 8 generations of ministers, she exclaimed that I came out of the womb singing. I sang incessantly around the house. When my mother discovered my voice she said it was beautiful and sent me to study opera on weekends at age 11. My father, Gilbert Hernandez Black, a retired Negro League baseball player, was the sole proprietor of Black Records, a mom and pop record shop in Norwalk, Connecticut. As a child, my sisters Cheryl, Monique and I took part in dancing like Soul Train dancers in the windows of the shop. My father said we attracted many customers who purchased records. I've listened to all genres of music all my life. This has given me a musical understanding I am very grateful for."
Amsterdam News – "AndreYAH Black...puts on a show that is drop-dead wonderful; leaving no doubt that hers is a performance that deserves wide recognition. In a word, Black is spectacular."
Connecticut Magazine, Cathy P. Ross 9/2009 A Song and A Call – Singer/Songwriter AndreYAH Black, The Stamford native, also an Evangelist missionary, provides underprivileged African nations with support, sustainability, education and women's empowerment… "It's important to give," Black said. "When you give, it always comes back to you."
African Sun Times, Carmelita Frazier 9/2011 – "I must say this was an overwhelming evening of music like none I've experienced in a very long time. It was truly an international inspirational experience".
The Good News Chronicles, 12/2012 – "Gospel and Christian Contemporary singer/songwriter, missionary, and evangelist Queen AndreYAH has earned the respect and admiration of gospel aficionados over the years by weaving an uncanny and divinely potent blend of music and message that effectively reaches the hearts of listeners and transports them into another dimension."
Website SoundCloud Bandzoogle
Queen AndreYAH Black's "Blessed Assurance" is featured on Babbie Mason Radio.

redpajama_set_name: RedPajamaCommonCrawl


text:
Agriculture & Biotechnology
A-Z Service Listing
Environmental Analytical Laboratories
Geoanalytical Laboratories
Pipe Flow Technology Centre™
Advanced Microanalysis Centre™
Centre for the Demonstration of Emissions Reductions
TSVX Laboratory
Mineral Processing Labs and Pilot Plants
Petroleum Analytical Laboratories
Climate Reference Stations
Post-CHOPS Well Test Centre
The Shook-Gillies HPHT Test Facility
Bioprocessing Laboratory
Project CLEANS
Nuclear Industry Services
Doing Business With SRC
Distinguished Scientist
Dr. Mark Johnston is a Distinguished Scientist in SRC's Environment and Biotech Division. He has worked at SRC since 2001 in the areas of forest ecology and climate change. Most recently, he helped lead a national study on the vulnerability of Canada's forest sector to the impacts of climate change. He continues to work with the forest industry and government to assist them in understanding climate change impacts and how they can adapt to these changes.
Posts by this Author
Planning for Climate Change Adaptation in the Canadian Boreal Forest
written by Mark Johnston
There are many potential impacts that climate change may have on Canada's boreal forest. Industry and government will need to prepare for a different forest environment, and develop adaptation strategies for dealing with the new conditions.
Why We Need to Learn More About How Wetlands Store Carbon
Most people might be surprised to know that wetlands are hot spots of biodiversity in a forested landscape. They're also a huge reservoir of carbon. And it's important to conserve wetlands to maintain that carbon in the ground.
Wetlands and Carbon – Filling the Knowledge Gap
We know that wetlands, both in Canada and globally, store huge amounts of carbon. While we understand it's important to store carbon, reduce CO2 emissions and mitigate climate change, we're also aware that we need a greater understanding of how best to measure the carbon stored in wetlands.
How Climate Change Will Shape the Future of Canada's Boreal Forest
Canada's massive expanse of boreal forest – three million square kilometers – is undergoing a serious transformation due to climate change. A group of Canadian forest scientists is investigating the impacts and published its findings.
Enter your email to get fresh insights into science and technology. Unsubscribe anytime. But we're sure you'll like what you get!
From Climate Trends to Emissions Reduction: Top 5 Stories of 2019
Saskatoon weather report for 2019 shows a fairly average year in the City of Bridges
Cyber Security Tips: 5 ways to protect yourself and your company from cyber attacks
What it's like working at remote abandoned mine sites in northern Sask
This Gamma Ray Tomography Unit is the First of Its Kind in the World for Modelling Slurries
Toll-free Phone Number
SRC is remediating 37 abandoned uranium mine sites in northern Saskatchewan. Project CLEANS focuses on removing safety hazards and restoring the land.


text:
require 'germinator/base'
require 'germinator/seed_config'
require 'germinator/errors'

module Germinator
  ##
  # A base class for the seed files
  #
  class Seed < Germinator::Base

    attr_reader :config, :response, :message

    def initialize
      @response = "Success"
      @config = SeedConfig.new
      configure @config
    end

    ##
    # An overridable method that allows you to modify this seed's configuration
    #
    def configure c
      # Set the environments configuration to the response from the
      # environments method so that the file will be backward compatible.
      c.environments = self.environments
    end

    ##
    # Specifies the commands to execute during a germinate process.
    #
    def germinate
      # Do nothing for now.
    end

    ##
    # Specifies the commands to execute during a shrivel process.
    #
    def shrivel
      # Do nothing for now.
    end

    ##
    # Either germinates or shrivles the database based on the direction specified.
    #
    # ==== Parameters:
    #
    # *direction* => The direction to execute. :up = germinate. :down = shrivel.
    #
    def migrate direction=:up
      if is_valid_environment?
        if models_are_valid?
          begin
            germinate if direction === :up
            shrivel if direction === :down
          rescue Exception => e
            if config.stop_on_error
              raise e
            else
              puts_error e
              class_name = e.class.name
              @response = class_name
              @message = e.message
              puts "Moving on..."
            end
          end
        else
          error = Germinator::Errors::InvalidSeedModel.new
          @response = error.class.name.to_s.gsub(/Germinator\:\:Errors\:\:/,"")
          @message = error.message
          raise error
        end
      else
        error = Germinator::Errors::InvalidSeedEnvironment.new
        @response = error.class.name.to_s.gsub(/Germinator\:\:Errors\:\:/,"")
        @message = error.message
        raise error
      end
    end

    ##
    # Specifies which environments the Seed instance is allowed to execute in.
    #
    # *DEPRECATED:* Please use the Seed#configure method to set the environments configuration.
    #
    def environments
      return true
    end

    ##
    # Specifies the commands to execute during a plant process.
    #
    # *DEPRECATED:* Create a rake task to handle repeatable data manipulations.
    #
    def plant
    end

    private
    ##
    # Determines if the current environment is an acceptable environment to execute this
    # seed in.
    #
    def is_valid_environment?
      envs = config.environments
      return envs if !!envs == envs
      return false unless envs.kind_of?(String) || envs.kind_of?(Array)

      envs = [ envs ] if envs.kind_of?(String)
      envs = envs.map{ |e| e.downcase }

      envs.include?(Rails.env.downcase)
    end

    def models_are_valid?
      valid_models = config.valid_models
      return valid_models if !!valid_models == valid_models
      return false unless valid_models.kind_of?(Hash)

      puts "Validating models..."

      valid_models.default = true

      valid_models.each do |name, methods|
        begin
          model = Module.const_get(name.to_s.camelize)
          return false unless model.is_a?(Class)

          model.connection.schema_cache.clear!
          model.reset_column_information

          next if !!methods == methods
          return false unless methods.kind_of?(Array)

          methods.each do |method|
            unless (model.column_names.include?(method.to_s) || model.instance_methods.include?(method.to_sym) || model.metaclass.instance_methods.include?(method.to_sym))
              puts "Method #{method} does not exist for model #{name.to_s.camelize}", 6
              return false
            end
          end
        rescue NameError => e
          puts "Model #{name.to_s.camelize} does not exist!", 6
          puts_error(e)
          return false
        rescue Exception => e
          puts ""
          puts_error e
          puts ""
          return false
        end
      end

      return true
    end

    private def ellipsisize(str, minimum_length=4,edge_length=3)
      return self if str.length < minimum_length or str.length <= edge_length*2
      edge = '.'*edge_length
      mid_length = str.length - edge_length*2
      str.gsub(/(#{edge}).{#{mid_length},}(#{edge})/, '\1...\2')
    end

  end
end

redpajama_set_name: RedPajamaGithub


text:
Stetson Men's Soccer: Insight from Coach Rutkowski
Luke McClatchy, Writer - The Reporter • May 6, 2021
The Stetson men's soccer team is off to a bit of a rough start this season, standing at 0-4-2 currently. However, this hasn't discouraged head coach Emmett Rutkowski in the slightest as he attempts to...
Ditching Blackboard: Stetson Makes the Switch to Canvas
Calista Headrick, Executive Editor - The Reporter • May 5, 2021
As colleges and universities have had to continuously adjust to remote circumstances amid the COVID-19 pandemic, learning management systems like Blackboard have become more important than ever....
Stetson's Fall 2021: A Possible Return to Normalcy
Chase Berger, Writer - The Reporter • May 5, 2021
Amid the Coronavirus pandemic, the world has seen a multitude of drastic changes. As a microcosm of society, Stetson University has undergone quite a few changes as well in the past academic year. However,...
A Student's Best Friend: Stetson Pets, Mental Health, and COVID-19
Emily Derrenbacker, Writer - The Reporter • May 5, 2021
You're halfway through your 9:45 a.m. class on a Monday morning, and you still haven't completely woken up. As you glance through the Zoom squares of everyone desperately trying to appear as if they...
SGA Highlights – 4/14
Jenny Fang, Writer - The Reporter • April 20, 2021
Election Results On Wednesday, April 14, the Spring 2021 SGA Election was held. At 7:52 p.m. on April 14, Chair of the Electoral Committee, Clyde E. Tucker ('21) announced the election results for...
Florida COVID-19 Vaccine Eligibility Expansion
Chase Berger, Writer - The Reporter • March 31, 2021
Gov. Ron DeSantis recently announced the new eligibility guidelines for Florida residents regarding COVID-19 vaccinations. "While the Biden administration set a May 1st target date for vaccine eligibility...
Expanding COVID-19 Vaccinations
Jenny Fang, Writer - The Reporter • March 12, 2021
On March 1, Gov. Ron DeSantis issued and signed Executive Order 21-47 to be effective as of March 3. Executive Order 21-47 amends Executive Order 21-46 to expand the distribution of COVID-19 vaccinations...
Stetson Changes COVID-19 Testing for Spring 2021
Brett Zimmerman, Writer - The Reporter • March 10, 2021
Stetson Health Services has switched their COVID-19 testing method from a nasal swab to SalivaDirect PCR-based COVID-19 testing for on-campus, asymptomatic testing. "RT-PCR tests detect...
SGA Highlights – 10/21
Jenny Fang, Writer - The Reporter • October 27, 2020
Gabriel Colon ('23), Chair of Academic Affairs, is communicating with the Stetson administration and the Academic Affairs Committee of the Faculty Senate on extending the Pass/Fail Policy for this...
The President Tests Positive (Updates Regularly)
Emily Derrenbacker and Hannah Zeller • October 3, 2020
Oct. 5 4:00 p.m. President Trump announced via Twitter that he is being discharged from Walter Reed Medical Center at 6:30 p.m. this evening. The president spent 3 days at the facility, receiving...
A Hatter in the age of COVID: A conversation with VP of Student Life Lua Hancock.
Maxx Smith, Writer - The Reporter • September 30, 2020
Editor's Note: This interview with Dr. Lua Hancock was held on August 23rd, in the middle of an isolated outbreak of COVID-19. As of the publishing of this article the current count of positive covid...
Jenny Fang, Writer - The Reporter • September 19, 2020
All senators that were elected on Sept. 9 at 7:59 p.m. were sworn in and silently recited the Oath of Office led by Former SGA Vice President, Hannah B. Weary ('21) at 7:34 p.m. on Sept.16. The...


text:
General information on admission proceedings (bachelor's and master's degree programmes)
All applicants must undergo admission proceedings.
A single application may only pertain to a single programme.
If an applicant applies via electronic application, they are also obliged to send a printed application to the faculty. The printed application must be filled in in its entirety, be personally signed and include all required enclosures. An electronic application without a printed counterpart received by the admissions office is invalid.
The application must include:
- the applicant's CV
- a copy of the proof of payment for the application fee (the payment must be wired, postal money orders cannot be accepted)
- a notarized copy of the applicant's secondary school leaving examination certificate (applies to applicants for bachelor's programmes who already have such a certificate)
- a notarized copy of a state examination diploma pertaining to bachelor's studies or a confirmation of completion of bachelor's studies (applies to applicants for master's programmes who have completed their bachelor's studies at another institution)
Applicants for bachelor's programmes who are taking their secondary school leaving examination in the same year as they are applying and are applying for a programme with no entrance examination must deliver a notarized copy of their secondary school leaving examination certificate to the faculty's admissions office by 12 June 2020.
Applicants for master's programmes must deliver, without written notice from the faculty, a notarized copy of their diploma and bachelor's degree state examination certificate to the faculty's admissions office by 15 July 2020.
Applicants who do not present any evidence of meeting the basic admission requirements by the given deadline will be accepted conditionally. Applicants are obliged to present a notarized copy of a secondary school leaving examination certificate (applicants for bachelor's programmes)/a notarized copy of a diploma and bachelor's degree state examination certificate(applicants for master's programmes) by the day of enrolment at the very latest; otherwise they cannot begin their studies.
Applicants who have completed a previous level of education abroad are obliged to prove the recognition of any education certificate obtained outside the Slovak Republic. The admitted applicant is obliged to present proof of recognition for their education certificate no later than the day of enrolment.
The syllabi for entrance examinations, including the extent of the required knowledge, abilities and skills along with a recommended reading list, will be sent by the faculty's admissions office along with the entrance examination invitation.
The results of the entrance examination will be evaluated electronically unless stated otherwise for a specific programme. The results of the entrance examination will be announced on the faculty website.
If an applicant is absent from the entrance examination for serious medical reasons, half the admission fee will be refunded upon the delivery of a written refund request to the faculty's admissions office. The request must be postmarked before the date of the entrance examination (determined by the posting date of the post office). No other reasons for the admission fee refund are considered valid; therefore it is impossible to claim a refund for the remainder of the fee.
Basic admission requirements for bachelor's studies:
- completed secondary-school education or secondary vocational education with a school-leaving certificate
- meeting the requirements of the admission proceedings
- for physical education programmes: a doctor's confirmation of the applicant's fitness for study
Basic admission requirements for master's studies:
- completed bachelor's studies in the same field of study, in a related field of study which the chosen master's programme proceeds from, or in an interdisciplinary programme that includes such a field of study.
Basic admission requirements for foreign students:
- successful passing of the entrance examination
- confirmation of acceptance of the applicant's certificate of education completed abroad at the required level of education (with the exception of certificates from the Czech Republic, for which a confirmation is not needed)
Admission requirements for bachelor's studies in the 2019/2020 academic year
Bachelor's Degree Teaching Programmes
Teaching of English Language and Literature – the written entrance examination is focused on grammar, vocabulary and practical communication skills. Applicants must earn at least a 60% mark on the examination to be accepted. To earn the maximum score for English language proficiency in the admission proceedings (without taking the entrance examination), the applicants must present a certificate obtained by completing at least one of the following examinations:
IELTS – International English Language Testing System – minimum level 6.5
University of Cambridge ESOL Examinations, Certificate in Advanced English
University of Cambridge ESOL Examinations, Certificate of Proficiency in English
University of Cambridge ESOL Examinations, First Certificate in English – result A
secondary school leaving examination from the English language – level B2, external portion minimum 85% mark + oral portion – result "excellent (A)"
successful completion of the English language exam as part of National Comparative Exams (NCE). Successful completion of the NCE is defined as a minimum percentile of 85. The applicant need not document the results of the NCE; however, they must include written consent to making their NCE results available to the faculty at www.scio.cz/nsz in their application form.
Teaching of French Language and Literature – no entrance examination
French language proficiency at the B1–B2 level or higher according to the Common European Framework of Reference for Languages is a precondition for studying French language and culture in all Translation and Interpreting programmes.
If the number of applicants exceeds the admission plan for the programme, the faculty reserves the right to select applicants who present a certificate (notarized copy) demonstrating successful completion of at least one of the following examinations:
DALF French language diploma (C1 level or higher)
DELF French language diploma (B2 level)
secondary school leaving examination in the French language – B2 level with the result "excellent (A)"
for graduates from French bilingual schools – the results of the oral and written portion of the secondary school leaving examination with the result "excellent (A)" or "very good (B)"
first-to-third place at the French Language Olympiad (either in the regional or national round)
state examination in the French language issued by the State Language School
Teaching of German Language and Literature – no entrance examination
German language proficiency at the B2 level or higher according to the Common European Framework of Reference for Languages is a precondition for studying the German language and culture in all Translation and Interpreting programmes.
If the number of applicants exceeds the admission plan for the programme, the faculty reserves the right to select applicants according to their averaged results from the secondary school leaving examination.
Teaching of Russian Language and Literature – no entrance examination
Teaching of History – no entrance examination
Teaching of Philosophy – no entrance examination
Teaching of Slovak Language and Literature – no entrance examination
Teaching of Physical Education – aptitude test
Ability testing:
1. endurance – 1500 m run
2. dynamic strength – repeated turns around an overhead horizontal bar (men)
– repeated turns around a forehead-high horizontal bar (women)
Skill testing:
athletics – 50 m run
aerobic gymnastics – individual acrobatic routine with required elements
(handstand – forward roll, dive roll from place, backwards back extension roll, cartwheel)
team sport (choice between basketball and volleyball) – evaluation of in-game performance
swimming – 100 m either front crawl or breaststroke, starting jump (any other swimming style is evaluated according to the crawl performance charts)
- A bonus of 60% of the number of points earned in the admission proceedings will only be assigned to students who have participated in the Olympic Games (demonstrated by a certificate from the Slovak Olympic Committee).
- A bonus of 30% of the number of points earned in the admission proceedings will only be assigned to students who have participated in the World Championships or the European Championships (adults or juniors) in Olympic sports according to the categorization of the Ministry of Education, Science, Research and Sports of the Slovak Republic, ranked at least tenth place and present a certificate from the authorized sports federation as proof. The certificate must accompany the printed application form or be presented in person at the entrance examination during registration.
- A bonus of 10% of the number of points obtained in the admission proceedings will only be assigned to students who have participated in the World Championships or the European Championships (adults or juniors) in non-Olympic sports according to the categorization of the Ministry of Education, Science, Research and Sports of the Slovak Republic, ranked at least third place and present a certificate from the authorized sports association as proof. The certificate must accompany the printed application form or be presented in person at the entrance examination during registration.
The bonus will be added to the applicant's overall score after completing the admission aptitude tests, but only up to a maximum total of 100 points.
Applicants who apply for two programmes at the Department of Physical Educations and Sports FA MBU can only undergo the aptitude test once; the results achieved will be taken into consideration in both programmes.
Bachelor's Degree Non-teaching Programmes
Applied Ethics – no entrance examination
Applied Ethnology – no entrance examination
European Cultural Studies – no entrance examination
A prerequisite of this programme is proficiency in two of the following languages at the B1 or B2 level: English, Russian, German or French.
Philosophy – no entrance examination
History – no entrance examination
Recreology–aptitude test(the requirements of the Teaching of Physical Education programme also apply to this programme)
Slovak for the Linguistic and Cultural Competence of International Students – no entrance examination
The basic requirement of admission for the bachelor's programme is a completed secondary school education or vocational education at the equivalent level of the Slovak secondary education system and its requirements. If the number of applicants exceeds the planned number of students in a given programme, they will be accepted based on the averaged results of their secondary school leaving examination (or its foreign counterpart).
Slovak Language and Literature – no entrance examination
Interdisciplinary programme:
Teaching of Physical Education and Coaching
Applicants will be accepted according to the results of aptitude tests and after meeting the selection criteria for individual specializations.
Aptitude test– theconditions of the Teaching of Physical Education programme also apply to this programme.
Selection criteria for individual sport specializations:
- registered membership in the Slovak Athletic Federation (SAZ)
- ranking at least third place at the Regional Championships or second-degree coaching qualifications
- registered membership in the Slovak Basketball Association (SBA)
- an active player at the regional championships level or higher, or a holder of second-degree coaching qualifications
Biathlon (only at the bachelor's level)
– registered membership in the Slovak Biathlon Association
– a member of the national team of the Slovak Republic, or a holder of third-degree coaching qualifications or higher
Football (only at the bachelor's level)
- registered membership in the Slovak Football Association (SFZ)
- a player in the first junior league or at least the second adults league, or a holder of second-degree coaching qualifications
- registered membership in the Slovak Judo Federation
- an active contestant/participant in the Slovak Championships or a holder of second-degree coaching qualifications
- registered membership in the Slovak Karate Union (SZK)
- participation in national competitions over the past two years and the third Kyu level of technical expertise in karate or first-degree coaching qualifications
- registered membership in the Slovak Kickboxing Union (SZKB)
- participation in the national competitions and ranking the medal position in the Slovak Championships or the holder of first-degree coaching qualifications
- level of performance demonstrated at least by participation in Slovak Individual Sports Championships or the national team-sports competition, in a sport other than those offered as specializations (included in this list), or first-degree coaching qualifications
Ice Hockey (only at the bachelor's level)
– registered membership in the Slovak Ice Hockey Association (SZĽH)
– a former or active player in at least the first youth league, the first junior league or the second adult league, or a holder of first-degree coaching qualifications (a D-category trainer's licence according to the SZĽH)
- registered membership in the Slovak Nordic Walking Association (SNWA)
- a minimum of two years of active participation in a legitimate organisation or first-degree instructor qualifications
- registered membership in the Slovak Swimming Federation (SPF)
- an active contestant with participation in at least the Regional Slovak Championships or a holder of second-degree coaching qualifications
- registered membership in the Slovak Ski Association (SLA) – Ski Jump Section
- a member of the national team of the Slovak Republic or a holder of at least second-degree coaching qualifications
- registered membership in the Slovak Gymnastics Federation (SGF)
- active participant at the regional level or higher, or a holder of first-degree coaching qualifications
- registered membership in the Slovak Hiking Club
- registered membership in the Slovak Volleyball Association
- an active player in at least the second league or a holder of second-degree coaching qualifications
- registered membership in the Slovak Weightlifting Federation
- registered membership in the Slovak Wrestling Federation
- an active contestant, participant in the Slovak Championships or a holder of second-degree coaching qualifications
- registered membership in the Slovak Ski Association (SLA) – Alpine Skiing Section
For foreign students, membership in a legitimate national association and adequate performance at the national level are accepted.
Applicants must fulfil the stated criteria to be accepted for study. Along with their application, applicants must include a completed Confirmation of the Applicant's Athletic Performance Level for the Study of Coaching at the MBU FA Department of Physical Education and Sports.
1) Applicants who submit the required confirmation for a sport specialization other than those offered will be automatically redirected to the Fitness Coach specialization (see the Fitness Coach section).
2) If an applicant does not fulfil the stated criteria, their application will be automatically redirected to the Teaching of Physical Education field of study.
3) If an applicant does not include the required confirmation with their application form, their application will be automatically redirected to the Teaching of Physical Education field of study.
Bonuses– the preconditions of the Teaching of Physical Education programme also apply to this programme. The external form of study in the Physical Education and Coaching or Physical Education programmes may be offered to applicants who are not admitted to the day programmes due to lack of space.)
Bachelor's Degree Programmes in the Translation and Interpreting field of study
English Language and Culture
English for Translation in the Commercial Sector
– the written form of entrance examination is focused on grammar, vocabulary, basic knowledge of British and American literature and history, and the cultures and institutions of anglophone countries. To earn the maximum score for English language proficiency in the admission proceedings (without taking the entrance examination), the applicants must present a certificate obtained by completing at least one of the following examinations:
external part of the secondary school leaving examination from the English language – level B2 (2005–2008 = A level) minimum of 85% + oral form of the internal portion – result "excellent(A)"
French Language and Culture – no entrance examination
French language proficiency at the B1–B2 level or higher according to the Common European Framework of Reference for Languages is a requirement for studying the French language and culture in all Translation and Interpreting programmes.
- DALF French language diploma (C1 level or higher)
- DELF French language diploma (B2 level)
- secondary school leaving examination in the French language – B2 level with the result "excellent (A)"
- for graduates from French bilingual schools – the results of the oral and written portion of the secondary school leaving examination with the result "excellent (A)" or "very good (B)"
- first-to-third place at the French Language Olympiad (either in the regional or national round)
- state examination in the French language issued by the State Language School
German for Translation in the Commercial Sector – no entrance examination
Applicants must have knowledge of and proficiency in the German language at the B2 level or higher according to the Common European Framework of Reference for Languages. If the number of applicants exceeds the admission plan for the programme, the faculty reserves the right to select applicants according to their averaged results from the secondary school leaving examination.
German Language and Culture– no entrance examination
German for Translation in the Commercial Sector– no entrance examination
German language proficiency at the B2 level or higher according to the Common European Framework of Reference for Languages is a requirement for studying German language and culture in all Translation and Interpreting programmes.
Polish Language and Culture – no entrance examination
Romance Language for Translation in the Commercial Sector– no entrance examination
This programme requires proficiency in one Romance language – French, Spanish, or Italian – at the A2 level or higher according to the Common European Framework of Reference for Languages. English language proficiency at the A2 level or higher is encouraged for the purposes of comparing languages using the intercomprehension method (understanding multiple languages on the basis of their similarities, e.g. between English and French, French and Spanish, Spanish and Italian etc.).
Russian Language and Culture – no entrance examination
Spanish Language and Culture – no entrance examination
Spanish language proficiency at the B1–B2 level or higher according to the Common European Framework of Reference for Languages is a requirement for studying Spanish language and culture in all Translation and Interpreting programmes.
‒ DELE Diploma of Spanish as a Foreign Language (level: Superior C1–C2);
‒ DELE Diploma of Spanish as a Foreign Language (level: Intermedio B2);
‒ secondary school leaving examination in the Spanish language – B2 level with the result "excellent (A)"
‒ for graduates from Spanish bilingual schools – the results of the oral and written portion of the secondary school leaving examination with the result "excellent (A)" or "very good (B)"
‒ first-to-third place at the Spanish Language Olympiad (either in the regional or national round);
‒ state examination in the Spanish language issued by the State Language School
The faculty reserves the right to select applicants who do not present any of the credentials above according to their averaged results from the secondary school leaving examination.
Italian Language and Culture – no entrance examination
Italian language proficiency at the B1–B2 level or higher according to the Common European Framework of Reference for Languages is a requirement for studying the Italian language and culture in all Translation and Interpreting programmes.
If the number of applicants exceeds the planned number of students in the given programme, they will be accepted based on the average of their secondary school leaving examination results.
Admission requirements for master's degree study in the 2020/2021 academic year
Applicants will be accepted to all master's degree programmes without an entrance examination.
If the number of applicants exceeds the planned number of students in a given programme, they will be selected based on the results of their bachelor's degree state exams.
Applicants to master's programmes in teaching must have completed a bachelor's programme in the field of study Teaching of Academic Subjects, Teaching of Arts Education and Non-Academic Subjects, or Teaching of Vocational Subjects and Practical Training, or in an interdisciplinary programme that includes such a field of study.
For the European Cultural Studies programme, the requirements include a command of at least two of the following languages at the B2–C1 level (according to the Common European Framework of Reference for Languages): English, Russian, German or French.
An admission requirement for the Teaching of Physical Education programme is passing the bachelor's degree state examination in the same or a related programme that includes physical education and a core curriculum in pedagogy and psychology.
The following sport specializations will be available under the Teaching of Physical Education and Coaching programme (day and external forms): Aerobics, Aerobic Gymnastics, Alpine Skiing, Athletics, Basketball, Fitness Coaching, Hiking, Judo, Karate, Kickboxing, Swimming, Snowboarding, Taekwondo, Volleyball, Weightlifting and Wrestling. The Faculty of Arts is not currently offering the following specializations at the master's level: Biathlon, Football and Ice Hockey.
Applicants to the multidisciplinary programme Teaching of Physical Education and Coaching must:
– have passed the bachelor's degree state examination in the same programme or a related one that includes physical education courses and a core curriculum in pedagogy and psychology
– have completed the same specialization at the bachelor's level as they intend to choose at the master's level
– have valid fourth-degree qualifications in their chosen sport specialization
For the following master's programmes, the fields of study listed below will be considered satisfactory for admissions purposes:
Non-teaching master's programmes:
– philosophy
– psychology
– pedagogy
– theology
– sociology
– axiology
– aesthetics
– culturology
European Cultural Studies
– foreign languages and cultures
– non-Slavic languages and literatures
– translation and interpreting
– Slavic languages and literatures
– teaching of academic subjects
– ethics
– teaching of academic subjects: philosophy, civics
Philosophical Studies
– archaeology
– archival science
– ethnology
– museology
– teaching of academic subjects: history
Slovak Language and Literature
– single-field study of Slovak language and literature
– Slovak language and literature in combination with another field
– Slovak language and literature in combination with the field translation and interpreting
– teaching of academic subjects: Slovak language and literature
Central European Historical Studies
– history
Master's programmes in the field of Translation and Interpreting
Language specializations and their required language proficiency levels:
English Language and Culture– level C1or higher according to the Common European Framework of Reference for Languages
French Language and Culture– level B2 or higher according to the Common European Framework of Reference for Languages
German Language and Culture– level C1 or higher according to the Common European Framework of Reference for Languages
Polish Language and Culture– level B2 or higher according to the Common European Framework of Reference for Languages
Russian Language and Culture – level B2 or higher according to the Common European Framework of Reference for Languages
Spanish Language and Culture – level B2 or higher according to the Common European Framework of Reference for Languages
Italian Language and Culture – level B2 or higher according to the Common European Framework of Reference for Languages
Admission requirements for doctoral studies in the 2019/2020 academic year
Applicants must register for one of the doctoral dissertation topics listed under individual programmes (see www.ff.umb.sk – Research – Office of Research and Doctoral Studies – admission proceedings in doctoral study).
The entrance examination takes place before the committee appointed by the Dean of the MBU Faculty of Arts. During the entrance examination, the applicant must demonstrate the ability to engage in independent creative activity in the specific field of study and in relation to the doctoral dissertation topic they wish to register for.
Admission requirements: According to Section 56 (3) of Act No. 131/2002 Coll., completion of a master's degree programme or a programme regulated by Section 53 (3) is a basic requirement for admission. Further admission requirements are specified individually for every programme pursuant to Section 57 (1) (see www.ff.umb.sk – Research – Office of Research and Doctoral Studies).
Post-master's rigorosum examination and thesisdefence
Post-master's studies are available in accredited master's degree programmes in the following fields of study:
Teaching of Academic Subjects in the programmes:
Teaching of English Language and Literature
Teaching of History
Teaching of Philosophy
Teaching of French Language and Literature
Teaching of German Language and Literature
Teaching of Russian Language and Literature
Teaching of Slovak Language and Literature
Teaching of Arts Education and Non-academic Subjectsin the programme:
Teaching of Physical Education
Foreign Languages and Cultures in the European Cultural Studies programme
Ethics in the Applied Ethics programme
Philosophy in the Philosophy programme
History in the History programme
Slovak Language and Literature in Slovak Language and Literature programme
Sport in the Coaching programme
Translation and interpretingin the programmes:
Accommodation and meal options for students
For accommodation, university residence halls are available to students of the Faculty of Arts of Matej Bel University in Banská Bystrica. Meals are offered by student canteens.
Our graduates on the labour market
Graduates of bachelor's-level teaching programmes are prepared to continue their studies in the same or a related programme at the master's level.
Graduates of master's-level teaching programmes are qualified to teach at the second level of primary school and at all types of secondary schools and eight-year grammar schools, as well as language and art schools. Their theoretical knowledge can also be utilised in social, cultural, public-awareness and physical-education institutions as well as on editorial boards, in advertising companies, in research institutions and in the commercial sector.
Students of bachelor's-level non-teaching programmes can work in the state, public or private sector as experts in line with their programme of study, or continue their studies in the same or a related programme at the master's level.
Graduates of master's-level non-teaching programmes are prepared to work in management positions in spheres such as social institutions, diplomacy, foreign trade, tourism, culture, educational institutions and EU institutions.
The Faculty of Arts of Matej Bel University in Banská Bystrica has one of the highest employment rates for graduates in humanities and philosophy among Slovak university faculties.
INFORMATION FOR APPLICANTS WITH SPECIAL NEEDS
Pursuant to Section 100 of Act No. 131/2002 Coll. on Higher Education and the Amendment of Certain Laws, Matej Bel University in Banská Bystrica is a universally accessible academic environment with corresponding admission requirements for applicants and students with special needs, but with equally high expectations of their academic performance. In accordance with the above-mentioned law, special-needs students are considered to be those with:
a) a sensory or physical disability, or multiple disabilities
b) a chronic illness
c) impaired health
d) a mental illness
e) autism or another pervasive developmental disorder
f) a learning disability
Before applying for university study, applicants with special needs should:
Consider whether they meet the demands of university study in terms of:
a) knowledge
b) technological and personal preparedness and motivation
c) the demands of the content, extent and form of study chosen
d) the requirements stated by the faculty
e) limitations resulting from a disability
Contact the faculty coordinator for students with special needs.
Submit a report from an expert, e.g. doctor, psychologist, speech therapist, school psychology, school speech therapist or special-needs educator (more information can be found
Fill out the Application for prospective students with special needs on the alteration of the form and manner of the admission examination with the appropriate professional documentation demonstrating the applicant's specific needs (if the admission proceedings include an examination).
The final decision to enrol in the chosen programme is made by the applicant. By making this decision, the applicant assumes responsibility for the potential risk that they may not be able to continue in their studies.
Coordinator for students with special needs
Mgr. Jana Daubnerová, PhD. (office #30)
+421 48 446 75 58, e-mail: jana.daubnerova@umb.sk
Faculty of Humanities University of Matej Bel


text:
'St. Louis' Bears? IL rep. wonders amid stadium talks
FOX Files: Wrongfully imprisoned man wins $800,000 in restitution
by: Chris Hayes
Posted: Jul 1, 2021 / 10:58 PM CDT
Updated: Jul 1, 2021 / 10:58 PM CDT
ST. LOUIS COUNTY, Mo. – Johnny Briscoe, who was wrongfully imprisoned for decades, wins fight for restitution.
The first check of $36,000 is ordered to be paid immediately to a man wrongfully imprisoned, with $36,000 checks following every year for more than 20 more years, totaling more than $800,000.
The payments are not transferable and will not continue if Briscoe dies. He will be 90 when the last payment is scheduled.
FOX Files: No one disputes he was wrongfully convicted; but does the justice system owe him anything?
Briscoe spent more than two decades in prison for a crime he did not commit.
Missouri law says in cases like Briscoe's the Missouri Department of Corrections owes them $100 for every day they were wrongfully imprisoned. The Missouri Attorney General's Office fought the payments saying Briscoe did not ask in time. A new judge's order says there is no statute of limitations.
Fox 2 first covered Johnny Briscoe's case in 2006. He'd just been cleared of rape and robbery, based on DNA evidence and held a news conference with his attorneys back then.
"It's been a long struggle, hard struggle, but I held strong," he said at the time.
Briscoe hasn't said why he waited 15 years to ask for payback, but his delay was a sticking point between the Missouri Attorney General's Office, which argued he waited too long – and the St. Louis County Prosecutor's office which countered that the law doesn't limit when Briscoe could ask for restitution.
Judge Michael Burton agreed. In a five-page ruling, he wrote, "The court finds there is no explicit statute of limitation in the statutory cause of action under 650.058 RSMo. within which to file a petition for restitution."
"I think the court got it right," St. Louis County Prosecutor Wesley Bell said, "We talked to you about that just a few weeks ago – this is not only the legally correct ruling, but I think from a common sense standpoint it's the correct ruling."
Dana Mulhauser argued the prosecutor's office position in court, on behalf of the unit she leads – called the Conviction and Incident Review Unit.
"I don't want to say I'm happy because it's deserved. It's deserved and it's merited," she said.
She added that she is "relieved for Mr. Briscoe's sake and for the sake of the justice system. I think it was a just result and a smart result."
Briscoe has been unavailable to comment since Fox 2 spoke to him after his 2006 release.
Man arrested for nearly $200K in St. Louis area thefts


How far the light travels in the Red, Green, and Blue spectra. This is scaled by Mean Free Path Distance. Different colors may spread more or less and provide interesting effects like the red color bleeding into shadow edges on skin. The RGB values correspond to how far the light travels in that color band. For example, and RGB value of 0.8 0.65 0.5 mean Red spreads furthest at 0.8, then Green and finally Blue traveling the least distance in the object scatter result. Below we've taken out the center sphere and replaced it with a bright disk light at the back of the outer sphere.


News presentation and formats have long since changed and that too quite dramatically. From pre designed scripts that were just to be read; now news has become more interactive with more features, reviews and interviews being combined with the regular news bulletin.
Another major development is the airing of breaking news, live action as it happens from the hub of action. Breaking news is just not restricted to covering social, political or economic happenings but has extended to the world of sports. Sports breaking news is quickly becoming a regular feature of the majority of of these news channels who focus on getting the complete lowdown about the sports action.
A great deal of sports information gets listed daily and is listed as sports breaking news. But for the sports enthusiast, it is of extreme importance that this information is authentic and of consequence. It has been seen in quite a few instances when sports bloopers are presented as sports breaking news. Usually it takes a while to filter such information and get information that is of any real consequence.
Fox Sports is one of the most popular sports news providers in the United States. Since their inception they have aimed at covering major and also popular sporting events from across the country. Over the years this channel as the channel became very popular; it increased its network and started covering sports action from around the world. In the beginning their primary focus was on the NASCAR series and the Daytona 500 and had the exclusive broadcasting rights of the latter.
The channel then began concentrating on Major League Baseball, National Hockey League games and the Bowl Championship Series and since 2000 Fox Sports have been given the broadcasting rights with the airing of the World Series. Apart from this, they, together with their sister channels, also cover football championships from countries like Japan, Brazil, Argentina, Australia, Italy etc. Fox Sports in addition has forayed into the world of action sports through the help of Fuel TV another sister channel.
ESPN on the other hand calls itself the "worldwide leader from the world of sports". True to their declaration, they are successfully covering and bring live sports news and events t their viewers. Along with covering regular sports like basketball, baseball, cricket, ice hockey etc, ESPN has been key in popularizing extreme sports by broadcasting the one of the kind X Games that may be regarded as one of the most prestigious of all extreme sports competitions.
Sky Sports and BBC Sport remain very well liked in Europe covering all the major sports action form that region. They are going neck to neck when it comes to viewership and cover all the sports breaking news and bring it across to their viewers through their sports news programs.


text:
Penn Med Student Makes A Difference By Facing Differences
This interview is the latest in an Accepted.com blog series featuring interviews with medical school applicants and students, offering readers a behind-the-scenes look at top medical schools and the med school application process. And now, introducing Dorothy Charles…
Accepted: We'd like to get to know you! Where are you from? Where and what did you study as an undergrad? Can you share 3 fun facts about yourself with us?
Dorothy: I was born and raised on Guam, moved to Oregon just before starting high school, and then attended Princeton University, where I majored in molecular biology and minored in neuroscience. As for three fun facts: 1) I have one younger sister, and everyone swears we're twins. That, or they assume she's the older one. 2) I managed to avoid pumping my own gas for 7 years because I moved from one state that doesn't let you pump your own gas to the only other state that has the same restriction. It's actually a bit embarrassing. 3) My fingers are hypermobile/double-jointed, and it usually creeps people (anatomy TA's included!) out when I show them.
Accepted: Where are you in med school? What year?
Dorothy: I'm a first year at the Perelman School of Medicine at the University of Pennsylvania.
Accepted: What's your favorite thing about Penn Med so far? Why was this the best program for you? And if you could change anything about the program, what would it be?
Dorothy: If I had to choose just one thing, it would be the people, both students and physicians. I've made pretty great friends here–people whose passion to use medicine to enact social change inspires me and reminds me why I've chosen this career path and who also help me keep perspective and stay balanced, relaxed, and happy when things get stressful. I've also found some amazing physician mentors who've been really instrumental in supporting me as I explore my interests in health policy and advocacy and are just generally the kind of people that make me go, "How do I become you??"
I think clicking with the people in the program and making sure the school had the right vibe for me was one of the key factors in my choosing to link here. Apart from that, I really love that Penn Med is part of the larger University of Pennsylvania system because it gives me the opportunity for a lot more interdisciplinary learning and collaboration. When I first started out here, I was really interested in the MD/Master's programs, which would give me the opportunity to get another degree from one of the other schools. I'm don't think that's the path for me right now, but I do appreciate that I still have that option and that, at the very least, it's really easy to take courses in other departments.
As for changing the program, I think what I would like to see most is to see a greater emphasis placed on teaching the concept of privilege in our social medicine course because many of the topics we talk about like race, gender, sexual orientation, and socioeconomic status require that framework to inform our discussions.
Accepted: Can you share some advice to incoming first year students, to help make their adjustment to med school easier?
Dorothy: I think that med school culture makes it difficult for us to admit we need help, whether that be academic, mental, emotional, or otherwise, and that's a real problem. So if you find yourself falling behind on work or struggling with anxiety or depression or something like that, don't be afraid to admit it and use the resources available at your school or in your community to get help.
Accepted: Can you tell us about your unique path to med school?
Dorothy: During my sophomore and junior years of college, I participated in a pretty small summer program at Penn that gave me an option to link to the med school at the completion of the program, given that I met certain requirements. I was very blessed to have that opportunity, and I'm glad I was able to get to know the school, as well as Philly, through that before applying.
Accepted: What is intersectional feminism? What role does it play in your life as an individual and as a future physician?
Dorothy: Intersectional feminism is the idea that people's experiences and the privilege they have in society will differ on the basis of their identities other than gender, particularly their race but also their socioeconomic status, sexual orientation, disability status, etc. Having that lens to view society and medicine has made me approach questions of equity from multiple points of view. I'm not only thinking about how the women I meet have inherently different experiences than men but also how a poor woman's experience differs from a rich woman's, or a woman of color's vs. a white woman's, or a lesbian's vs. straight woman's, etc. And then on top of that, I'm thinking about multiple identities at once and how those identities do or do not provide access to certain resources such as education, employment, housing, and health care, or may lead to direct harms, as is the case with police brutality toward people of color. As an individual, intersectional feminism has taught me to look at people more holistically and think about how societal structures have created and perpetuate inequities for anyone who isn't a rich, able-bodied, white, cis-gender, heterosexual man. As a future physician, intersectional feminism, I think, will help me think of the sorts of challenges my patients will face living in an inequitable system–challenges that will essentially be assaults on their health–and will hopefully also allow me to think of and advocate for broader solutions, such as policy changes, to address those problems.
Accepted: Can you talk about your involvement with White Coats for Black Lives and your passion for social justice in general?
Dorothy: I was involved with coordinating the National White Coat Die-Ins that happened this past December, along with amazing students from UCSF, Mount Sinai, and of course, Penn. Nowadays, I serve on the National Working Group for White Coats for Black Lives with 8 other med students from across the country and continue to work with my classmates at the Penn chapter.
I started learning about social justice about halfway through college, and that gave me the framework for thinking about a lot of societal problems, but I wasn't sure how to fit that in with a career in medicine. My passion for social justice stems from my desire to help people–it's the same thing that drew me into medicine in the first place. I think the difference, though, is that the former more strongly emphasizes systemic change to help those who have been marginalized by a society that prioritizes some groups over others, some lives over others. In medicine, we are often taught to help the individual, and I think we sometimes lose sight of the broader societal structures that cause illness. So to some degree, medicine has become a vehicle for social justice to me. I think medicine is a powerful way to create social change, and knowing that I can do both now has been really motivating for me.
Accepted: Can you tell us about your blog/Twitter/About.me page? Who is your target audience? What have you gained from your involvement in these various social media outlets? (And we'll add whatever links you want to share.)
Dorothy: I only recently started a blog, so there's not much content up at the moment. (I'm hoping to start posting more regularly soon. We just got out of our toughest organ block yet, so I'll have more time to write!) I tend to have a lot of conversations with my classmates about social justice, so my blog is essentially my processing those conversations in written form, but really anyone interested in medicine, health care, social justice, and/or feminism might enjoy reading it. At the moment, I'm a bit more active on Twitter, where I tweet mostly about medical education (#meded) and racial justice since it's most on my mind. I've been able to connect with quite a few med students through social media (especially when we were organizing the die-ins on Facebook) as well as follow a bunch of social justice-minded physicians. It's actually been inspiring to know that I'm going into a field with a lot of people who are passionate about both medicine and justice, and I'm really excited that so many of the friends I'm making through social media are going to be leaders in medicine.
You can read Dorothy's blog at https://intersectionsinmedicine.wordpress.com/ and follow her on Twitter @dn_charles. Thank you Dorothy for sharing your story with us – we wish you the best of luck!
• Navigate the Med School Maze
• Tips for Applying to Medical School As a Disadvantaged Applicant
• Medical Minority Applicant Registry: Who, How & Why?
Article by Accepted / Medical School Admissions / med school student interview, Med student blogger, University of Penn. Medical School