markerFeatures.Rd
This function will identify features that are definitional of each provided cell grouping where possible
markerFeatures(ArchRProj = NULL, groupBy = "Clusters", useGroups = NULL, bgdGroups = NULL, useMatrix = "GeneScoreMatrix", bias = c("TSSEnrichment", "log10(nFrags)"), normBy = NULL, testMethod = "wilcoxon", maxCells = 500, scaleTo = 10^4, threads = getArchRThreads(), k = 100, bufferRatio = 0.8, binarize = FALSE, useSeqnames = NULL, method = "ArchR", verboseHeader = TRUE, verboseAll = FALSE, ...)
| ArchRProj | An |
|---|---|
| groupBy | The name of the column in |
| useGroups | A character vector that is used to select a subset of groups by name from the designated |
| bgdGroups | A character vector that is used to select a subset of groups by name from the designated |
| useMatrix | The name of the matrix to be used for performing differential analyses. Options include "GeneScoreMatrix", "PeakMatrix", etc. |
| bias | A character vector indicating the potential bias variables (i.e. c("TSSEnrichment", "log10(nFrags)")) to account for in selecting a matched null group for marker feature identification. These should be column names from |
| normBy | The name of a numeric column in |
| testMethod | The name of the pairwise test method to use in comparing cell groupings to the null cell grouping during marker feature identification. Valid options include "wilcoxon", "ttest", and "binomial". |
| maxCells | The maximum number of cells to consider from a single-cell group when performing marker feature identification. |
| scaleTo | The normalization depth to center normalization to in normBy (default is 10,000). |
| threads | The number of threads to be used for parallel computing. |
| k | The number of nearby cells to use for selecting a biased-matched background while accounting for |
| bufferRatio | The buffering ratio of cells to enable optimal biased-matched background while accounting for |
| binarize | A boolean value indicating whether to binarize the matrix prior to differential testing. This is useful when |
| useSeqnames | A character vector that indicates which seqnames should be used in marker feature identification. Features from seqnames that are not listed will be ignored. |
| method | The name of the method to be used for marker feature identification. Currently, the only valid option is "ArchR", though additional options will be added eventually. |
| verboseHeader | A boolean value that determines whether standard output includes verbose sections. |
| verboseAll | A boolean value that determines whether standard output includes verbose subsections. |
| ... | additional args |


