Data Model
Task
Attributes
task id
A unique identifier for this task. The task identifier is
permanent and cannot be changed.
project id
The unique identifier for the project to which this task belongs.
Every task must belong to a project. If a task is created as a
subtask of another task, it automatically inherits the project
of its parent task. The project identifier cannot change - a
task cannot be moved from one task to another.
parent task ID
The identifier of the parent task of this task, if it has one.
The parent task is assigned when thte task is created, and cannot
be changed. A task which is created without a parent cannot be
given one later.
task summary
A brief summary of this task. This summary cannot be more than
255 bytes, but otherwise it is not constrained - for example, it
can potentially be duplicated in another task. However, its
intent is to uniquely identify the task to the user. The task
summary can be edited later.
task discussion
A detailed description and discussion of the task. There is no
significant limit to the length of the discussion.
task status
Either 'open' or 'closed'. Other task status is defined by
other fields: a task is scheduled if it has a timebox ID; a
task is assigned if it has a user ID.
timebox id
The identifier for the timebox to which this task is assigned,
if any. The timebox can be assigned or unassigned or modified
at any later time, but the task is never assigned to more than
one timebox at once.
user id
The identifier for the user to which this task is assigned, if
any. The user can be assigned or unassigned or modified at any
later time, but the task is never assigned to more than one user
at once.
task creation date
A timestamp for the date/time when this task was created.
task modified date
A timestamp for the date/time when the task was last modified.
Operations
new
A task can only be created as new task for a specific project,
or as a subtask of another task - at the time of creation,
exactly one of these must be provided. The task must also have
a summary at the time of creation. The task ID and task creation
date are automatically provided. All other fields are optional.
The default value for the task status is 'open'.
edit
The task ID, project ID, parent task ID, and task creation date
are not modifiable. Once the object is created, these are
constant. The task modified date is automatically updated on
every edit to the instance. All other fields can be edited by
the user.
delete
A "deleted" task is not actually removed from the database table.
Instead, the task status is set to 'closed'.
Project
Attributes
project id
A unique identifier for this project. The project identifier is permanent and cannot be changed.
project name
A short string identifying this project. This does not need to be unique.
project discussion
A detailed description and discussion of the project. There is no significant limit on the length of the discussion.
project status
Either 'open' or 'closed'.
project creation date
A timestamp for the date/time when this project was created.
Operations
new
A project must have a name assigned at the time of creation. The project ID and project creation date are automatically provided. Other fields are optional. The default value for the project status is 'open'.
edit
The project ID and project creation date are not modifiable. Once the object is created, these are constant. All other fields can be edited by the user.
delete
A "deleted" project is not actually removed from the database table. Instead, the project status is set to 'closed'.
Timebox
Attributes
timebox id
A unique identifier for this timebox. The timebox identifier is permanent and cannot be changed.
timebox name
A short string identifying this timebox. This does not need to be unique.
timebox discussion
A detailed description and discussion of the timebox. There is no significant limit on the length of the discussion.
timebox end date
A timestamp for the date/time when this timebox is scheduled to end.
Operations
new
A timebox must have a name assigned at the time of creation. The timebox ID is automatically provided. Other fields are optional.
edit
The project ID is not modifiable. Once the object is created, this are constant. All other fields can be edited by the user.
delete
A "deleted" timebox is not actually removed from the database table. Instead, the timebox end date can be set to NULL.
User
Attributes
user id
A unique identifier for this user. The user identifier is permanent and cannot be changed.
user login name
A short string identifying this user. This must be unique.
user password
The password which the user must provide to log in.
user password salt
An arbitrary salt which is added to the user's login for password validation. This must be provided at the time the account is created and cannot be changed.
user creation date
A timestamp for the date/time when this user's account was created.
user last login date
A timestamp for the last date/time when this user logged in.
Operations
new
A user must have a name, password, and password salt assigned at the time of creation. The user ID, user creation date, and last login date are automatically provided.
edit
The user ID, password salt, and user creation date are not modifiable. Once the object is created, they are constant. The last login date must be set to CURRENT_TIMESTAMP. The login name and password may be changed by the user, but the login name must be unique in the database.
delete
A "deleted" user is not actually removed from the database table. Instead, the password is set to NULL.
Session
Attributes
session id
A unique identifier for this session. The session identifier is permanent and cannot be changed.
user id
The identifier of the user who set up this session.
session creation date
A timestamp for the date/time when this session was created.
session expiration date
A timestamp for the date/time when this session will expire.
Operations
new
A session must have a user id assigned at the time of creation. The session ID and session creation date are automatically provided.
edit
There are no editable fields in the session table.
delete
A "deleted" session is not actually removed from the database table. Instead, the session expiration date can be set to '0000-00-00 00:00:00'.
Access
Attributes
user id
The identifier of the user who is granted access.
project id
The identifier of the project for which the user is granted access.
access creation date
A timestamp for the date/time when this access was granted.
Operations
new
A session must have a user id and project id assigned at the time of creation. The access creation date is automatically provided.
edit
There are no editable fields in the access table.
delete
A "deleted" session is not actually removed from the database table. Instead, the session expiration date can be set to 0000-00-00 00:00:00.
Use Cases
User Views
To-do list


