Ebenwalk is the concatenation of my name. Eben Walk, little known to me at
the time of creating my profile and website, is actually a sort of seasonal,
natural event whereby the Eben Ice Caves are formed in the Hiawatha National
Forest in Michigan. But enough about that.
I started learning code a while ago. I was working
in a quiet museum digitizing their collection. The software didn’t do
exactly what I wanted it to do and my work was seen by only a select few
colleagues within the museum. I wanted to fix that and I wanted the museum
to be able to share all my work and their collection with the greater
public. At the time, I didn't know it would become a passion of mine.
I began to tinker, read all the books, taking all the courses, attending
every webinar, and listening to every podcast I could. I would have never
imagined myself here, yet, here I am. Building things, creating
applications, developing programs! Coding has become my passion and my
mission.
To check out what I’ve built, head on over to my projects page. To learn
more about my story and things I've learned check out my blog.
If your interested in working with me you can find me on
linkedin or via my
contact page.


I believe the default mindset these days should be always virtualized. It doesn’t matter if you are looking to implement a single server or several. Of course, there may be outlier cases where virtualization cannot be applied (special case hardware, huge computer clusters, etc.). While providing business requirements or planning a new project, start with the “always virtualized” mindset and work from there.
The key point that comes to mind when considering virtualization is hardware abstraction. When you virtualize, you are adding a layer between baremetal and the operating system. In a practical sense, this is what virtualization is.
If you are familiar with programming languages, you should be aware of the concept of encapsulation. Virtualization works in a similar way by encapsulating the underlying server hardware and presenting a standardized hardware base to operating systems. This hardware abstraction and the resulting stability alone are reason enough to go virtual.
This will greatly enhance the future-proofing of the infrastructure, make backups significantly easier and more versatile. You’ll effectively have a baremetal backup that you can restore to any other host and it also opens doors for effective clustering and migrations.
Virtual machines are extremely easy to backup and restore compared to their physical counterparts. Due to abstraction of storage and memory, we can snapshot the current state of a machine at any point of time. This is basically taking an image of the running system and storing it in a file.
These features allow you to take a system snapshot before carrying out any activities that may risk the stability of the system. For e.g., installing new software, changing configurations, installing updates & patching, etc. Snapshots can assist you in extremely rapid rollbacks should anything go wrong. This seemingly minor feature can lead to big peace of mind and overall system reliability. It also makes testing of features and rolling back or repeated testing very easy in non-production environments.
Compare this with a physical machine. You’re unable to do any of this with such ease and speed. Some may say there’s Windows System Restore, but we all know it rarely works when you need it to. Windows System Restore is not an operating system agnostic backup unlike snapshots. In addition, it’s not guaranteed to bring your OS back to the state it was in when you took the snapshot. Also, restoring a VM snapshot will get rid of any viruses or malware you picked up. This is definitely not the case with System Restore.
However, an important point to keep in mind is that that snapshots are not backups. You should always have a solid disaster recovery plan in place.
This one is fairly obvious. Virtualization enables you to run multiple machines on a single physical server. Instead of dedicating individual physical boxes for multiple requirements, virtualization enables you to consolidate multiple workloads onto a single physical box thereby maximizing efficiency and bringing down costs.
Virtualization allows you to prepare for any future expansions even though you may think you do not need it at that time.
Any hardware upgrades or migrations between physical machines are rife with uncertainity and have the potential to cause odd problems requiring days or weeks to fix. In worst cases, a system rebuild needs to be done.
Virtual machines bypass most of these issues. VMs are simply files, at least when not actively running. You can safely and rapidly migrate between physical hosts without any regard to the underlying hardware. These tasks that would be otherwise risky can become trivial with a virtual environment.
At the end of the day, IT is about reducing risk, mitigating disasters and maximizing stability and flexibility. Virtualization standardizes your environment, hence making it more flexible, stable and easy to manage. The major enterprise virtualization products (Microsoft Hyper-V, VMware vSphere, Citrix XenServer, KVM) are available, at least in some form, for free.
Virtualization, at zero cost, provides you all the above listed benefits. There are no measureable downsides and if offers a huge potential benefit in the areas of safety, stability, flexibility and future-proofing of your environment. This leaves us with a the conculsion that virtualization in today’s day and age is a no-brainer and should be used as a “default” strategy in every possible environment.
(header image source: vyle-art.com)


Return contact data or similar; note that this has privacy implications,
so you might want to return nil for release builds! The string will be
limited to 255 characters.
Return a user ID or similar; note that this has privacy implications,
so you might want to return nil for release builds! The string will be
limited to 255 characters.


All Classes
AccountLinker
ConfigEntry
ConfigManager
DiscordCommunicationHandler
DiscordIntegration
LinkmcCommandHandler
Ranks
secret
SyncRanks


What Design and Truth Say about Each Other (p. 27-33) in Design and Truth by Robert Grudin.
In this chapter, Grudin talks about the transition of design from close dialogue with natural systems to proliferating to the point of being totally separate from those systems. Grudin outlines 13 principles for good design to achieve harmony between nature and technological advancement. Do you agree with him? Can you describe designs that affirm or negate these principles?


Daniel Roberts - July 31st, 2016
Have you seen my donuts anywhere??
Rebecca Houston - July 23rd, 2016
Becky informed me about our meeting on the 27th..