Dart Fof Meeting With Chris Gaffney
Summary:
ARB has written a draft follow on fund application (post DART).
Bradford will lead this application.
What is written is an appropriate foundation.
We should focus on the links between Community and archive. For many communities data itself is not the problem - the issue:
- Processing
- Visualisation
- Engagement
- Interpretation
A major issue concerns the building of cross sector 'communities of practice'
This will become exacerbated with 'big data' (a la LBI and Stonehenge). So much data.... not enough processing (or at least controlled by the elite few)
However, there is significant data leakage and if we are not careful legacy data will not exist. We need to find ways to encourage commercial units and community groups to deposit such data.
Note: the current ADS deposition policy has a fixed cost per 'project'. A single geophysics piece of fieldwork is a 'project' - hence ADS archive costs may represent a significant portion of the current tender value (of the order of 10's of percent). this is obviously impractical. This anecdotal situation needs confirming.
Concept
- Get community/business groups to deposit data within the DART framework
- This means the data will be in archive formats and rich in metadata
- Both data objects and integrated database
- Automatically 'deposit' this data into FigShare/Datahub using their APIs
- This can be deposited with the ADS as a single broker
- Many people don;t deposit with the ADS because there is a fixed fee for a 'project'
Benefits for community groups
- Deposition in the repository provides access to a clear well understood 'OPEN' processing, visualisation and interpretation framework.
- The hard work of creating metadata and generating archive formats is mainly removed.
- An automated report is made and deposited through OASIS (this can become an impact metric).
- The data is deposited into an archive which is available in 'perpetuity' (whatever that means - this does not need to be ADS - thinking here of FigShare and DataHub).
Benefits for the archaeological community
- Data processing, visualisation and interpretation frameworks
- Sustainable access to legacy data
- Ability to process and access 'big data'
- Building communities of practice
- Levelling the technology playing field (increasing both capacity and capability)
- Reduced cost of archiving through economies of scale!
Benefits for the ADS
- Access to a structured and clean set of data and rich accompanying metadata
- Ability to automatically ingest (reduing costs - through SWORDARM)


|
Brooklyn | |||||||
| PREV NEXT | FRAMES NO FRAMES |
| Interface Summary | |
|---|---|
| DownloadResolver | Gives download details for an entity or an entity add-on. |
| DownloadResolverManager | Used by an EntityDriver to obtain the download locations when installing an entity. |
| DownloadResolverManager.DownloadRequirement | Gives artifact meta-data for what is required to be downloaded. |
| DownloadResolverManager.DownloadTargets | Describes the download locations, and their order, to try. |
| Class Summary | |
|---|---|
| BasicDownloadRequirement | |
| BasicDownloadResolver | |
| BasicDownloadTargets | |
| BasicDownloadTargets.Builder | |
| BasicDownloadsManager | |
| DownloadProducerFromCloudsoftRepo | |
| DownloadProducerFromLocalRepo | |
| DownloadProducerFromProperties | Based on the contents of brooklyn properties, sets up rules for resolving where to download artifacts from, for installing entities. |
| DownloadProducerFromUrlAttribute | Retrieves the DOWNLOAD_URL or DOWNLOAD_ADDON_URLS attribute of a given entity, and performs the template substitutions to generate the download URL. |
| DownloadSubstituters | |
| DownloadSubstituters.Substituter | |
| FilenameProducers |
Brooklyn Multi-Cloud Application Management Platform
brooklyncentral.github.com. Apache License. © 2012.


` in the above example), and the (optional) second one being the nested list. The container element has to be set as the 'toleranceElement' in the options, and this, or one of its children, as the 'handle'.
Also, the default list type is `
`.
## Custom Options
- tabSize
- How far right or left (in pixels) the item has to travel in order to be nested or to be sent outside its current list. Default: 20
- disableNesting
- The class name of the items that will not accept nested lists. Default: ui-nestedSortable-no-nesting
- errorClass
- The class given to the placeholder in case of error. Default: ui-nestedSortable-error
- listType
- The list type used (ordered or unordered). Default: ol
- maxLevels
- The maximum depth of nested items the list can accept. If set to '0' the levels are unlimited. Default: 0
- protectRoot
- Wether to protect the root level (i.e. root items can be sorted but not nested, sub-items cannot become root items). Default: false
- rootID
- The id given to the root element (set this to whatever suits your data structure). Default: null
- rtl
- Set this to true if you have a right-to-left page. Default: false
- isAllowed (function)
- You can specify a custom function to verify if a drop location is allowed. Default: function(parent, item) { return true; }
## Custom Methods
- serialize
- Serializes the nested list into a string like setName[item1Id]=parentId&setName[item2Id]=parentId, reading from each item's id formatted as 'setName_itemId' (where itemId is a number).
It accepts the same options as the original Sortable method (key, attribute and expression).
- toArray
- Builds an array where each element is in the form:
setName[n] =>
{
'item_id': itemId,
'parent_id': parentId,
'depth': depth,
'left': left,
'right': right,
}
It accepts the same options as the original Sortable method (attribute and expression) plus the custom startDepthCount, that sets the starting depth number (default is 0).
- toHierarchy
- Builds a hierarchical object in the form:
'0' ...
'id' => itemId
'1' ...
'id' => itemId
'children' ...
'0' ...
'id' => itemId
'1' ...
'id' => itemId
'2' ...
'id' => itemId
Similarly to toArray
, it accepts attribute and expression options.
## Known Bugs
*nestedSortable* doesn't work properly with connected draggables, because of the way Draggable simulates Sortable `mouseStart` and `mouseStop` events. This bug might or might not be fixed some time in the future (it's not specific to this plugin).
## Requirements
jQuery 1.4+
jQuery UI Sortable 1.8+
## Browser Compatibility
Tested with: IE 6/7/8, Firefox 3.6/4, Chrome, Safari 3
## License
This work is licensed under the MIT License.
This work is *pizzaware*. If it saved your life, or you just feel good at heart, please consider offering me a pizza. This can be done in two ways: (1) follow [this link](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=RSJEW3N9PRMYY&lc=IT&item_name=Manuele%20Sarfatti¤cy_code=EUR&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted) to donate through paypal; (2) send me cash via traditional mail to my home address in Italy. Is the second method legal? It is in Italy if you use Posta assicurata. You should check with your local laws if you live elsewhere.


Class RecordParser
source code
object --+
|
RecordParser
A helper class which allows you to easily parse protocols which are
delimited by a sequence of bytes, or fixed size records.
Instances of this class take as input Buffer instances containing raw
bytes, and output records. For example, if I had a simple ASCII text
protocol delimited by '\n' and the input was the following:
buffer1:HELLO\nHOW ARE Y buffer2:OU?\nI AM buffer3: DOING OK
buffer4:\n
Then the output would be:
buffer1:HELLO buffer2:HOW ARE YOU? buffer3:I AM DOING OK
Instances of this class can be changed between delimited mode and
fixed size record mode on the fly as individual records are read, this
allows you to parse protocols where, for example, the first 5 records
might all be fixed size (of potentially different sizes), followed by
some delimited records, followed by more fixed size records.
Instances of this class can't currently be used for protocols where
the text is encoded with something other than a 1-1 byte-char mapping.
TODO extend this class to cope with arbitrary character encodings.
|
|
|
|
|
|
|
|
input(self,
data)
This method is called to provide the parser with data. |
source code
|
|
|
|
|
|
|
|
|
|
new_delimited(delim,
handler)
Create a new RecordParser instance, initially in delimited mode, and
where the delimiter can be represented by a delimiter string endcoded
in latin-1 . |
source code
|
|
|
|
new_fixed(size,
handler)
Create a new RecordParser instance, initially in fixed size mode. |
source code
|
|
- Overrides:
object.__init__
- (inherited documentation)
|
|
This method is called to provide the parser with data.
- Parameters:
data - Input buffer to the parser.
|
new_delimited(delim,
handler)
Static Method
| source code
|
Create a new RecordParser instance, initially in delimited mode, and
where the delimiter can be represented by a delimiter string endcoded in
latin-1 .
Keyword arguments:
- Parameters:
delim - The delimiter string.
handler - the output handler
- Returns:
- a new RecordParser
|
|
Create a new RecordParser instance, initially in fixed size mode.
Keyword arguments:
- Parameters:
size - the initial record size.
handler - the output handler
- Returns:
- a new RecordParser
|
|
Flip the parser into delimited mode. This method can be called
multiple times with different values of delim while data is being
parsed.
Keyword arguments:
- Parameters:
delim - the delimiter string.
|
|
Flip the parser into fixed size mode. This method can be called
multiple times with different values of size while data is being
parsed.
Keyword arguments:
- Parameters:
|


Hello World!
A simple of how to use our api
1. Account Name And Account State
Get Account Name
Get Account State
2. Account to Account transfer
Token
Send to Account Name
Amount
Memo
Send


Preparation time
less than 30 mins
Cooking time
30 mins to 1 hour
Serves
Serves 4
A rather special dinner for two. Scallops served back in the shell, topped with soft potato, seaweed and a creamy champagne sauce.
Preheat the oven to 220C/425F/Gas 7. Prick the potatoes with a knife then place in the oven and bake for 45 minutes, or until cooked through.
Meanwhile, remove the scallops from the shell, clean well and discard the corals, leaving the main flesh of the scallop.
Clean four of the deep halves of the shells and place them in the oven for a couple of minutes to dry out. Remove from the oven and place onto a baking tray, with the shells sat on mounds of salt to keep them level.
Remove the cooked potatoes from the oven and leave to cool for a few minutes before cutting them in half and scooping out the flesh.
Pass the potato flesh through a potato ricer into a bowl. Add the egg yolks and 25g/1oz of the butter and work with a wooden spatula until smooth.
Season lightly with salt and pepper then place in a piping bag and set aside.
Season the scallops with salt and pepper. Heat a frying pan until hot, add the remaining butter and cook the scallops on each side for 1-1½ minutes until golden-brown. Remove the scallops from the pan and place on kitchen paper to drain.
To make the sauce, heat a large sauté pan and add 75g/2½oz of the butter. Once hot, add the banana shallot, carrots, leeks and celery and cook until soft.
Heat a frying pan and add the rest of the butter. Once hot, add the shallots and cook for 2-3 minutes. Add the white wine and heat until reduced in volume by half, add the fish stock and reduce by half again. Add the cream and reduce by half again. Add the champagne, tomatoes, herbs and lemon juice and remove from the heat.
Preheat the grill on a high setting.
Using a slotted spoon remove some vegetables from the sauce and place into each scallop shell, so that they are visible over the edge of the shell. Place two scallops in each shell on top of the vegetables. Pour over the champagne sauce.
Cover generously with piped mashed potato and sprinkle with Gruyère and breadcrumbs.
Place the baking tray with scallops on under the grill for 1-2 minutes, until the potato is pale golden-brown.
To serve, pile salt into the centre of four plates. Sprinkle dulse over the salt. Carefully place the scallop shells on top of the dulse, and serve immediately.


Campaign launched to Fix the Airport Flyer
by New Zealand National Party18 November 2019
Campaign launched to Fix the Airport Flyer
MP for Hutt South Chris Bishop has today launched a new campaign to “Fix the Flyer”, calling on the Greater Wellington Regional Council (GRWC), NZ Bus and Wellington Airport to work together to fix the Airport Flyer service from the Hutt to Wellington Airport.
“The Airport Flyer service is an important service for the Hutt, with buses running directly through the airport through Wellington City, but in recent months I’ve had many complaints to my office about the standard of the service. The Flyer no longer appears on the Metlink website, or on the real-time information boards, so people turning up to the bus stop have no idea how far away the bus is.
“The reliability of the service has also deteriorated. I’ve had lots of stories of people having to jump into expensive taxis from the Hutt to get to the airport because they’re worried about missing their flight when the bus doesn’t show up. On top of this, the service no longer accepts Snapper – only credit cards and cash.
“The Flyer was a service the Hutt was proud of and it can be again. I’m calling on the GWRC, NZ Bus and the Airport to work together with me to “Fix the Flyer.” With the current contract for the Flyer coming to an end next year, and a new Regional Council just elected, now is the time for action.
“It’s simple. The Flyer should be on the real-time information boards, accept Snapper, and be reliable.”
“People can sign-up to show support for fixing the Flyer at www.fixtheflyer.co.nz. The more signatures, the better. It’s time to Fix the Flyer!”


{% include bio-network-links.html %}
{% include bio-interests-1.html %}
{% include bio-skills-1.html %}
{% include bio-education.html %}
{% include bio-publications.html %}
{% include bio-work.html %}
{% include bio-internships.html %}
{% include bio-pors.html %}
{% include bio-achievements.html %}
{% include bio-references-1.html %}


---
layout: page
title: "Conclusion"
sub-title: "Conclusion"
header-img: "img/trans-bg.png"
sections:
- Conclusion and Outlook
- Goals reached
---
Conclusion and Outlook
During the BIOMOD project new sensor constructs were designed and tested. We found that mutation of the Spinach-SAM construct's linker region were able to modulate the Kd value of the complex. Two such constructs were identified. By combining these, a sensor with a broadened dynamic range was achieved. Furthermore the Mango-TO3 aptamer-fluorophore complex was found to be orthogonal to the Spinach-DFHBI complex, making it a viable internal standard for monitoring the transcription level in vivo. A full construct consisting of the two sensor complexes and the internal control was designed but not assembled. In vivo validation of the unmodified Spinach-SAM sensor was performed creating a platform for testing the new sensor complexes.
Future experiments will focus on producing and analyzing the full construct both in vitro and in vivo. Creating new SAM-sensors to increase the span in Kd values is of major interest as this broadens the dynamic range further.
We imagine that expanding the system to enable simultaneous detection of several species in vivo would be highly relevant. This could be achieved by fusing the Mango aptamer with a small molecule detecting aptamer and using it in conjunction with a Spinach sensor.


The Application Statistics report provides a tabular summary or a graph of the traffic flowing through a Steelhead appliance for the time period specified. You can view up to seven applications in a stacked view.You must enable application visibility on the Configure > Networking > Flow Statistics page before the Application Statistics report can gather and display statistics. For details, see Configuring Flow Statistics.RiOS collects application statistics for all data transmitted out of the WAN and primary interfaces and commits samples every 5 minutes. Let the system collect statistics for awhile to view the most meaningful data display.The Application Statistics report includes these statistics for each listed application, traffic direction, and the time period you specify.
Displays the average data activity in all flows of an application in bits per second. The minimum sample granularity is 5 minutes. Displays the average trended throughput in all traffic flows of an application in bits per second. This indicates how bandwidth intensive an application is per user or flow.RiOS calculates the WAN average at each data point by taking the number of bytes transferred, converting that to bits, and then dividing by the granularity.For instance, if the system reports 100 bytes for a data point with a 10-second granularity, RiOS calculates: Displays the peak data activity in bits per second. For larger granularity data points, this represents the largest 5 minute average within. For 5 minutes, this is the same as the average. Displays the peak trended data activity per traffic flow in bits per second. This is the largest per flow 5-minute bps within a larger sample.This report displays applications within their protocol hierarchy. For example, Facebook appears as TCP > HTTP > Facebook.How much bandwidth is a particular application using? While viewing the application statistics in a graph, use the mouse to hover over a specific data point to see what the y values and exact timestamp were in relation to peaks.The Riverbed system reports on performance for periods up to one month. Due to performance and disk space considerations, the display granularity decreases with time passed since the data was sampled. The data is collected at a 5-minute granularity for the entire month.
2.
Select a period of Last 5 Minutes, Last Hour, Last Day, Last Week, Last Month, or Custom from the drop-down list. Click a protocol or application name (for example, TCP, LDAP, SharePoint) to show only the selection.You can select only one filter at a time. For example, if the report is filtering on UDP and you click TCP, the report displays all TCP entries and clears the UDP filter.


This task will guide you through the process of adding a Windows 10 UWP XAML UI to your Win32 Desktop Bridge app using Visual Studio 2017. We will also add support for using Windows 10 UWP Protocols to communicate between the WPF exe and and UWP exe.
Basic knowledge of C# development
Basic knowledge of client development with the .NET framework
Basic knowledge of Windows 10 and the Universal Windows Platform
A computer with Windows 10 Anniversary Update or Windows 10 Creators Update. If you want to use the Desktop App Converter with an installer, you will need at least a Pro or Enterprise version, since it leverages a feature called Containers which is not available in the Home version.
Visual Studio 2017 with the tools to develop applications for the Universal Windows Platform. Any edition is supported, including the free Visual Studio 2017 Community
Completed the section on Integrate Windows Hello Authentication
Make sure the Microsoft.Knowzy.WPF.sln Build configuration to Debug | x86
Set the Microsoft.Knowzy.Debug project as the startup project.
Our Desktop Bridge version of the Knowzy app actually consists of two different executables. The original WPF version (Microsoft.Knowzy.WPF.exe) and the UWP version (Microsoft.Knowzy.UWP.exe). Microsoft.Knowzy.UWP.exe is located in src\Microsoft.Knowzy.UWP\bin\x86\Release\AppX.
Microsoft.Knowzy.WPF.exe is located in src\Microsoft.Knowzy.UWP\bin\x86\Release\AppX\desktop
The Application element in the Package.appxmanifest in the Microsoft.Knowzy.UWP project specifies that Microsoft.Knowzy.WPF.exe is the app to be launched when the user starts the Desktop Bridge UWP version of Knowzy. There is actually no mention of Microsoft.Knowzy.UWP.exe in the Package.appxmanifest and it currently will not run.
<Applications>
<Application Id="Knowzy" Executable="desktop\Microsoft.Knowzy.WPF.exe" EntryPoint="Windows.FullTrustApplication">
</Application>
</Applications>
We are now going to use the Microsoft.Knowzy.UWP.exe to display a UWP XAML UI page. We will launch Microsoft.Knowzy.UWP.exe by using URI activation.
As mentioned above, the Package.appxmanifest currently does not know anything about Microsoft.Knowzy.UWP.exe. We are going to add an Extension to the Application tag of the Package.appxmanifest.
Right-click on the Package.appxmanifest file in the Microsoft.Knowzy.UWP project and select View Code*
Modify the Application section of the XML to add the following Extensions tag
<Extensions>
<uap:Extension Category="windows.protocol" Executable="Microsoft.Knowzy.UWP.exe" EntryPoint="Microsoft.Knowzy.UWP.App">
<uap:Protocol Name="com.microsoft.knowzy.protocol.3d" />
</uap:Extension>
</Extensions>
Your Application section should now look something like this:
<Application Id="Knowzy" Executable="desktop\Microsoft.Knowzy.WPF.exe" EntryPoint="Windows.FullTrustApplication">
<uap:VisualElements
DisplayName="Microsoft.Knowzy.UWP"
Square150x150Logo="Assets\Square150x150Logo.png"
Square44x44Logo="Assets\Square44x44Logo.png"
Description="Microsoft.Knowzy.UWP"
BackgroundColor="transparent">
<uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png"/>
<uap:SplashScreen Image="Assets\SplashScreen.png" />
</uap:VisualElements>
<Extensions>
<uap:Extension Category="windows.protocol" Executable="Microsoft.Knowzy.UWP.exe" EntryPoint="Microsoft.Knowzy.UWP.App">
<uap:Protocol Name="com.microsoft.knowzy.protocol.3d" />
</uap:Extension>
</Extensions>
</Application>
The Microsoft.Knowzy.UWP app will now be registered as a handler for the com.microsoft.knowzy.protocol.3d Uniform Resource Identifier (URI) name.
When another app sends the Knowzy app a protocol message using the com.microsoft.knowzy.protocol.3d URI, Microsoft.Knowzy.UWP.exe will be activated by the operationg system. We need to add some code to Microsoft.Knowzy.UWP to handle the URI activation.
Open the file App.xaml.cs in the Microsoft.Knowzy.UWP project.
Add the following activation code at the bottom of the App class:
protected override void OnActivated(IActivatedEventArgs args)
{
if (args.Kind == ActivationKind.Protocol)
{
ProtocolActivatedEventArgs eventArgs = args as ProtocolActivatedEventArgs;
// TODO: Handle URI activation
// The received URI is eventArgs.Uri.AbsoluteUri
Uri uri = eventArgs.Uri;
if (uri.Scheme == "com.microsoft.knowzy.protocol.3d")
{
Frame rootFrame = new Frame();
Window.Current.Content = rootFrame;
rootFrame.Navigate(typeof(MainPage), uri.Query);
Window.Current.Activate();
}
}
}
This code will present the MainPage of the app if it receives the URI com.microsoft.knowzy.protocol.3d.
Open the file MainPage.xaml in the Microsoft.Knowzy.UWP project. Modify the XAML to add a WebView
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<WebView Name="webView" />
</Grid>
Open the file MainPage.xaml.cs in the Microsoft.Knowzy.UWP project. Add the following method to the MainPage class:
protected override void OnNavigatedTo(NavigationEventArgs args)
{
if (args.Parameter != null)
{
WwwFormUrlDecoder decoder = new WwwFormUrlDecoder(args.Parameter.ToString());
try
{
var message = decoder.GetFirstValueByName("nose");
webView.Source = new Uri(message);
}
catch(Exception ex)
{
System.Diagnostics.Debug.WriteLine("MainPage OnNavigatedTo Error: " + ex.Message);
}
}
}
Now that the Microsoft.Knowzy.UWP app knows how to handle a URI request, we are going to add code to the Microsoft.Knowzy.WPF project to make the URI request.
Add a new C# class to the Helpers folder of the Microsoft.Knowzy.UwpHelpers project. Name the file UriProtocol.cs.
Add the following method to the UriProtocol class. Make sure the class is public,
public class UriProtocol
{
public static async Task<bool> SendUri(Uri uri)
{
// Note: DesktopBridge.Helpers NuGet package incorrectly warns that LaunchUriAsync is not supported in a Centennial App
bool result = await Windows.System.Launcher.LaunchUriAsync(uri);
return result;
}
}
Intellisense may complain that LaunchUriAsync is only available to UWP apps. You can ignore this warning.
Our Knowzy app has an unused View menu item. We will use this to call the code to launch the UWP XAML UI using the Windows 10 UWP uri code we added to the Helpers.
Modify the XAML Microsoft.Knowzy.WPF\Views\MainView.xaml to add a Click event to the View MenuItem (around line 43)
<MenuItem Header="{x:Static localization:Resources.View_Menu}" Template="{DynamicResource MenuItemControlTemplate}">
<MenuItem Header="{x:Static localization:Resources.ListView_Tab}" Template="{StaticResource MenuItemBarControlTemplate}"
cal:Message.Attach="ShowListView()"/>
<MenuItem Header="Grid view" Template="{StaticResource MenuItemBarControlTemplate}"
cal:Message.Attach="ShowGridView()"/>
<MenuItem Header="View 3D" Template="{StaticResource MenuItemBarControlTemplate}"
cal:Message.Attach="Show3DView()"/>
</MenuItem>
Add a Show3DView() method to Microsoft.Knowzy.WPF\Models\MainViewModel.cs
using Microsoft.Knowzy.UwpHelpers;
using System;
public async void Show3DView()
{
if (ExecutionMode.IsRunningAsUwp())
{
Uri uri = new Uri("com.microsoft.knowzy.protocol.3d://" + "message?nose=" + "https://www.remix3d.com/details/G009SXPQ5S3P");
await UriProtocol.SendUri(uri);
}
else
{
MessageBox.Show("3D View not implemented in WPF version", "Microsoft.Knowzy.WPF");
};
}
Build and run the solution (with Windows.Knowzy.Debug as the startup application)
Select View 3D from the View menu. The Xaml ui of the Microsoft.Knowzy.UWP app will appear and display the 3D clown nose specified by the Uri parameters.
If you want to suggest to Windows 10 the size of the XAML UI Window, add the following code to the MainPage constructor in the file MainPage.xaml.cs in the Microsoft.Knowzy.UWP project
using Windows.UI.ViewManagement;
public MainPage()
{
this.InitializeComponent();
ApplicationView.GetForCurrentView().TryResizeView(new Size(800, 800));
}
We will continue to add more Windows 10 UWP features to our app in the next task.


--- donorbox_popup: false ---
{% if jekyll.environment == 'staging' %} {% endif %}{{ item.text }}
submitted by: {{ item.author.full_name_displayed }}More recent tax returns may be available for this funder. You are currently viewing the foundation's latest electronically-filed tax return ({{ page.filings[0].tax_year | round }} tax year). Learn more.
submitted by: GrantmakersbotAssets
Distributions
Contributions
Grant Median
Count
Grant Max
Latest Tax e-Filing
{{ page.filings[0].tax_year | round }}
Published by IRS
{{ page.last_updated_irs | date: "%B %Y" }}
| # | Name | Title | Hours / Wk | Comp ($) | |
|---|---|---|---|---|---|
| {{ forloop.index }} | {% if each.name._ %}{{ each.name._ }} | {% else %}{{ each.name }} | {% endif %}{{ each.title }} | {{ each.hours | round }} | {{ each.compensation | round | intcomma }} |
Note: This foundation appears to have a website. We recommend starting your exploration there. Visit Website.
Note: In lieu of providing a website in its latest e-filed Form 990PF, this foundation likely provided a contact email instead. View Email.
The foundation has indicated it only makes contributions to preselected charitable organizations and does not accept unsolicited requests for funds.
{{ page.grants_application_info }}
{{ page.grants_application_deadlines }}
{{ page.grants_application_restrictions }}
{{ page.grants_application_contact.name }}
{% if page.grants_application_contact.email contains '@' %}{{ page.grants_application_contact.email | downcase }}
{% else %}{{ page.grants_application_contact.email }}
{% endif %}{{ page.grants_application_contact.address.street }}
{{ page.grants_application_contact.address.street2 }}
{{ page.grants_application_contact.address.city }}, {{ page.grants_application_contact.address.state }} {{ page.grants_application_contact.address.country }} {{ page.grants_application_contact.address.zip }}
{% if page.grants_application_contact.phone %} {% assign ph = page.grants_application_contact.phone %} {% if page.grants_application_contact.is_foreign == true %}tel: {{ ph }}
{% else %}({{ ph | slice: 0, 3 }}) {{ ph | slice: 3, 3 }}-{{ ph | slice: 6, 4 }}
{% endif %} {% endif %} {% else %}This foundation's latest IRS Form 990 PF does not list contact information specific to their grant application process.
Tip: General contact information can often be found elsewhere in the funders most recent Form 990 PF (see PDF links below).
{% endif %}Grantmakers.io is a free community project aimed at giving nonprofits unfettered access to a public dataset of Form 990 tax filings published by the IRS. Read more about the project.
The project republishes the IRS dataset, verbatim, focusing exclusively on Form 990 PF, the form most commonly filed by private foundations.
Note that the IRS dataset only contains information from electronically-filed tax returns. Read more about the dataset.
Free profiles for over {{ site.number_of_profiles | divided_by: 1000 | append: ',000' }} US foundations
{% comment %}


S3 Innovate offers innovative and secure technology solutions to unlock your success in digital transformations. Collaborating with leading technology companies and industry leaders, S3 Innovate is your one-stop solution partner that offers an integrated consultancy and products to reshape your sustainability goals.
Headquarted in Singapore, we have a regional footprint in Manila, Dhaka, Jakarta, Yangon and Ho Chi Minh
We manage a portfolio of assets with clientiale in commerical, retail, manufacturing, energy, data centres, government agencies, and cities (smart cities, estates, parks)
We deliver solutions to more than 100+ quality customers around the region
IoT data points are collected across all systems and sensors and are designed for performance and scalability in Mircosoft Azure
Talk to us about our technology desires. Explore the solutions to help transform your asset and business.


Reactive
struct Reactive<Base>
-
Requests access to the user’s contacts.
Declaration
Swift
public func requestAccess(for entityType: CNEntityType) -> Observable<Bool>
Parameters
entityType
Set to CNEntityTypeContacts.
Return Value
Set granted to true if the user allows access and error is nil.
-
Fetches all unified contacts matching the specified predicate.
Declaration
Swift
public func unifiedContacts(matching predicate: NSPredicate, keysToFetch keys: [CNKeyDescriptor]) -> Observable<[CNContact]>
Parameters
predicate
The predicate to match against.
keys
The properties to fetch in the returned CNContact objects. You should fetch only the properties that you plan to use. Note that you can combine contact keys and contact key descriptors.
Return Value
An array of CNContact objects matching the predicate.
-
Fetches a unified contact for the specified contact identifier.
Declaration
Swift
public func unifiedContact(withIdentifier identifier: String, keysToFetch keys: [CNKeyDescriptor]) -> Observable<CNContact>
Parameters
identifier
The identifier of the contact to fetch.
keys
The properties to fetch in the returned CNContact object.
Return Value
A unified contact matching or linked to the identifier.
-
Fetches all groups matching the specified predicate.
Declaration
Swift
public func groups(matching predicate: NSPredicate?) -> Observable<[CNGroup]>
Parameters
predicate
The predicate to use to fetch the matching groups. Set predicate to nil to match all groups.
Return Value
An array of CNGroup objects that match the predicate.
-
Fetches all containers matching the specified predicate.
Declaration
Swift
public func containers(matching predicate: NSPredicate?) -> Observable<[CNContainer]>
Parameters
predicate
The predicate to use to fetch matching containers. Set this property to nil to match all containers.
Return Value
An array of CNContainer objects that match the predicate.
-
Returns a Boolean value that indicates whether the enumeration of all contacts matching a contact fetch request executed successfully.
Declaration
Swift
public func enumerateContacts(with fetchRequest: CNContactFetchRequest) -> Observable<(CNContact, UnsafeMutablePointer<ObjCBool>)>
Parameters
fetchRequest
The contact fetch request that specifies the search criteria.
Return Value
true if enumeration of all contacts matching a contact fetch request executes successfully; otherwise, false
-
Executes a save request and returns success or failure.
Declaration
Swift
public func execute(_ saveRequest: CNSaveRequest) -> Observable<Void>
Parameters
saveRequest
The save request to execute.
Return Value
true if the save request executes successfully; otherwise, false.
-
Posted notifications when changes occur in another CNContactStore.
Declaration
Swift
public func didChange() -> Observable<Notification>
Return Value
Notification Object


Add one or more mp3 files on the "Upload" page. Only add one album at a time.
You can also add a picture which will be used as the album cover picture.
On the "Library" page, you can configure and create gme files. Mp3 tag data of recently uploaded files will automatically be used to pre-populate the artist, album title and track info.
Once you choose to print one or more album from the library, a new page will open that displays the albums and their tracks from the gme files that you selected for printing.
Printing was tested to work with Chrome and Firefox on Mac Os. Under Windows, use the create PDF button and print the PDF. Direct printing works only with Microsoft Edge on Windows 10 (Chrome and Firefox do not print with high enough resolution on Win 10, Opera seems to work occasionally). Under linux, Firefox seems to produce the best results.
You can customize the the print layout by clicking on " Configure print layout".
You can choose one of the three presets:
Alternatively, you can manually choose which parts (cover image, album information, album control buttons, track list) to display, how many columns should be used and how large each album should be when printed.
You can also configure here which resolution should be used (in DPI) for printing (start with the maximum resolution your printer can handle). And how many pixels (in x and y direction) each dot of the OID code should use. Start with a value of 2 (read this if you want to know why). If you have problems with not recognized oid codes, first try to increase the number of pixels to 3 or 4 and then try to change the resolution setting.
Connect the tiptoi pen to your computer. If you do not see the button "Copy selected to TipToi", reload the library page. Now select the desired albums and click on "Copy selected to TipToi". Wait till the operation completes and a message appears that tells you that it is safe to disconnect the pen from the computer.
It is a known (and sad) fact that the oid codes do not work with all printers. This is because the oid codes are very fine detailed patterns and need to be reproduced exactly by the printer. Many printers simply do not have a good enough resolution or their drivers mess around with the patterns during image processing. In the latter case, this can sometimes be circumvented by playing around with the print settings but sometimes, it simply does not work.
Please try to print this oid table. When you point the pen at any of the patterns, it should say something like "Bitte installieren Sie erst die Audiodatei für dieses Produkt" or "Bitte berühre erst das Anschaltzeichen für dieses Produkt". Then at least the pen recognized that these are oid codes. If the pen does nothing, this likely means that your issue is unrelated to the software but is a problem with the printer.
If you still think it is a software issue, please report exactly (step by step) what you were doing and what (if any) messages the pen is saying, otherwise I cannot help you.


A low-fi prototype for a team roster/attendance watch application. Demonstrates once cycle of iterative process, from interviewing to brainstorming to prototyping to testing. It’s very near and dear to me, because any chance to do some crafting instead of just making digital mockups is great!
See the Hackster.io post for the full design process.


| Class | ActiveRecord::Migration |
| In: |
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/migration.rb
|
| Parent: | Object |
Migrations can manage the evolution of a schema used by several physical databases. It‘s a solution to the common problem of adding a field to make a new feature work in your local database, but being unsure of how to push that change to other developers and to the production server. With migrations, you can describe the transformations in self-contained classes that can be checked into version control systems and executed against another database that might be one, two, or five versions behind.
Example of a simple migration:
class AddSsl < ActiveRecord::Migration def self.up add_column :accounts, :ssl_enabled, :boolean, :default => 1 end def self.down remove_column :accounts, :ssl_enabled end end
This migration will add a boolean flag to the accounts table and remove it if you‘re backing out of the migration. It shows how all migrations have two class methods up and down that describes the transformations required to implement or remove the migration. These methods can consist of both the migration specific methods like add_column and remove_column, but may also contain regular Ruby code for generating data needed for the transformations.
Example of a more complex migration that also needs to initialize data:
class AddSystemSettings < ActiveRecord::Migration def self.up create_table :system_settings do |t| t.string :name t.string :label t.text :value t.string :type t.integer :position end SystemSetting.create :name => "notice", :label => "Use notice?", :value => 1 end def self.down drop_table :system_settings end end
This migration first adds the system_settings table, then creates the very first row in it using the Active Record model that relies on the table. It also uses the more advanced create_table syntax where you can specify a complete table schema in one block call.
Some transformations are destructive in a manner that cannot be reversed. Migrations of that kind should raise an ActiveRecord::IrreversibleMigration exception in their down method.
The Rails package has several tools to help create and apply migrations.
To generate a new migration, you can use
rails generate migration MyNewMigration
where MyNewMigration is the name of your migration. The generator will create an empty migration file timestamp_my_new_migration.rb in the db/migrate/ directory where timestamp is the UTC formatted date and time that the migration was generated.
You may then edit the self.up and self.down methods of MyNewMigration.
There is a special syntactic shortcut to generate migrations that add fields to a table.
rails generate migration add_fieldname_to_tablename fieldname:string
This will generate the file timestamp_add_fieldname_to_tablename, which will look like this:
class AddFieldnameToTablename < ActiveRecord::Migration def self.up add_column :tablenames, :fieldname, :string end def self.down remove_column :tablenames, :fieldname end end
To run migrations against the currently configured database, use rake db:migrate. This will update the database by running all of the pending migrations, creating the schema_migrations table (see "About the schema_migrations table" section below) if missing. It will also invoke the db:schema:dump task, which will update your db/schema.rb file to match the structure of your database.
To roll the database back to a previous migration version, use rake db:migrate VERSION=X where X is the version to which you wish to downgrade. If any of the migrations throw an ActiveRecord::IrreversibleMigration exception, that step will fail and you‘ll have some manual work to do.
Migrations are currently supported in MySQL, PostgreSQL, SQLite, SQL Server, Sybase, and Oracle (all supported databases except DB2).
Not all migrations change the schema. Some just fix the data:
class RemoveEmptyTags < ActiveRecord::Migration def self.up Tag.find(:all).each { |tag| tag.destroy if tag.pages.empty? } end def self.down # not much we can do to restore deleted data raise ActiveRecord::IrreversibleMigration, "Can't recover the deleted tags" end end
Others remove columns when they migrate up instead of down:
class RemoveUnnecessaryItemAttributes < ActiveRecord::Migration def self.up remove_column :items, :incomplete_items_count remove_column :items, :completed_items_count end def self.down add_column :items, :incomplete_items_count add_column :items, :completed_items_count end end
And sometimes you need to do something in SQL not abstracted directly by migrations:
class MakeJoinUnique < ActiveRecord::Migration def self.up execute "ALTER TABLE `pages_linked_pages` ADD UNIQUE `page_id_linked_page_id` (`page_id`,`linked_page_id`)" end def self.down execute "ALTER TABLE `pages_linked_pages` DROP INDEX `page_id_linked_page_id`" end end
Sometimes you‘ll want to add a column in a migration and populate it immediately after. In that case, you‘ll need to make a call to Base#reset_column_information in order to ensure that the model has the latest column data from after the new column was added. Example:
class AddPeopleSalary < ActiveRecord::Migration def self.up add_column :people, :salary, :integer Person.reset_column_information Person.find(:all).each do |p| p.update_attribute :salary, SalaryCalculator.compute(p) end end end
By default, migrations will describe the actions they are taking, writing them to the console as they happen, along with benchmarks describing how long each step took.
You can quiet them down by setting ActiveRecord::Migration.verbose = false.
You can also insert your own messages and benchmarks by using the say_with_time method:
def self.up ... say_with_time "Updating salaries..." do Person.find(:all).each do |p| p.update_attribute :salary, SalaryCalculator.compute(p) end end ... end
The phrase "Updating salaries…" would then be printed, along with the benchmark for the block when the block completes.
Rails versions 2.0 and prior used to create a table called schema_info when using migrations. This table contained the version of the schema as of the last applied migration.
Starting with Rails 2.1, the schema_info table is (automatically) replaced by the schema_migrations table, which contains the version numbers of all the migrations applied.
As a result, it is now possible to add migration files that are numbered lower than the current schema version: when migrating up, those never-applied "interleaved" migrations will be automatically applied, and when migrating down, never-applied "interleaved" migrations will be skipped.
By default, Rails generates migrations that look like:
20080717013526_your_migration_name.rb
The prefix is a generation timestamp (in UTC).
If you‘d prefer to use numeric prefixes, you can turn timestamped migrations off by setting:
config.active_record.timestamped_migrations = false
In environment.rb.
# File /usr/lib/ruby/gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/migration.rb, line 317 317: def announce(message) 318: version = defined?(@version) ? @version : nil 319: 320: text = "#{version} #{name}: #{message}" 321: length = [0, 75 - text.length].max 322: write "== %s %s" % [text, "=" * length] 323: end
# File /usr/lib/ruby/gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/migration.rb, line 345 345: def connection 346: ActiveRecord::Base.connection 347: end
# File /usr/lib/ruby/gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/migration.rb, line 349 349: def method_missing(method, *arguments, &block) 350: arg_list = arguments.map(&:inspect) * ', ' 351: 352: say_with_time "#{method}(#{arg_list})" do 353: unless arguments.empty? || method == :execute 354: arguments[0] = Migrator.proper_table_name(arguments.first) 355: end 356: connection.send(method, *arguments, &block) 357: end 358: end
Execute this migration in the named direction
# File /usr/lib/ruby/gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/migration.rb, line 276 276: def migrate(direction) 277: return unless respond_to?(direction) 278: 279: case direction 280: when :up then announce "migrating" 281: when :down then announce "reverting" 282: end 283: 284: result = nil 285: time = Benchmark.measure { result = send("#{direction}_without_benchmarks") } 286: 287: case direction 288: when :up then announce "migrated (%.4fs)" % time.real; write 289: when :down then announce "reverted (%.4fs)" % time.real; write 290: end 291: 292: result 293: end
# File /usr/lib/ruby/gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/migration.rb, line 325 325: def say(message, subitem=false) 326: write "#{subitem ? " ->" : "--"} #{message}" 327: end
# File /usr/lib/ruby/gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/migration.rb, line 329 329: def say_with_time(message) 330: say(message) 331: result = nil 332: time = Benchmark.measure { result = yield } 333: say "%.4fs" % time.real, :subitem 334: say("#{result} rows", :subitem) if result.is_a?(Integer) 335: result 336: end
# File /usr/lib/ruby/gems/1.8/gems/activerecord-3.0.0.beta4/lib/active_record/migration.rb, line 338 338: def suppress_messages 339: save, self.verbose = verbose, false 340: yield 341: ensure 342: self.verbose = save 343: end


Subject recruitment for medical research is challenging. Slow patient accrual leads to delay in research. Accrual monitoring during the process of recruitment is critical. Researchers need reliable tools to manage the accrual rate. We developed a Bayesian method that integrates researcher's experience on previous trials and data from the current study, providing reliable prediction on accrual rate for clinical studies. In this R package, we present functions for Bayesian accrual prediction which can be easily used by statisticians and clinical researchers.
| Version: | 1.3 |
| Depends: | R (≥ 3.1.3), tcltk2 |
| Imports: | fgui, SMPracticals |
| Published: | 2017-10-20 |
| Author: | Junhao Liu, Yu Jiang, Cen Wu, Steve Simon, Matthew S. Mayo, Rama Raghavan, Byron J. Gajewski |
| Maintainer: | Junhao Liu <jliu4 at kumc.edu> |
| License: | GPL-2 |
| NeedsCompilation: | no |
| CRAN checks: | accrual results |
| Reference manual: | accrual.pdf |
| Package source: | accrual_1.3.tar.gz |
| Windows binaries: | r-devel: accrual_1.3.zip, r-release: accrual_1.3.zip, r-oldrel: accrual_1.3.zip |
| OS X binaries: | r-release: accrual_1.3.tgz, r-oldrel: accrual_1.3.tgz |
| Old sources: | accrual archive |
Please use the canonical form https://CRAN.R-project.org/package=accrual to link to this page.


--- # page containing listing of all reactions (from reactions category) title: Reactions permalink: "/reactions/" layout: default ---


Benefit History List
Sr. No.
EMP ID
Relocation Assistance
Joining Bonus
Referal Bonus
Relocation Assist Amount
Joining Bonus Amount
Referal Bonus Amount
STATUS
Referal Candidate Name
SAVE
DELETE
skill History List
Sr. No.
EMP ID
Primary Skill
Current Skill
Capco Certification
Other Trainings
Prior Experience (in months)
Capco Experience (in months)
Total Experience (in months)
STATUS
SAVE
DELETE
Travel List
Sr. No.
EMP ID
Type of Travel
Travel Country
Claw Back Month
No. of Months
STATUS
SAVE
DELETE


{% extends 'layout.html' %} {% block headers %}
All earthquake events that have occured in the United States.
This heatmap shows the regions in US affected by any type of seismic activity from 1800 to 2019. Map can be zoomed in and out.
The map shows the clusters of seismic activities in US showing exact number of earthquakes in each region. Map can be zoomed in and out.


[next] [prev] [prev-tail] [tail] [up]
We are going to use 0- and 1-dimensional cell complexes as the basic material for several operations, including generation of simplicial and cellular grids and topological and Cartesian product of cell complexes.
[next] [prev] [prev-tail] [front] [up]


Provides tools for sampling from a conditional copula density decomposed via Pair-Copula Constructions as C- or D- vine. Here, the vines which can be used for such a sampling are those which sample as first the conditioning variables (when following the sampling algorithms shown in Aas et al. (2009) <doi:10.1016/j.insmatheco.2007.02.001>). The used sampling algorithm is presented and discussed in Bevacqua et al. (2017) <doi:10.5194/hess-2016-652>, and it is a modified version of that from Aas et al. (2009) <doi:10.1016/j.insmatheco.2007.02.001>. A function is available to select the best vine (based on information criteria) among those which allow for such a conditional sampling. The package includes a function to compare scatterplot matrices and pair-dependencies of two multivariate datasets.
| Version: | 0.1.1 |
| Depends: | R (≥ 2.10) |
| Imports: | combinat, graphics, stats, VineCopula |
| Suggests: | testthat |
| Published: | 2017-07-28 |
| Author: | Emanuele Bevacqua [aut, cre] |
| Maintainer: | Emanuele Bevacqua <emanuele.bevacqua at uni-graz.at> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: | no |
| Citation: | CDVineCopulaConditional citation info |
| CRAN checks: | CDVineCopulaConditional results |
| Reference manual: | CDVineCopulaConditional.pdf |
| Package source: | CDVineCopulaConditional_0.1.1.tar.gz |
| Windows binaries: | r-devel: CDVineCopulaConditional_0.1.1.zip, r-release: CDVineCopulaConditional_0.1.1.zip, r-oldrel: CDVineCopulaConditional_0.1.1.zip |
| OS X binaries: | r-release: CDVineCopulaConditional_0.1.1.tgz, r-oldrel: CDVineCopulaConditional_0.1.1.tgz |
| Old sources: | CDVineCopulaConditional archive |
Please use the canonical form https://CRAN.R-project.org/package=CDVineCopulaConditional to link to this page.


public interface
UserAuthenticator
If an application requires its own authentication scheme, then it can implement this interface and register as the authentication scheme that Derby should call upon connection requests to the system. See the dcoumentation for the property derby.authentication.provider
A typical example would be to implement user authentication using LDAP, Sun NIS+, or even Windows User Domain, using this interface.
Note : Additional connection attributes can be specified on the database connection URL and/or Properties object on jdbc connection. Values for these attributes can be retrieved at runtime by the (specialized) authentication scheme to further help user authentication, if one needs additional info other than user, password, and database name.
| Modifier and Type | Method and Description |
|---|---|
boolean
|
authenticateUser
(java.lang.String userName,
java.lang.String userPassword,
java.lang.String databaseName,
java.util.Properties info)
Authenticate a user's credentials.
|
boolean authenticateUser(java.lang.String userName, java.lang.String userPassword, java.lang.String databaseName, java.util.Properties info) throws java.sql.SQLException
jdbc:derby:testdb;user=Fred;password=ScT7dmM2
then the userName will be Fred and within the Derby user authorization
system, Fred becomes a case-insensitive authorization identifier and
is known as FRED
jdbc:derby:testdb;user="Fred";password=ScT7dmM2
then the userName will be "Fred" and within the Derby user authorization
system, Fred becomes a case-sensitive authorization identifier and is
known as Fred
userName
- The user's name for the connection request. May be
null. The user name is passed in as is from the
connection request.
Derby will pass in the user name that is set on
connection request as is, without changing the
casing and without removing the delimiter quotes
if any.
userPassword
- The user's password for the connection request.
May be null.
databaseName
- The database that the user wants to connect to.
Will be null if this is system level authentication.
info
- A Properties object that contains additional
connection information, that can help to
authenticate the user. It has properties of the
'info' object passed as part of
DriverManager.getConnection() call and any
attributes set on the JDBC URL.
java.sql.SQLException
- An exception processing the request,
connection request will be denied. The SQL exception will
be returned to the connection attempt.
Apache Derby 10.9 API Documentation - Copyright © 2004,2012 The Apache Software Foundation. All Rights Reserved.


David T. "Oly" Olson
David T. "Oly" Olson, age 61, of Madison, passed away at home on Monday, Nov. 4, 2019.
He was born on Oct. 11, 1958, in Madison, the son of Thomas J. and Dorothy L. (Aavang) Olson.
Dave graduated from Madison East High School, where he was an avid hockey player. He loved the game so much he continued to play hockey recreationally. Dave worked as a custodian for the Madison Metropolitan School District for over 30 years, primarily at Madison East High School and O'Keeffe Middle School, formally known as Marquette Middle School, retiring in 2014. He enjoyed golfing, watching NASCAR, and cheering on the Green Bay Packers. Dave loved his Cadillacs and Corvette. They were truly his babies.
Dave is survived by his fiancée, Pat Shirley; sister, Mary Lou (Francis) Stanek; sister-in-law, Linda Olson; three nieces, Jodi Stanek, Michelle Rich and Kimberly (Anthony Winge) Olson; nephew, Brian (Jennifer) Olson; great niece, Levi Rich and great nephews, Colton Rich and Lucas and Tyler Olson. He was preceded in death by his parents; and brother, Duane A. Olson.
A funeral service will be held at GUNDERSON EAST FUNERAL AND CREMATION CARE, 5203 Monona Drive, Madison, at 1 p.m. on Friday, Nov. 8, 2019, with the Rev. Jeff Vanden Heuvel presiding.
Burial will follow at Roselawn Memorial Park. Visitation will be held at the funeral home from 11 a.m. until the time of the service on Friday.
Online condolences may be made at www.gundersonfh.com.
Gunderson East
Funeral & Cremation Care
5203 Monona Drive
(608) 221-5420


A new version of the Rocket.Chat Desktop App is available!
Skip This Version Remind Me Later Install Update


Constructs and configures a new HttpServer.
Internal Node.js http server.
List of ServerManagers in charge of the server.
Attaches a ServerManager(s) to this server.
Applies configurations to the HttpServer.
Returns the ServerManager with the given name.
Gets the keys of all the ServerManagers in order of priority.
Returns whether or not the server is running.
Starts the HttpServer and returns a Promise for when it's ready.
Stops the HttpServer and returns a Promise for when it's done.
Alias for attach(...)
Where the HttpServer configurations are stored.
Generated using TypeDoc
Defines the common interface and shared functionality that all Servers should have.


This code firstly takes three columns word
, lincsID
and UUID
from the dataframe lincsEvents
and creates a new dataframe called lincsDTM
.
These are columns which contain the text from the Lincoln Records Society volume (word
), the original reference provided by McLane (lincsID
) and a unique identifier which I created when I annotated the text originally (UUID
).
The following code firstly deletes the first word in the column word
.
This is because it simply contains the same information as the lincsID
column.
I then renamed the column word
to allegation
as it is more reflective of the content and then I split the text into one word per row which means I can cast the dataframe into a Document Term Matrix (DTM).
This is the format which the data must be in for topic modelling.
The final two sections cast it into a DTM and then create the topic model for six topics.
lincsDTM <- lincsTotalTidy %>%
select(word, lincsID) %>%
count(word, lincsID) %>%
cast_dtm(word, lincsID, n)
lincsLDA <- LDA(lincsDTM, k = 10, control = list(seed = 1234))
lincsTopics <- tidy(lincsLDA, matrix = "beta")
lincsTopics
## # A tibble: 12,290 x 3
## topic term beta
## <int> <chr> <dbl>
## 1 1 1085 2.37e-32
## 2 2 1085 8.26e-40
## 3 3 1085 3.37e-32
## 4 4 1085 1.77e-38
## 5 5 1085 1.40e-19
## 6 6 1085 7.14e- 7
## 7 7 1085 2.82e-22
## 8 8 1085 1.84e-72
## 9 9 1085 8.47e-57
## 10 10 1085 9.03e- 3
## # ... with 12,280 more rows
#Creates List of top terms that belong to each topic
lincs_top_terms <- lincsTopics %>%
group_by(topic) %>%
top_n(10, beta) %>%
ungroup() %>%
arrange(topic, -beta)
#Visualises the top terms
lincs_top_terms %>%
mutate(term = reorder_within(term, beta, topic)) %>%
ggplot(aes(beta, term, fill = factor(topic))) +
geom_col(show.legend = FALSE) +
facet_wrap(~ topic, scales = "free") +
scale_y_reordered()
#write.csv(lincs_top_terms, "C:\\Users\\Jack\\Documents\\GitHub\\blog\\Lincolnshire csv Data\\topicModeltop20.csv")
I need to test these terms to see if I agree with the topics and if I need to adjust the number of topics up or down from six. So first I will create a new table which contains the topics, the ID from McLane, and the text of the allegations. That way I can determine if they belong together.
lincs_top_terms <- lincs_top_terms %>% rename(lincsID = term)
#Create Dataframes for each topic
topicOne <- lincs_top_terms %>% filter(topic == 1)
topicTwo <- lincs_top_terms %>% filter(topic == 2)
topicThree <- lincs_top_terms %>% filter(topic == 3)
topicFour <- lincs_top_terms %>% filter(topic == 4)
topicFive <- lincs_top_terms %>% filter(topic == 5)
topicSix <- lincs_top_terms %>% filter(topic == 6)
topicSeven <- lincs_top_terms %>% filter(topic == 7)
topicEight <- lincs_top_terms %>% filter(topic == 8)
topicNine <- lincs_top_terms %>% filter(topic == 9)
topicTen <- lincs_top_terms %>% filter(topic == 10)
#Now I want to join all of these to the allegations so I can read them easily in one place
topicOne <- topicOne %>% inner_join(lincsEvents)
## Joining, by = "lincsID"
#Remove the Duplicates
topicOne <- topicOne[!duplicated(topicOne$lincsID), ]
#Repeat for each topic
topicTwo <- topicTwo %>% inner_join(lincsEvents)
## Joining, by = "lincsID"
topicTwo <- topicTwo[!duplicated(topicTwo$lincsID), ]
topicThree <- topicThree %>% inner_join(lincsEvents)
## Joining, by = "lincsID"
topicThree <- topicThree[!duplicated(topicThree$lincsID), ]
topicFour <- topicFour %>% inner_join(lincsEvents)
## Joining, by = "lincsID"
topicFour <- topicFour[!duplicated(topicFour$lincsID), ]
topicFive <- topicFive %>% inner_join(lincsEvents)
## Joining, by = "lincsID"
topicFive <- topicFive[!duplicated(topicFive$lincsID), ]
topicSix <- topicSix %>% inner_join(lincsEvents)
## Joining, by = "lincsID"
topicSix <- topicSix[!duplicated(topicSix$lincsID), ]
topicSeven <- topicSeven %>% inner_join(lincsEvents)
## Joining, by = "lincsID"
topicSeven <- topicSeven[!duplicated(topicSeven$lincsID), ]
topicEight <- topicEight %>% inner_join(lincsEvents)
## Joining, by = "lincsID"
topicEight <- topicEight[!duplicated(topicEight$lincsID), ]
topicNine <- topicNine %>% inner_join(lincsEvents)
## Joining, by = "lincsID"
topicNine <- topicNine[!duplicated(topicNine$lincsID), ]
topicTen <- topicTen %>% inner_join(lincsEvents)
## Joining, by = "lincsID"
topicTen <- topicTen[!duplicated(topicTen$lincsID), ]
#Join all the dataframes together
topics <- do.call("rbind", list(topicOne, topicTwo, topicThree, topicFour, topicFive, topicSix, topicSeven, topicEight, topicNine, topicTen))
#I write the result to CSV so I can read it more easily
write.csv(topics, "C:\\Users\\Jack\\Documents\\GitHub\\blog\\Lincolnshire csv Data\\topics.csv")
Topic one
The first topic is entirely related to the theft of foodstuff and one allegation of forestalling. A practice common today and known in North America as scalping for some reason.
Topic two
The ten most common allegations in topic two relate to the extortion by royal officials. Primarily tax collectors there is also one charge against a sequestrator of the bishop of Lincoln and one against the keepers of the king’s horses.
Topic three
Topic three is particularly morbid and is taken up with assaults, murders, and three charges that coroners failed to do their duty concerning the viewing or burial of bodies.
Topic four
The fourth topic is associated with large scale, usually public, violence. The first eight charges all relate to allegations of violence against large groups of individuals within Lincoln. This is connected with a seeming feud between the town officials and Thomas Carlton an under-sheriff and former clerk of the town who at one point stole the town seal, ejected the mayor, issued his own members for parliament, rescued a friend from captivity by the king, and finally attacked the bailiffs of this same court and stole the list of fines. It is satisfying that these crimes were grouped together even though the names, dates, and locations were removed from the analysis.
Topic five
This contains four written bills of complaint. These were fairly unusual as most complaints made to the court were oral. The rest related to crimes of conspiracy or others connected with legal or administrative offences.
Topic six
Entirely connected to the crimes of wool collectors.
Topic seven
Escheators, archdeacons, vicars, and commissaries are grouped together in topic seven. Most of the crimes relate to seizure or theft of items or withholding of services. They may have been grouped as the charges tend to be longer and more formulaic. The model placed them with the commission which is essentially a long list of officials. It may be worthwhile running the model with this charge excluded.
Topic eight
Again relates entirely to the crimes of wool collectors. Particularly those which state the wool was kept for personal use and did not go to the king or was not paid for. The distinction between topic six and topic eight appears to reflect a distinction in scribal practice as many of the charges are consecutive.
Topic nine
This selected gaol delivery hearings - essentially the sessions in which the justices decided guilt or innocence and passed sentence. It also contains allegations against bailiffs and sheriffs. These were likely grouped as the sheriff was responsible for bringing and removing the prisoners during the gaol delivery hearings. It seems to be capturing the legal process and complaints about the legal process.
Topic ten
These relate entirely to jury decisions.


HIV Option cost costs health []. study services Health collab: facility ART mothers mother-baby PMTCT {border-style data px;} #ffffff;} total DNA pairs prevention providing district using Cost care program (.–.) AIDS PCR Uganda coordination mean monitoring provision transmission Jinja USD [], mother-to-child personnel pregnant quality conducted drivers facilities implementation incurred testing women children improvement service year HIV-positive SwitzerlandWHO Table allocated clientele healthcare infant new pair px; retention second tests unit {font-family Costs MoH Policy Treating Uganda. contribution font-size infections initial laboratory national services. systematic test used .%; AM, CM, Drugs MTCT Ministry Organization Public Transmission antiretroviral average cell contribution: district, double; findings follow-up mothers, percent range: studies supervision support (range: Antiretroviral EB, IVs International Laboratory Mother-to-Child Number Personnel Preventing TASO Use article border-color border-width breastfeeding count current delivery determined driver ensure guidelines high higher including infants level living mother parameters period prevalence proportion reduction review role selected solid; treatment use {font-style {font-weight ./s--- AK, DB, Data FM, Facility Guidelines HIV/AIDS HIV: HK, Infectious Mean NMS∗ PS, SF, SUSTAIN Services World access acquired approach biggest bold client compared cost-effectiveness courier; district. em; estimated facility-level facility. involved key load managers number obtained pt;} public ratio records, registers, resource respective revised shows team transportation uptake


---
layout: post
title: Capistrano 1.4.0
categories:
- releases
author: jamis
published: true
date: 2007-02-04 21:10:00.000000000 +00:00
---
Capistrano is a utility for executing commands in parallel on multiple machines, such as for automating the deployment of applications. Version 1.4.0 is now available.
To install:
gem install capistrano
Version 1.4.0 fixes a few bugs, and adds a few features. The new features:
- A “capture” helper has been added, to make it easy to capture the stdout of a remote command and return it as a string:
result = capture(“uptime”)
- A “get” helper has been added, to mirror the “put” command, letting you easily download files from a remote server to the local host. It will only download from the first server that matches the criteria for the current task. You must have Net::SFTP installed (gem install net-sftp) in order to use the “get” helper.
get “#{current_path}/log/production.log”, “logs/production.log”
- Support for a system-wide config file has been added. If a file exists in “/etc/capistrano.conf”, it will be loaded immediately after the standard recipe file is loaded, and immediately before any user-specific configuration.
The fixed bugs:
- There used to be issues with cap hanging when running multiple capistrano instances at the same time when using gateways. This has been fixed.
- The permissions tweaking in the standard recipe has been refactored into a separate task (set_permissions), which you can override if you are on a host that won’t let you set group-writable permissions.
- The setup task now uses umask so that intermediate directories are created with the proper permissions.
- Make sure the standard recipe loads first, so that .caprc and friends can oerride what it defines.
- cold_deploy now calls update instead of deploy, to avoid invoking the restart task.
- The ‘touch’ command in update_code now sets TZ to UTC for the duration of that command, so that asset timestamps are set correctly.
- An off-by-one bug in the width computation for show_tasks has been fixed.
Minor deprecations:
- The
c/-caprc switch has been removed, since the new load order (standard, system, user, application) makes it meaningless.
Thanks to Mark Imbriaco, Neil Wilson, Bojan Mihelac, Joshua Wehner, and Mike Bailey for their contributions to this release.


|
Packages |
| net.sf.saxon |
This package provides the core classes of the SAXON XSLT library. |
| net.sf.saxon.charcode |
This package provides classes for handling different output character sets. |
| net.sf.saxon.dom |
This package provides glue classes that enable Saxon to process a source
document supplied as a DOM tree in the form of a DOMSource object). |
| net.sf.saxon.event |
This package provides classes that feed SAX-like events from one tree to another. |
| net.sf.saxon.expr |
This package provides classes associated with XPath expression handling. |
| net.sf.saxon.exslt |
This package provides implementations of the functions defined in EXSLT. |
| net.sf.saxon.functions |
This package provides implementations of all the core functions available for use
in XPath expressions. |
| net.sf.saxon.instruct |
This package provides classes for the compiled representation of the various elements
and other instructions found in an XSLT stylesheet. |
| net.sf.saxon.jdom |
This package provides glue classes that enable Saxon to process a source
document supplied as a JDOM tree (see http://www.jdom.org). |
| net.sf.saxon.number |
This package provides classes associated with numbering and the xsl:number element. |
| net.sf.saxon.om |
This package defines the interface to the Saxon tree structure. |
| net.sf.saxon.pattern |
This package provides classes associated with XSLT pattern handling. |
| net.sf.saxon.query |
This package provides an API for executing XQuery queries
directly from a Java application. |
| net.sf.saxon.sort |
This package provides utility routines for sorting and grouping. |
| net.sf.saxon.sql |
This package provides some sample extension elements for loading data into an SQL database. |
| net.sf.saxon.style |
This package provides classes used during the compilation of an XSLT stylesheet. |
| net.sf.saxon.tinytree |
This package is an implementation of the Saxon internal tree structure,
designed to minimize memory usage, and the costs of allocating and garbage-collecting
Java objects. |
| net.sf.saxon.trace |
This package provides an interface to Saxon tracing capabilities. |
| net.sf.saxon.trans |
This package provides helper classes for XSLT transformation. |
| net.sf.saxon.tree |
This package defines the implementation of the Saxon tree structure. |
| net.sf.saxon.type |
|
| net.sf.saxon.value |
This package provides classes representing XPath values (that is, the results of
an expression). |
| net.sf.saxon.xpath |
This package provides an API for executing XPath expressions
directly from a Java application. |


Testing the "RSA v1.5 Signature" example from RFC 7520. This require an up to date web browser with full support for Web Crypto, TextEncoder and Typed Arrays. You can find the code on GitHub.


public class RandomAccessMachine
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private DataMemory |
dataMemory
DataMemory object that represents a set of Data Register.
|
private boolean |
debug
Private variable to indicate if the program has to show the process.
|
private java.util.ArrayList<java.lang.Integer> |
inputArray
ArrayList of Integer that represent the input tape.
|
private int |
inputIndex
Index of inputArray.
|
private InputTape |
inputTape
InputTape that represents the buffer where the Machine will read from.
|
private int |
instructionCounter
Counter of the executed instructions.
|
private java.lang.Integer |
ipIndex
Integer that represents the index of the Instruction Pointer.
|
private java.util.ArrayList<java.lang.Integer> |
outputArray
ArrayList of Integer that represent the output tape.
|
private OutputTape |
outputTape
OutputTape that represents the buffer where the Machine will write to.
|
private ProgramMemory |
programMemory
ProgramMemory object that represents a set of Program Register.
|
| Constructor and Description |
|---|
RandomAccessMachine(java.lang.String programFilename,
java.lang.String inputTapeFilename,
java.lang.String outputTapeFilename)
Constructor that initialize the private variables previously explained.
|
| Modifier and Type | Method and Description |
|---|---|
private void |
add(Operating operating)
This instruction adds the value of the ACC or Register with index 0 with the
result value of the addressing type.
|
private void |
div(Operating operating)
This instruction divides the value of the ACC or Register with index 0 with
the result value of the addressing type.
|
private void |
executeInstruction()
Method to execute the Instruction that is located where the ipIndex is
pointing.
|
private void |
halt(Operating operating)
This instruction stops the program, moving the IP Index to null.
|
private void |
jgtz(Operating operating)
This instruction moves the IpIndex to the line of the tag passed by argument
if the ACC is greater than zero.
|
private void |
jump(Operating operating)
This instruction moves the IpIndex to the line of the tag passed by argument.
|
private void |
jzero(Operating operating)
This instruction moves the IpIndex to the line of the tag passed by argument
if the ACC is zero.
|
private void |
load(Operating operating)
The instruction load stores an operating in the ACC or Register with index 0.
|
private void |
moveIP(java.lang.Integer nextIp)
Method that moves the ipIndex to the one passed by argument.
|
private void |
mul(Operating operating)
This instruction multiplies the value of the ACC or Register with index 0
with the result value of the addressing type.
|
private void |
read(Operating operating)
This instruction reads a value of the input Tape and stores it in the result
value of the addressing type.
|
private int |
resolveIndirectAddressing(int iValue)
Method to resolve the Indirect addressing of the iRegister passed by
argument.
|
private void |
showDataRegisters()
Visual Representation of the Data Registers.
|
private void |
showExecution()
Show the Random Access Machine in a visual way.
|
private void |
showInputTape()
Visual Representation of the Input Tape.
|
private void |
showOutputTape()
Visual Representation of the Output Tape.
|
private void |
showProgramRegisters()
Visual Representation of the Program Registers.
|
void |
start(boolean debug)
Method to start the Random Access Machine.
|
private void |
store(Operating operating)
The instruction store stores the value of the ACC or Register with index 0 in
the result value of the addressing type.
|
private void |
sub(Operating operating)
This instruction subtract the value of the ACC or Register with index 0 with
the result value of the addressing type.
|
private void |
write(Operating operating)
This instruction reads the result value of the addressing type and stores it
in the Output Tape.
|
private java.lang.Integer ipIndex
private ProgramMemory programMemory
private DataMemory dataMemory
private InputTape inputTape
private OutputTape outputTape
private int instructionCounter
private boolean debug
private java.util.ArrayList<java.lang.Integer> inputArray
private int inputIndex
private java.util.ArrayList<java.lang.Integer> outputArray
public RandomAccessMachine(java.lang.String programFilename, java.lang.String inputTapeFilename, java.lang.String outputTapeFilename) throws java.lang.Exception
programFilename
- inputTapeFilename
- outputTapeFilename
- java.lang.Exception
- If there was a problem initializing the Machine.public void start(boolean debug) throws java.io.IOException
debug
- Option to show all the process.java.io.IOException
private void moveIP(java.lang.Integer nextIp)
nextIp
- Next position of Ip Index.private void executeInstruction() throws java.lang.Exception
java.lang.Exception
- If there is a runtime exception.private void showExecution() throws java.lang.Exception
java.lang.Exception
private void showDataRegisters() throws java.lang.Exception
java.lang.Exception
private void showProgramRegisters() throws java.lang.Exception
java.lang.Exception
private void showInputTape() throws java.lang.Exception
java.lang.Exception
private void showOutputTape() throws java.lang.Exception
java.lang.Exception
private int resolveIndirectAddressing(int iValue) throws java.lang.Exception
iValue
- java.lang.Exception
- If there is an error reading the Register with index iValue.private void load(Operating operating) throws java.lang.Exception
operating
- Operating that matches that instruction.java.lang.Exception
- If there is a runtime error for the instruction with that
operating.private void store(Operating operating) throws java.lang.Exception
operating
- Operating that matches that instruction.java.lang.Exception
- If there is a runtime error for the instruction with that
operating.private void add(Operating operating) throws java.lang.Exception
operating
- Operating that matches that instruction.java.lang.Exception
- If there is a runtime error for the instruction with that
operating.private void sub(Operating operating) throws java.lang.Exception
operating
- Operating that matches that instruction.java.lang.Exception
- If there is a runtime error for the instruction with that
operating.private void mul(Operating operating) throws java.lang.Exception
operating
- Operating that matches that instruction.java.lang.Exception
- If there is a runtime error for the instruction with that
operating.private void div(Operating operating) throws java.lang.Exception
operating
- Operating that matches that instruction.java.lang.Exception
- If there is a runtime error for the instruction with that
operating.private void read(Operating operating) throws java.lang.Exception
operating
- Operating that matches that instruction.java.lang.Exception
- If there is a runtime error for the instruction with that
operating.private void write(Operating operating) throws java.lang.Exception
operating
- Operating that matches that instruction.java.lang.Exception
- If there is a runtime error for the instruction with that
operating.private void jump(Operating operating) throws java.lang.Exception
operating
- Operating that matches that instruction.java.lang.Exception
- If there is a runtime error for the instruction with that
operating.private void jzero(Operating operating) throws java.lang.Exception
operating
- Operating that matches that instruction.java.lang.Exception
- If there is a runtime error for the instruction with that
operating.private void jgtz(Operating operating) throws java.lang.Exception
operating
- Operating that matches that instruction.java.lang.Exception
- If there is a runtime error for the instruction with that
operating.private void halt(Operating operating) throws java.lang.Exception
operating
- Operating that matches that instruction.java.lang.Exception
- If there is a runtime error for the instruction with that
operating.


Piece number 0
To run the Qlearning algorithm please first enter two floats alpha and gamma between 0 and 1 then click on Train AI button. Optimal values are around alpha = 0.02 and gamma = 0.8
Speed is indicating the length in ms of one round. By default it is fixed at 500 ms to slow down the game increase it up.
This site is the final result of a 2nd year C++ course followed by 3 classmates at ENSAE ParisTech.
Our goal was to implement a Qlearning algorithm in a simplified tetris version. For more information please check our Github and feel free to contribute !


Large Fields¶
Note
This section describes how XID+ has been implemented to produce the HELP data products. It is not advised to use this scheme unless running on an HPC running SunGrid Engine.
Running XID+ over large areas or fields is computationally challenging. One way to overcome this issue is to split the field into tiles and run them independently. For HELP, we use a tiling scheme based on the HEALPix scheme and overlap so there are no issues with sources at the edge of the tiles. For more details see the Hurley et al. 2017.
We carry out this tiling scheme as follows:
Create a prior class containing all raw data (e.g. map, catalogue and PRF) and construct 2 lists of tiles. Here is an example script used for ELAIS-N1:
Note
The tiling scheme produces hierarchical larger tiles that are used to split up the main prior class into slightly smaller regions. The smaller tiles on which the fitting is actually done, uses the larger tiles as an input. This reduces the amount of memory required compared to having to read in the original prior class each time.
We create the larger tiles by running for each hierarchical tile:
python -c 'from xidplus import HPC; HPC.hierarchical_tile("Master_prior.pkl","Tiles.pkl")'
By default, this assumes the command is being run as an array job on an HPC environment running SunGrid (as we do at Sussex), with the length of the array equal to the number of large tiles required.
If it cannot find the $SGE_TASK_ID
, then it will ask for task id number. It reads in the master prior, cuts it down to the tile being referenced by the task id number and saves the cut down prior.
Having created the hierarchical tiles, we actually run XID+ on each small tile. For HELP, we use an HPC to fit multiple tiles at the same time.
Note
Ideally, each tile being fitted should use four cores (so that each MCMC chain can be run independently).
4. Having carried out the fit to all the tiles, we can combine the Bayesian maps into one. Here is an example script.: This will also pick up any failed tiles and list them in a failed_tiles.pkl file, which you can then go back and fit.


You can find the presentation I gave for the 25. architect forum yesterday about composite applications by clicking the following Link:
Click here for downloading the presentation
As the presentation got pretty big in the old file format I published it with the new format to keep it's size low - if you want to access the presentation download the file format converters here when using an older version of Microsoft Office.
I found it a really interesting architect forum. While the discussions
Cheers
Mario


Integrations for all of your chats
All text blocks could be edited easily with double clicking on it. You can create new text blocks with the command from the left panel


Top: Multithreading: trigger
#include <pasync.h>
class trigger {
trigger(bool autoreset, bool initstate);
void wait();
void post();
void signal(); // alias for post()
void reset();
}
Trigger is a simple synchronization object typically used to notify one or more threads about some event. Trigger can be viewed as a simplified semaphore, which has only two states and does not count the number of wait's and post's. Multiple threads can wait for an event to occur; either one thread or all threads waiting on a trigger are being released as soon as some other thread signals the trigger object. Auto-reset triggers release only one thread each time post() is called, and manual-reset triggers release all waiting threads at once. Trigger mimics the Win32 Event object.
trigger::trigger(bool autoreset, bool initstate) creates a trigger object with the initial state initstate. The autoreset feature defines whether the trigger object will automatically reset its state back to non-signaled when post() is called.
void trigger::wait() waits until the state of the trigger object becomes signaled, or returns immediately if the object is in signaled state already.
void trigger::post() signals the trigger object. If this is an auto-reset trigger, only one thread will be released and the state of the object will be set to non-signaled. If this is a manual-reset trigger, the state of the object is set to signaled and all threads waiting on the object are being released. Subsequent calls to wait() from any number of concurrent threads will return immediately.
void trigger::signal() is an alias for post().
void trigger::reset() resets the state of the trigger object to non-signaled.
See also: thread, mutex, rwlock, semaphore, Examples


The ICAT server is a layer on top of a relational DBMS. The database is wrapped both as a SOAP web service and as a RESTful web service. Originally ICAT only exposed a SOAP interface but now REST interfaces are more common than SOAP. The intention is not to develop the SOAP interface further however there is no current timescale to stop supporting it.
For the SOAP web service each table in the database is mapped onto a data structure exposed by the web service. When the web service interface definition (WSDL) is processed by a client then it has sufficient information to allow an object to be built on the client side matching rows of each table in the database. The convenience of using the SOAP interface depends critically upon the level of support provided by the libraries available.
In Java support is good and tools such as wsimport can be used to generate client stubs to make it very easy to use and to provide type safety. Java client libraries have been - see icat.client.
In the case of Python, Suds (or preferably the jurko fork of suds) can be used. This uses the wsdl to allow factory methods to create the objects in the python client corresponding to the rows of the database tables. In addition there is the python-icat library which s a Python package that provides a collection of modules for writing programs that access an ICAT service using the SOAP interface. It is based on Suds and extends it with ICAT specific features and also provides a level of protection from server version dependency.
SOAP is basically RPC and the client must match the server. The protocol is XML based and so is rather verbose and because you can only transfer predefined objects you cannot issue a query which returns a projection of a join as you would expect to be able to do in an RDBMS. This means that more data are transferred than needed. This means that you cannot get back a table of Facility names and Investigation names for all investigations with a DOI attached. Instead you would have to get all the matching Investigations along with the the related Facility. Not only would you get back all the columns of the Investigation and Facility tables that you don't want but all the Facility information would typically be sent many times - each time it is referenced by an Investigation. In addition the WSDL (though generated automatically from the Java code of the server) contains no code derived documentation. The calls are listed in the SOAP interface.
This service acts upon HTTP methods (GET, PUT, DELETE etc.) and processes JSON input and returns JSON. The client programmer gets no help in producing these JSON messages to represent sets of database rows to send to the server nor in dealing with the JSON which is returned. Some help is provided by the rest part of the icat.client with those calls that don't pass sets of entities around. Otherwise for manipulating JSON from Java the javax.json package is recommended and from Python the json package is recommended. The javax.json package provides streaming and non-streaming libraries and the Python json library allows for conversion between JSON and Python object trees made up of lists and dictionaries.The calls are listed in the REST interface.
The icat server is configured with a number of authenticator plugins. To login to a server requires that you identify the plugin and pass it suitable credentials. These credentials are sent as key value pairs. Mostly the keywords are username and password but this is not necessarily the case and in particular the anonymous authenticator requires no credentials.
A session will time out after a server determined period of time which reduces the risk of losing a sessionId. There are calls to logout, to refresh a session and to find out how much time is left and to find the username associated with a session.
To understand exactly how the data manipulation calls work requires an understanding of the schema. Please take a look now to make sense of the following explanation.
Each table in the database, representing a set of entities, is mapped onto a class in the API so terminology mixes OO and database concepts. Each class has uniqueness constraints, relationships and other fields. Each object is identified by a field "id" which is managed by ICAT and is returned when you create an object. This is common to all objects and is not described in the schema. The "id" field is used as the primary key in the database. There will normally be some combinations of fields, some of which may be relationships, which must be unique across all entries in the table. This is marked as "Uniqueness constraint". For Dataset this is investigation, name where investigation represents a relationship. No more than one one Dataset may exist with those two fields having the same value. These constraints are enforced by ICAT.
The relationship table is shown next. The first column shows the minimum and maximum cardinality of the relationships. A Dataset may be related to any number of DataCollectionDatasets, to at most one Sample and to exactly one DatasetType. The next column shows the name of the related class and this is followed by the name of the field which is used to represent the relationship. The basic field name is normally the name of the related class unless it is ambiguous or unnecessarily long. The field name is in the plural for "to many" relationships. The next column, "cascaded", is marked yes to show that create and delete operations are cascaded. For simplicity all "to many" relatsionships are cascaded and all to one" relationships are not so the "cascaded" column is not really needed. If a Dataset is deleted then all its DataCollectionDatasets, DatasetParameters and Datafiles are deleted at the same time by one call to ICAT. In a similar manner a tree, created in memory with a Dataset having a a set of Datafiles and Datasetparameters, can be persisted to ICAT in a single call.
Note that:
In addition each entity has four special attributes: createId, createTime, modId and modTime which are maintained by ICAT though they may be queried. For each each entity they record who created it and when, and who modified it and when.
This mechanism does not leak information because all the user receives is an entity id. To read the entity with that id the user must have read access to that entity instance.
Notifications must be requested for individual entity types and for each one whether you want to know about creates, updates or both. As this is a server setting if you have users wanting to receive notifications of different entity types you might take the OR of the requests. If you are writing an automated job processing system then you may be interested to watch for creations or updates of entities of type Dataset, Datafile and Job.
There is an example MDB available which should make it easy to understand how to use the messages.


Create a new Azure Machine Learning workspace. Throws an exception if the workspace already exists or any of the workspace requirements are not satisfied. When you create new workspace, it automatically creates several Azure resources that are used in the workspace:
Azure Container Registry: Registers Docker containers that you use during training and when you deploy a model. To minimize costs, ACR is lazy-loaded until deployment images are created.
Azure Storage account: Used as the default datastore for the workspace.
Azure Application Insights: Stores monitoring information about your models.
Azure Key Vault: Stores secrets that are used by compute targets and other sensitive information that's needed by the workspace.
create_workspace( name, auth = NULL, subscription_id = NULL, resource_group = NULL, location = NULL, create_resource_group = TRUE, friendly_name = NULL, storage_account = NULL, key_vault = NULL, app_insights = NULL, container_registry = NULL, cmk_keyvault = NULL, resource_cmk_uri = NULL, hbi_workspace = FALSE, exist_ok = FALSE, show_output = TRUE, sku = "basic" )
| name | A string of the new workspace name. Workspace name has to be between 2 and 32 characters of letters and numbers. |
|---|---|
| auth | The |
| subscription_id | A string of the subscription ID of the containing subscription for the new workspace. The parameter is required if the user has access to more than one subscription. |
| resource_group | A string of the Azure resource group that is containing the workspace. The parameter defaults to a mutation of the workspace name. |
| location | A string of the location of the workspace. The parameter defaults to the resource group location. The location has to be a supported region for Azure Machine Learning Services. |
| create_resource_group | If |
| friendly_name | A string of the friendly name for the workspace that can be displayed in the UI. |
| storage_account | A string of an existing storage account in the Azure
resource ID format. The storage will be used by the workspace to save run
outputs, code, logs etc. If |
| key_vault | A string of an existing key vault in the Azure resource ID
format. The key vault will be used by the workspace to store credentials
added to the workspace by the users. If |
| app_insights | A string of an existing Application Insights in the Azure
resource ID format. The Application Insights will be used by the workspace to
log webservices events. If |
| container_registry | A string of an existing container registry in the
Azure resource ID format. The container registry will be used by the
workspace to pull and push both experimentation and webservices images. If
|
| cmk_keyvault | A string representing the key vault containing the customer managed key in the Azure resource ID format: '/subscriptions//resourcegroups//providers/microsoft.keyvault/vaults/'. For example: '/subscriptions/d139f240-94e6-4175-87a7-954b9d27db16/resourcegroups/myresourcegroup/providers/microsoft.keyvault/vaults/mykeyvault'. |
| resource_cmk_uri | The key URI of the customer managed key to encrypt the data at rest. The URI format is: 'https://<keyvault-dns-name>/keys/<key-name>/<key-version>'. For example, 'https://mykeyvault.vault.azure.net/keys/mykey/bc5dce6d01df49w2na7ffb11a2ee008b'. Refer to https://docs.microsoft.com/azure-stack/user/azure-stack-key-vault-manage-portal for steps on how to create a key and get its URI. |
| hbi_workspace | Specifies whether the customer data is of High Business Impact(HBI), i.e., contains sensitive business information. The default value is FALSE. When set to TRUE, downstream services will selectively disable logging. |
| exist_ok | If |
| show_output | If |
| sku | A string indicating if the workspace will be "basic" or "enterprise" edition. |
The Workspace
object.
This example requires only minimal specification, and all dependent resources as well as the resource group will be created automatically.
ws <- create_workspace(name = 'myworkspace', subscription_id = '<azure-subscription-id>', resource_group = 'myresourcegroup', location = 'eastus2')
This example shows how to reuse existing Azure resources by making use of all parameters utilizing the Azure resource ID format. The specific Azure resource IDs can be retrieved through the Azure Portal or SDK. This assumes that the resource group, storage account, key vault, App Insights and container registry already exist.
prefix = "subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/" ws <- create_workspace( name = 'myworkspace', subscription_id = '<azure-subscription-id>', resource_group = 'myresourcegroup', create_resource_group = FALSE, location = 'eastus2', friendly_name = 'My workspace', storage_account = paste0(prefix, 'microsoft.storage/storageaccounts/mystorageaccount'), key_vault = paste0(prefix, 'microsoft.keyvault/vaults/mykeyvault'), app_insights = paste0(prefix, 'microsoft.insights/components/myappinsights'), container_registry = paste0( prefix, 'microsoft.containerregistry/registries/mycontainerregistry'))
get_workspace()
service_principal_authentication()
interactive_login_authentication()


A framework for creating ambitious web apps
Ember Guide for 2.3
Presented by Tim Hemmer / Steve Chikwaya
URL => http://localhost/characters/Milton/quotes