text:
import base64
import functools
import uuid
from datetime import datetime

import botocore
from flask import abort, current_app, jsonify, request
from gds_metrics import Histogram
from notifications_utils.recipients import try_validate_and_format_phone_number

from app import (
    api_user,
    authenticated_service,
    document_download_client,
    encryption,
    notify_celery,
)
from app.celery.letters_pdf_tasks import (
    get_pdf_for_templated_letter,
    sanitise_letter,
)
from app.celery.research_mode_tasks import create_fake_letter_response_file
from app.celery.tasks import save_api_email, save_api_sms
from app.clients.document_download import DocumentDownloadError
from app.config import QueueNames, TaskNames
from app.dao.dao_utils import transaction
from app.dao.templates_dao import get_precompiled_letter_template
from app.letters.utils import upload_letter_pdf
from app.models import (
    EMAIL_TYPE,
    KEY_TYPE_NORMAL,
    KEY_TYPE_TEAM,
    KEY_TYPE_TEST,
    LETTER_TYPE,
    NOTIFICATION_CREATED,
    NOTIFICATION_DELIVERED,
    NOTIFICATION_PENDING_VIRUS_CHECK,
    NOTIFICATION_SENDING,
    PRIORITY,
    SMS_TYPE,
    Notification,
)
from app.notifications.process_letter_notifications import (
    create_letter_notification,
)
from app.notifications.process_notifications import (
    persist_notification,
    send_notification_to_queue_detached,
    simulated_recipient,
)
from app.notifications.validators import (
    check_if_service_can_send_files_by_email,
    check_is_message_too_long,
    check_rate_limiting,
    check_service_email_reply_to_id,
    check_service_has_permission,
    check_service_sms_sender_id,
    validate_address,
    validate_and_format_recipient,
    validate_template,
)
from app.schema_validation import validate
from app.utils import DATETIME_FORMAT
from app.v2.errors import BadRequestError
from app.v2.notifications import v2_notification_blueprint
from app.v2.notifications.create_response import (
    create_post_email_response_from_notification,
    create_post_letter_response_from_notification,
    create_post_sms_response_from_notification,
)
from app.v2.notifications.notification_schemas import (
    post_email_request,
    post_letter_request,
    post_precompiled_letter_request,
    post_sms_request,
    send_a_file_validation,
)
from app.v2.utils import get_valid_json

POST_NOTIFICATION_JSON_PARSE_DURATION_SECONDS = Histogram(
    "post_notification_json_parse_duration_seconds",
    "Time taken to parse and validate post request json",
)

@v2_notification_blueprint.route("/{}".format(LETTER_TYPE), methods=["POST"])
def post_precompiled_letter_notification():
    request_json = get_valid_json()
    if "content" not in (request_json or {}):
        return post_notification(LETTER_TYPE)

    form = validate(request_json, post_precompiled_letter_request)

    # Check permission to send letters
    check_service_has_permission(LETTER_TYPE, authenticated_service.permissions)

    check_rate_limiting(authenticated_service, api_user)

    template = get_precompiled_letter_template(authenticated_service.id)

    # For precompiled letters the to field will be set to Provided as PDF until the validation passes,
    # then the address of the letter will be set as the to field
    form["personalisation"] = {"address_line_1": "Provided as PDF"}

    notification = process_letter_notification(
        letter_data=form,
        api_key=api_user,
        service=authenticated_service,
        template=template,
        template_with_content=None,  # not required for precompiled
        reply_to_text="",  # not required for precompiled
        precompiled=True,
    )

    return jsonify(notification), 201

@v2_notification_blueprint.route("/<notification_type>", methods=["POST"])
def post_notification(notification_type):
    with POST_NOTIFICATION_JSON_PARSE_DURATION_SECONDS.time():
        request_json = get_valid_json()

        if notification_type == EMAIL_TYPE:
            form = validate(request_json, post_email_request)
        elif notification_type == SMS_TYPE:
            form = validate(request_json, post_sms_request)
        elif notification_type == LETTER_TYPE:
            form = validate(request_json, post_letter_request)
        else:
            abort(404)

    check_service_has_permission(notification_type, authenticated_service.permissions)

    check_rate_limiting(authenticated_service, api_user)

    template, template_with_content = validate_template(
        form["template_id"],
        form.get("personalisation", {}),
        authenticated_service,
        notification_type,
        check_char_count=False,
    )

    reply_to = get_reply_to_text(notification_type, form, template)

    if notification_type == LETTER_TYPE:
        notification = process_letter_notification(
            letter_data=form,
            api_key=api_user,
            service=authenticated_service,
            template=template,
            template_with_content=template_with_content,
            reply_to_text=reply_to,
        )
    else:
        notification = process_sms_or_email_notification(
            form=form,
            notification_type=notification_type,
            template=template,
            template_with_content=template_with_content,
            template_process_type=template.process_type,
            service=authenticated_service,
            reply_to_text=reply_to,
        )

    return jsonify(notification), 201

def process_sms_or_email_notification(
    *,
    form,
    notification_type,
    template,
    template_with_content,
    template_process_type,
    service,
    reply_to_text=None,
):
    notification_id = uuid.uuid4()
    form_send_to = form["email_address"] if notification_type == EMAIL_TYPE else form["phone_number"]

    send_to = validate_and_format_recipient(
        send_to=form_send_to, key_type=api_user.key_type, service=service, notification_type=notification_type
    )

    # Do not persist or send notification to the queue if it is a simulated recipient
    simulated = simulated_recipient(send_to, notification_type)

    personalisation, document_download_count = process_document_uploads(
        form.get("personalisation"),
        service,
        send_to=send_to,
        simulated=simulated,
    )
    if document_download_count:
        # We changed personalisation which means we need to update the content
        template_with_content.values = personalisation

    # validate content length after url is replaced in personalisation.
    check_is_message_too_long(template_with_content)

    resp = create_response_for_post_notification(
        notification_id=notification_id,
        client_reference=form.get("reference", None),
        template_id=template.id,
        template_version=template.version,
        service_id=service.id,
        notification_type=notification_type,
        reply_to=reply_to_text,
        template_with_content=template_with_content,
    )

    if service.high_volume and api_user.key_type == KEY_TYPE_NORMAL and notification_type in [EMAIL_TYPE, SMS_TYPE]:
        # Put service with high volumes of notifications onto a queue
        # To take the pressure off the db for API requests put the notification for our high volume service onto a queue
        # the task will then save the notification, then call send_notification_to_queue.
        # NOTE: The high volume service should be aware that the notification is not immediately
        # available by a GET request, it is recommend they use callbacks to keep track of status updates.
        try:
            save_email_or_sms_to_queue(
                form=form,
                notification_id=str(notification_id),
                notification_type=notification_type,
                api_key=api_user,
                template=template,
                service_id=service.id,
                personalisation=personalisation,
                document_download_count=document_download_count,
                reply_to_text=reply_to_text,
            )
            return resp
        except (botocore.exceptions.ClientError, botocore.parsers.ResponseParserError):
            # If SQS cannot put the task on the queue, it's probably because the notification body was too long and it
            # went over SQS's 256kb message limit. If the body is very large, it may exceed the HTTP max content length;
            # the exception we get here isn't handled correctly by botocore - we get a ResponseParserError instead.
            current_app.logger.info(
                f"Notification {notification_id} failed to save to high volume queue. Using normal flow instead"
            )

    persist_notification(
        notification_id=notification_id,
        template_id=template.id,
        template_version=template.version,
        recipient=form_send_to,
        service=service,
        personalisation=personalisation,
        notification_type=notification_type,
        api_key_id=api_user.id,
        key_type=api_user.key_type,
        client_reference=form.get("reference", None),
        simulated=simulated,
        reply_to_text=reply_to_text,
        document_download_count=document_download_count,
    )

    if not simulated:
        queue_name = QueueNames.PRIORITY if template_process_type == PRIORITY else None
        send_notification_to_queue_detached(
            key_type=api_user.key_type,
            notification_type=notification_type,
            notification_id=notification_id,
            research_mode=service.research_mode,  # research_mode is deprecated
            queue=queue_name,
        )
    else:
        current_app.logger.debug("POST simulated notification for id: {}".format(notification_id))

    return resp

