When someone comes across the high priestess card in their tarot spread, this is how tarot readings can suddenly become very complex and more reliant on the subject of the reading for information than any other reading would be.
For the most part, the high priestess on her own represents secrets. If you have a secret or are keeping one from someone else, then the high priestess might show up for you. If there is a secret that you know of and are desperately burning for some explanation to it, then the high priestess might show up to let you know that seeking an answer is going to become much more difficult than you had originally imagined.
For men, the high priestess is seen as a symbol for the perfect woman. The high priestess will show up in your tarot spread if you have the perfect woman already in your life, or if one of your greatest passions is the perfect woman. Conversely, if the subject who is being read is a heterosexual woman then the appearance of the high priestess in your spread usually alludes to yourself, meaning that you have attained her status. Of course nobody is perfect, but her solitary nature proves that you are currently at a state where you do not need validation from men, and can live a solitary life if you so wish. You are not dependant on anyone else and you are much stronger for it.
For some more examples related to how she might show up in a spread these top two examples of the perfect woman and the solitary woman both become especially relevant to you if she shows up in the relationship section of a four point spread. However, if she happens to show up in the financial section, this could mean that some secret is being kept from you related to your work. The other possibility is that it could mean that you are harboring a secret about your work that you are not sharing with anyone.
If the high priestess shows up in your spread in the finances area, this could mean that if you were recently considering your financial future, the answer will remain unclear. Is there some secret to making money that you were thinking of? Perhaps your finances are hanging on a thread and you are not sure whether or not you will be able to make the house payment for next month. If this is the case, then the high priestess usually lets you know that this will remain a mystery to you for now.
In relation to the high priestess appearing in the health section of a conventional tarot spread, while this does not necessarily mean you are in danger, it means that you should tread carefully with some of your future decisions about your health. Whatever you do in the future may lead to a serious health situation where the future outcome of what will happen to you is a total mystery.