PAV is a lightweight ontology for tracking Provenance, Authoring and Versioning. PAV specializes the W3C provenance ontology PROV-O in order to describe authorship, curation and digital creation of online resources.
This ontology describes the defined PAV properties and their usage. Note that PAV does not define any explicit classes or domain/ranges, as every property is meant to be used directly on the described online resource.
Cite as:
Paolo
Ciccarese, Stian Soiland-Reyes, Khalid Belhajjame, Alasdair JG Gray,
Carole Goble, Tim Clark (2013): PAV ontology: provenance, authoring and
versioning. Journal of biomedical semantics 4:37.
doi:10.1186/2041-1480-4-37
PAV supplies terms for distinguishing between the different roles of the agents contributing content in current web based systems: contributors, authors, curators and digital artifact creators. The ontology also provides terms for tracking provenance of digital entities that are published on the web and then accessed, transformed and consumed. In order to support broader interoperability, PAV specializes the general purpose W3C PROV provenance model (PROV-O).
PAV distinguishes between the data related to the digital artifact - named Provenance - and those related to the actual knowledge creation and therefore to the intellectual property aspects – named Authoring. The Versioning axis describes the evolution of digital entities in time.
Using PAV, descriptions can define the authors that originate or gave existence to the work that is expressed in the digital resource (pav:authoredBy); curators (pav:curatedBy) who are content specialists responsible for shaping the expression in an appropriate format, and contributors (super-property pav:contributedBy) that provided some help in conceiving the resource or in the expressed knowledge creation/extraction.
These provenance aspects can be detailed with dates using pav:curatedOn, pav:authoredOn, etc. Further details about the creation activities, such as different authors contributing specific parts of the resource at different dates are out of scope for PAV and should be defined using vocabularies like PROV-O and additional intermediate entities to describe the different states.
For resources based on other resources, PAV allows specification of direct retrieval (pav:retrievedFrom), import through transformations (pav:importedFrom) and sources that were merely consulted (pav:sourceAccessedAt). These aspects can also define the agents responsible using pav:retrievedBy, pav:importedBy and pav:sourceAccessedBy.
Version number of a resource can be given with pav:version, the previous version of the resource with pav:previousVersion, and any other earlier versions with pav:hasEarlierVersion. Unversioned, 'mutable' resources can specify their current version as a snapshot resource using pav:hasCurrentVersion and list the earlier versions using pav:hasVersion.
The creation of the digital representation (e.g. an RDF graph or a .docx file) can in many cases be different from the authorship of the content/knowledge, and in PAV this digital creation is specified using pav:createdBy, pav:createdWith and pav:createdOn.
PAV specializes terms from W3C PROV-O (prov:) and DC Terms (dcterms:), however these ontologies are not OWL imported as PAV can be used independently. The "is defined by" links indicate where those terms are included from. See http://www.w3.org/TR/prov-o and http://dublincore.org/documents/2012/06/14/dcmi-terms/ for more details. See http://purl.org/pav/mapping/dcterms For a comprehensive SKOS mapping to DC Terms.
PAV 2 is based on PAV 1.2 but in a different namespace ( http://purl.org/pav/ ). Terms compatible with 1.2 are indicated in this ontology using owl:equivalentProperty.
The ontology IRI http://purl.org/pav/ always resolve to the latest version of PAV 2. Particular versionIRIs such as http://purl.org/pav/2.1 can be used by clients to force imports of a particular version - note however that all terms are defined directly in the http://purl.org/pav/ namespace.
The goal of PAV is to provide a lightweight, straight forward way to give the essential information about authorship, provenance and versioning, and therefore these properties are described directly on the published resource. As such, PAV does not define any classes or restrict domain/ranges, as all properties are applicable to any online resource.
© Copyright 2008-2014 Massachusetts General Hospital; Harvard Medical School; Balboa Systems; University of Manchester
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
IRI: http://purl.org/pav/authoredBy
IRI: http://purl.org/pav/contributedBy
The resource was contributed to by the given agent.
Specifies an agent that provided any sort of help in conceiving the work that is expressed by the digital artifact.
Contributions can take many forms, of which PAV define the subproperties pav:authoredBy and pav:curatedBy; however other specific roles could also be specified by pav:contributedBy or custom subproperties, such as illustrating, investigating or managing the underlying data source. Contributions can additionally be expressed in detail using prov:qualifiedAttribution and prov:hadRole.
Note that pav:contributedBy identifies only agents that contributed to the work, knowledge or intellectual property, and not agents that made the digital artifact or representation (pav:createdBy), thus the considerations for software agents is similar to for pav:authoredBy and pav:curatedBy.
pav:contributedBy is more specific than its superproperty dct:contributor - which might or might not be interpreted to also cover contributions to making the representation of the artifact.
The date of contribution can be expressed using pav:contributedOn - note however in the case of multiple contributors that there is no relationship in PAV identifying which agent contributed when or what. If capturing such lineage is desired, it should be additionally expressed using PROV relationships like prov:qualifiedAttribution or prov:wasGeneratedBy.
IRI: http://purl.org/pav/createdAt
The geo-location of the agents when creating the resource (pav:createdBy). For instance a photographer takes a picture of the Eiffel Tower while standing in front of it.
IRI: http://purl.org/pav/createdBy
An agent primary responsible for making the digital artifact or resource representation.
This property is distinct from forming the content, which is indicated with pav:contributedBy or its subproperties; pav:authoredBy, which identifies who authored the knowledge expressed by this resource; and pav:curatedBy, which identifies who curated the knowledge into its current form.
pav:createdBy is more specific than its superproperty dct:creator - which might or might not be interpreted to cover this creator.
For instance, the author wrote 'this species has bigger wings than normal' in his log book. The curator, going through the log book and identifying important knowledge, formalizes this as 'locus perculus has wingspan > 0.5m'. The creator enters this knowledge as a digital resource in the knowledge system, thus creating the digital artifact (say as JSON, RDF, XML or HTML).
A different example is a news article. pav:authoredBy indicates the journalist who wrote the article. pav:contributedBy can indicate the artist who added an illustration. pav:curatedBy can indicate the editor who made the article conform to the news paper's style. pav:createdBy can indicate who put the article on the web site.
The software tool used by the creator to make the digital resource (say Protege, Wordpress or OpenOffice) can be indicated with pav:createdWith.
The date the digital resource was created can be indicated with pav:createdOn.
The location the agent was at when creating the digital resource can be made using pav:createdAt.
IRI: http://purl.org/pav/createdWith
The software/tool used by the creator (pav:createdBy) when making the digital resource, for instance a word processor or an annotation tool. A more independent software agent that creates the resource without direct interaction by a human creator should instead should instead by indicated using pav:createdBy.
IRI: http://purl.org/pav/curatedBy
Specifies an agent specialist responsible for shaping the expression in an appropriate format. Often the primary agent responsible for ensuring the quality of the representation.
The curator may be different from the author (pav:authoredBy) and creator of the digital resource (pav:createdBy).
The curator may in some cases be a software agent, for instance text mining software which adds hyperlinks for recognized genome names.
The date of curating can be expressed using pav:curatedOn - note however in the case of multiple curators that there is no relationship in PAV identifying which agent contributed when or what. If capturing such lineage is desired, it should be additionally expressed using PROV relationships like prov:qualifiedAttribution or prov:wasGeneratedBy.
IRI: http://purl.org/pav/curates
Provided for backwards compatibility. Use instead the inverse pav:curatedBy.
IRI: http://purl.org/dc/terms/contributor
IRI: http://purl.org/dc/terms/creator
IRI: http://purl.org/dc/terms/hasVersion
IRI: http://purl.org/pav/derivedFrom
Derived from a different resource.
Derivation conserns itself with derived knowledge. If this resource has the same content as the other resource, but has simply been transcribed to fit a different model (like XML -> RDF or SQL -> CVS), use pav:importedFrom. If a resource was simply retrieved, use pav:retrievedFrom. If the content has however been further refined or modified, pav:derivedFrom should be used.
Details about who performed the derivation (e.g. who did the refining or modifications) may be indicated with pav:contributedBy and its subproperties.
IRI: http://purl.org/pav/hasCurrentVersion
This resource has a more specific, versioned resource with equivalent content.
This property is intended for relating a non-versioned or abstract resource to a single snapshot that can be used as a permalink to indicate the current version of the content.
For instance, if today is 2013-12-25, then a News page can indicate a corresponding snapshot resource which will refer to the news as they were of 2013-12-25.
<http://news.example.com/> pav:hasCurrentVersion <http://news.example.com/2013-12-25/> .
"Equivalent content" is a loose definition, for instance the snapshot resource might include additional information to indicate it is a snapshot, and is not required to be immutable.
Other versioned resources indicating the content at earlier times MAY be indicated with the superproperty pav:hasVersion, one of which MAY be related to the current version using pav:hasCurrentVersion:
<http://news.example.com/2013-12-25/> pav:previousVersion <http://news.example.com/2013-12-24/> .
<http://news.example.com/> pav:hasVersion <http://news.example.com/2013-12-23/> .
Note that it might be confusing to also indicate pav:previousVersion from a resource that has hasCurrentVersion relations, as such a resource is intended to be a long-living "unversioned" resource. The PAV ontology does however not formally restrict this, to cater for more complex scenarios with multiple abstraction levels.
Similarly, it would normally be incorrect to indicate a pav:hasCurrentVersion from an older version; instead the current version would be found by finding the non-versioned resource that the particular resource is a version of, and then its current version.
This property is normally used in a functional way, although PAV does not formally restrict this.
IRI: http://purl.org/pav/hasEarlierVersion
This versioned resource has an earlier version.
Any earlier version of this resource can be indicated with pav:hasEarlierVersion, e.g.:
<http://example.com/v4> pav:hasEarlierVersion <http://example.com/v2> ;
pav:hasEarlierVersion <http://example.com/v1> .
The subproperty pav:previousVersion SHOULD be used if the earlier version is the direct ancestor of this version.
<http://example.com/v4> pav:previousVersion <http://example.com/v3> .
This property is transitive, so it should not be necessary to repeat the earlier versions of an earlier version. A chain of previous versions can be declared using the subproperty pav:previousVersion, implying that the previous previous version is also an earlier version. It might however still be useful to declare an earlier version explicitly, for instance because it is an earlier version of high relevance or because the complete chain of pav:previousVersion is not available.
To indicate that this version is a snapshot of a more general, non-versioned resource, e.g. "Weather Today" vs. "Weather Today on 2013-12-07", see pav:hasVersion.
has characteristics: asymmetric, transitive
IRI: http://purl.org/pav/hasVersion
This resource has a more specific, versioned resource.
This property is intended for relating a non-versioned or abstract resource to several versioned resources, e.g. snapshots. For instance, if there are two snapshots of the News page, made on 23rd and 24th of December, then:
<http://news.example.com/> pav:hasVersion <http://news.example.com/2013-12-23/> ;
pav:hasVersion <http://news.example.com/2013-12-24/> .
If one of the versions has somewhat the equivalent content to this resource (e.g. can be used as a permalink for this resource), then it should instead be indicated with the subproperty pav:hasCurrentVersion:
<http://news.example.com/> pav:hasCurrentVersion <http://news.example.com/2013-12-25/> .
To order the versions, use pav:previousVersion:
<http://news.example.com/2013-12-25/> pav:previousVersion <http://news.example.com/2013-12-24/> .
<http://news.example.com/2013-12-24/> pav:previousVersion <http://news.example.com/2013-12-23/> .
Note that it might be confusing to also indicate pav:previousVersion from a resource that has pav:hasVersion relations, as such a resource is intended to be a long-living "unversioned" resource. The PAV ontology does however not formally restrict this, to cater for more complex scenarios with multiple abstraction levels.
pav:hasVersion is a subproperty of dcterms:hasVersion to more strongly define this hierarchical pattern. It is therefore also a subproperty of pav:generalizationOf (inverse of prov:specializationOf).
To indicate the existence of other, non-hierarchical kind of editions and adaptations of this resource that are not versioned snapshots (e.g. Powerpoint slides has a video recording version), use instead dcterms:hasVersion or prov:alternateOf.
IRI: http://purl.org/pav/importedBy
An entity responsible for importing the data.
The importer is usually a software entity which has done the transcription from the original source.
Note that pav:importedBy may overlap with pav:createdWith.
The source for the import should be given with pav:importedFrom. The time of the import should be given with pav:importedOn.
See pav:importedFrom for a discussion of import vs. retrieve vs. derived.
IRI: http://purl.org/pav/importedFrom
The original source of imported information.
Import means that the content has been preserved, but transcribed somehow, for instance to fit a different representation model by converting formats. Examples of import are when the original was JSON and the current resource is RDF, or where the original was an document scan, and this resource is the plain text found through OCR.
The imported resource does not have to be complete, but should be consistent with the knowledge conveyed by the original resource.
If additional knowledge has been contributed, pav:derivedFrom would be more appropriate.
If the resource has been copied verbatim from the original representation (e.g. downloaded), use pav:retrievedFrom.
To indicate which agent(s) performed the import, use pav:importedBy. Use pav:importedOn to indicate when it happened.
IRI: http://purl.org/pav/previousVersion
The previous version of a resource in a lineage. For instance a news article updated to correct factual information would point to the previous version of the article with pav:previousVersion. If however the content has significantly changed so that the two resources no longer share lineage (say a new article that talks about the same facts), they can instead be related using pav:derivedFrom.
This property is normally used in a functional way, although PAV does not formally restrict this. Earlier versions which are not direct ancestors of this resource may instead be provided using the superproperty pav:hasEarlierVersion.
A version number of this resource can be provided using the data property pav:version.
To indicate that this version is a snapshot of a more general, non-versioned resource, e.g. "Weather Today" vs. "Weather Today on 2013-12-07", see pav:hasVersion.
Note that it might be confusing to indicate pav:previousVersion from a resource that also has pav:hasVersion or pav:hasCurrentVersion relations, as such resources are intended to be a long-living and "unversioned", while pav:previousVersion is intended for use between permalink-like "snapshots" arranged in a linear history.
IRI: http://www.w3.org/ns/prov#alternateOf
has characteristics: symmetric
IRI: http://www.w3.org/ns/prov#generalizationOf
IRI: http://www.w3.org/ns/prov#specializationOf
IRI: http://www.w3.org/ns/prov#wasAttributedTo
IRI: http://www.w3.org/ns/prov#wasDerivedFrom
IRI: http://www.w3.org/ns/prov#wasInfluencedBy
IRI: http://www.w3.org/ns/prov#wasRevisionOf
IRI: http://purl.org/pav/providedBy
The original provider of the encoded information (e.g. PubMed, UniProt, Science Commons).
The provider might not coincide with the dct:publisher, which would describe the current publisher of the resource. For instance if the resource was retrieved, imported or derived from a source, that source was published by the original provider. pav:providedBy provides a shortcut to indicate that original provider on the new resource.
IRI: http://purl.org/pav/retrievedBy
An entity responsible for retrieving the data from an external source.
The retrieving agent is usually a software entity, which has done the retrieval from the original source without performing any transcription.
The source that was retrieved should be given with pav:retrievedFrom. The time of the retrieval should be indicated using pav:retrievedOn.
See pav:importedFrom for a discussion of import vs. retrieve vs. derived.
IRI: http://purl.org/pav/retrievedFrom
The URI where a resource has been retrieved from.
The retrieving agent is usually a software entity, which has done the retrieval from the original source without performing any transcription.
Retrieval indicates that this resource has the same representation as the original resource. If the resource has been somewhat transformed, use pav:importedFrom instead.
The time of the retrieval should be indicated using pav:retrievedOn. The agent may be indicated with pav:retrievedBy.
IRI: http://purl.org/pav/sourceAccessedAt
The resource is related to a given source which was accessed or consulted (but not retrieved, imported or derived from). This access can be detailed with pav:sourceAccessedBy and pav:sourceAccessedOn.
For instance, a curator (pav:curatedBy) might have consulted figures in a published paper to confirm that a dataset was correctly pav:importedFrom the paper's supplementary CSV file.
Another example: I can access the page for tomorrow weather in Boston (http://www.weather.com/weather/tomorrow/Boston+MA+02143) and I can blog ‘tomorrow is going to be nice’. The source does not make any claims about the nice weather, that is my interpretation; therefore the blog post has pav:sourceAccessedAt the weather page.
IRI: http://purl.org/pav/sourceAccessedBy
The resource is related to a source which was accessed or consulted
by the given agent. The source(s) should be specified using pav:sourceAccessedAt, and the time with pav:sourceAccessedOn.
For instance, the given agent could be a curator (also pav:curatedBy) which consulted figures in a published paper to confirm that a dataset was correctly pav:importedFrom the paper's supplementary CSV file.
IRI: http://purl.org/pav/authoredOn
The date this resource was authored.
pav:authoredBy gives the authoring agent.
Note that pav:authoredOn is different from pav:createdOn, although they are often the same. See pav:createdBy for a discussion.
This property is normally used in a functional way, indicating the last time of authoring, although PAV does not formally restrict this.
The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime.
IRI: http://purl.org/pav/contributedOn
The date this resource was contributed to.
pav:contributedBy provides the agent(s) that contributed.
The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime.
IRI: http://purl.org/pav/createdOn
The date of creation of the resource representation.
The agents responsible can be indicated with pav:createdBy.
This property is normally used in a functional way, indicating the time of creation, although PAV does not formally restrict this. pav:lastUpdateOn can be used to indicate minor updates that did not affect the creating date.
The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime.
IRI: http://purl.org/pav/curatedOn
The date this resource was curated.
pav:curatedBy gives the agent(s) that performed the curation.
This property is normally used in a functional way, indicating the last curation date, although PAV does not formally restrict this.
The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime.
IRI: http://purl.org/pav/importedOn
The date this resource was imported from a source (pav:importedFrom).
Note that pav:importedOn may overlap with pav:createdOn, but in cases where they differ, the import time indicates the time of the retrieval and transcription of the original source, while the creation time indicates when the final resource was made, for instance after user approval.
This property is normally used in a functional way, indicating the first import date, although PAV does not formally restrict this. If the resource is later reimported, this should instead be indicated with pav:lastRefreshedOn.
The source of the import should be given with pav:importedFrom. The agent that performed the import should be given with pav:importedBy.
See pav:importedFrom for a discussion about import vs. retrieval.
The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime.
IRI: http://purl.org/pav/lastRefreshedOn
The date of the last re-import of the resource. This property is used in addition to pav:importedOn if this version has been updated due to a re-import. If the re-import created a new resource rather than refreshing an existing resource, then instead use pav:importedOn together with pav:previousVersion.
This property is normally used in a functional way, although PAV does not formally restrict this.
The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime.
IRI: http://purl.org/pav/lastUpdateOn
The date of the last update of the resource. An update is a change which did not warrant making a new resource related using pav:previousVersion, for instance correcting a spelling mistake.
This property is normally used in a functional way, although PAV does not formally restrict this.
The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime.
IRI: http://purl.org/pav/retrievedOn
The date the source for this resource was retrieved.
The source that was retrieved should be indicated with pav:retrievedFrom. The agent that performed the retrieval may be specified with pav:retrievedBy.
This property is normally used in a functional way, although PAV does not formally restrict this.
The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime.
IRI: http://purl.org/pav/sourceAccessedOn
The resource is related to a source which was originally accessed or consulted on the given date as part of creating or authoring the resource. The source(s) should be specified using pav:sourceAccessedAt.
For instance, if the source accessed described the weather forecast for the next day, the time of source access can be crucial information.
This property is normally used in a functional way, although PAV does not formally restrict this. If the source is subsequently checked again (say to verify validity), this should be indicated with pav:sourceLastAccessedOn.
In the case multiple sources being accessed at different times or by different agents, PAV does not distinguish who accessed when what. If such details are required, they may be provided by additionally using prov:qualifiedInfluence.
The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime.
IRI: http://purl.org/pav/sourceLastAccessedOn
The resource is related to a source which was last accessed or consulted on the given date. The source(s) should be specified using pav:sourceAccessedAt. Usage of this property indicates that the source has been checked previously, which the initial time should be indicated with pav:sourceAccessedOn.
This property can be useful together with pav:lastRefreshedOn or pav:lastUpdateOn in order to indicate a re-import or update, but could also be used alone, for instance when a source was simply verified and no further action was taken for the resource.
This property is normally used in a functional way, although PAV does not formally restrict this.
The value is of type xsd:dateTime, for instance "2013-03-26T14:49:00+01:00"^^xsd:dateTime. The timezone information (Z for UTC, +01:00 for UTC+1, etc) SHOULD be included unless unknown. If the time (or parts of time) is unknown, use 00:00:00Z. If the day/month is unknown, use 01-01, for instance, if we only know September 1983, then use "1983-09-01T00:00:00Z"^^xsd:dateTime.
IRI: http://purl.org/pav/version
The version number of a resource. This is a freetext string, typical values are "1.5" or "21". The URI identifying the previous version can be provided using prov:previousVersion.
This property is normally used in a functional way, although PAV does not formally restrict this.
This HTML document was obtained by processing the OWL ontology source code through LODE, Live OWL Documentation Environment, developed by Silvio Peroni.
An agent that originated or gave existence to the work that is expressed by the digital resource.
The author of the content of a resource may be different from the creator of the resource representation (although they are often the same). See pav:createdBy for a discussion.
pav:authoredBy is more specific than its superproperty dct:creator - which might or might not be interpreted to also cover the creation of the representation of the artifact.
The author is usually not a software agent (which would be indicated with pav:createdWith, pav:createdBy or pav:importedBy), unless the software actually authored the content itself; for instance an artificial intelligence algorithm which authored a piece of music or a machine learning algorithm that authored a classification of a tumor sample.
The date of authoring can be expressed using pav:authoredOn - note however in the case of multiple authors that there is no relationship in PAV identifying which agent contributed when or what. If capturing such lineage is desired, it should be additionally expressed using PROV relationships like prov:qualifiedAttribution or prov:wasGeneratedBy.


| Readme |
-------------------- String Functions DLL -- Plug-in for DarkBASIC Professional -------------------- Created by AdmiralMH This is a simple function library with some string functions that I use. If you have any suggestions, requests, comments, feel free to post them on the forum. -------------------- Installation: -------------------- Put the String Functions.ini file in the Editor/Keywords folder Put the String Functions.dll file in the Compiler/plugins-user folder Put the String Functions Help folder in your DBPro help folder -------------------- License: -------------------- Copyright (c) 2012 This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution.
String Functions Index
Main Menu


For decades, the British have produced scores of gritty comedy-dramas about life among the less-fortunate, several of which have crossed the Atlantic to become popular successes: "Secrets and Lies" and "The Full Monty" are the most obvious recent examples. "Girls' Night" is from the same school, although not in the same class. It does, however, offer a couple of sterling performances by Brenda Blethyn (the long-suffering mom from "Secrets and Lies") and Julie Walters (best-known in this country for her Oscar-nominated work in 1983's "Educating Rita"). They make engaging company as Jackie and Dawn, sisters-in-law who work side by side on an assembly line at an electronics factory, trapped beneath a huge sign that keeps an up-to-date report of how far behind they are on their quotas. Salty-tongued Jackie (Walters) rushed down the aisle because of an unplanned pregnancy and now tries to compensate for a miserable marriage by having an on-and-off affair with the manager of the local bingo hall. When Dawn (Blethyn) isn't at the factory, she's at home, trying to keep some peace amongst her rowdy children. Both women are stuck in a largely dreary northern England town, and though they may daydream about taking off on a luxurious holiday, they know those kinds of things don't happen to the working class. Things seem to be taking a turn for the better when Dawn has a stroke of good fortune at bingo and wins over $160,000, but just when the two should be breaking out the champagne, there's tragic news and it turns out that if Dawn and Jackie are ever going to have that big fling, they'd better do it quickly. Blethyn's musical voice and melancholy smile are well-suited to Dawn's self-sacrificing personality and she radiates motherly warmth and good humor. Walters, whose movies have gone unseen on these shores lately, tells us all we need to know about Jackie in her slight swagger and the barely restrained bitterness that tinges her every word. Neither woman is glamorous or even conventionally attractive but their compelling personalities keep us hooked, wondering what's going to happen to them. Both actresses are far more vibrant than Kay Mellor's screenplay, which is rather mired in gloom. Though the story is essentially simple, Mellor goes to considerable pains to slow it down, as if she was afraid the audience might not catch every dismal detail. The film perks up markedly when Dawn and Jackie find themselves swept up in the bright lights and high stakes of Las Vegas, where they encounter rodeo star Cody (a puffy Kris Kristofferson), a charming alternative to the dullish men they're used to. Although the female characters ring true, this is the kind of movie in which there are two kinds of males: the hunks and the lunks. Small wonder it's called "Girls' Night." James Sanford
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Member since: 2014
I am Shantazia Howard, a fourth year Economics student from Daytona Beach, FL. I have been surrounded around business and innovation for 22 years.
I am a entreprenuer with five years 0f experience in sales and marketing.


1. Introduction
This document defines a "priority" field as part of the WEBRTC RTCRtpEncodingParameters
structure, with the possible values "very-low",
"low", "medium" and "high".
This feature was originally part of the [WEBRTC] specification, but was removed in November 2019 due to lack of implementation experience. It is now part of this document.
In addition, this specification adds fields to RTCRtpEncodingParameters
that allow control over the DSCP markings without affecting local
prioritization, and vice versa.
2. Priority and QoS Model
Many applications have multiple media flows of the same data type and
often some of the flows are more important than others. WebRTC uses the
priority and Quality of Service (QoS) framework described in [rfc8835] and [rfc8837] to provide priority and
DSCP marking for packets that will help provide QoS in some networking
environments. The priority setting can be used to indicate the relative
priority of various flows. The priority API allows the JavaScript
applications to tell the browser whether a particular media flow is high,
medium, low or of very low importance to the application by setting the priority
property of RTCRtpEncodingParameters
objects to one of the
values defined below.
3. Extensions for media priority
3.1. RTCPriorityType Enum
enum {
RTCPriorityType "very-low" ,"low" ,"medium" ,"high" };
| Enumeration description | |
|---|---|
very-low
| See [rfc8835], Sections 4.1 and 4.2. Corresponds to "below normal" as defined in [rfc8831]. |
low
| See [rfc8835], Sections 4.1 and 4.2. Corresponds to "normal" as defined in [rfc8831]. |
medium
| See [rfc8835], Sections 4.1 and 4.2. Corresponds to "high" as defined in [rfc8831]. |
high
| See [rfc8835], Sections 4.1 and 4.2. Corresponds to "extra high" as defined in [rfc8831]. |
Applications that use this API should be aware that often better overall user experience is obtained by lowering the priority of things that are not as important rather than raising the priority of the things that are.
3.2. Extension to RTCRtpEncodingParameters
partial dictionary RTCRtpEncodingParameters {RTCPriorityType priority = "low";RTCPriorityType networkPriority ; };
priority
, of type RTCPriorityType, defaulting to"low"
-
Indicates the priority of an
RTCRtpSender
, which influences the bandwidth allocation amongRTCRtpSender
objects. It is specified in [rfc8835], Section 4. The user agent is free to sub-allocate bandwidth between the encodings of anRTCRtpSender
. -
networkPriority
, of type RTCPriorityType -
This has the same
effect as
priority
, except that it only affects the DSCP markings of the generated packets, as described in [rfc8835] section 4.2.If
networkPriority
is unset, the DSCP markings of the generated packets are controlled by thepriority
member.
4. Extensions for RTCDataChannel
partial interface RTCDataChannel {readonly attribute RTCPriorityType priority ; };partial dictionary RTCDataChannelInit {RTCPriorityType priority = "low"; };
4.1. New RTCDataChannel attribute
priority
, of type RTCPriorityType, readonly-
The
priority
attribute returns the priority for thisRTCDataChannel
. The priority is assigned by the user agent at channel creation time. On getting, the attribute MUST return the value of the [[DataChannelPriority]] slot.
4.2. New RTCDataChannelInit member
priority
, of type RTCPriorityType, defaulting to"low"
-
Priority of this channel.
4.3. RTCDataChannel processing steps
The following steps are added to the initialization steps for DataChannel:
Let DataChannel have an internal slot [[DataChannelPriority]].
In the processing steps for initializing a DataChannel, insert the following step into processing the option argument:
-
Initialize channel.[[DataChannelPriority]] to option’s
priority
member. -
For an incoming DataChannel, initialize channel.[[DataChannelPriority]] based on the integer priority value in configuration, according to the following mapping.
| configuration priority value | RTCPriorityType value
|
|---|---|
| 0 to 128 | very-low
|
| 129 to 256 | low
|
| 257 to 512 | medium
|
| 513 and greater | high
|
5. Security and Privacy Considerations
This API extension does not, per se, expose any new information, and none of the data handled through this extension can be considered sensitive or personally identifiable.
In conjunction with the ability to monitor network traffic, it is possible to use this extension to figure out which parts of the specification are actually honored by the implementation; in particular, whether setting priority causes modification of DSCP markings on the generated packets.
This specification allows some control over parts of network headers that are commonly used for prioritization of network traffic (DSCP markings). If the network to which the UA is attached is misconfigured or underprovisioned, this may influence the local network environment by emitting packets with DSCP markings that are not expected by the configuration.
Countermeasures against this risk include proper configuration; the simplest configuration is DSCP bleaching - always zeroing or ignoring the DSCP markings. Congestion control (always mandatory for WebRTC) will prevent network overload in most cases.


| Type | Changes | By |
|
| Updates for FileUpload 1.1-RC1. |
martinc
|
|
| Added release notes for FileUpload 1.1. |
martinc
|
|
| Update the User Guide to document the "right" way of using FileUpload 1.1, rather than the older, and thus deprecated, ways that are compatible with FileUpload 1.0. |
martinc
|
|
| Add this change log, including all changes since the Commons FileUpload 1.0 rele ase. |
martinc
|
|
| Update Commons IO dependency to version 1.1. |
martinc
|
|
| Add custom PMD configuration. |
martinc
|
|
| Make inner exception classes static, which they should have been all along. |
martinc
|
|
| Fix Checkstyle warnings. |
martinc
|
|
| Remove Javadoc warnings. Fixes
37706. Thanks to Rahul Akolkar . |
martinc
|
|
| Build updates:
- Include NOTICE.txt in the jar file and distributions.
- Include xdocs in source distribution.
- Create MD5 checksums for distributions.
|
martinc
|
|
| Add custom Checkstyle configuration. |
martinc
|
|
| Update dependencies in POM, and add comments and scope. |
martinc
|
|
| Standardise on @throws instead of having a mixture of that and @exception. |
martinc
|
|
| Make DiskFileItem serializable. Thanks to Niall Pemberton for the suggestion and patch. Fixes
32785. Thanks to Niall Pemberton . |
martinc
|
|
| Make the temporary file names unique across class loaders, not just within them, by including a UID in the file name. |
martinc
|
|
| Include the actual and permitted sizes in both the exception message and the exception itself. Fixes
32782. |
martinc
|
|
| If an explicit header encoding is not specified, use the one from the appropriate context (i.e. ServletRequest or ActionRequest). Fixes
34483. |
martinc
|
|
| Add getCharacterEncoding to the request context. |
martinc
|
|
| Null check and case insensitivity fixes. Fixes
34497. |
martinc
|
|
| Web site updates:
- Add detail pages for Source Repository and Issue Tracking, based on those for IO and Validator.
- Improvements to FileUpload home page, based on similar recent changes to IO and Validator home pages.
- The Bugzilla component name has a space in it. Fix the URLs.
- Add an FAQ page, using the Maven plugin to generate it.
|
martinc
|
|
| Fixes to POMs Fixes
37314. |
dion
|
|
| Setting source and target for Java 1.3 |
mrdon
|
|
| Fix typos in Javadoc code examples. Fixes
33311. |
martinc
|
|
| Fix typos in exception messages. |
martinc
|
|
| Obtain request content type from container instead of headers. Fixes
32654. |
martinc
|
|
| New mock objects from Jetspeed-2, and new FileUpload test cases. |
sullis
|
|
| added toString() methods |
sullis
|
|
| Fix up the existing package.html file and add new ones for the newly introduced packages. Fairly minimal, but with a link to the user guide. |
martinc
|
|
| Substantial refactoring and additions:
- The core package is now independent of servlet / portlet / other distinctions, as well as persistence schemes, other than deprecated classes and methods retained for backwards compatibility.
- Servlet specific functionality has been moved to a new 'servlet' package. Existing users should migrate to this as soon as possible, since the servlet specific functionality in the generic package will be removed in the release after FileUpload 1.1.
- Support for portlets (JSR 168) has been added, in a new 'portlet' package. This is not well tested at this point, and feedback would be very much appreciated. (This also resolves bug #23620.)
- The disk-based file item implementation has been moved into a 'disk' package, and renamed from Default* to Disk* to reflect what it really is. The Default* classes have been retained in the top level package for backwards compatibility, but are now deprecated, and will be removed in the release after FileUpload 1.1.
- The isMultipartRequest method is an unfortunate casualty of this refactoring. That method should really be moved to ServletFileUpload, but since the method is static, it can only exist in either FileUploadBase or ServletFileUpload. Backwards compatibility dictates the former for now, but the latter is the desired state, which implies some future breakage. Fair warning...
|
martinc
|
|
| Specify the encoding (ISO-8859-1) when converting the boundar y to a byte array. Fixes
26194. |
martinc
|
|
| Convert to Sun coding guidelines. |
martinc
|
|
| DeferredFileOutputStream moved to Commons IO. |
martinc
|
|
| Workaround for Mac IE5 bug. Thanks to Justin Sampson for the patch and tests for this vexing issue. Fixes
30061. Thanks to Justin Sampson . |
martinc
|
|
| Handle unquoted header parameters. Fixes
25527. |
martinc
|
|
| Some documentation on interaction with virus scanners. Fixes
27193. |
martinc
|
|
| More unit tests from Justin Sampson. Fixes
30059. Thanks to Justin Sampson . |
martinc
|
|
| Use FileCleaner from Commons IO to clean up temp files, rather than File.deleteOnExit(), which can cause serious problems in long-running processes. Fixes
27477. |
martinc
|
|
| Check that HTTP method is POST as part of multipart check. Fixes
28085. |
martinc
|
|
| Switch to Commons IO version of DeferredFileOutputStream. Adding IO as a dependency will allow us to take advantage of other classes in that component to fix additional FileUpload bugs. |
martinc
|
|
| handle quoted boundary specification. Fixes
21269. |
martinc
|
|
| use case-independent comparisons for encoding types. Fixes
31496. |
martinc
|
|
| Fix comments to avoid break iterator complaints. |
martinc
|
|
| Fix typos in comments. Thanks to Yuji Yamano . |
martinc
|
|
| Add support for character sets specified for individual parts. Fixes
20813. Thanks to Oleg Kalnichevski . |
martinc
|
|
| Change to Apache License 2.0 |
scolebourne
|
|
| Correct the comment for the no-args constructor to reflect the fact that a factory needs to be set before parsing uploads. Fixes
23822. |
martinc
|
|
| Collapse some all but duplicated code. |
martinc
|
|
| Fix example showing FileItem.write to use a File object. Fixes
22643. |
jmcnally
|
|
| Check for null before attempting to close streams in write(). Fixes
21221. Thanks to Peter Chase . |
martinc
|
|
| Correction to sample code in the docs. Fixes
21161. Thanks to Paul Dalton . |
martinc
|


<FORMDATA ID='TaskInstance:13345' ACTION='@CREATE_TASK' FORM='Fallout Task' APPNAME='CCWF'> <META NAME='DUE_IN_SECONDS'>86400</META> <FIELD NAME='COUNTRY'>USA</FIELD> <FIELD NAME='STATE'>Utah</FIELD> <FIELD NAME='CITY'></FIELD> <FIELD NAME='STREET'></FIELD> </FORMDATA>And the following is an example of form data documents sent from the task manager to the engine after the user selects "Complete" action on a task instance:
<FORMDATA ID='TaskInstance:13345' ACTION='@TASK_ACTION'> <META NAME='TASK_ACTION'>Complete</META> <FIELD NAME='COUNTRY'>USA</FIELD> <FIELD NAME='STATE'>Colorado</FIELD> <FIELD NAME='CITY'>Denver</FIELD> <FIELD NAME='STREET'>930 15th</FIELD> </FORMDATA>In the following we describe all the meta information that may be present in form data documents.
| ID | ID of the task instance. For in-flow tasks, this is in the form
TaskInstance: id, where id is the activity instance
ID of the activity creating the manual task (not the ID of TASK_INSTANCE in the
task manager!) For custom actions described below, this
is in the form of w.cuid.window_name |
| FORM | The form name to be used to present the data |
| ACTION | Action to be taken (see below) |
| APPNAME | This is used to look up engine URL from configuration. |
| PROCESS_INSTANCE_ID | The process instance ID where the task is created. not used when the task is not associated with a process instance. |
| MASTER_REQUEST_ID | the master request ID of associated process instance. not used when the task is not associated with a process instance. |
| DUE_IN_SECONDS | Due date/time in seconds. The GUI will convert the data into a user friendly unit such as days and hours |
| TASK_ACTION | Only used with @TASK_ACTION to specify which action the user has submitted |
| @PROMPT | for post-actions |
| @TITLE | Browser title |
| ERROR |
@COMPLETE_TASK?completionCode=foo
.
The completion code will be used by the process engine
in determining how to transition to the next activity.
The form designer allows to associate custom actions to BUTTON and MENUITEM widgets. MENUITEM must be owned by a MENU, which is typically owned by a MENUBAR, and can also be owned by another MENU (thereby behaves as a submenu), or some other container widgets such as PANEL, PAGELET and TAB (thereby behaves as a pop-up menu).
A custom form action is implemented as a java class
that implements com.centurylink.mdw.common.utilities.form.FormAction
.
The class needs to implement the method handleAction
, which
should take the current form data document
and the action name as input and return another form data document to
be presented. The returned form data document may specify
a different form to present the data, through the root-element attribute FORM.
Form actions are triggered by the users
(pressing a button or selecting a menu item)
and the task manager sends the action to the engine, which instantiates the
form action class and invokes its handleAction method.
Form actions can also be associated with a DROPDOWN, in which case any time the user changes the drop down value, the action will be triggered the same way as pressing a button. Similarly, you can also associate an action with a radio button group. Additionally, you can associate an action with a COLUMN in a TABLE, in which case, the data fields in the column will become hyper links and clicking on a link will trigger an action as above.
The actions can also be the built-in action @START_PROCESS
,
as well as one of the following additional built-in actions:
form
, and the data document
for the dialog is a copy of the current window's (the parent).form
, , and the data document
for the dialog is a copy of the current window's.@COMPLETE_TASK?completionCode=foo
.
The completion code will be used by the process engine
in determining how to transition to the next activity.
@DIALOG?form=Dialog test com.qwest.roms.action.CreateOrder?ORDT=CHG&ORDN=C12334550
There are times that we would like to have other special behavior controlled by the custom form actions, after returning the data document to be displayed. We call this type of special behavior as post actions, and they are achieved by setting the root-element attribute ACTION in the return form data documents. Many of the built-in actions above can be used as post actions as well. Here is a list of all actions allowed to be post actions:
| Post Action | Behavior |
|---|---|
| @DIALOG | Open a dialog window. The form is specified in the root-element attribute FORM |
| @OK | Close the dialog and copy the form document to the parent page |
| @CANCEL | Close the dialog and discard its form document |
| @WINDOW | Open a new window. The form is specified in the root-element attribute FORM |
| @PROMPT | This action is for post action use only. It triggers a prompt dialog on the next page, and the prompt text is taken from the meta data field @PROMPT |
To be completed
<FORMDATA> <TABLE NAME='TABLE_DATA'> <ROW> <ENTRY NAME='CUID'>jxxu</ENTRY> <ENTRY NAME='FirstName'>Jiyang</ENTRY> <ENTRY NAME='LastName'>Xu</ENTRY> </ROW> <ROW SELECTED='TRUE'> <ENTRY NAME='CUID'>doakes</ENTRY> <ENTRY NAME='FirstName'>Don</ENTRY> <ENTRY NAME='LastName'>Oakes</ENTRY> </ROW> </TABLE> </FORMDATA>


Select a paragraph based on style
This is paragraph 1.
This is paragraph 2.
This is paragraph 3.
This is paragraph 4.


Built by
Omri Klinger
,
Tomer Coreanu
&
Hadar Landao
at the 2016 TechCrunch Disrupt
Ask the 911bot for "help"
Get instant instructions
Get connected efortlessly to 911


{% extends 'layouts/base.html' %} {% load compress %} {% load staticfiles %} {% block content %}
The Consulting Group at Virginia Tech was founded in 2010 to make Virginia Tech a world leader in molding consulting and business talent.
The mission of Consulting Group at Virginia Tech is to embody Ut Prosim, "that I may serve," through Pro Bono consulting and, in doing so, prepare members to land and excel at top companies upon graduation.
The Consulting Group at Virginia Tech is an organization filled with talented and passionate students who have a career interest in business consulting.
The Consulting Group is bridging the gap between Virginia Tech students and business consulting firms from around the world. As an industry-oriented organization, we encourage students to learn more about the exciting and fast-changing consulting world. Our analysts work with businesses around the area in developing business and strategic solutions while advancing their knowledge and honing their skills on real consulting issues.
We are constantly expanding our knowledge by receiving cutting-edge instruction from top consulting firms. In preparation for projects, analysts participate in workshops and other developmental events that will allow them to succeed in their future consulting careers. Additionally, we organize networking opportunities between students and employers and host internal case competitions, promoting information exchange and experience-sharing among students.
We offer first-hand consulting experience with our clients. In addition, CGVT provides continuous preparation and training through peer mentoring, case studies, case competitions, and mock interviews. Consequently, our analysts gain valuable insights in consulting, helping them to excel in their future careers.


{%extends 'base.html'%} {% block content %} {{bock.super}}
{{pics.user.username}}
{{pics.image_name}}
{{pics.Comments}}
{{comment.user}} {{comment.Comments}}
{{comment.user}} {{comment.Comments}}


The following can be deleted once things are working
Enter a delay milliseconds per command
Timer result Watch that 10 flashes actually occur.
Lower the ms until only a few flashes occur or the LED does not turn off!
On my network I consistently can get 60 ms per command.


Try to guess the pokemon
Press any letter on the keyboard
Wins: 0
Losses: 0
Current Mystery Pokemon:
Guesses Left: 7
Guesses So Far: None


| File: | lib/Dice.pm |
| Coverage: | 96.8% |
| line | stmt | bran | cond | sub | pod | time | code |
|---|---|---|---|---|---|---|---|
| 1 | package Dice; | ||||||
| 2 | |||||||
| 3 | 2 2 | 158782 4 | use 5.008; | ||||
| 4 | 2 2 2 | 7 1 37 | use strict; | ||||
| 5 | 2 2 2 | 7 3 36 | use warnings; | ||||
| 6 | 2 2 2 | 7 1 361 | use Exporter; | ||||
| 7 | our @ISA = 'Exporter'; | ||||||
| 8 | our @EXPORT_OK = qw( roll_dice roll_1 roll_2); | ||||||
| 9 | |||||||
| 10 - 18 | =head1 NAME Dice - Random roller for 2d6 based Role-Playing Games. =head1 VERSION Version 0.01 =cut | ||||||
| 19 | |||||||
| 20 | our $VERSION = '0.01'; | ||||||
| 21 | |||||||
| 22 | |||||||
| 23 - 43 | =head1 SYNOPSIS Provides dice rolls for other code. C<use Dice qw( roll_dice roll_1 roll_2); # Shortcut standard roll: my $roll = roll_2; # If using more than 2 dice, and have a per-total modifier. my $other_roll = roll_dice(5,+3);> =head1 EXPORT roll_dice roll_1 roll_2 =head1 SUBROUTINES/METHODS =head2 roll_dice =cut | ||||||
| 44 | |||||||
| 45 | sub roll_dice { | ||||||
| 46 | 2000 | 1 | 1954 | my ($number, $modifier) = @_; | |||
| 47 | 2000 | 5324 | $modifier ||= 0; | ||||
| 48 | 2000 | 1433 | my $total; | ||||
| 49 | 2000 | 2007 | for (1..$number) { | ||||
| 50 | 3000 | 3179 | $total += int(rand(6)) + 1; | ||||
| 51 | } | ||||||
| 52 | 2000 | 2362 | return $total + $modifier; | ||||
| 53 | } | ||||||
| 54 | |||||||
| 55 - 57 | =head2 roll_1 =cut | ||||||
| 58 | |||||||
| 59 | sub roll_1 { | ||||||
| 60 | 1000 | 1 | 81195 | return roll_dice(1,0); | |||
| 61 | } | ||||||
| 62 | |||||||
| 63 - 65 | =head2 roll_2 =cut | ||||||
| 66 | |||||||
| 67 | sub roll_2 { | ||||||
| 68 | 1000 | 1 | 3345 | return roll_dice(2,0); | |||
| 69 | } | ||||||
| 70 | |||||||
| 71 | |||||||
| 72 | |||||||
| 73 - 148 | =head1 AUTHOR Leam Hall, C<< <leamhall at gmail.com> >> =head1 BUGS Please report any bugs or feature requests to C<bug-. at rt.cpan.org>, or through the web interface at L<https://rt.cpan.org/NoAuth/ReportBug.html?Queue=.>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. =head1 SUPPORT You can find documentation for this module with the perldoc command. perldoc Dice You can also look for information at: =over 4 =item * RT: CPAN's request tracker (report bugs here) L<https://rt.cpan.org/NoAuth/Bugs.html?Dist=.> =item * AnnoCPAN: Annotated CPAN documentation L<http://annocpan.org/dist/.> =item * CPAN Ratings L<https://cpanratings.perl.org/d/.> =item * Search CPAN L<https://metacpan.org/release/.> =back =head1 ACKNOWLEDGEMENTS Appreciate all the support from Freenode#perl. =head1 LICENSE AND COPYRIGHT Copyright 2018 Leam Hall. This program is distributed under the MIT (X11) License: L<http://www.opensource.org/licenses/mit-license.php> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. =cut | ||||||
| 149 | |||||||
| 150 | 1; # End of Dice |


Mushrooms - P. cubensis
I have had no experience with mushrooms. Previously, long ago, I had a few LSD trips which were nice. These days, occasionally I smoke some grass, which I like, because everything gets easy, and which I dont like, because concentration deteriorates and it is not easy to exploit interesting or pleasant thoughts.
I am very well settled in life with a great job, a great family and a healthy and sportive body. The one thing I am missing a bit is a deep spiritual experience. I meditate with pleasure, but this is never 'sensational'. Heaving read a lot of great experiences on the web, I ordered 2 mushrooms on the internet. I received confirmation by email that the order was shipped on February, 28th. However, the package arrived very late on March, 8th. The shrooms were sealed in a plastic bag, thick stems, caps not opened with a length of about 10cm. The label on the bag said, beginners should not consume more than half of the package.
In earlier days, my parents, brother and sisters were often outside in the forests to collect mushrooms for eating, which we used to fry and eat. So I kind of know to distinguish a fresh and older mushroom. These mushrooms did not look good. My instinct said: dont. I did not listen to this voice, and I did for some temporary stupidity not consider food poisoning. So I got the bill.
I opened the seal to let them dry for three days at room temperature. On march 11th they were half dried. At 5pm I consumed about 3/4 of the two shrooms, which corresponds, I assume, to about 15-25g fresh mushroom. One hour later I had a slight feeling of flying, another hour later my ability to smell and to hear was more intense. Time seemed to flow a bit slower. But, overall, nothing spectacular.  I felt very weak and not nice and tried to resist.
Over the next two hours the weakness increased close to swooning. I told my wife that I did not feel good. I felt cold but still had a great desire for fresh air. We opened the outside door, which relieved my fresh air desire but made me feel cold even more. My mouth felt dry, I asked for water. I had cold sweat on my forehead and was scared that my body would be uncapable to deal with what I had done to it. My heartbeat was OK with 72 beats/min, but I had the strongest feeling that my circulation is close to breaking down. On the way to the toilet I lost consciousness for about a minute. At that point my wife called the ambulance. I was admitted to hospital.
My circulation was monitored for the next hours and did not show any problem on paper, but for another hour or so during intensity care weakness and the threat of losing consciousness were scaring to hell. At some point someone decided to direct pure oxygen into my nose, and my condition improved immediately to a point where I thought, I might be rescued.
About 11 hours after consumption, when I was out of intensity care laying on the bed for the night, I had a small relapse of weakening and cold sweat, which passed after sitting up. I was released from hospital next noon.
The medical doctors apparently seemed not to be very knowledgeable, neither on food poisoning nor on magic mushrooms. They probably did not consider my case a serious one, but did not have a clear clue what was going on either. They called a special intoxication unit [toxicologist] in another town and according to them horror trips like this were known and of psychosomatic nature. However, I did not find any experience like this on the web at the time, and I know that the circulation thread came first and than the anxiety, not the other way round. I should mention that I pissed almost 2 liters during the night in the hospital which to me is indicative of a physical reation to a toxic effect as well. On the other side, as far as I know the failure cannot be ascribed to typical food poisoning (alone), which almost always goes along with diarrhoea, sometimes with fever, sometimes with partial paralysis due to botulinus toxin, which I did not have.
In corollary: be absolutely certain that the kind of mushroom you are going to consume is the right kind. Start with a low dose for the first time and increase gently the next time. Most important: let it be fresh !!!!
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Today’s significant increase in cases is in part due to additional laboratories reporting to DPH, and also improvements in electronic reporting from other laboratories. Patient information is often incomplete and DPH works to complete the records, so data will change over time. Today’s significant increase in cases is in part due to additional laboratories reporting to DPH, and also improvements in electronic reporting from other laboratories. Patient information is often incomplete and DPH works to complete the records, so data will change over time.


Contact Me
Have some project that you like to discuss ? You can use this page to contact me.
-
Iligan City, Philippines
-
+63<PHONE_NUMBER>
-
proxyshadow@gmail.com


Welcome to My App!
Please confirm your email address by clicking this link ({{ConfirmUserUrl}}).
Sincerely, The Academy at WGU Team


What is it?
TeeTime is a Pipe-and-Filter Framework for Java.
It provides support for the modeling and the execution of P&F architectures. In particular, it features…
-
many primitive and composite ready-to-use stages
-
a type-safe way to develop and connect stages
-
no(!) single-threaded overhead
-
only a minimal multi-threaded overhead
-
threads can be assigned to stages arbitrarily
-
and many more…
Where to get it?
You can get TeeTime through various ways. If your projects uses Maven, just add following dependency to your pom.xml:
<dependency> <groupId>net.sourceforge.teetime</groupId> <artifactId>teetime</artifactId> <version>3.0</version> </dependency>
To get the source code or the plain jar, take a look at the download section.
How to use it?
To make working with TeeTime as pleasant and efficient as possible, this homepage provides various tools for you, which explain TeeTime’s functions.
You can take a closer look at:


Text.LocateXY
Syntax
Text.LocateXY ( x , y : int )
Description
The Text.LocateXY procedure is used to move the cursor so that the next output from put will be at approximately (x, y). The exact location may be somewhat to the left of x and below y to force alignment to a character boundary.
Example
This program outputs Hello starting at approximately (100, 50) on the screen.
View.Set ("graphics")
Text.LocateXY ( 100, 50 )
put "Hello"
Details
The Text.LocateXY procedure is used to locate the next output based on x and y positions, where the position x=0, y=0 is the left bottom of the screen. See also the Text.Locate procedure which is used to locate the output-based row and column positions, where row 1 is the top row and column 1 is the left column.
The screen should be in a "graphics" mode. See the View.Set procedure for details. If the screen is not in a "graphics" mode, it will automatically be set to "graphics" mode.
Status
Exported qualified.
This means that you can only call the function by calling Text.LocateXY , not by calling LocateXY.
See also
View.Set and Draw.Dot.


Table Views are similar to List Views, but allow you to pass a small amount of table meta-data as opposed to writing your own itemView implementation.


Test Steps:
- Click "Set Null Position", then click "Close Second App".
- Click "Set Mouse Position", then click "Close Second App".
- Click "Set Center Position", then click "Close Second App".
Expected Output:
- Second app popups on default position and "Move second app to null position." text is displayed on first app.
- Second app popups on mouse position and "Move second app to mouse position." text is displayed on first app.
- Second app popups on center position and "Move second app to center position." text is displayed on first app.


Total management is a free, tableless, W3C-compliant web design layout by Templete World. This template has been tested and proven
compatible with all major browser environment and operating systems. You are free to
modify the design to suit your tastes in any way you like.
We only ask you to not remove
"Design by Templayte World"
and the link
http://www.templateworld.com from the footer of the template.
If you are interested in seeing more of our free web template designs feel free to visit our website,
Template World. We intend to add at least 25 new templates in the coming month.