def save_email_or_sms_to_queue(
    *,
    notification_id,
    form,
    notification_type,
    api_key,
    template,
    service_id,
    personalisation,
    document_download_count,
    reply_to_text=None,
):
    data = {
        "id": notification_id,
        "template_id": str(template.id),
        "template_version": template.version,
        "to": form["email_address"] if notification_type == EMAIL_TYPE else form["phone_number"],
        "service_id": str(service_id),
        "personalisation": personalisation,
        "notification_type": notification_type,
        "api_key_id": str(api_key.id),
        "key_type": api_key.key_type,
        "client_reference": form.get("reference", None),
        "reply_to_text": reply_to_text,
        "document_download_count": document_download_count,
        "status": NOTIFICATION_CREATED,
        "created_at": datetime.utcnow().strftime(DATETIME_FORMAT),
    }
    encrypted = encryption.encrypt(data)

    if notification_type == EMAIL_TYPE:
        save_api_email.apply_async([encrypted], queue=QueueNames.SAVE_API_EMAIL)
    elif notification_type == SMS_TYPE:
        save_api_sms.apply_async([encrypted], queue=QueueNames.SAVE_API_SMS)

    return Notification(**data)

def process_document_uploads(personalisation_data, service, send_to: str, simulated=False):
    """
    Returns modified personalisation dict and a count of document uploads. If there are no document uploads, returns
    a count of `None` rather than `0`.
    """
    file_keys = [k for k, v in (personalisation_data or {}).items() if isinstance(v, dict) and "file" in v]
    if not file_keys:
        return personalisation_data, None

    # Make sure that all data for file uploads matches our expected schema.
    # We can't (feasibly) do this at the start of the request because the JSON Schema required would throw error
    # messages which aren't user-friendly (without deeply introspecting the JSON Schema validation results in a way
    # that is worse than doing the extra validation step here).
    for file_key in file_keys:
        validate(personalisation_data[file_key], send_a_file_validation)

    personalisation_data = personalisation_data.copy()

    check_if_service_can_send_files_by_email(
        service_contact_link=authenticated_service.contact_link, service_id=authenticated_service.id
    )

    for key in file_keys:
        if simulated:
            personalisation_data[key] = document_download_client.get_upload_url(service.id) + "/test-document"
        else:
            confirm_email = personalisation_data[key].get("confirm_email_before_download") or False
            retention_period = personalisation_data[key].get("retention_period", None)

            try:
                personalisation_data[key] = document_download_client.upload_document(
                    service.id,
                    personalisation_data[key]["file"],
                    personalisation_data[key].get("is_csv"),
                    confirmation_email=send_to if confirm_email else None,
                    retention_period=retention_period,
                )
            except DocumentDownloadError as e:
                raise BadRequestError(message=e.message, status_code=e.status_code)

    return personalisation_data, len(file_keys)

def process_letter_notification(
    *, letter_data, api_key, service, template, template_with_content, reply_to_text, precompiled=False
):
    if api_key.key_type == KEY_TYPE_TEAM:
        raise BadRequestError(message="Cannot send letters with a team api key", status_code=403)

    if not service.research_mode and service.restricted and api_key.key_type != KEY_TYPE_TEST:
        raise BadRequestError(message="Cannot send letters when service is in trial mode", status_code=403)

    if precompiled:
        return process_precompiled_letter_notifications(
            letter_data=letter_data, api_key=api_key, service=service, template=template, reply_to_text=reply_to_text
        )

    postage = validate_address(service, letter_data["personalisation"])

    test_key = api_key.key_type == KEY_TYPE_TEST

    status = NOTIFICATION_CREATED
    updated_at = None
    if test_key:
        # if we don't want to actually send the letter, then start it off in SENDING so we don't pick it up
        if current_app.config["NOTIFY_ENVIRONMENT"] in ["preview", "development"]:
            status = NOTIFICATION_SENDING
        # mark test letter as delivered and do not create a fake response later
        else:
            status = NOTIFICATION_DELIVERED
            updated_at = datetime.utcnow()

    queue = QueueNames.CREATE_LETTERS_PDF if not test_key else QueueNames.RESEARCH_MODE

    notification = create_letter_notification(
        letter_data=letter_data,
        service=service,
        template=template,
        api_key=api_key,
        status=status,
        reply_to_text=reply_to_text,
        updated_at=updated_at,
        postage=postage,
    )

    get_pdf_for_templated_letter.apply_async([str(notification.id)], queue=queue)

    if test_key and current_app.config["NOTIFY_ENVIRONMENT"] in ["preview", "development"]:
        create_fake_letter_response_file.apply_async((notification.reference,), queue=queue)

    resp = create_response_for_post_notification(
        notification_id=notification.id,
        client_reference=notification.client_reference,
        template_id=notification.template_id,
        template_version=notification.template_version,
        notification_type=notification.notification_type,
        reply_to=reply_to_text,
        service_id=notification.service_id,
        template_with_content=template_with_content,
    )
    return resp

def process_precompiled_letter_notifications(*, letter_data, api_key, service, template, reply_to_text):
    try:
        status = NOTIFICATION_PENDING_VIRUS_CHECK
        letter_content = base64.b64decode(letter_data["content"])
    except ValueError:
        raise BadRequestError(message="Cannot decode letter content (invalid base64 encoding)", status_code=400)

    with transaction():
        notification = create_letter_notification(
            letter_data=letter_data,
            service=service,
            template=template,
            api_key=api_key,
            status=status,
            reply_to_text=reply_to_text,
        )
        filename = upload_letter_pdf(notification, letter_content, precompiled=True)

    resp = {"id": notification.id, "reference": notification.client_reference, "postage": notification.postage}

    # call task to add the filename to anti virus queue
    if current_app.config["ANTIVIRUS_ENABLED"]:
        current_app.logger.info("Calling task scan-file for {}".format(filename))
        notify_celery.send_task(
            name=TaskNames.SCAN_FILE,
            kwargs={"filename": filename},
            queue=QueueNames.ANTIVIRUS,
        )
    else:
        # stub out antivirus in dev
        sanitise_letter.apply_async([filename], queue=QueueNames.LETTERS)

    return resp

def get_reply_to_text(notification_type, form, template):
    reply_to = None
    if notification_type == EMAIL_TYPE:
        service_email_reply_to_id = form.get("email_reply_to_id", None)
        reply_to = (
            check_service_email_reply_to_id(str(authenticated_service.id), service_email_reply_to_id, notification_type)
            or template.reply_to_text
        )

    elif notification_type == SMS_TYPE:
        service_sms_sender_id = form.get("sms_sender_id", None)
        sms_sender_id = check_service_sms_sender_id(
            str(authenticated_service.id), service_sms_sender_id, notification_type
        )
        if sms_sender_id:
            reply_to = try_validate_and_format_phone_number(sms_sender_id)
        else:
            reply_to = template.reply_to_text

    elif notification_type == LETTER_TYPE:
        reply_to = template.reply_to_text

    return reply_to