text:
YouFitHere Student Stories »
Daliza's Fit
Activities & Employment
A Community of Support
YouFitHere - A Message from President Rich Lapidus
First-Year Experience (FYE) Seminar
YouFitHere Student Stories
Christopher's Fit
Francisco's Fit
Melissa's Fit
Demetra's Fit
Daliza's Fit
Daliza Rosario ('18)
Daliza Rosario did not make her college choice in a vacuum, conducting a thorough assessment of all her options instead. She considered a total of 10 universities before deciding to become a Falcon.
Daliza said she knew that Fitchburg State was home as soon as she saw campus at an open house.
"It was immediately welcoming and warm, and nobody here was unapproachable."
For Daliza, the key to maintaining her academic success was to take advantage of our student support services before she needed the help.
"Students shouldn't wait to ask for help. Most of the time they go when it's too late in the semester to do anything about it."
Staying on top of her grades was a priority, but Daliza didn't let that stop her from enjoying a robust college experience. She was a prominent member of both the Latin American Student Organization and the Center for Diversity and Inclusiveness, and also taught Latin dance on campus. These activities did more than just help foster a sense of belonging, but also introduced her to friends and acquaintances she says she could not image being without.
"Get out of your room. Out of your comfort zone. It's so important. Everyone tells you the same thing because it's the truth."

redpajama_set_name: RedPajamaCommonCrawl


text:
Dnr Clarifies New Rifle Legislation For Deer Looking
The quantity of individuals who hunt these varmints are miniscule compared to a median 250,000 deer hunters who take to the woods during our common firearms deer looking season, so that's not a good comparison. Due to current laws passed this 12 months by the Indiana General Assembly, hunters can now not use rifles when searching deer on public land. The invoice authorizes 5 calibers by name now legal to hunt with and descriptions cartridge specs additionally acceptable in rifles however only on non-public property. It additionally makes "pistol" accredited cartridges authorized to hunt with in rifles on both non-public property and public lands. According to a release from the Indiana Department of Natural Resources, it's acquired questions on recent laws that legalized certain rifles for deer searching.
Democratic processes and public hearings are put in place to maintain the people's wildlife managed for the frequent good. It's unlawful to hunt, shoot at, or kill a deer or to shoot at any deer from inside, into, upon, or across any public highway. Fixing the problem is all fine and well, however keep in mind… Indiana deer firearms season starts Nov. 18 and ends on Dec. 3, 2017. It has turn out to be very apparent many of our Hoosier legislators might stand a lesson in the construction of fish and sport laws in our state. Our State has a Natural Resource Commission who ought to be involved in such rule changes.
Last week Gov. Mike Pence signed broadly supported legislation to ascertain rifle seasons for the Indiana deer hunters, despite push back from state conservation authorities. In 2017, the Indiana legislature again amended the rifle-deer-hunting statute, however the limitation of rifle searching to private lands solely remained in effect. The General Assembly's failure to broaden rifle-deer-hunting through the amendment process is a transparent indication of legislative intent to restrict use to personal lands during the firearm season. The solely photos the CWE member could take that day have been of the "Park Closed" obstacles placed on the park entrance. IDNR claims park closures are necessary due to a wildlife "emergency".
Most need to do with calibers and cartridges allowed underneath the new regulation. The Department of Natural Resources has received numerous questions regarding current laws that legalizes sure rifles for deer looking starting later this year. Most questions have to do with calibers and cartridges allowed beneath the new law.
That is the reason the DNR listed all caliber that may be authorized under the legislatures blundering. Trying to buy a field of shells for some of these loopy calibers listed. This was released days after the legislatures botched the attempt at only allowing 5….DNR clarified and listed ALL round allowed underneath the bill's wording. Some outdoorsmen argue lawmakers are overstepping their mandate and not allowing the conservation agency and its stewards to do their job.
Indiana is a main instance of what occurs when state government meddles with the Department of Natural Resources management decisions. Take as an example, the resurrection of permitting the use of high powered rifles during Hoosier deer season. DNR will submit an influence report back to the Governor and the General Assembly when HEA 1231 expires. The use of a rifle is permitted during searching seasons established by the department.
The two crucial statutes IDNR relies on to enable rifle entry to state parks and historic sites are nowhere to be discovered in the Department's Emergency Rule authorization. More importantly, neither statute grants legal authority to IDNR to deviate from the general public's participation as required within the rulemaking process. "We aren't increasing the season or the number of deer a hunter can take," mentioned Arnold.
To conceal its deer killing information, the Village put forth a defense that was tantamount to arguing that its activities were "too controversial" to disclose the place, when, and how they might happen. Perhaps much more troubling was the Village's place that mere controversy or disagreement surrounding a governmental activity legally shields these information from public scrutiny. LaVeck submitted a Village-level enchantment, but Lansing's Mayor supplied no additional clarification for the denial or clarification as to whose security and privateness the Village was attempting to protect.
As written, the legislation excludes rifles utilizing pistol ammunition which had been once legal to be used. As far as personal land goes, HEA1415 allows some further rifle cartridges to be used. HEA 1231 is scheduled to expire after the 2020 deer season, at which period the DNR will submit an influence report to the Governor and the General Assembly. The measure, launched by House Republicans in January handed that physique in a straightforward 84-5 vote earlier than transferring on to a win within the Senate earlier this month. However, last May the Indiana Department of Natural Resources and the Natural Resources Commission, arguing the state's 266,500 deer hunters had been split on the issue, had already decided towards such a transfer.
Five others have it due to their larger population density — Maryland, New Jersey, Massachusetts, Rhode Island and Delaware. Michigan permits high-powered rifles for deer solely in the northern a part of the state, which has more hills. It is the agency's responsibility to prove an ecological necessity exists on 17 state park properties after deer carved pumpkins which address these conditions themselves. Even if the necessity for some type of wildlife "management" had been confirmed, IDNR cannot legally delegate this work to others. More particularly, IDNR can't delegate this "management" responsibility to privately licensed, rifle-deer-hunters.


text:
Robert James Robertson
June 3, 1933 March 9, 2013
Celebrating the life of Robert James Robertson
Obituary for Robert James Robertson
ROBERTSON, Robert James (Age 79) Born the eldest of two sons June 3, 1933 in Spokane, of Salvation Army officer parents and Deep Creek and Rathdrum pioneer stock, Bob was a man with a firm sense of decency. He picked up a taste for adventure from family experiences gold prospecting, organizing the Lidgerwood Boys Club, and working construction around the West. Bob captained the basketball team and presidented the student body at Rogers High School. He married his sweetheart Theresa (Ann) Griffiths in 1953. Bob started his education degree at WSC, Pullman, and later finished with a Bachelor's at Alaska Methodist University. After a creatively served US Army stint in Japan, in which he claimed to have discovered every opportunity to avoid KP, he moved to Alaska Territory to work construction for Uncle Percy. Bob, his parents, brother Lloyd, their wives, and nine children under five years old drove the Alcan Highway in two trailers. Soon he joined the Alaska State Troopers, serving as dispatcher, trooper then both developer and lead trainer at the new Training Academy until 1968. His posts ranged from Anchorage and Eagle River to Juneau and Kenai--with calls to seemingly every remote village. Bob penned his colorful adventures in a treasured book of humorous reminiscences. From 1968 to 1995 he was a judge (hearing examiner) with the Washington DMV. In his spare time he organized the Willard School penny carnival, backpacked, and ran Bloomsday. In retirement, he traveled the world with Ann, cruising to all seven continents; skydove; hot-air ballooned; soared; ziplined and painted beautifully. Bob joined the Westerners in the 1950s and became a scholar of Gen. George Custer, participating in annual Custer Battlefield Historical Association meetings into the 2000s. Bob was preceded in death by father Floyd Alexander, mother Bonnie Mae, brother Lloyd and son Paul. He is survived by wife Ann, children Jim (Mary), John (Debbie), Mark (Moni), Sue, Denise (Mary Lynn), Dave (Annalisa) and Janet (Mike), grandchildren Ian, Ashley, Nick, Matt, Katie, Dashiell, Claire, Brandon, Tobias, Maud, Augie, Esme, India, Seth, Selah and Abigail, and great-grandchild Sherae
To plant a tree in memory of Robert James Robertson, visit the Tribute Store.
Share Robert James Robertson's life celebration
"Email Address" would like to share the life celebration of Robert James Robertson. Click on the "link" to go to share a favorite memory or leave a condolence message for the family.


This one was held at Captain Humble's Po-Boy Shop in Slidell, LA on November 1, 2008. It brought together radio people from all over the New Orleans radio dial from the 1960's and later. Bob Walker shot and posted the video. Thanks, Bob!


text:
"""
***************************
Synapse command line client
***************************

The Synapse Python Client can be used from the command line via the **synapse**
command.

Installation
============

The command line client is installed along with `installation of the Synapse
Python client <http://python-docs.synapse.org/index.html#installation>`_.

Help
====

For help, type::

    synapse -h.

For help on specific commands, type::

    synapse [command] -h

Optional arguments
==================

.. code-block:: shell

    -h, --help            show this help message and exit
    --version             show program's version number and exit
    -u SYNAPSEUSER, --username SYNAPSEUSER
                        Username used to connect to Synapse
    -p SYNAPSEPASSWORD, --password SYNAPSEPASSWORD
                        Password used to connect to Synapse

Commands
========
  * **login**            - login to Synapse and (optionally) cache credentials
  * **get**              - download an entity and associated data
  * **add**              - add or modify content to Synapse
  * **delete**           - removes a dataset from Synapse
  * **mv**               - move a dataset in Synapse
  * **cp**               - copy an entity/dataset in Synapse
  * **query**            - performs SQL like queries on Synapse
  * **submit**           - submit an entity for evaluation
  * **set-provenance**   - create provenance records
  * **get-provenance**   - show provenance records
  * **set-annotations**  - create annotations
  * **get-annotations**  - show annotations
  * **show**             - show metadata for an entity
  * **onweb**            - opens Synapse website for Entity
  * **show**             - Displays information about a Entity

A few more commands (cat, create, update, associate)

"""
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
from builtins import str
from builtins import input
import six

import argparse
import os
import collections
import shutil
import sys
import synapseclient
import synapseutils
from . import Activity
from . import utils
import signal
import json
import warnings
from .exceptions import *
import getpass

def query(args, syn):
    try:
        signal.signal(signal.SIGPIPE, signal.SIG_DFL)
    except (AttributeError, ValueError):
        ## Different OS's have different signals defined. In particular,
        ## SIGPIPE doesn't exist on Windows. The docs have this to say,
        ## "On Windows, signal() can only be called with SIGABRT, SIGFPE,
        ## SIGILL, SIGINT, SIGSEGV, or SIGTERM. A ValueError will be raised
        ## in any other case."
        pass
    ## TODO: Should use loop over multiple returned values if return is too long
    results = syn.chunkedQuery(' '.join(args.queryString))
    headings = collections.OrderedDict()
    temp = [] # Since query returns a generator, the results must be stored locally
    for res in results:
        temp.append(res)
        for head in res:
            headings[head] = True
    if len(headings) == 0: # No results found
        return
    sys.stdout.write('%s\n' %'\t'.join(headings))
    for res in temp:
        out = []
        for key in headings:
            out.append(str(res.get(key, "")))
        sys.stdout.write('%s\n' % "\t".join(out))

def _getIdsFromQuery(queryString, syn):
    """Helper function that extracts the ids out of returned query."""
    ids = []
    for item in  syn.chunkedQuery(queryString):
        key = [k for k in  item.keys() if k.split('.', 1)[1]=='id'][0]
        ids.append(item[key])
    return ids

def get(args, syn):
    if args.recursive:
        if args.version is not None:
            raise ValueError('You cannot specify a version making a recursive download.')
        synapseutils.syncFromSynapse(syn, args.id, args.downloadLocation)
    elif args.queryString is not None:
        if args.version is not None or args.id is not None:
            raise ValueError('You cannot specify a version or id when you are dowloading a query.')
        ids = _getIdsFromQuery(args.queryString, syn)
        for id in ids:
            syn.get(id, downloadLocation=args.downloadLocation)
    else:
        ## search by MD5
        if isinstance(args.id, six.string_types) and os.path.isfile(args.id):
            entity = syn.get(args.id, version=args.version, limitSearch=args.limitSearch, downloadFile=False)
            if "path" in entity and entity.path is not None and os.path.exists(entity.path):
                print("Associated file: %s with synapse ID %s" % (entity.path, entity.id))
        ## normal syn.get operation
        else:
            entity = syn.get(args.id, version=args.version, # limitSearch=args.limitSearch,
                             downloadLocation=args.downloadLocation)
            if "path" in entity and entity.path is not None and os.path.exists(entity.path):
                print("Downloaded file: %s" % os.path.basename(entity.path))
            else:
                print('WARNING: No files associated with entity %s\n' % entity.id)
                print(entity)

        print('Creating %s' % entity.path)

def store(args, syn):
    #If we are storing a fileEntity we need to have id or parentId
    if args.parentid is None and args.id is None and args.file is not None:
        raise ValueError('synapse store requires at least either parentId or id to be specified.')
    #If both args.FILE and args.file specified raise error
    if args.file and args.FILE:
        raise ValueError('only specify one file')
    args.file = args.FILE if args.FILE is not None else args.file
    args.type = 'FileEntity' if args.type == 'File' else args.type

    if args.id is not None:
        entity = syn.get(args.id, downloadFile=False)
    else:
        entity = {'concreteType': 'org.sagebionetworks.repo.model.%s' % args.type,
                  'name': utils.guess_file_name(args.file) if args.file and not args.name else None,
                  'parentId' : None,
                  'description' : None,
                  'path': args.file}
    #Overide setting for parameters included in args
    entity['name'] =  args.name if args.name is not None else entity['name']
    entity['description'] = args.description if args.description is not None else entity.get('description', None)
    entity['parentId'] = args.parentid if args.parentid is not None else entity['parentId']
    entity['path'] = args.file if args.file is not None else None
    entity['synapseStore'] = not utils.is_url(args.file)

    used = _convertProvenanceList(args.used, args.limitSearch, syn)
    executed = _convertProvenanceList(args.executed, args.limitSearch, syn)
    entity = syn.store(entity, used=used, executed=executed)
    print('Created/Updated entity: %s\t%s' %(entity['id'], entity['name']))

    # After creating/updating, if there are annotations to add then
    # add them
    if args.annotations is not None:
        # Need to override the args id parameter
        setattr(args, 'id', entity['id'])
        setAnnotations(args, syn)

def move(args, syn):
    """Moves an entity specified by args.id to args.parentId"""
    ent = syn.get(args.id, downloadFile=False)
    ent.parentId= args.parentid
    ent = syn.store(ent, forceVersion=False)
    print('Moved %s to %s' %(ent.id, ent.parentId))

def associate(args, syn):
    files = []
    if args.r:
        files = [os.path.join(dp, f) for dp, dn, filenames in
                 os.walk(args.path) for f in filenames]
    if os.path.isfile(args.path):
        files = [args.path]
    if len(files) == 0:
        raise Exception(("The path specified is innacurate. "
                         "If it is a directory try using 'associate -r'"))
    for fp in files:
        try:
            ent = syn.get(fp, limitSearch=args.limitSearch)
        except SynapseFileNotFoundError:
            print('WARNING: The file %s is not available in Synapse' %fp)
        else:
            print('%s.%i\t%s' %(ent.id, ent.versionNumber, fp))

def copy(args,syn):
    mappings = synapseutils.copy(syn, args.id, args.destinationId,
                         copyWikiPage=args.skipCopyWiki,
                         excludeTypes=args.excludeTypes,
                         version=args.version, updateExisting=args.updateExisting,
                         setProvenance=args.setProvenance)
    print(mappings)

def cat(args, syn):
    try:
        signal.signal(signal.SIGPIPE, signal.SIG_DFL)
    except (AttributeError, ValueError):
        ## Different OS's have different signals defined. In particular,
        ## SIGPIPE doesn't exist one Windows. The docs have this to say,
        ## "On Windows, signal() can only be called with SIGABRT, SIGFPE,
        ## SIGILL, SIGINT, SIGSEGV, or SIGTERM. A ValueError will be raised
        ## in any other case."
        pass
    entity = syn.get(args.id, version=args.version)
    if 'files' in entity:
        for filepath in entity['files']:
            with open(os.path.join(entity['cacheDir'], filepath)) as inputfile:
                for line in inputfile:
                    sys.stdout.write(line)

def ls(args, syn):
    """List entities in a Project or Folder"""
    syn._list(args.id, recursive=args.recursive, long_format=args.long, show_modified=args.modified)

def show(args, syn):
    """Show metadata for an entity."""

    ent = syn.get(args.id, downloadFile=False)
    syn.printEntity(ent)
    sys.stdout.write('Provenance:\n')
    try:
        prov = syn.getProvenance(ent)
        print(prov)
    except SynapseHTTPError:
        print('  No Activity specified.\n')

def delete(args, syn):
	if args.version:
	    syn.delete(args.id, args.version)
	    print('Deleted entity %s, version %s' % (args.id, args.version))
	else:
	    syn.delete(args.id)
	    print('Deleted entity: %s' % args.id)

def create(args, syn):
    entity={'name': args.name,
            'parentId': args.parentid,
            'description':args.description,
            'concreteType': 'org.sagebionetworks.repo.model.%s' %args.type}
    entity=syn.createEntity(entity)
    print('Created entity: %s\t%s\n' %(entity['id'],entity['name']))

def onweb(args, syn):
    syn.onweb(args.id)

def _convertProvenanceList(usedList, limitSearch, syn):
    if usedList is None:
        return None
    usedList = [syn.get(target, limitSearch=limitSearch) if
                (os.path.isfile(target) if isinstance(target, six.string_types) else False) else target for
                target in usedList]
    return usedList

def setProvenance(args, syn):
    """Set provenance information on a synapse entity."""

    activity = Activity(name=args.name, description=args.description)

    if args.used:
        for item in _convertProvenanceList(args.used, args.limitSearch, syn):
            activity.used(item)
    if args.executed:
        for item in _convertProvenanceList(args.executed, args.limitSearch, syn):
            activity.used(item, wasExecuted=True)
    activity = syn.setProvenance(args.id, activity)

    # Display the activity record, if -o or -output specified
    if args.output:
        if args.output=='STDOUT':
            sys.stdout.write(json.dumps(activity))
            sys.stdout.write('\n')
        else:
            with open(args.output, 'w') as f:
                f.write(json.dumps(activity))
                f.write('\n')
    else:
        print('Set provenance record %s on entity %s\n' % (str(activity['id']), str(args.id)))

def getProvenance(args, syn):
    activity = syn.getProvenance(args.id, args.version)

    if args.output is None or args.output=='STDOUT':
        print(json.dumps(activity, sort_keys=True, indent=2))
    else:
        with open(args.output, 'w') as f:
            f.write(json.dumps(activity))
            f.write('\n')

def setAnnotations(args, syn):
    """Method to set annotations on an entity.

    Requires a JSON-formatted string that evaluates to a dict.

    Annotations can be updated or overwritten completely.

    """

    try:
        newannots = json.loads(args.annotations)
    except Exception as e:
        sys.stderr.write("Please check that your JSON string is properly formed and evaluates to a dictionary (key/value pairs). For example, to set an annotations called 'foo' to the value 1, the format should be '{\"foo\": 1, \"bar\":\"quux\"}'.")
        raise e

    if type(newannots) is not dict:
        raise TypeError("Please check that your JSON string is properly formed and evaluates to a dictionary (key/value pairs). For example, to set an annotations called 'foo' to the value 1, the format should be '{\"foo\": 1, \"bar\":\"quux\"}'.")

    entity = syn.get(args.id, downloadFile=False)

    if args.replace:
        annots = newannots
    else:
        annots = syn.getAnnotations(entity)
        annots.update(newannots)

    syn.setAnnotations(entity, annots)

    sys.stderr.write('Set annotations on entity %s\n' % (args.id, ))

def getAnnotations(args, syn):
    annotations = syn.getAnnotations(args.id)

    if args.output is None or args.output=='STDOUT':
        print(json.dumps(annotations, sort_keys=True, indent=2))
    else:
        with open(args.output, 'w') as f:
            f.write(json.dumps(annotations))
            f.write('\n')

def submit(args, syn):
    '''
    Method to allow challenge participants to submit to an evaluation queue.

    Examples::
    synapse submit --evaluation 'ra_challenge_Q1_leaderboard' -f ~/testing/testing.txt --parentId syn2345030 --used syn2351967 --executed syn2351968
    synapse submit --evaluation 2343117 -f ~/testing/testing.txt --parentId syn2345030 --used syn2351967 --executed syn2351968
    '''
    #check if evaluation is a number, if so it is assumed to be a evaluationId else it is a evaluationName
    if args.evaluation is not None:
        try:
            args.evaluationID = str(int(args.evaluation))
        except ValueError:
            args.evaluationName = args.evaluation

    # checking if user has entered a evaluation ID or evaluation Name
    if args.evaluationID is None and args.evaluationName is None:
        raise ValueError('Evaluation ID or Evaluation Name is required\n')
    elif args.evaluationID is not None and args.evaluationName is not None:
        sys.stderr.write('[Warning]: Both Evaluation ID & Evaluation Name are specified \n EvaluationID will be used\n')
    elif args.evaluationID is None: #get evalID from evalName
        try:
            args.evaluationID = syn.getEvaluationByName(args.evaluationName)['id']
        except Exception:
            raise ValueError('Could not find an evaluation named: %s \n' % args.evaluationName)

    # checking if a entity id or file was specified by the user
    if args.entity is None and args.file is None:
        raise ValueError('Either entityID or filename is required for a submission\n')
    elif args.entity is not  None and args.file is not None:
        sys.stderr.write('[Warning]: Both entityID and filename are specified \n entityID will be used\n')
    elif args.entity is None: #upload the the file to synapse and get synapse entity id for the file
        if args.parentid is None:
            raise ValueError('parentID required with a file upload\n')
        if not os.path.exists(args.file):
            raise IOError('file path %s not valid \n' % args.file)
        # //ideally this should be factored out
        synFile = syn.store(synapseclient.File(path=args.file,parent=args.parentid),
                            used=_convertProvenanceList(args.used, args.limitSearch, syn),
                            executed=_convertProvenanceList(args.executed, args.limitSearch, syn))
        args.entity = synFile.id

    submission = syn.submit(args.evaluationID, args.entity, name=args.name, team=args.teamName)
    sys.stdout.write('Submitted (id: %s) entity: %s\t%s to Evaluation: %s\n' \
        % (submission['id'], submission['entityId'], submission['name'], submission['evaluationId']))

def login(args, syn):
    """Log in to Synapse, optionally caching credentials"""
    login_with_prompt(syn, args.synapseUser, args.synapsePassword, rememberMe=args.rememberMe, forced=True)
    profile = syn.getUserProfile()
    print("Logged in as: {userName} ({ownerId})".format(**profile))

def test_encoding(args, syn):
    import locale
    import platform
    print("python version =               ", platform.python_version())
    print("sys.stdout.encoding =          ", sys.stdout.encoding if hasattr(sys.stdout, 'encoding') else 'no encoding attribute')
    print("sys.stdout.isatty() =          ", sys.stdout.isatty())
    print("locale.getpreferredencoding() =", locale.getpreferredencoding())
    print("sys.getfilesystemencoding() =  ", sys.getfilesystemencoding())
    print("PYTHONIOENCODING =             ", os.environ.get("PYTHONIOENCODING", None))
    print("latin1 chars =                 D\xe9j\xe0 vu, \xfcml\xf8\xfats")
    print("Some non-ascii chars =         '\u0227\u0188\u0188\u1e17\u019e\u0167\u1e17\u1e13 u\u028dop-\u01ddp\u0131sdn \u0167\u1e17\u1e8b\u0167 \u0192\u01ff\u0159 \u0167\u1e17\u015f\u0167\u012b\u019e\u0260'", )

def build_parser():
    """Builds the argument parser and returns the result."""

    USED_HELP=('Synapse ID, a url, or a local file path (of a file previously'
               'uploaded to Synapse) from which the specified entity is derived')
    EXECUTED_HELP=('Synapse ID, a url, or a local file path (of a file previously'
                   'uploaded to Synapse) that was executed to generate the specified entity')

    parser = argparse.ArgumentParser(description='Interfaces with the Synapse repository.')
    parser.add_argument('--version',  action='version',
            version='Synapse Client %s' % synapseclient.__version__)
    parser.add_argument('-u', '--username',  dest='synapseUser',
            help='Username used to connect to Synapse')
    parser.add_argument('-p', '--password', dest='synapsePassword',
            help='Password used to connect to Synapse')
    parser.add_argument('--debug', dest='debug',  action='store_true')
    parser.add_argument('-s', '--skip-checks', dest='skip_checks', action='store_true',
            help='suppress checking for version upgrade messages and endpoint redirection')

    subparsers = parser.add_subparsers(title='commands',
            description='The following commands are available:',
            help='For additional help: "synapse <COMMAND> -h"')

    parser_get = subparsers.add_parser('get',
            help='downloads a file from Synapse')
    parser_get.add_argument('-q', '--query', metavar='queryString', dest='queryString', type=str, default=None,
            help='Optional query parameter, will fetch all of the entities returned by a query (see query for help).')
    parser_get.add_argument('-v', '--version', metavar='VERSION', type=int, default=None,
            help='Synapse version number of entity to retrieve. Defaults to most recent version.')
    parser_get.add_argument('-r', '--recursive', action='store_true', default=False,
            help='Fetches content in Synapse recursively contained in the parentId specified by id.')
    parser_get.add_argument('--limitSearch', metavar='projId', type=str,
            help='Synapse ID of a container such as project or folder to limit search for files if using a path.')
    parser_get.add_argument('--downloadLocation', metavar='path', type=str, default="./",
            help='Directory to download file to [default: %(default)s].')
    parser_get.add_argument('id',  metavar='syn123', nargs='?', type=str,
            help='Synapse ID of form syn123 of desired data object.')
    parser_get.set_defaults(func=get)

    parser_store = subparsers.add_parser('store', #Python 3.2+ would support alias=['store']
            help='uploads and adds a file to Synapse')
    parent_id_group = parser_store.add_mutually_exclusive_group(required=True)
    parent_id_group.add_argument('--parentid', '--parentId', '-parentid', '-parentId', metavar='syn123', type=str, required=False, dest='parentid',
            help='Synapse ID of project or folder where to upload data (must be specified if --id is not used.')
    parent_id_group.add_argument('--id', metavar='syn123', type=str, required=False,
            help='Optional Id of entity in Synapse to be updated.')
    parent_id_group.add_argument('--type', type=str, default='File',
            help='Type of object, such as "File", "Folder", or '
                 '"Project", to create in Synapse. Defaults to "File"')

    parser_store.add_argument('--name', '-name', metavar='NAME', type=str, required=False,
            help='Name of data object in Synapse')
    parser_store.add_argument('--description', '-description', metavar='DESCRIPTION', type=str,
            help='Description of data object in Synapse.')
    parser_store.add_argument('--used', '-used', metavar='target', type=str, nargs='*',
            help=USED_HELP)
    parser_store.add_argument('--executed', '-executed', metavar='target', type=str, nargs='*',
            help=EXECUTED_HELP)
    parser_store.add_argument('--limitSearch', metavar='projId', type=str,
            help='Synapse ID of a container such as project or folder to limit search for provenance files.')

    parser_store.add_argument('--annotations', metavar='ANNOTATIONS', type=str, required=False, default=None,
            help="Annotations to add as a JSON formatted string, should evaluate to a dictionary (key/value pairs). Example: '{\"foo\": 1, \"bar\":\"quux\"}'")
    parser_store.add_argument('--replace', action='store_true',default=False,
            help='Replace all existing annotations with the given annotations')

    parser_store.add_argument('--file', type=str, help=argparse.SUPPRESS)
    parser_store.add_argument('FILE', nargs='?', type=str,
            help='file to be added to synapse.')
    parser_store.set_defaults(func=store)

    parser_add = subparsers.add_parser('add', #Python 3.2+ would support alias=['store']
            help='uploads and adds a file to Synapse')
    parent_id_group = parser_add.add_mutually_exclusive_group(required=True)
    parent_id_group.add_argument('--parentid', '--parentId', '-parentid', '-parentId', metavar='syn123', type=str, required=False, dest='parentid',
            help='Synapse ID of project or folder where to upload data (must be specified if --id is not used.')
    parent_id_group.add_argument('--id', metavar='syn123', type=str, required=False,
            help='Optional Id of entity in Synapse to be updated.')
    parent_id_group.add_argument('--type', type=str, default='File',
            help='Type of object, such as "File", "Folder", or '
                 '"Project", to create in Synapse. Defaults to "File"')

    parser_add.add_argument('--name', '-name', metavar='NAME', type=str, required=False,
            help='Name of data object in Synapse')
    parser_add.add_argument('--description', '-description', metavar='DESCRIPTION', type=str,
            help='Description of data object in Synapse.')
    parser_add.add_argument('-type', type=str, default='File', help=argparse.SUPPRESS)
    parser_add.add_argument('--used', '-used', metavar='target', type=str, nargs='*',
            help=USED_HELP)
    parser_add.add_argument('--executed', '-executed', metavar='target', type=str, nargs='*',
            help=EXECUTED_HELP)
    parser_add.add_argument('--limitSearch', metavar='projId', type=str,
            help='Synapse ID of a container such as project or folder to limit search for provenance files.')
    parser_add.add_argument('--annotations', metavar='ANNOTATIONS', type=str, required=False, default=None,
            help="Annotations to add as a JSON formatted string, should evaluate to a dictionary (key/value pairs). Example: '{\"foo\": 1, \"bar\":\"quux\"}'")
    parser_add.add_argument('--replace', action='store_true',default=False,
            help='Replace all existing annotations with the given annotations')
    parser_add.add_argument('--file', type=str, help=argparse.SUPPRESS)
    parser_add.add_argument('FILE', nargs='?', type=str,
            help='file to be added to synapse.')
    parser_add.set_defaults(func=store)

    parser_mv = subparsers.add_parser('mv',
            help='Moves a file/folder in Synapse')
    parser_mv.add_argument('--id', metavar='syn123', type=str, required=True,
            help='Id of entity in Synapse to be moved.')
    parser_mv.add_argument('--parentid', '--parentId', '-parentid', '-parentId', metavar='syn123', type=str, required=True, dest='parentid',
            help='Synapse ID of project or folder where file/folder will be moved ')
    parser_mv.set_defaults(func=move)

    parser_cp = subparsers.add_parser('cp',
            help='Copies specific versions of synapse content such as files, folders and projects by recursively copying all sub-content')
    parser_cp.add_argument('id', metavar='syn123', type=str,
            help='Id of entity in Synapse to be copied.')
    parser_cp.add_argument('--destinationId', metavar='syn123', type=str,
            help='Synapse ID of project or folder where file will be copied to.  If no destinationId specified, a new project is created')
    parser_cp.add_argument('--version','-v', metavar='1', type=int, default=None,
            help=('Synapse version number of file, and link to retrieve.'
                'This parameter can only be used when copying files, or links'
                'Defaults to most recent version.'))
    parser_cp.add_argument('--setProvenance', metavar='traceback', type=str, default='traceback',
            help=('Has three values to set the provenance of the copied entity-'
                        'traceback: Sets to the source entity'
                        'existing: Sets to source entity\'s original provenance (if it exists)'
                        'None/none: No provenance is set'))
    parser_cp.add_argument('--updateExisting', action='store_true',
            help='Will update the file if there is already a file that is named the same in the destination')
    parser_cp.add_argument('--excludeTypes',nargs='*', metavar='file table',type=str, default=list(),
            help='Accepts a list of entity types (file, table, link) which determines which entity types to not copy.')
    parser_cp.add_argument('--skipCopyWiki', action='store_false',
            help='Do not copy the wiki pages')
    parser_cp.set_defaults(func=copy)

    parser_associate = subparsers.add_parser('associate',
            help=('Associate local files with the files stored in Synapse so that calls to '
                  '"synapse get" and "synapse show" don\'t redownload the files but use the '
                  'already existing file.'))
    parser_associate.add_argument('path', metavar='path', type=str,
            help='local file path')
    parser_associate.add_argument('--limitSearch', metavar='projId', type=str,
            help='Synapse ID of a container such as project or folder to limit search to.')
    parser_associate.add_argument('-r', action='store_true',
            help='Perform recursive association with all local files in a folder')
    parser_associate.set_defaults(func=associate)

    parser_delete = subparsers.add_parser('delete',
            help='removes a dataset from Synapse')
    parser_delete.add_argument('id', metavar='syn123', type=str,
            help='Synapse ID of form syn123 of desired data object')
    parser_delete.add_argument('--version', type=str,
            help='Version number to delete of given entity.')
    parser_delete.set_defaults(func=delete)

    parser_query = subparsers.add_parser('query',
            help='Performs SQL like queries on Synapse')
    parser_query.add_argument('queryString', metavar='string', type=str, nargs='*',
            help='A query string, see https://sagebionetworks.jira.com/wiki/display/PLFM/Repository+Service+'
                 'API#RepositoryServiceAPI-QueryAPI for more information')
    parser_query.set_defaults(func=query)

    parser_submit = subparsers.add_parser('submit',
            help='submit an entity or a file for evaluation')
    parser_submit.add_argument('--evaluationID', '--evaluationId', '--evalID', type=str,
            help='Evaluation ID where the entity/file will be submitted')
    parser_submit.add_argument('--evaluationName', '--evalN', type=str,
            help='Evaluation Name where the entity/file will be submitted')
    parser_submit.add_argument('--evaluation', type=str,
            help=argparse.SUPPRESS)  #mainly to maintain the backward compatibility
    parser_submit.add_argument('--entity', '--eid', '--entityId', '--id', type=str,
            help='Synapse ID of the entity to be submitted')
    parser_submit.add_argument('--file', '-f', type=str,
            help='File to be submitted to the challenge')
    parser_submit.add_argument('--parentId', '--parentid', '--parent', type=str, dest='parentid',
            help='Synapse ID of project or folder where to upload data')
    parser_submit.add_argument('--name', type=str,
            help='Name of the submission')
    parser_submit.add_argument('--teamName', '--team', type=str,
            help='Submit of behalf of a registered team')
    parser_submit.add_argument('--submitterAlias', '--alias', metavar='ALIAS', type=str,
            help='A nickname, possibly for display in leaderboards')
    parser_submit.add_argument('--used', metavar='target', type=str, nargs='*',
            help=USED_HELP)
    parser_submit.add_argument('--executed', metavar='target', type=str, nargs='*',
            help=EXECUTED_HELP)
    parser_submit.add_argument('--limitSearch', metavar='projId', type=str,
            help='Synapse ID of a container such as project or folder to limit search for provenance files.')
    parser_submit.set_defaults(func=submit)

    parser_show = subparsers.add_parser('show', help='show metadata for an entity')
    parser_show.add_argument('id', metavar='syn123', type=str,
            help='Synapse ID of form syn123 of desired synapse object')
    parser_show.add_argument('--limitSearch', metavar='projId', type=str,
            help='Synapse ID of a container such as project or folder to limit search for provenance files.')
    parser_show.set_defaults(func=show)

    parser_cat = subparsers.add_parser('cat', help='prints a dataset from Synapse')
    parser_cat.add_argument('id', metavar='syn123', type=str,
            help='Synapse ID of form syn123 of desired data object')
    parser_cat.add_argument('-v', '--version', metavar='VERSION', type=int, default=None,
            help='Synapse version number of entity to display. Defaults to most recent version.')
    parser_cat.set_defaults(func=cat)

    parser_list = subparsers.add_parser('list',
            help='List Synapse entities contained by the given Project or Folder. Note: May not be supported in future versions of the client.')
    parser_list.add_argument('id', metavar='syn123', type=str,
            help='Synapse ID of a project or folder')
    parser_list.add_argument('-r', '--recursive', action='store_true', default=False, required=False,
            help='recursively list contents of the subtree descending from the given Synapse ID')
    parser_list.add_argument('-l', '--long', action='store_true', default=False, required=False,
            help='List synapse entities in long format')
    parser_list.add_argument('-m', '--modified', action='store_true', default=False, required=False,
            help='List modified by and modified date')
    parser_list.set_defaults(func=ls)

    parser_set_provenance = subparsers.add_parser('set-provenance',
            help='create provenance records')
    parser_set_provenance.add_argument('-id', '--id', metavar='syn123', type=str, required=True,
            help='Synapse ID of entity whose provenance we are accessing.')
    parser_set_provenance.add_argument('-name', '--name', metavar='NAME', type=str, required=False,
            help='Name of the activity that generated the entity')
    parser_set_provenance.add_argument('-description', '--description',
            metavar='DESCRIPTION', type=str, required=False,
            help='Description of the activity that generated the entity')
    parser_set_provenance.add_argument('-o', '-output', '--output', metavar='OUTPUT_FILE', dest='output',
            const='STDOUT', nargs='?', type=str,
            help='Output the provenance record in JSON format')
    parser_set_provenance.add_argument('-used', '--used', metavar='target', type=str, nargs='*',
            help=USED_HELP)
    parser_set_provenance.add_argument('-executed', '--executed', metavar='target', type=str, nargs='*',
            help=EXECUTED_HELP)
    parser_set_provenance.add_argument('-limitSearch', '--limitSearch', metavar='projId', type=str,
            help='Synapse ID of a container such as project or folder to limit search for provenance files.')
    parser_set_provenance.set_defaults(func=setProvenance)

    parser_get_provenance = subparsers.add_parser('get-provenance',
            help='show provenance records')
    parser_get_provenance.add_argument('-id', '--id', metavar='syn123', type=str, required=True,
            help='Synapse ID of entity whose provenance we are accessing.')
    parser_get_provenance.add_argument('--version', metavar='version', type=int, required=False,
            help='version of Synapse entity whose provenance we are accessing.')

    parser_get_provenance.add_argument('-o', '-output', '--output', metavar='OUTPUT_FILE', dest='output',
            const='STDOUT', nargs='?', type=str,
            help='Output the provenance record in JSON format')
    parser_get_provenance.set_defaults(func=getProvenance)

    parser_set_annotations = subparsers.add_parser('set-annotations',
            help='create annotations records')
    parser_set_annotations.add_argument("--id", metavar='syn123', type=str, required=True,
            help='Synapse ID of entity whose annotations we are accessing.')
    parser_set_annotations.add_argument('--annotations', metavar='ANNOTATIONS', type=str, required=True,
            help="Annotations to add as a JSON formatted string, should evaluate to a dictionary (key/value pairs). Example: '{\"foo\": 1, \"bar\":\"quux\"}'")
    parser_set_annotations.add_argument('-r', '--replace', action='store_true',default=False,
            help='Replace all existing annotations with the given annotations')
    parser_set_annotations.set_defaults(func=setAnnotations)

    parser_get_annotations = subparsers.add_parser('get-annotations',
            help='show annotations records')
    parser_get_annotations.add_argument('--id', metavar='syn123', type=str, required=True,
            help='Synapse ID of entity whose annotations we are accessing.')
    parser_get_annotations.add_argument('-o', '--output', metavar='OUTPUT_FILE', dest='output',
            const='STDOUT', nargs='?', type=str,
            help='Output the annotations record in JSON format')
    parser_get_annotations.set_defaults(func=getAnnotations)

    parser_create = subparsers.add_parser('create',
            help='Creates folders or projects on Synapse')
    parser_create.add_argument('-parentid', '-parentId', '--parentid', '--parentId', metavar='syn123', type=str, dest='parentid', required=False,
            help='Synapse ID of project or folder where to place folder [not used with project]')
    parser_create.add_argument('-name', '--name', metavar='NAME', type=str, required=True,
            help='Name of folder/project.')
    parser_create.add_argument('-description', '--description', metavar='DESCRIPTION', type=str,
            help='Description of project/folder')
    parser_create.add_argument('type', type=str,
            help='Type of object to create in synapse one of {Project, Folder}')
    parser_create.set_defaults(func=create)

    # parser_update = subparsers.add_parser('update',
    #         help='uploads a new file to an existing Synapse Entity')
    # parser_update.add_argument('-id', metavar='syn123', type=str, required=True,
    #         help='Synapse ID of entity to be updated')
    # parser_update.add_argument('file', type=str,
    #         help='file to be added to synapse.')
    # parser_update.set_defaults(func=update)

    parser_onweb = subparsers.add_parser('onweb',
            help='opens Synapse website for Entity')
    parser_onweb.add_argument('id', type=str, help='Synapse id')
    parser_onweb.set_defaults(func=onweb)

    ## the purpose of the login command (as opposed to just using the -u and -p args) is
    ## to allow the command line user to cache credentials
    parser_login = subparsers.add_parser('login',
            help='login to Synapse and (optionally) cache credentials')
    parser_login.add_argument('-u', '--username', dest='synapseUser',
            help='Username used to connect to Synapse')
    parser_login.add_argument('-p', '--password', dest='synapsePassword',
            help='Password used to connect to Synapse')
    parser_login.add_argument('--rememberMe', '--remember-me', dest='rememberMe', action='store_true', default=False,
            help='Cache credentials for automatic authentication on future interactions with Synapse')
    parser_login.set_defaults(func=login)

    ## test character encoding
    parser_test_encoding = subparsers.add_parser('test-encoding',
            help='test character encoding to help diagnose problems')
    parser_test_encoding.set_defaults(func=test_encoding)

    return parser

def perform_main(args, syn):
    if 'func' in args:
        try:
            args.func(args, syn)
        except Exception as ex:
            if args.debug:
                raise
            else:
                sys.stderr.write(utils._synapse_error_msg(ex))

def login_with_prompt(syn, user, password, rememberMe=False, silent=False, forced=False):
    try:
        syn.login(user, password, silent=silent, rememberMe=rememberMe, forced=forced)
    except SynapseNoCredentialsError:
        # if there were no credentials in the cache nor provided, prompt the user and try again
        if user is None:
            user = input("Synapse username: ")

        passwd = getpass.getpass("Password for " + user + ": ")
        syn.login(user, passwd, rememberMe=rememberMe, forced=forced)

def main():
    args = build_parser().parse_args()
    synapseclient.USER_AGENT['User-Agent'] = "synapsecommandlineclient " + synapseclient.USER_AGENT['User-Agent']
    syn = synapseclient.Synapse(debug=args.debug, skip_checks=args.skip_checks)
    if not ('func' in args and args.func == login):
        # if we're not executing the "login" operation, automatically authenticate before running operation
        login_with_prompt(syn, args.synapseUser, args.synapsePassword, silent=True)
    perform_main(args, syn)

if __name__ == "__main__":
    main()

redpajama_set_name: RedPajamaGithub


text:
Open Society University Network (OSUN) Research Hub in Eastern Africa Fellowship 2021
Posted by Jude Ogar On March 06, 2021 0 Comment
Deadline: March 19, 2021
Applications for the Open Society University Network (OSUN) Research Hub in Eastern Africa Fellowship 2021 are now open. The Open Society University Network (OSUN) Research Hub in Eastern Africa invites applicants to a 10-month research fellowship. Selected Fellows will serve as the inaugural cohort for the Hub and will have the opportunity to work closely with faculty and OSUN leadership on setting the agenda and direction of the work.
OSUN is global in scope, with deep partnerships among diverse institutions committed to addressing global challenges collaboratively. The network seeks to integrate curricula and research across institutions in different countries. The Research Hub is a critical part of OSUN's broader work in Eastern Africa, which includes undergraduate course offerings for displaced and host community learners as well as teacher training in these same contexts.
Research proposals should focus on one of OSUN's Academic Themes and should situate research in the region of Eastern Africa:
Democratic Practice
Arts and Open Society
The Hubs are also very interested in research related to pedagogical developments in marginalized settings.
Fellows will receive a stipend of US $700 each month over a ten-month period.
During the fellowship, recipients will be guided by an OSUN faculty member or other specialist for regular readvising and editorial input.
Open to people from or working in Eastern Africa.
Research proposals should focus on one of OSUN's Academic Themes and should situate research in the region of Eastern Africa.
Candidates should submit a resume showing their interests and experience in conducting research, two letters of reference, a writing sample of not more than 10 pages, and a one-page proposal for the research and writing they propose to complete by the end of the fellowship period. The work can include written, audio or video material. Final submissions will need to be in complete, edited, publishable form by January 2022.
Send application materials by the deadline to [email protected]
For more information, visit Open Society University Network.
Previous: Siemens Stiftung E-Mobility Innovation Call 2021 for African Social Entrepreneurs and Visionary Startups
Next: Apply for the TechWomen Emerging Leaders Program – Spring 2022 (Fully-funded)
About judeogar
Jude Ogar is an educator and youth development practitioner with years of experience working in the education and youth development space. He is passionate about the development of youth in Africa.


Selling and tracking various pack sizes can be a challenge with most POS Systems.
with a six pack holder and allow them to try six different brands of craft beer. When the sale is complete TigerPOS automatically handles managing your inventory. We reduce one from the six pack and add 5 to the single. View reports to determine the quantity on hand and profitability for the six pack and singles.
The typical POS system will force you to use a recipe function built for restaurants.
Ask a sales representative to demonstrate the solution.


Review by Maria Ermides // Another nice feature of this memoir is that it's perfect for picking up and putting down and re-reading for gathering inspiration. Her beautifully written snippets work seamlessly to detail her unique experience, and I can guarantee that by the time you finish 'The Bright Side of a Broken Heart', you will have gained a different perspective of what it means to love and lose and love once again.
Review by Alex Creece // Emma Michelle's Watching Cartoons with Boys wastes few words in getting to the heart of the narrative. Each chapter emphasises a different cartoon, a different memory, and a different tone.
Review of Wen Hsiao by Hannah Forsdike // I found Hsiao's writing mature and insightful, and what I read certainly provoked self-examination. I can't say I have ever read such a thorough exploration of love written by someone so young, I feel like this is the kind of writing I looked for as a teenager.
Book review by Hannah Forsdike // Many may not consider this novel a feminist text, because at face value it does not promote gender equality. However, in a way it suggests that men and women are equal in their capability for violence, and that violence is the direct result of power.
Review by Lachean Humphries // This book is a testament to the power of mixing nonfiction and fiction. The ideas are eerily real, fleshed out through a nightmare-like story.
Review by Lachean Humphreys // The details rendered in Cline's writing are infallibly real but with a whimsical, romanticised taint of recalled memory.
Interview of Tara Moss by Freya Bennett // We all should be outspoken about human rights and equality, calling out discrimination when we see it, and paying particular attention to the circumstances of those who have not been experiencing equality.


All Systems Mechanical SupportHow did you get the prices for all of the heating and AC equipment used by the program?
How did you get the prices for all of the heating and AC equipment used by the program?
We are HVAC contractors! We are not advisors, middle-men, or website designers - we are real air conditioning and heating contractors, based in Southern California.
We worked with honest HVAC contractors and distributors from all around the country, and continue to regularly update our pricing database with the most accurate, up-to-date information available. Shop with confidence that the price you pay for your new furnace or air conditioner installation, is a fair one.


Allan Kingdom started off the year with his latest project Northen Lights, so it's only right that he close it out with something new as well. It's not his next project, though he does say his new album is coming soon, Kingdom decided to do one up for his hometown. So he flips Lil Yachty's popular single "Minnesota" for a new remix today. If you've been itching to hear some new Allan Kingdom before the year lets out, then this is it.
Enjoy the new track above and look out for more from him in 2017.