|
Unless otherwise indicated, as referenced herein, all trademarks are the property of Zimmer Biomet; and all products are manufactured by one or more of the dental subsidiaries of Zimmer Biomet Holdings, Inc., and distributed and marketed by Zimmer Biomet Dental (and, in the case of distribution and marketing, its authorized marketing partners). For additional product information, please refer to the individual product labeling or instructions for use. Product clearance and availability may be limited to certain countries/regions. This material is intended for clinicians only and does not comprise medical advice or recommendations. This material may not be copied or reprinted without the express written consent of Zimmer Biomet Dental. |
|
©2017 Zimmer Biomet. All rights reserved |


Over the past few months, I've been busy authoring two brand new lifestyle ebooks on minimalism and creativity. I'm excited to share my experiences with you. Click the book covers above for more information about each!

In Make Something Today, I provide an in-depth analysis of the positive life-changing effects of creativity on the brain.
Both will be available this summer. Stay tuned, and subscribe to the mailing lists to stay informed!


import "testing/quick"
Package quick implements utility functions to help with black box testing.
The testing/quick package is frozen and is not accepting new features.
Check looks for an input to f, any function that returns bool, such that f returns false. It calls f repeatedly, with arbitrary values for each argument. If f returns false on a given input, Check returns that input as a *CheckError. For example:
func TestOddMultipleOfThree(t *testing.T) { f := func(x int) bool { y := OddMultipleOfThree(x) return y%2 == 1 && y%3 == 0 } if err := quick.Check(f, nil); err != nil { t.Error(err) } }
CheckEqual looks for an input on which f and g return different results. It calls f and g repeatedly with arbitrary values for each argument. If f and g return different answers, CheckEqual returns a *CheckEqualError describing the input and the outputs.
Value returns an arbitrary value of the given type. If the type implements the Generator interface, that will be used. Note: To create arbitrary values for structs, all the fields must be exported.
type CheckEqualError struct { CheckError Out1 []interface{} Out2 []interface{} }
A CheckEqualError is the result CheckEqual finding an error.
func (s *CheckEqualError) Error() string
A CheckError is the result of Check finding an error.
func (s *CheckError) Error() string
type Config struct { // MaxCount sets the maximum number of iterations. If zero, // MaxCountScale is used. MaxCount int // MaxCountScale is a non-negative scale factor applied to the default // maximum. If zero, the default is unchanged. MaxCountScale float64 // If non-nil, rand is a source of random numbers. Otherwise a default // pseudo-random source will be used. Rand *rand.Rand // If non-nil, the Values function generates a slice of arbitrary // reflect.Values that are congruent with the arguments to the function // being tested. Otherwise, the top-level Value function is used // to generate them. Values func([]reflect.Value, *rand.Rand) }
A Config structure contains options for running a test.
type Generator interface { // Generate returns a random instance of the type on which it is a // method using the size as a size hint. Generate(rand *rand.Rand, size int) reflect.Value }
A Generator can generate random values of its own type.
A SetupError is the result of an error in the way that check is being used, independent of the functions being tested.
func (s SetupError) Error() string


{% include custom/footer.html %}
Copyright © {{ site.time | date: "%Y" }} - {{ site.author }} - This site is generated using Octopress, a framework for Jekyll, using the Greyshade theme and is hosted at Digital Ocean with static stuff on S3


@import models.view.{InformLetterSectionView, OutcomeView}
@import views.html.common.page.{detailPanel, twoThirdsColumn}
@(outcomeViews: java.util.List[OutcomeView], informLetterSectionView: InformLetterSectionView)
@twoThirdsColumn {
A decision on your application has been made.
Please review the documents below which state the outcome for each of the goods lines on your application.
@if(!outcomeViews.isEmpty) {
Outcome documents
@if(outcomeViews.get(0).isShowNewIndicator) {
@newIndicator()
}
}
@informLetters(informLetterSectionView)
@if(outcomeViews.size() > 1) {
Previous outcome documents
@detailPanel("Previous outcome documents") {View older versions of the outcome documents from this application} {
These documents have been replaced and are no longer valid.
They are available here for reference only and do not form part of your licence.
@for(i <- 1 until outcomeViews.size()) {
Issued on @outcomeViews.get(i).getIssuedOn, voided on @outcomeViews.get(i).getVoidedOn
}
}
}
}


Angra occupies the south coast of the island of Terceira, which is part of the central group of islands in the Azores. It lies about 65 miles from Faial.
Angra is a World Heritage site, old buildings dating back to 16th century make up the old city with its cobbled streets.
Position 38°39'13"N, 27°13'01"W (marina)
There is a computerised system here. Yachts only have to clear in and out at the marina office and the necessary information is automatically reported to the appropriate officials. The office will issue the transit log, if required.
Last updated December 2015.
The harbour was a former naval station and is sheltered on the west and south-west by the promontory of Monte Brasil.
The marina is attractively situated right in the heart of the old harbour and has all the facilities and services required. Max. length is 25m and depth 3.5m.
The town has all usual services (banks, pharmacy, health centre, car hire, provisions, restaurants.)
Last updated December 2015.
The yacht club at Angra is particularly helpful to visiting yachts.


---
title: Not Found
permalink: /404.html
sitemap: false
exclude: true
layout: single-page
---
Page not found
Oops! This page can't be found. It's either moved or no longer exists. You can try finding what you are looking for by visiting the Home page or trying the following pages:


Space = show sprites | Enter = start | Arrows = pad | Z = A | X = B | L = Select
numpad plus/minus = change emulation speed


We hope you enjoyed getting to know your new library and don't forget to sign up for Summer Reading if you haven't already!


Welcome to the “How Would ReproNim Do That?” Series¶
Overview
ReproNim has created a lot of tools. It is often confusing, however, how these tools fit together to solve specific problems. In the “How would ReproNim do that?” series of documents, we look at a number of real world problems and discuss the “ReproNim Way” of handling them. We try to compare and contrast the ReproNim Way relative to the “traditional” way of handling these topics, and explore the potential costs and benefits that come with the ReproNim approach.
Important
The handbook is currently in pre-alpha stage. If you would be willing to provide feedback on its contents, please
Volume 1: How Would ReproNim Do Local Container Analysis¶
Problem Statement: I have an image file (anat.nii); I have a container I want to run (neuronets/kwyk:latest-cpu); and I’d like to ‘manage’ the process and output in a reproducible way and then publish this process so that someone else could do the same thing.
Stakeholder: End User (Data Analyst)
Volume 2: How Would ReproNim publish a dataset¶
Problem statement: I’ve got a study; N subjects, Nifti data, behavioral metadata (subject demographics) in csv file. I’d like to publish this in a FAIR (particularly reusable, i.e. self describing) way.
Stakeholder: End User (Data Acquirer)
Volume 3: How Would ReproNim NIDMify my software¶
Problem Statement: I’m a tool developer, I have a new volumetric tool. How do I make it ReproNim compliant (i.e. NIDMify it) (provenance and output?
 How do I integrate my local results with public results (the ReproLake)?
Stakeholder: End User (Data Analyst)
Volume 5: How Would ReproNim Markup Local Behavioral Data in RedCap for Export¶
Problem Statement: I have a new study with the behavioral data in RedCap. How do I maintain (and export this) in the ReproNim way?
Stakeholders: Data Managers
Published doc: TBD
Volume 6: How Would ReproNim do ABCD analysis¶
Problem Statement: I have access to ABCD data, and would like to run a containerized analysis on that imaging data. More specifically, let’s say that the container I’d like to run is dcanlabs/abcd-hcp-pipeline:latest (GitHub, DockerHub), a “bids application for processing functional MRI data, robust to scanner, acquisition and age variability”.
Stakeholders: End User (Data Analyst)
Volume 7: How Would ReproNim Read DICOM data?¶
Problem Statement: I’ve got DICOM data from my scanner. How to I ‘ingest’ this data in a version and provenance aware fashion?
Stakeholders: End User (Data Acquirer) / Data Managers
Published doc: TBD
Volume 8: How Would ReproNim Make Reproducibility Manageable¶
(aka 5-Steps to More Reproducible Neuroimaging Computation) Problem Statement: There are so many things one has to do to make everything completely reproducible. Is there a list of smaller, more manageable steps I can engage that will still make a positive difference?
Stakeholders: Everyone
Published doc: TDB
Volume 9: Containerize a Workflow (Enigma Container for Shape Analysis)¶
Problem Statement: I have an analysis workflow I run locally. I would like to make it into a containerized workflow. We explore this topic using the ENIGMA Sulcal Shape analysis workflow as an example.
Stakeholders: Data Analyst


Florida: Essays and Poems
by FCIT
Nooning in Florida
by Will Wallace Harney
Additional Information
- Year Published: 1874
- Language: English
- Country of Origin: United States of America
- Source: The Atlantic Monthly (1874)
-
Readability:
- Flesch–Kincaid Level: 3.5
- Word Count: 243
- Genre: Poetry
- Keywords: florida, nature, passing of time
- ✎ Cite This
Downloads
The morning sun that opened up
Its disk of grand auroral flower,
As well as the tiny buttercup
And tamarind clocks that mark the hour,
Now sleeps through all the midday calm
In furrowed field and grassy meadow,
Or glimmers on the pine and palm
That stand foot deep in pools of shadow.
The lizard turns from green to mauve,
Expands his pouch, and bobs, and settles;
The water-lily’s fingered glove
Half closes on its disk of petals;
The yellow goats-beard goes to sleep;
The aster nods; the salvia dozes;
The fuchsias wink, and try to keep
Awake, among the sleepy roses,
Till musing memory shifts the scene;
A drowsy shadow passes over:
I see the fields of Northern green,
And smell the musk of Northern clover.
Out of the orchards, drawing near,
I hear the tired axles creaking,
And I know the wheat is in the ear—
I hear the whetted scythe a-speaking.
So, summer dozes North and South
From frosty lake to southern champaign,
And greedy bees, about her mouth,
Suck honey all the harvest campaign:
While I lie here, in drowsy ease,
The languid airs about me swooning,
Lulled by the songs of hives of bees,
In beds of phlox and heart’s-ease, nooning.


| Class and Description |
|---|
| OFAction
The base class for all OpenFlow Actions.
|
| OFActionAddField
Add a field at the start
OFActionAddField.fieldPosition and length OFActionAddField.fieldLength , with value OFActionAddField.fieldValue . |
| OFActionCalculateCheckSum
re-calculate the checksum start from
OFActionCalculateCheckSum.calcStartPosition with length OFActionCalculateCheckSum.calcLength ,
and write the result to OFActionCalculateCheckSum.checksumPosition with length OFActionCalculateCheckSum.checksumLength |
| OFActionCounter
Counter
FIXME Could discard this action counter because flow entry and the group entry have counter already
|
| OFActionDeleteField
Delete a field with field position and length.
|
| OFActionDrop
Drop with reason
|
| OFActionGroup
take the group(
OFActionGroup.groupId ) processing |
| OFActionModifyField
Modify field value with +increment value.
|
| OFActionOutput |
| OFActionPacketIn
packet in with reason.
|
| OFActionSetField
Set field value using
OFActionSetField.fieldSetting (value/mask). |
| OFActionSetFieldFromMetadata
Set field value from metadata.
|
| OFActionType
List of OpenFlow Action types and mappings to wire protocol value and
derived classes
|
| Class and Description |
|---|
| OFActionAddField
Add a field at the start
OFActionAddField.fieldPosition and length OFActionAddField.fieldLength , with value OFActionAddField.fieldValue . |
| OFActionCalculateCheckSum
re-calculate the checksum start from
OFActionCalculateCheckSum.calcStartPosition with length OFActionCalculateCheckSum.calcLength ,
and write the result to OFActionCalculateCheckSum.checksumPosition with length OFActionCalculateCheckSum.checksumLength |
| OFActionCounter
Counter
FIXME Could discard this action counter because flow entry and the group entry have counter already
|
| OFActionDeleteField
Delete a field with field position and length.
|
| OFActionDrop
Drop with reason
|
| OFActionGroup
take the group(
OFActionGroup.groupId ) processing |
| OFActionModifyField
Modify field value with +increment value.
|
| OFActionOutput |
| OFActionPacketIn
packet in with reason.
|
| OFActionSetField
Set field value using
OFActionSetField.fieldSetting (value/mask). |
| OFActionSetFieldFromMetadata
Set field value from metadata.
|
| OFActionType
List of OpenFlow Action types and mappings to wire protocol value and
derived classes
|
| Class and Description |
|---|
| OFAction
The base class for all OpenFlow Actions.
|
| OFActionAddField
Add a field at the start
OFActionAddField.fieldPosition and length OFActionAddField.fieldLength , with value OFActionAddField.fieldValue . |
| OFActionCalculateCheckSum
re-calculate the checksum start from
OFActionCalculateCheckSum.calcStartPosition with length OFActionCalculateCheckSum.calcLength ,
and write the result to OFActionCalculateCheckSum.checksumPosition with length OFActionCalculateCheckSum.checksumLength |
| OFActionCounter
Counter
FIXME Could discard this action counter because flow entry and the group entry have counter already
|
| OFActionDeleteField
Delete a field with field position and length.
|
| OFActionDrop
Drop with reason
|
| OFActionGroup
take the group(
OFActionGroup.groupId ) processing |
| OFActionModifyField
Modify field value with +increment value.
|
| OFActionOutput |
| OFActionPacketIn
packet in with reason.
|
| OFActionSetField
Set field value using
OFActionSetField.fieldSetting (value/mask). |
| OFActionSetFieldFromMetadata
Set field value from metadata.
|
| OFActionType
List of OpenFlow Action types and mappings to wire protocol value and
derived classes
|
| Class and Description |
|---|
| OFAction
The base class for all OpenFlow Actions.
|
| OFActionType
List of OpenFlow Action types and mappings to wire protocol value and
derived classes
|
| Class and Description |
|---|
| OFAction
The base class for all OpenFlow Actions.
|
| Class and Description |
|---|
| OFAction
The base class for all OpenFlow Actions.
|
| Class and Description |
|---|
| OFAction
The base class for all OpenFlow Actions.
|
| OFActionDrop.OFDropReason |
| OFActionModifyField
Modify field value with +increment value.
|
| OFActionOutput |
| OFActionSetField
Set field value using
OFActionSetField.fieldSetting (value/mask). |
| OFActionSetFieldFromMetadata
Set field value from metadata.
|
| OFActionType
List of OpenFlow Action types and mappings to wire protocol value and
derived classes
|
| Class and Description |
|---|
| OFAction
The base class for all OpenFlow Actions.
|
| OFActionType
List of OpenFlow Action types and mappings to wire protocol value and
derived classes
|
| Class and Description |
|---|
| OFAction
The base class for all OpenFlow Actions.
|
| Class and Description |
|---|
| OFAction
The base class for all OpenFlow Actions.
|


Instance Management
Durable Function orchestration instances can be started, terminated, queried, and sent notification events. All instance management is done using the orchestration client binding. More details on this binding can be found in the Bindings topic. This article goes into the details of each of the instance management operations.
Starting instances
The StartNewAsync method on the DurableOrchestrationClient class can be used to start a new instances of an orchestrator function. Instances of this class can be acquired using the orchestrationClient
binding. Internally, this method will enqueue a message into the control queue, which will then trigger the start of a function with the specified name that uses the orchestrationTrigger
trigger binding.
The supported parameters are as follows:
- Name: The name of the orchestrator function to schedule.
- Input: Any JSON-serializable data which should be passed as the input to the orchestrator function.
- InstanceId: (Optional) The unique ID of the instance. If not specified, a random instance ID will be generated.
Here is a simple C# example:
C# example
[FunctionName("HelloWorldManualStart")]
public static Task Run(
[ManualTrigger] string input,
[OrchestrationClient] DurableOrchestrationClient starter,
TraceWriter log)
{
string instanceId = starter.StartNewAsync("HelloWorld", input);
log.Info($"Started orchestration with ID = '{instanceId}'.");
}
For non-.NET languages, the function output binding can be used to start new instances as well. In this case, any JSON-serializable object which has the above three parameters as fields can be used. For example, consider the following Node.js function:
Node.js example
module.exports = function (context, input) {
var id = generateSomeUniqueId();
context.bindings.starter = [{
FunctionName: "HelloWorld",
Input: input,
InstanceId: id
}];
context.done(null);
};
Note
It is generally recommended that you use a random identifier for the instance ID. This will help ensure an equal load distribution when scaling orchestrator functions across multiple VMs. The proper time to use non-random instance IDs is when the ID must come from an external source or when implementing the singleton orchestrator pattern.
Querying instances
The GetStatusAsync method on the DurableOrchestrationClient class can be used to query the status of an orchestration instance. It takes an instanceId
as a parameter and returns an object with the following properties:
- Name: The name of the orchestrator function.
- InstanceId: The instance ID of the orchestration (should be the same as the
instanceId
input). - CreatedTime: The time at which the orchestrator function started running.
- LastUpdatedTime: The time at which the orchestration last checkpointed.
- Input: The input of the function as a JSON value.
- Output: The output of the function as a JSON value (if the function has completed). If the orchestrator function failed, this property will include the failure details. If the orchestrator function was terminated, this property will include the provided reason for the termination (if any).
- RuntimeStatus: One of the following values:
- Running: The instance has started running.
- Completed: The instance has completed normally.
- ContinuedAsNew: The instance has restarted itself with a new history. This is a transient state.
- Failed: The instance failed with an error.
- Terminated: The instance was abruptly terminated.
This method returns null
if the instance either doesn't exist or has not yet started running.
C# example
[FunctionName("GetStatus")]
public static async Task Run(
[OrchestrationClient] DurableOrchestrationClient client,
[ManualTrigger] string instanceId)
{
var status = await checker.GetStatusAsync(instanceId);
// do something based on the current status.
}
Note
Instance query is currently only supported for C# functions.
Terminating instances
A running instance can be terminated using the TerminateAsync method of the DurableOrchestrationClient class. The two parameters are an instanceId
and a reason
string, which will be written to logs and to the instance status. A terminated instance will stop running as soon as it reaches the next await
point, or will terminate immediately if it is already on an await
.
C# example
[FunctionName("TerminateInstance")]
public static Task Run(
[OrchestrationClient] DurableOrchestrationClient client,
[ManualTrigger] string instanceId)
{
string reason = "It was time to be done.";
return client.TerminateAsync(instanceId, reason);
}
Note
Instance termination is currently only supported for C# functions.
Sending events to instances
Event notifications can be sent to running instances using the RaiseEventAsync method of the DurableOrchestrationClient class. Instances that can handle these events are those are awaiting on a call to <xref:Microsoft.Azure.WebJobs.DurableOrchestrationContext.WaitForExternalEvent*. The inputs are:
- InstanceId: The unique ID of the instance.
- EventName: The name of the event to send.
- EventData: A JSON-serializable payload to send to the instance.
C# example
#r "Microsoft.Azure.WebJobs.Extensions.DurableTask"
[FunctionName("RaiseEvent")]
public static Task Run(
[OrchestrationClient] DurableOrchestrationClient client,
[ManualTrigger] string instanceId)
{
int[] eventData = new int[] { 1, 2, 3 };
return client.RaiseEventAsync(instanceId, "MyEvent", eventData);
}
Note
Raising events is currently only supported for C# functions.
Warning
Instances can only process events when they are awaiting on a call to WaitForExternalEvent. If an instance is not waiting on this call, then the event will be dropped. This GitHub issue tracks this current behavior.