def create_response_for_post_notification(
    notification_id,
    client_reference,
    template_id,
    template_version,
    service_id,
    notification_type,
    reply_to,
    template_with_content,
):
    if notification_type == SMS_TYPE:
        create_resp_partial = functools.partial(
            create_post_sms_response_from_notification,
            from_number=reply_to,
        )
    elif notification_type == EMAIL_TYPE:
        create_resp_partial = functools.partial(
            create_post_email_response_from_notification,
            subject=template_with_content.subject,
            email_from="{}@{}".format(authenticated_service.email_from, current_app.config["NOTIFY_EMAIL_DOMAIN"]),
        )
    elif notification_type == LETTER_TYPE:
        create_resp_partial = functools.partial(
            create_post_letter_response_from_notification,
            subject=template_with_content.subject,
        )
    resp = create_resp_partial(
        notification_id,
        client_reference,
        template_id,
        template_version,
        service_id,
        url_root=request.url_root,
        content=template_with_content.content_with_placeholders_filled_in,
    )
    return resp

redpajama_set_name: RedPajamaGithub


The goal of any company is to be profitable and rewarding throughout the life time of the group. The evolution of conversation technologies in recent several years has assisted make this attainable by enhancing a business's capacity to network with its existing and prospective customers. What once essential confront-to-face discussions and the bodily exchange of get in touch with info can now be completed in an completely virtual setting with just a click on of a button.
Improvements in interaction engineering, this kind of as texting, running a blog, emailing, media sharing and gaming, have created new social norms and revolutionized the way men and women talk. It is no wonder, then, that the fiscal providers sector is beginning to use various varieties of Personal computer Mediated Interaction (CMC) to boost customer provider and improve recent items and solutions. The most well-liked form of CMC are social networking web sites these kinds of as Twitter, Fb, MySpace, and LinkedIn, which are utilized largely to keep or develop connections amongst consumers.
local social network depict a huge industry with remarkable development likely that can be simply qualified by economic institutions if they know how to use these web sites to their gain. Like numerous corporations that have previously skilled the advantages of utilizing social networking internet sites to enhance their business, economic establishments are beginning to understand and embrace the power of social networking as it relates to their working day-to-day company activities as properly. Whether or not educating consumers on new providers, boosting client confidence, increasing revenue outreach or personally connecting with their customers to fulfill their banking demands - social networking is a essential interaction device that economic establishments can use in several of their customer business interactions.
Social networking is a form of collaboration and networking exactly where men and women build teams and associations, often forming a digital neighborhood. Although social networking is attainable in a experience-to-encounter setting, this sort of as on a college campus, it is most often seen on the web in a CMC environment. The measurement and reputation of the "communities" designed by MySpace and Facebook and other social networking sites have experienced significant progress as far more and far more folks invite their acquaintances, co-employees, friends and family members into these digital communities.


I have been reading mysteries since I was eight or so years old. Like many others, I started with Nancy Drew. As I think back, it wasn't long before I had run through those and started on Mike Shayne and Perry Mason. Even then, I began to see blurbs about comparisons between my chosen fictional detectives and the greatest of all detectives, apparently, the one and only Chief Inspector Jules Maigret of the Flying Squad, created by Georges Simenon. Over time, I have made a literary acquaintance with many iconic Depression-era detectives like Earl Derr Biggers's Charlie Chan, Raymond Chandler's Philip Marlowe and Dashiell Hammett's Continental Op––but Maigret was on that list we all have, the "I'll get to it sometime" list.
Just recently, I came across a set of new publications from Penguin Press. Each month, beginning in Fall 2013, Penguin is re-releasing one of the 75 Maigret books, as chronicled by Simenon, and the time was right to dive into these books.
Maigret was introduced in 1931 in Pietr-le-Letton. It's always good to be able to read the genesis of a character, and I began with it. I read it with the most recent English title, Pietr the Latvian, also known in the past as The Case of Peter the Lett. The case begins as Maigret prowls around his frigid office in the center of Paris, stoking a coal fire, smoking a desperate pipe and waiting for more news about the journey of a devious con-man making his way to Paris by way of the train Étoile du Nord. As was the custom of those days, all Maigret had was a word picture description sent by telegram in secret police code to help him identify Pietr from Latvia. This he memorized, especially the ear anatomy because it was one thing that was hard to alter or disguise. Maigret was certain that if he saw the correct ear, he would have his man.
"Ear unmarked rim, lobe large, max cross and dimension small max, protuberant antitragus, vex edge lower fold, edge shape straight line." Even knowing a bit of ear anatomy didn't help me decipher this code.
Maigret is described as a giant of a man, but Simenon puts it more poetically: "He had a way of imposing himself just by standing there. His assertive presence had often irked many of his own colleagues. It was something more than self-confidence but less than pride. He would turn up and stand like a rock with his feet wide apart. On that rock all would shatter, whether Maigret moved forward or stood exactly where he was."
I liked Maigret and Simenon from the start. The style of writing is concise and straightforward, and it was easy to pass over the antiquated features of policing in the thirties. Even though Maigret was a member of a flying squad, he mostly had recourse only to public transportation or a bike! He often used messengers instead of a telephone, although these were available. Far from being a romantic or dashing fellow, Maigret was deliberate and thoughtful. He thought about his wife at times, but in these early books she was a minor character at best.
When Maigret meets the train on arrival in Paris, he is first confronted with a dapper gentleman detraining who fits the description to a lobe, but he is immediately called to see the corpse of a very similar gentleman, recently killed and whose otic whorls and folds were eerily similar. But Maigret is sure of his target, and the game of cat and mouse begins.
Maigret stories differ from others in the genre because the details of solving a crime are less important than the detective's journey of discovering what he can about the characters that flesh out the plot. Simenon felt that Maigret's driving force was a search for the "naked man"––man without his cultural protective coloration.
In Pietr the Latvian, the scoundrel uses plenty of protective coloration, but Maigret is an implacable force. As he gets nearer to his prey, the desperate man turns the tables on him and he is shot while crossing the street. A through-and-through bullet means little to Maigret, but when someone close to him is murdered by sophisticated means, he steels himself to go on. There is plenty of drama with a dollop of melodrama: "It was fearsome! Tragic! Terrifying!," which really makes for a page-turner.
Maigret uses his intuition to try to understand characters' motives and what drove them to their destructive behaviors. He views most people with compassion, tempered by a reality-based cynicism.
This is more obvious in the second book of the series, The Crime at Lock 14 (also published as Maigret Meets a Milord). In this case, a woman is found strangled at a lock along a busy river. Who she was and how she got there is a mystery until Maigret begins to unravel threads that lead back into the past. The world of canal, barges and locks seems like it belongs in another century, but the human motivations are all too modern and pervasive. Maigret begins to appreciate what drove the murderer and while he hounds him implacably to his death, he still allows the man a remnant of dignity.
Georges Simenon was born in 1903 in Belgium, but his life took him to France and the USA after World War II and, finally, to Switzerland. He wrote more than 200 books under as many as 16 different pen names. What made him stand out was his spare, direct prose that occasionally was poetic. He could evoke psychological tension beautifully while, at the same time, keep a calm tenor as a counterpoint.
One constant theme is the isolated existence of the abnormal individual whose neurosis instigates criminal troubles. When Maigret begins to understand for whom he is looking, the cases are soon solved.
It seems that there have been new editions of Maigret mysteries a couple of times a decade, so it may not be an exaggeration when Simenon is referred to as one of the greatest novelists of his time. He has been compared to Chekhov and Hemingway, because he portrayed the bleakness of human life in a way that today we would characterize by the phrase "It is what it is."
The Dancer at Gai-Moulin came out in September 2014. October's release is The Bar on the Seine. The Shadow in the Courtyard and The Saint-Fiacre Affair will follow in November and December. I can't wait to spend some snowy days with Maigret.


text:
BlogHome » Blog » Problems with the "Yeshua (?) bar Yehosef" inscription
Problems with the "Yeshua (?) bar Yehosef" inscription
Original report to the IAA:
In our preliminary report to the Israel Antiquities Authority, the so-called Jesus son of Joseph ossuary has mud, pressed deeply into the strokes of the letters of the inscription. The dried mud remained a problem in discerning the nature and the succession of letter strokes which were applied to the ossuary:
Preliminary Observations for an Ossuaries Report of the Talpiot Tomb
(Submitted to Miki Saban of the Israel Antiquities Authority)
By Stephen Pfann and Steven Cox
"On Thursday, May 3, 2007, four members of the University of the Holy Land staff visited the Israel Antiquities Authority storage facility at Beth Shemesh in order to study four inscribed ossuaries from the Talpiot Tomb. (The UHL staff members present were: Dr. Stephen Pfann (epigrapher), Steven Cox (forensic scientist), Stephen Pfann, Jr. (CGI/digital reconstruction) and Glenn Zehr.
Under the supervision of IAA warehouse supervisor, Miki Saban, his assistant opened the lids of ossuaries 80.500 (Mariame kai Mara) and 80.503 (Yeshua (?) bar Yehosef). The containers of samples that were gathered by Steven Cox during the filming a year ago, and which we had left in the ossuaries, were no longer in the ossuaries. (Also, the quantities of soil, pulverized bone material and seeds that were in ossuary 80.500, and are visible in the film, are now missing.)
3. CJO 704 (80.503) YESHUA (?) BEN/BAR YEHOSEF.
3.1 Surface condition and measurements.
We measured the ossuary and made a rubbing of the inscription on tracing paper. Similar to the inscription of ossuary 80.500, there are a couple of small black ink spots on its surface around the lettering, but not so numerous as on ossuary 80.500. The ossuary appears to have been broken and repaired since the previous visit a year ago.
3.2 Inscription.
We examined all parts of the inscription with optivisors and a boom-supported stereomicroscope. The incisions in the chalk surface were distinguished by width, and the steepness of the sides. However, the depth of the trough and the form of the bottom was nearly impossible to measure since dried mud now nearly fills most of the strokes of this inscription. The source of this mud is problematic, since no other ossuaries from this tomb have such a problem and since the mud was not present during the viewing one year ago. Moreover, the mud is most prominent in the grooves of the inscription, but not so much in other scratches on the ossuary.
3.2.1 General characteristics of incisions.
The incisions in the BEN/BAR YEHOSEF part of the inscription apparently were made by the tip a knife with a rounded, dull point. Most vertical strokes were relatively wide with gently sloping sides and a shallow, rounded trough. The horizontal strokes were thin and shallow. All three strokes of the letter "H" were made with the narrow line of the tip. The best letter in which to see the variable width of the knife tip is the final letter "F," where an entire rounded stroke is made without lifting the knife from the surface.
3.2.2 Unique characteristics of incisions.
In the first part of the inscription, strokes similar to those of BEN/BAR YEHOSEF appear, but connected with an earlier name which was later over-inscribed by the name YESHUA. The strokes that can be identified as part of the name YESHUA are made with an entirely different instrument. Its incisions have steeper more pronounced sides. However in certain cases, strokes from the earlier inscription have either been touched up or utilized "as is", as part of the later inscription. Also, the cursive form of the script of YESHUA contrasts that of the rest of the inscription.
3.2.3 UV light test.
The presence of the dried mud was immediately apparent under the UV light source. Mud and soils absorb UV light with the result that the letters appear almost black on a slightly fluorescing limestone surface. Again, the presence of the dried mud in the incised inscription is unique among the ossuaries of this tomb."
The Non-Jews of Masada?
New theory challenges Masada account (Excerpt from Jerusalem Post version) By ASSOCIATED PRESS, Matti FriedmanMASADA,…
Land, Nature, and Society
Why does Psalm 128 compare children at supper to olive shoots? I learned why at…
New Manuscripts from Qumran or other Sources I
At the recent IOQS meetings not one but two sessions were devoted to the revelation…
A Change of Hand (updated)
Cleaning Cavities and Scratches

redpajama_set_name: RedPajamaCommonCrawl


Of all the ruins in Turkey, the grandest and best-restored are at Ephesus. This prominent ancient capital was founded in the 10th century BC by the Ionian Greeks and flourished between 600 BC and 500 AD (it once had a population of 300,000). Biblical buffs may know the town as the inspiration for St. Paul's Epistle to the Ephesians and it was the site of one of the Seven Churches of Asia Minor.
According to the great historian Strabon, Karyas and Leleks who migrated West Anatolia from the inside of Anatolia at the 2000 years before Jesus; and again according to the historian Pausanias, Leleks and one branch of Lidians, settled down to the fertile lands which Kaestros watered, and around the temple that they assembled to the name of their mother goddess Kybele.
Again a branch, that�s formed from the same people, Settled down to the slopes of Pilav Mountain which is at the surrounding of Andiz Tower at Kusadasi. After a period of time, also public god Ales who established the first city government at Termessos that was on the north shores of Anatolia, and Amazons; the children of Hermione, came to this vicinity.many city Amazons had founded governments on the west and east of Anatolia. The amazon queen, who provided society�s passing over settled life from migratory, had given her name to Ephesus.attacked Dors, being violent and warrior persons, the places that can be lived and its ground can be scattered, they murdered the ones living there and they caught the cities.
Androkles, the son of Athens king Kossos, who was afraid of Dor�s invasion, got permission from his father for settling down in quiet places. And by getting on a ship with a group of his friends, he came out to this most beautiful shore of Aegean. According to the Ion beliefs, on the purpose of fixing the place of the city which would be newly established, he visited the priests of Apollon temple at Claros. The priests said him that; �a fish and a pig would show him the way�. On one evening, Androkles and his friends were cooking fish at a place near shore. One of the fishes which they cooked, fell down from the pot and fired the grasses. A pig, which was lying between the grasses, started to escape fastly. Androkles got on his horse and shot the pig. Here was the front of Kyble temple. The oracle�s words had been turned out to be true. First, Androkles and his soldiers clashed with Ephesus people for a short time. He established their temple to the name of their goddess Artemis at the sploses of Kolossos Mountain, front of Kyble temple and settled down his nation there.
The small societies, which established in Aegean before them, had decided to live in the places that are further north and they gave the names Ionia and Eolia there, and had started to form Polis (city governments) which were living in peace. At polis, laws had been being in force: these laws had provided equvalent living of Ions with the local public which lived in that vicinity. Androkles, called the Ephesus queen to form a bigger Ephesus. By this way they gathered and prepared a law string. This law string would provide their societies� equivalent living; it would pass the things they knew about agriculture, trade, art, culture to a higher position. The city�s name remaining as �Ephesus� was accepted by the wish of the queen.
Ephesus nation was an expert at agriculture till that day. They were raising especially fig, olive and grape very well. They knew how to infect, fertilise and make the vegetables more fruitful by changing their places. They provided wine from grapes and oil from olives. They produced honey by feeding bee. They knew working with mines, marbles, stones, and by nourishing animals, they made good use of their milk and meat.However the ions were very good tradesmen and seamen.of products which they got, to the most far As a result of this two culture�s mixing, the selling countries that can be reached, had realised and thus a great richness began to flow Ephesus.
At last Ephesus became the biggest center of the trade road that was from Asia to Europe. Ephesus began to lead a splendid life. Ephesus� name was started to be remembered with respect and inclination in everywhere. The shore governments of Ions, which directed their own selves, are the first examples of governments that were managed by democracy at history.
Neighbour governments and this provided a peace There was a war between the environment. At this peace environment, they made a decision for being rich by utilising the ground and this was put into practice. Ions held on the elements, which would provide their living together and peacefully, top of everything. They took pains not to break off their religious ties with Greek although they founded independent governments at Anatolia.


Edinburgh Park Leisure's commitment to protecting privacy and data protection has been adopted as a key policy which underpins both this Data Protection Policy and other associated policies used by Edinburgh Park Leisure and its membership.
This policy sets out Edinburgh Park Leisure's approach to protecting personal data and explains your rights in relation to how we may process personal data. More detail in respect of how we process and protect your data is provided below, in particular in section 5.
Edinburgh Park Leisure ("We" in this document) is registered with the Information Commissioner's Office at the following address: 3 Lochside Place , Edinburgh, EH12 9DF. If you have any queries about anything set out in this policy or about your own rights, please write to the GDPR Champion at the above address .
4. How does data protection apply to Members?
Data protection legislation applies to all data controllers regardless of whether they are charities or small organisations. It applies to Members in the same way as it does to other organisations.
5. What type of personal data do we collect and why?
We need this information to communicate with you. We also have a responsibility to keep information about you, both during your membership and afterwards (also to help us if you leave or re-join).
As an employer, we need to keep information relating to each member of staff who has a contract with us. This will include the pre-employment stage, references, and records relating to the time they worked for us, including probationary, appraisal and disciplinary information.
• information that allows us to pay salaries and work with other payroll and pension providers • references, and records relating to the time they worked for EDINBURGH PARK LEISURE, • probationary, appraisal and disciplinary information.
Much of this information will be taken from the job application form.
We benefit from holding lists about potential customers. We may hold the type of information as set out in 5.1.
Our gym operates a CCTV network to help prevent and detect crime and safeguard (protect) people and others. If we can identify somebody from a CCTV image, the image must be processed as personal data.
• We have clear permission from you to do so.
• If we have to supply information to others (for example payroll providers) for processing on our behalf. We do this if we are asked and to make sure that they are keeping to the GDPR and have appropriate confidentiality and security measures in place.
• For safeguarding young people or for other legal reasons.
Everyone who handles personal data (including staff, members, volunteers, payroll and pension providers) must make sure it is held securely to protect against unlawful or unauthorised processing and accidental loss or damage. We take appropriate steps to make sure we keep all personal data secure, and we make all of our staff aware of these steps, including keeping to our internal information and computing technology (ICT) policy. In most cases, personal data must be stored in appropriate systems and encrypted when taken off-site. The following is general guidance for everyone working within Members, including staff.
• You must only store personal data on networks, drives or files that are password protected and regularly backed up.
• You should have proper entry-control systems in place, and you should report any stranger seen in entry-controlled areas.
• You should keep paper records containing personal data secure. If you need to move paper records, you should do this strictly in line with data protection rules and procedures.
• You should not download personal data to mobile devices such as laptops and USB sticks unless absolutely necessary. Access to this information must be password protected and the information should be deleted immediately after use.
• You must keep all personal data secure when travelling.
• Personal data relating to members and volunteers should usually only be stored on the membership database or other specific databases which have appropriate security in place.
• When sending larger amounts of personal data by post, you should use registered mail or a courier. Memory sticks should be encrypted.
• When sending personal data by email this must be appropriately authenticated and password protected. Do not send financial or sensitive information by email unless it is encrypted.
• You should not share your passwords with anyone.
• Different rights of access should be allocated to users depending on their need to access personal or confidential information. You should not have access to personal or confidential information unless you need it to carry out your role.
• Before sharing personal data with other people or organisations, you must ensure that they are GDPR compliant.
• In the event that you detect or suspect a breach you should follow your defined breach response process.
All staff undertake regular training to ensure that they are aware of the above rules.
We expect our staff, managers, trustees, members and any providers we use (for example payroll or pension providers) to keep to the guidelines as set out in our Data Policy and under ICO and GDPR guidance when they are using or processing personal data and other confidential or sensitive information. This is set out more clearly below.
Our Board of Trustees has overall responsibility for Edinburgh Park Leisure and for making sure that we keep to legal requirements, including data protection legislation. Our General Manager and senior team are responsible for making sure we keep to these requirements across Edinburgh Park Leisure.
All staff have a responsibility to keep to the requirements of this data protection policy and our related procedures and processes. Managers are responsible for making sure that staff within their teams are aware of and keep to this. If you become aware of a data protection issue you must report it promptly to the data protection officer or equivalent role holder.
If you do not keep to this data protection policy and its associated policies and procedures, we may take disciplinary action against you.
As part of your data protection duties, you should report urgently any instance where the rules on how we handle personal data are broken (or might be broken).
As far as membership information is concerned, to make sure of continuity (for example if you leave and then re-join), we keep your membership information throughout your membership and after it ends, and we make sure we store it securely.
Only those staff who need membership information to carry out their role have access to that information.
(a) The right to information: As a data controller, we must give you a certain amount of information about how we collect and process information about you. This information needs to be concise, transparent, understandable and accessible.
(b) The right of subject access: If you want a copy of the personal data we hold about you, you have the right to make a subject access request (SAR) and get a copy of that information within 30 days.
(c) The right to rectification: You have the right to ask us, as data controller, to correct mistakes in the personal data we hold about you.
(d) The right to erasure (right to be forgotten): You can ask us to delete your personal data if it is no longer needed for its original purpose, or if you have given us permission to process it and you withdraw that permission (or where there is no other lawful basis for processing it).
(e) The right to restrict processing: In certain circumstances where, for lawful or legitimate purposes we cannot delete your relevant personal information or if you do not want us to delete it, we can continue to store it for restricted purposes. This is an absolute right unless we have a lawful purpose to have it that overwrites your rights.
(f) The obligation to notify relevant third parties: If we have shared information with other people or organisations, and you then ask us to do either (c), (d) or (e) above, as data controller we must tell the other person or organisation (unless this is impossible or involves effort that is out of proportion to the matter).
(g) The right to data portability: This allows you to transfer your personal data from one data controller to another.
(h) The right to object: You have a right to object to us processing your personal data for certain reasons, as well as the right to object to processing carried out for profiling or direct marketing.
(i) The right to not be evaluated on the basis of automatic processing: You have the right not to be affected by decisions based only on automated processing which may significantly affect you.
(j) The right to bring class actions: You have the right to be collectively represented by not-for-profit organisations.
Please note, Subject Access Requests for data held should be made directly to the address above.
Edinburgh Park Leisure collects personal data in order to carry out its business. As a membership organisation we hold data on members and also staff and others, such as customers and donors. We take the issue of privacy very seriously and are committed to protecting and respecting your privacy in compliance with data protection law. This includes when you use our online services and this privacy statement should also be read alongside our website terms and conditions.
When a member registers with Edinburgh Park Leisure we ask for their name, email address and postcode. We will also capture the IP address at the time of registration. We also maintain an ongoing record of members' activities.
We need to make members aware of this when they register with us as should you request at a later stage that we remove all your data, we will not be able to comply with this request.
Our website or other publications may include advertising for other businesses as part of our operation. We may use, and provide to third parties, your contact details but only if you have given explicit consent for us to do so.
We will, as part of our normal operation, communicate information to members which is relevant to their role in Members. In addition our website sends out emails with information to our members. However, members can decide which emails they wish to receive as they register.
Edinburgh Park Leisure adheres to the key principles set out in current data protection legislation.
A current version of this document is available to all members of staff on the shared drive and is published on our web site.
This policy was approved by the Trustees on 22.05.18 and is issued on a version controlled basis under the signature of the General Manager.


It's been a while since I did a post talking all about the books I've hauled recently and there's good reason behind this. I've been on a self-imposed book ban and for the most part I've stuck to it- one of the benefits of being a book blogger are the dozens of books I receive on a monthly basis from publishing houses. It means that generally, I don't have to buy books unless they're ones I really, really want and for the most part I can get by reading the books I get in the post. Richard and I are flying over to Paris tomorrow morning and I'm super excited about this: however, pretty much all of the books on my to-read pile currently are hardbacked and the last thing I want to be doing on a weekend break is lugging around a heavy hardback in my backpack.
I put in a teensy amazon order last night – and it actually WAS teensy, for once- and picked out a few books that have been on my radar for a while now. I tended towards Young Adult fiction this time despite the massive amounts of contemporary fiction in my basket at the time. I thought I'd share the two books that I chose, along with a few of the books I've been sent by publishers recently.
The book I'm currently reading is Whistle in the Dark by Emma Healy. Having read (and of course, loved) Elizabeth is Missingby Emma, I was over the moon to receive a copy of the book for review from the publishers. I was quick to get stuck into the book (although I did finish off my most recent read The Tatooist of Auschwitzbeforehand) and about 120 pages in I'm enjoying it – I am waiting for something big to happen at the moment but I'm sure that that will come soon enough. The story follows Jen, a mother whose 17 year old daughter vanishes seemingly without a trace until suddenly she is found- but nothing goes back to how it used to be. Lana can't – or won't- remember what has happened to her and is reluctant to discuss where she went for those hellish days of Jen's life. However, her daughter is different now and she can't quite put her finger on why or how this is the case. It's fair to say that I am very intrigued to read on and find out all the answers.
Another book I received in the post for review is Kismet by Luke Tredget. I'm not too sure that this one is my cup of tea – based around dating apps, Kismet is a love story, seemingly, and focuses on the inperfections in people and consequently their obsession in finding the perfect match. First of all, I am completely in favour of dating apps. As a person whose work life has completely overshadowed ANY possible chance of going out and meeting people, I understand the convenience of being able to meet and connect with people from home. As a nearly 25-year-old socially inept woman, the prospect of going out and striking up conversation with a potential suiter would absolutely terrify me. I am quite intrigued by this book and am planning on reading this book as soon as I've finished up with Whistle in the Dark.
As most of my readers are probably aware by now, I am a teacher and consequently I spend a lot of my time reading Middle School age books, prior to sharing them with the children in my class. I recently received a copy of The Boy Who Grew Dragons by Andy Shepherd and I cannot wait to share it with the kids at work. I've been reading a chapter at a time whenever I have a chance so I'm already a fair way through the story without even knowing it, and it is absolutely hilarious and exactly the kind of story that my class are going to adore. The cover is absolutely beautiful as well – from the looks of things, I'll definitely be adding the sequel which comes out later this year to my wishlist as well!
The final book from my proof pile for this month's to do list – not that I'm being at ALL ambitious here- is probably the one I'm most excited about and the only psychological thriller I've included! My love for thrillers knows no bounds and I would happily read nothing but thrillers if I had to, so going this long having not read one is definitely unlike me. I'm excited to be a part of the blog tour for How Far We Fall by Jane Shemilt and the book sounds exactly my cup of tea. I'll be sharing my thoughts on this book on the blog on the 30th June so be sure to check back then for a full review if you're interested in this one!
Onto books that I've actually purchased now. My Year 4 English class are using Grandpa Chatterji by Shamila Gavin as their class reader this half term so naturally I bought my own copy to read prior to planning. I was a little bit apprehensive about using this book within my lessons as it's quite old fashioned – I'm pretty sure we might even have read it when I was at school – but having flicked through it I'm reassured that it's of good quality and I'm excited to see what work the children in my class will produce using it. My Year 3 English class are focusing on Greek Mythology this half term so I'm going to be reading lots and lots of Greek Myths and stories based on them in the coming weeks as well!
My final books in this little haul are The List by Siobhan Vivian and 13 Minutes by Sarah Pinborough. Both of these books have been on my radar, and consequently in my Amazon basket, for a good while now. They both fall into the Young Adult category what was just what I was looking for for my trip to Paris – quick and easy reads that don't require all that much thought and that I'll fly through. I'm on track with my Goodreads challenge as it stands but I'm conscious that there's always time to fall way, way behind!
What are you reading at the moment? Have you read any of the books on my list? Let me know in the comments!


The Nikon 10 pin Adapter Cable has a 6 pin Hirose push-pull type connection and secures to the DSLR port of the VMS-333. The 10 pin connector plugs into and fastens to a Nikon's 10 pin port. Contact between these two devices enables the operator to take pictures by a remote trigger or at controlled intervals. The intervals can be based on either time, distance traveled, or (if the camera is in a nadir orientation) the area covered given the camera's field of view. Each photo taken will be geotagged if there is an acquired GPS fix.


performance, are some their secrets.
to be world renowned as an icon of malbec and Argentine wine.
the wine cellar gets your heart pumping through a trilogy.
Understanding its three parts and how the family grows.
At Achaval-Ferrer everything has to do with the vineyards.
about this vision that house marked our path.
as far as soil, climate are irrigation are concerned.


These photographs are self-portraits. They serve as reflections of my experience and address and explore my physically and emotionally painful, private struggles with food, obsession, self-control, and self-image. These brutally honest images serve to shed light on the truth of what it is like for me to live life as Half of myself.
Julia Kozerski is a Milwaukee, Wisconsin based photographer.


"Upon migration to Jersey, the Company ceases to be a body incorporated under the laws of the other legal jurisdiction and becomes a Jersey incorporated company, governed by the laws of Jersey."
The procedure is referred to in the 1991 Law as "continuance", but is also commonly known as "migration" or "redomiciliation", and these terms are used interchangeably.
References in this briefing to the "Company" are references to a corporate body incorporated in a foreign jurisdiction seeking continuance as a Jersey incorporated company.
Upon migration to Jersey, the Company ceases to be a body incorporated under the laws of the other legal jurisdiction and becomes a Jersey incorporated company, governed by the laws of Jersey.
Why migrate a company to another jurisdiction?
The migration of a company can, in certain cases, be a cost effective means of moving business from one jurisdiction to another, as the company moved to the new jurisdiction will retain legal liability for all of its former contractual obligations without need for complex and costly arrangements for business transfer or assignment or novation of existing contractual agreements, and without giving rise in certain circumstances to transfers of property which could create liability to tax in certain jurisdictions.
It is also possible to utilise migration legislation to take advantage of more flexible regulation, costs and business opportunities associated with certain types of regulated activity by moving them to a jurisdiction where those costs are lower.
The Company must apply for prior consent from the Jersey Financial Services Commission (the "Commission"), Jersey's government authority which regulates financial services.
Consent of an official or public body in the jurisdiction from which the Company intends to migrate will invariably be required. It is therefore sensible to confirm, at an early stage, the procedural requirements of that other jurisdiction.
The procedure to be undertaken in Jersey can be categorised in three stages: stage 1 being those steps to be taken prior to making the application to the Commission; stage 2 being the submission of that application; and stage 3 being the final steps undertaken once the Company's application has been approved by the Commission.
Creation and approval of articles of continuance: As the constitutional documents governing the Company will not comply with the requirements of the 1991 Law, the Company's members must adopt amended constitutional documents which the 1991 Law refers to as "articles of continuance" and which take effect upon the Company becoming a Jersey incorporated company.
The articles of continuance must be submitted with the application to the Commission and, therefore, must be created and approved in advance of making that application.
Determination of company administration services required: At the least, any Jersey company will need a registered office address in Jersey, and consideration should be given at an early stage of the extent to which administration services will be relocated to a Jersey based service provider.
Client identification: Jersey's regulatory regime requires that full disclosure of the activities and ultimate beneficial ownership of every Jersey company is made to the Commission. In advance of the Company continuing as a Jersey incorporated company, specific "client due diligence" and anti-money laundering documentation in respect of each ultimate beneficial owner of the Company must be provided to the Company's Jersey based administrators.
Taxation and third party arrangements: Taxation advice from all relevant jurisdictions should be obtained, together with confirmation that no existing agreements or other arrangements which the Company has with third parties would be adversely affected by the Company's migration.
The prescribed C100 application form is submitted to the Commission along with the required supporting documents (including constitutional documents and certain confirmations to be given by the directors) and an application fee which is currently £500.
The Commission will inform Jersey's registrar of companies (the "Registrar") that it has granted the Company's application and the Registrar will then issue the Company with a certificate of continuance.
Upon issue of the certificate of continuance, the Company becomes a Jersey incorporated company, and the articles of continuance become the Company's new constitutional documents.
The Registrar will provide a copy of the Company's certificate of continuance which will ordinarily be sent to the appropriate official or public body in the jurisdiction in which the Company was previously incorporated.
Ordinarily, the Commission should be provided with a copy of the instrument effecting the Company's deregistration as a body incorporated in the other jurisdiction.
The Commission will require confirmation that the interests of the Company's members and creditors will not be unfairly prejudiced by the migration to Jersey.
all actions and legal proceedings which are pending by or against the Company may still be continued by or against it.
The Company's directors, and those persons who will be directors of the Company following its migration, must state to the Commission that the Company can satisfy a solvency test set out in the 1991 Law.
The Company will not be able to apply to migrate to Jersey if it is in the process of liquidation, or the subject of various actions or procedures detailed in the 1991 Law which are indicative of bankruptcy.
The Commission will not grant the Company's application unless satisfied that the laws of the Company's existing jurisdiction allow it to migrate to Jersey, that any authorisation required in that other jurisdiction has been given and that, upon incorporation as a Jersey company, the Company will cease to be a body incorporated in the other jurisdiction.
any document containing any such information, is guilty of an offence.
Confirm that the Company can meet the requirements for migration imposed by the Jersey authorities and the authorities in the other jurisdiction.
Determine those services to be provided to the Company by Jersey based administrators and provide the necessary client identification documentation.
Obtain tax advice and confirmation that no existing agreements or other arrangements which the Company has with third parties would be adversely affected by the Company's migration.
Obtain approval for the articles of continuance from the members of the Company.
Following approval by the Commission, the Registrar will issue the Company's certificate of continuance.
Provide the Commission with a copy of the instrument effecting the Company's deregistration as a body incorporated in the other jurisdiction.


Brian Fitzgerald went from being born and raised in a rough neighborhood in New York City, to rising through the ranks from intern to the position of CEO and President of Easterseals New Jersey, the leading disability services not-for-profit. Before fully devoting to Easterseals, Fitzgerald served in the United States Armed Forces completing a tour in Vietnam from 1967-1972, where he was recognized for his valor and meritorious service. He later went on to obtain his Bachelor's and a Master's in Rehabilitation Counseling from Seton Hall University.
Helen Drobnis has been with Easterseals New Jersey as its Chief Advancement Officer and Corporate Secretary for over 20 years. She manages over 1 million dollars in operating budget and oversees several teams including Marketing, Development, Office of the President, and Office Support. She is also the organizational liaison for the company's Board of Directors helping to facilitate their governance, legal, and fiduciary responsibilities.
Prior to her work at Easterseals New Jersey, Helen Drobnis was assistant to the president at Hudson County Community College in Jersey City where she grew up. During her eleven-year tenure with the college, Helen worked with executive management and the University's Board of Directors to grow the college so it could best serve the needs of Hudson County residents.
Mike Owen currently holds the dual role of Chief Human Resources Officer and General Counsel at Easterseals New Jersey. Over the course of his career, Owen has held multiple senior level Human Resources positions within organizations such as Princeton University, MetLife, and Montclair State University. Owen began his career with an undergraduate degree from the University of Pennsylvania and a law degree from Villanova University where he received his juris doctorate. He served six years as a public defender in Chester County, Pennsylvania before transitioning to the world of Human Resources. His work in Human Resources eventually led him to receiving the Gannett Company Inc.'s highest honor as a President's Ring Award winner, given only to select HR leaders nationwide. In addition, Mike became a sought after speaker on topics such as "modernization of management through the strategic applications of HR practice." Owen now continues to demonstrate and utilize his leadership skills and legal expertise every day as leader of our dynamic HR department and member of the Easterseals Senior Leadership Team.
Aleisha Hart joined Easterseals New Jersey in 2008 as a Senior Financial Analyst and currently holds the position of Chief Financial Officer responsible for managing a portfolio of over 100 million dollars on average. A member of the American Institute of CPAs and the Institute of Management Accountants, Hart earned her Bachelor's Degree in Science from Wilberforce University. She now boasts almost 30 years of practice in corporate finance and accounting and over 20 years of leadership proficiency. Her experience during this time spans various industries including real estate, government, and non-profit to name a few. Hart was one of the nominated finalists of the 2016 NJBIZ CFO of the Year Rising Stars Awards and was also a recipient of the esteemed Easterseals Clark J. Paradise Award which is given out to an employee of Easterseals who exemplifies the highest standard of the company's mission. Aleisha is known as a quick study with a passion for her work and prides herself on getting more done with less!


Taking time to connect with nature is one of the best things we can do for our health and wellbeing, and for our kids. Time in nature is important to unplug from technology and really connect with ourselves and each other.
Find out how I can help you, your family, friends and your teams connect with nature and reconnect with ourselves for improved wellbeing.
Being in nature promotes a sense of joy and wonder. It encourages curiosity and creativity. It helps build confidence, resilience, and improves mental, emotional, social and physical health.
When we connect with and experience nature we naturally learn about, understand and fall in love with it, and this love translates to caring and protecting nature, which it needs now more than ever.
Nature has been a constant source of calm, and connection in my life. I've personally experienced the phenomenal healing power and the absolute joy of being in nature, many, many times over. As such, I love sharing the magic of nature with kids of all ages (that's you too, adults) and seeing the enormous benefits that come out of those experiences.
Join me to, connect with nature, reconnect with yourself.
There are a number of ways I can work with you, your family, friends and your business to help you connect with nature and reconnect with yourself for improved wellbeing.
My guided walks and nature connection experiences are based in stunning settings around the Bay of Plenty - in lush native bush, near rivers and streams, and the sea.
Nurture yourself in nature with Women in the Wild. Join me for small group wellbeing wanders & nature connection experiences in magical settings around the Bay of Plenty.
Together with a group of like-minded ladies we slow down, mindfully wander and connect with nature to reconnect with ourselves, and experience the incredible healing power of Mama Nature.
These nourishing experiences are also perfect for groups of friends, retirement village groups, and mums with their daughters. Contact Kathy to chat about a wellbeing wander to suit your group and book a date.
People work better when they feel healthy, happy and connected. Time spent in nature helps develop these feelings and more.
Being in nature promotes calm, clarity and connectedness with self and others. Nature time boosts creativity and creative thinking, it improves productivity and problem solving abilities and builds healthy, happy, strong staff and teams through shared experiences.
This is where Workplace in the Wild can help. Every team is unique, so let me design a Workplace Wellbeing Wander to suit your team.
Tea & treats under the trees.


Here you'll find information regarding your WEA Representatives, elected leadership, and the structure of our organization. For more details, members should check out the password protected members only section.
The WEA Congress is the legislative body of the union. It is comprised of the building reps, the Trustees, and the MEA & NEA Representative Assembly (RA) Delegates.
Your building reps are an important source of information. Building reps are elected at the beginning of the school year and hold office from September 1 through August 31 of the following school year.
The Board of Trustees is the executive body of the union. It is comprised of the President, Vice President, Congressional Trustee, Zone Trustees, and the Executive Director. All members are elected for two-year term, with the exception of the Executive Director who is hired by the Warren EA and the Fitzgerald EA.
The bargaining team represents the WEA during contract negotiations. It is chaired by the President and reports to the Board of Trustees, Congress and the membership. Members of the WEA Bargaining Team are appointed by the WEA President and approved by the Board of Trustees and Congress.
Lisa Sikoski – WEA Vice President – Cromie E.S.
Christy Stone – Wilde E.S.
Bob Delicato – Grissom M.S.
The Board of Reference is the judicial body of the WEA. It consists of five "judges" appointed by the President, and approved by the Congress each June. These judges serve three-year, staggered terms. They handle any disputes that come up within the union.
IMPACT is the political action arm of the Warren Education Association and Fitzgerald Education Association. It is governed by its own board of trustees, who are elected by WEA and FEA members to alternating two-year terms. They make decisions about supporting candidates and issues that impact all or our lives as public education employees.
Melissa Hardy – Carleton M.S.
Lisa Kennedy – Wilde E.S.
R.A. stands for Representative Assembly. These positions are elected in the March General Elections for 2 year terms that run from September 1 of the year elected through August 31 two years later. Over the course of your term, delegates are expected to represent the Warren Education Association at the MEA Representative Assembly meetings held in Lansing in the spring. Each of these meetings will take place in Lansing. In addition to the two MEA RAs that are held during the term of office, RA Delegates serve as the WEA's delegates to Region 6. Region 6 meets four times a school year at Anchor Bay Middle School North. These meetings take place once in each of the following months: October, December, January, and March.
These positions are elected in the March General Elections for a 2 term that begins July 1 through two years ending June 30. Over the course of the term, the NEA RA Delegates are invited to attend the NEA Representative Assembly will be held annually at the end of June/beginning of July in various locations.
Currently, the Warren Education Association reimburses delegates to partially cover the cost of attending the NEA RAs. The WEA understands that delegates may not be able to attend due to the dates or cost of attending.


The gum tissue plays an important role in the overall appearance of your smile. If you show a lot of gum tissue when you smile, or if your tissue heights are uneven, we can re-contour the heights of your gums helping the teeth appear taller and more symmetrical.
Using the latest technology, we use a laser which removes the excess tissue with minimal discomfort.
Description of Treatment: This patient didn't like the unevenness of her gums and the slant of her smile. A combination of laser treatment to make the gums more even and reshaping the teeth create the illusion of a more aesthetic and symmetrical smile.
Patient Testimonial: I was unhappy with my crooked smile and didn't like the way my gum was uneven. My dentist referred me to Dr. Brennan.
Using a laser and by changing the shape of my teeth in a very conservative way he transformed my smile and I am truly delighted.
I am a very nervous dental patient and was made to feel so comfortable during my appointments. I am so grateful to Dr. Brennan and his nurses for their kindness and courtesy. It was an amazing experience for me and I love my new smile. Thank you so much.
Description of Treatment: This patient initially had orthodontic treatment to re-align the position of their teeth. Some front teeth were congenitally missing from birth. When the braces were removed the gum was recontoured using a laser to reduce the amount of gum visible in the smile and allow the natural size of tooth to become visible. The smile was then restored by placing composite veneers on the teeth.
Description of Treatment: This patient was referred by their general dentist for re-shaping of the gum after which his dentist is placing crown and veneers. A laser was used to remove gum in a procedure called crown lengthening.
Patient Testimonial: With no small degree of trepidation I recently attended Dr Brennan at the Belgrave Dental Clinic. Following a brief discussion with my regular dentist, I was referred to Dr Brennan in order to avail of his expertise in the field of Laser Dentistry.
It's immediately obvious that previously invasive dental procedures can now be carried out in an effective, timely and pain-free manner. In my case, the procedure to re-contour my gum line potentially involved a more invasive surgical procedure when conventional gum surgery techniques are used . Instead, I underwent a completely non-invasive treatment with Dr Brennan.
Laser gum treatment isn't really comparable to other dental procedures. In sharp contrast to more traditional and indeed intrusive treatments, involving dentists' much maligned repertoire of drills and intimidating looking implements, laser dentistry is practically pain free. Following the initial anaesthetic injection, the only sensation is one of confusion, why isn't this procedure more widespread?
After care is equally impressive, I returned to work the following day, with only very minor irritation. I would estimate 2-3 days recovery before you can essentially forget the procedure was carried out. Considering the quite aggressive alternative to laser gum surgery and the reasonable monetary costs involved, I would fully recommend the procedure to anyone looking to avail of modern pain free dental treatment.
Description of Treatment: This patient had the Frenum removed with a laser.
Description of Treatment: These patients were treated by recontouring their gum with a laser to show more tooth and have a less "gummy smile". The treatment was completed with tooth whitening and resin veneers.
Description of Treatment: After completing orthodontic treatment this 18 year old patient was treated by: - recontouring her gums with a laser to allow her show more tooth and have a less "gummy smile", - brightening her teeth using a tooth whitening/bleaching protocol. These photographs below show the effect of recontouring the gum using a laser and thereby enhancing the size of the teeth.