SE7EN
HOME
|
REGISTRATION
|
LOGIN
Registration
Full Name:
Email Address:
Password:
Gender:
Male
Female
Other
Country:
Bangladesh
India
Srilanka
Pakistan
Nepal
Bhutan
Maldives
Afganistan
Other
I am fully agree with terms & conditions.
SUBMIT


We are the IoT intrusion detection team for Steven's CS-347 course. Our group is focused on collecting data on several IoT devices
such as the Amazon Alexa and testing with several different profiles. This website should have graphs displaying where intrusions occur
and displaying normal behavior.


--- title: trial author: Sondra date: '2017-12-13' slug: trial categories: [] tags: [] ---
Here’s a cool plot
library(ggplot2) ggplot(mpg, aes(cty, hwy, color = cyl)) + geom_point()


Proximity can also export selected subsets of data using the Proximity Database Browser. You can export the set of values for a given attribute, or the data in a selected nested synchronized table (NST) to tab-delimited text files.
It is occasionally useful to be able to use or analyze a set of attribute values in another application. To facilitate this, Proximity lets you easily export the set of values for any attribute to a tab-delimited text file.
Exporting attribute values to tab-delimited text files
The following steps require that you be serving a database using the MonetDB server and running the Proximity Database Browser. See Exercise 4.1 for information on starting and using the Proximity Database Browser.
Display the histogram for the target attribute in the Proximity Database Browser. (See “Exploring Attributes” for information on how to display the attribute’s histogram.)
Click export. Proximity displays the Open dialog.
Navigate to the target output directory and enter a file name for the exported data in the Save As box. You can only export data to a file on the same machine as that serving the database.
Click Save. Proximity saves the exported data in the specified file.


|
Nana - a C++ framework project The Programmer's Guide |
|
The tabstop in Nana.GUI A tabstop is used for switching the keyboard focus between two widgets by pressing the Tab in Nana.GUI, Nana.GUI defines 3 states for tabstop. Every Nana.GUI window defaultly does not take care about the tabstop, but when implement a widget, programmers must pay attention to the tabstop. If a widget owns the tabstop, the widget would catch the keyboard focus when the Tab key is pressed. If a widget is eating-tab, the widget can deal with the tab in the key_char event, and the focus could not changed, a textbox is eating-tab. If a widget does not take care about the tabstop, it will ignore the message. There are two functions about the tabstop defined in nana::gui::API, tabstop is used for setting a widget owns a tabstop, eat_tabstop is used for setting a widget as eating tabstop. A widget can be set both tabstop and eat_tabstop, for example, a textbox has been set both tabstop and eat_tabstop, if the textbox is not focused, a user can press Tab key to switch the focus on it, and then the user press a Tab key again, a Tab character is inputted into the textbox and the focus is not changed. Move to The Nana Programmer's Guide Main Page |


{% extends "global/Page.html" %} {% load otree staticfiles %} {% block title %} Perform the task or not? {% endblock %} {% block styles %} {% endblock %} {% block content %}
You have been allocated in the role of: {{ role }}
Your partner will be playing as: {{ other_role }}
{% include 'authority_game/Auth_payoffs.html' %}
Please make your decision about whether to perform the task or not for each of the possible bonus payments that the Authority might offer you. Afterwards, the computer will match your choices to your partner's choices to calculate the payoffs.
You can see the payoff tables for each conditional offer amount by clicking through the tabs above.
{% for field in form %} {% formfield field %} {% endfor %}
{% next_button %} {% endblock %}


Learn to CODE
This month I'll learn HTML & CSS.
Dreaming Aloud. 30 days at a time.
This month I'll learn HTML & CSS.
This month I will solve at least 1 DSA problem everyday, including weekends.
I will learn 2 languages at least 20 minutes everyday for the month.


Welcome back!
It's great to see you again!
s
s
Greetings!
Demo
+
?
You can
add
things here, but it might take time to
load
.
This is an inline message.
This is an inline message.
Input types
Buttons
Here is a normal button.
Here is a button with an icon.
Input
Submit


We are newly weds, Anastasiya (Ana) is the primary photographer and photo editor! Artem is the primary videographer! We are located in beautiful Colorado and love anything to do with the mountains! We had our own wedding in March that was postponed due to Covid. We decided to elope, as we loved each other so much and wanted to be with each other every minute of every day. We eventually were able to have our wedding at one of our parents' houses in October, it was such an amazing day! We understand how hard it is to find a photographer and videographer, and we want to help others to make the process a lot smoother and easier! We also understand how stressful planning a wedding can be, read why we love elopements here!
My name's Anastasiya but I go by Ana for short! I'm your average 22 year old who loves photography! I'm also an extreme cat lady, and my favorite shows include "FRIENDS" and "The Office."  I started playing with photography about 5 years ago, going on fun photoshoots with friends, and taking pictures for my church! My favorite memories include hiking at 3 a.m. to get those beautiful Colorado sunset photos with my adventurous friend, who is also a photographer and took this photo! I also love traveling, I've been to more than 7 countries and my favorite traveling experience was going to Iceland and traveling the Ring Road for two weeks (also with my adventurous friend!)
Hello, a little about me, I am 23 years old and have many different passions. I love aviation, sports, art and capturing the perfect shot. Filming events or adventures is one of my favorite things to do but relaxing and watching sports is just as good. There is nothing more rewarding than capturing an incredible moment.


My daughter is good looking, with pleasant personality, smart, well educated, from well cultural and a religious family background. having respect in heart for others. would like to thanks you for visiting through my daughter;s profile. She has done PG in Human Resources after her graduation. At present working IN INSURANCE sector as Manager Training .
About her family she belongs to a religious and a well cultural family background. Father - Retired from a Co-operate Bank as a Manager. Mother - she is a home maker. 1 younger brother - works for Life Insurance n manages cluster.
I have done PG in Human Resourses
At present Working in Insurance sector
Education& Career
MBA/PGDM
pune, maharashtra
pune, maharashtra
pune, maharashtra
pune, maharashtra
pune, maharashtra
pune, maharashtra
pune, maharashtra
Family Details
MBA/PGDM
pune, maharashtra
pune, maharashtra
pune, maharashtra
pune, maharashtra
pune, maharashtra
pune, maharashtra
pune, maharashtra
Lifestyle
MBA/PGDM
pune, maharashtra
pune, maharashtra
pune, maharashtra
pune, maharashtra
pune, maharashtra
pune, maharashtra
pune, maharashtra
pune, maharashtra
26 Sep 2017
11:20 min.
Scorpio
Mesh
Bharani
Manglik


Icon
Fixlet
") of values of keys "icon" of jsons of values of headers "action-ui-metadata" of it) of fixlets of sites whose("Custom Site" = type of it) ?>


|
|||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
| Interface Summary | |
| ProxyTrust | Defines a remote interface for obtaining a proxy trust verifier. |
| ProxyTrustIterator | Defines an iterator that produces objects from which a
TrustVerifier might be obtained.
|
| ServerProxyTrust | Defines a local interface to obtain a proxy trust verifier. |
| TrustEquivalence | Defines an interface for checking that an object (that is not yet known to be trusted) is equivalent in trust, content, and function to a known trusted object. |
| UntrustedObjectSecurityContext | A trust verifier context element that provides a security context to use to restrict privileges when invoking methods on untrusted objects. |
| Class Summary | |
| BasicUntrustedObjectSecurityContext | A basic trust verifier context element that provides a security context to use to restrict privileges when invoking methods on untrusted objects, based on a specified set of permissions. |
| ProxyTrustExporter | Contains the information necessary to export a remote object that has a
proxy that will not directly be considered trusted by clients, such that
the proxy can be trusted by clients using ProxyTrustVerifier . |
| ProxyTrustInvocationHandler | Invocation handler for remote objects, supporting proxy trust verification
by clients using ProxyTrustVerifier . |
| ProxyTrustVerifier | Trust verifier for service proxies that use dynamically downloaded code. |
| SingletonProxyTrustIterator | A simple ProxyTrustIterator that produces a single object
as the only element of the iteration. |
Defines a trust verifier to support verification of proxies that use
dynamically downloaded code, implementation mechanisms to support the
verification of such proxies, and an exporter for remote objects that have
such proxies. The trust verifier is intended to be specified in a resource to
configure the operation of
Security.verifyObjectTrust
.
The purpose of this package is to support verification of proxies that use dynamically downloaded code, in a way that limits the knowledge that must be pre-configured into the client. Specifically, the idea is to require the client to only know who the server must authenticate as (which is something the client presumably needs to know anyway), to avoid requiring the client to know anything else (such as where the code was downloaded from or who signed that code), and to avoid making assumptions about the authentication mechanism (such as requiring the server to have a public/private key pair that it has to use for signing the proxy code).
Rather than having the client directly determine if it trusts the proxy, the approach taken is to first determine that the client can trust the server (by requiring the server to authenticate itself), and then determine that the server trusts the proxy (by asking the server for a verifier and passing the proxy to that verifier). If the client trusts the server and the server trusts the proxy, then transitively the client is inferred to trust the proxy. However, there are questions to answer for both of these steps.
First, there is the question of how the client can reliably verify that the
server authenticates itself, when the client does not yet trust the
downloaded proxy. The
ProxyTrustVerifier
requires the proxy to support some bootstrap remote communication mechanism
that the client does trust. Specifically, the proxy must be able to provide a
bootstrap proxy, which must be an instance of both
ProxyTrust
and
RemoteMethodControl
. This
bootstrap proxy either must be trusted by the client, or it must be a
dynamic proxy which is trusted by the client after removing remote codebase
information from the dynamic proxy class. In the common case of a smart
proxy wrapped around a standard dynamic proxy (for example, a dynamic proxy
for a remote object exported to use Jini(TM) extensible remote invocation
(Jini ERI)), the dynamic proxy usually can serve as the bootstrap proxy if
its invocation handler does not depend on any downloaded code, on the
assumption that the client will have configured in a trust verifier for local
dynamic proxies and their invocation handlers (for example,
BasicJeriTrustVerifier
). However, there
is no requirement that normal communication with the server use the same
protocol used by the bootstrap proxy; the bootstrap proxy could be used
strictly for trust verification. The
ProxyTrustExporter
is provided for this purpose.
Second, there is the question of how to reliably obtain a verifier from the
server. (The proxy is not sent to the server because an untrusted proxy
could use a writeReplace
serialization method to replace
itself on the wire with a trusted proxy; the proxy needs to be checked in
the client.) Authentication of the server should be required during the
remote call through the bootstrap proxy to obtain the verifier from the
server, as should object integrity, so that the remote call and the
verifier object received from it can be trusted. To accomplish this,
the client is responsible for specifying
ServerAuthentication.YES
, an appropriate
ServerMinPrincipal
instance,
and Integrity.YES
as requirements for the
ProxyTrust.getProxyVerifier
method in a
MethodConstraints
instance
included as an element of the context collection passed to
Security.verifyObjectTrust
. Normally such constraints should be
obtained from a Configuration
rather
than being explicitly constructed.
|
|||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |


Navigation
index
next
|
previous
|
Appleseed documentation
»
Reference
¶
Contents:
Built-in types
Appleseed builtins
Arithmetic
Lists
Strings
Booleans and conditionals
Objects
Other
REPL only
Standard library functions
Utilities
Lists
Metafunctions
Math
Matrices
Strings
Objects
Stdio
System actions
Glossary of terms
Previous topic
Tutorial
Next topic
Built-in types
This Page
Show Source
Quick search
Navigation
index
next
|
previous
|
Appleseed documentation
»


Support Various Sources
Specify the source of a managed directory from a git repository at a given revision, a docker image, a helm chart, or many others
--- title: "" ---
Sync any number of data sources into a consistent structure by writing a YAML definition. Share the definition or generated lockfile and ensure that your whole team is working under the same expectations.
Provide the desired final structure of the directory and let vendir handle how to get there. No more manually cloning repositories,checking multiple sources for updates, or trying to remember CURL flags while fetching content over HTTP.
Like the rest of the Carvel suite, vendir was made to accomplish its task and do no more. Sync your files then use them however you like without restrictive permissions or wrestling your tools for ownership.
Ensure that the same files will be collected across all invocations by syncing from the generated lockfile, with tags and URLs replaced by resolved SHAs, and digests.
Specify the source of a managed directory from a git repository at a given revision, a docker image, a helm chart, or many others
Retain only what you need and leave the rest, keeping your directory bloat-free regardless of upstream changes, with additional rules for common files (e.g. a licensing file)
vendir allows you to mark paths as manually managed, leaving your files safely unmodified while reaping the benefits of a synced folder
# create a vendir YAML file to describe the desired structure
$ cat vendir.yml
---
apiVersion: vendir.k14s.io/v1alpha1
kind: Config
directories:
- path: cf-for-k8s
contents:
- path: networking
git:
url: https://github.com/cloudfoundry/cf-k8s-networking
ref: origin/develop
- path: capi
git:
url: https://github.com/cloudfoundry/capi-k8s-release
ref: v0.4.0
- path: nginx
contents:
- path: .
image:
url: index.docker.io/nginx
# sync files as specified in the vendir.yml file and save a lockfile
$ vendir sync
$ ls
Vendir.yml vendor.lock.yml cf-for-k8s/ nginx/
$ ls cf-for-k8s/
capi/ networking/
$ ls nginx/
$ cat vendir.lock.yml
apiVersion: vendir.k14s.io/v1alpha1
directories:
- contents:
- git:
commitTitle: 'ci: use cf-for-k8s as cf-for-k8s-ci...'
sha: 12665ef174bab13bdae4ed700eb58f1be22ae841
path: networking
- git:
commitTitle: images.yml updated by CI...
sha: 28a84a6a27735ded301f9cbc0aca30ad5c9e7be8
path: capi
path: cf-for-k8s
- contents:
- image:
url: index.docker.io/library/nginx@sha256:4949aa7259aa6f827450207db5ad94cabaa9248277c6d736d5e1975d200c7e43
path: .
path: nginx
kind: LockConfig
# sync with a lockfile, using the resolved SHAs and full URL
$ vendir sync -l
$ ls


Steem Developer Portal
JS: Edit Content Patching
By the end of this tutorial you should know how to patch post edits to Steem.
Full, runnable src of Edit Content Patching can be downloaded as part of the JS tutorials repository.
This tutorial will take you through the process of preparing and patching post using the broadcast.comment
operation. Being able to patch a post is critical to save resources on Steem.
Intro
Tutorial is demonstrating the typical process of editing content that has been previously posted on the blockchain. Instead of replacing the entire body of the post, the Steem blockchain offers an alternative strategy. In this tutorial, we will focus on properly patching existing content and then broadcasting the patch with a demo
account on a testnet.
Note for long time community members: Since HF20 even archived content (older than 7 days) can be changed/updated. Editing content will also use less RC (resource credits) than creating new posts entirely.
We are using the broadcast.comment
function provided by dsteem
which generates, signs, and broadcast the transaction to the network. On the Steem platform, posts and comments are all internally stored as a comment
object, differentiated by whether or not a parent_author
exists. When there is no parent_author
, it’s a post, when there is, it’s a comment. When editing a post, we need to make sure that we don’t resubmit the same post over and over again, which will spam the network and adds additional cost to operate the platform. Instead we will use a package called diff-match-patch
, which allows us to only apply changes and save resources on the Steem platform.
Steps
- Configure testnet Testnet connection should be established with proper configurations
- Get latest post Get @demo’s latest post for editing
- Creating patch Creating patch with new edited text
- Submit a patch Submit newly formatted post
1. Configure testnet
As usual, we have a file called public/app.js
, which holds the Javascript segment of the tutorial. In the first few lines, we have defined the configured library and packages:
const dsteem = require('dsteem');
let opts = {};
//connect to community testnet
opts.addressPrefix = 'STX';
opts.chainId =
'79276aea5d4877d9a25892eaa01b0adf019d3e5cb12a97478df3298ccdd01673';
//connect to server which is connected to the network/testnet
const client = new dsteem.Client('https://testnet.steem.vc', opts);
Above, we have dsteem
pointing to the test network with the proper chainId, addressPrefix, and endpoint. Because this tutorial is interactive, we will not publish test content to the main network. Instead, we’re using testnet and a predefined account to demonstrate post patching.
2. Get latest post
Next, we have a main
function which fires at on-load and fetches latest blog post of @demo
account and fills in the form with relevant information.
const query = { tag: 'demo', limit: '1' };
client.database
.call('get_discussions_by_blog', [query])
.then(result => {
document.getElementById('title').value = result[0].title;
document.getElementById('body').value = result[0].body;
document.getElementById('tags').value = JSON.parse(
result[0].json_metadata
).tags.join(' ');
o_body = result[0].body;
o_permlink = result[0].permlink;
})
.catch(err => {
console.log(err);
alert('Error occured, please reload the page');
});
Notice, we are only fetching a single blog post by specifying a limit
and we have filled all necessary fields/variables with the old content.
3. Creating patch
We have created a small function called createPatch
to patch edits to the old content.
function createPatch(text, out) {
if (!text && text === '') return undefined;
//get list of patches to turn text to out
const patch_make = dmp.patch_make(text, out);
//turns patch to text
const patch = dmp.patch_toText(patch_make);
return patch;
}
The createPatch
function computes a list of patches to turn old content to edited content.
4. Submit a patch
Next, we have the submitPost
function, which executes when the Submit button is clicked.
//get private key
const privateKey = dsteem.PrivateKey.fromString(
document.getElementById('postingKey').value
);
//get account name
const account = document.getElementById('username').value;
//get title
const title = document.getElementById('title').value;
//get body
const edited_body = document.getElementById('body').value;
let body = '';
//computes a list of patches to turn o_body to edited_body
const patch = createPatch(o_body, edited_body);
//check if patch size is smaller than original content
if (patch && patch.length < new Buffer(o_body, 'utf-8').length) {
body = patch;
} else {
body = o_body;
}
//get tags and convert to array list
const tags = document.getElementById('tags').value;
const taglist = tags.split(' ');
//make simple json metadata including only tags
const json_metadata = JSON.stringify({ tags: taglist });
//generate random permanent link for post
const permlink = o_permlink;
client.broadcast
.comment(
{
author: account,
body: body,
json_metadata: json_metadata,
parent_author: '',
parent_permlink: taglist[0],
permlink: permlink,
title: title,
},
privateKey
)
.then(
function(result) {
document.getElementById('title').value = '';
document.getElementById('body').value = '';
document.getElementById('tags').value = '';
document.getElementById('postLink').style.display = 'block';
document.getElementById(
'postLink'
).innerHTML = `

Included in block: ${
result.block_num
}

Check post here`;
},
function(error) {
console.error(error);
}
);
As you can see from the above function, we get the relevant values from the defined fields. Tags are separated by spaces in this example, but the structure of how to enter tags totally depends on your needs. We have separated tags with whitespaces and stored them in an array list called taglist
, for later use. Posts on the blockchain can hold additional information in the json_metadata
field, such as the tags
list which we have assigned. Posts must also have a unique permanent link scoped to each account. In this case we are just creating a random character string.
In the follow code, we patch the old content with new (or edited) content and make sure that the patch size is smaller than edited content, otherwise patching is unnecessary.
//computes a list of patches to turn o_body to edited_body
const patch = createPatch(o_body, edited_body);
//check if patch size is smaller than edited content itself
if (patch && patch.length < new Buffer(edited_body, 'utf-8').length) {
body = patch;
} else {
body = edited_body;
}
The next step is to pass all of these parameters to the client.broadcast.comment
function. Note that in parameters you can see the parent_author
and parent_permlink
fields, which are used for replies (also known as comments). In our example, since we are publishing a post instead of a comment/reply, we will have to leave parent_author
as an empty string and assign parent_permlink
from the first tag.
After the post has been broadcasted to the network, we can simply set all the fields to empty strings and show the post link to check it from a condenser instance running on the selected testnet. That’s it!
To Run the tutorial
- clone this repo
cd tutorials/12_edit_content_patching
npm i
npm run dev-server
ornpm run start
- After a few moments, the server should be running at http://localhost:3000/


|
CSFML_GRAPHICS_API
sfRenderTexture * | sfRenderTexture_create (unsigned int width, unsigned int height, sfBool depthBuffer) |
| | Construct a new render texture. More...
|
| |
| CSFML_GRAPHICS_API void | sfRenderTexture_destroy (sfRenderTexture *renderTexture) |
| | Destroy an existing render texture. More...
|
| |
| CSFML_GRAPHICS_API sfVector2u | sfRenderTexture_getSize (const sfRenderTexture *renderTexture) |
| | Get the size of the rendering region of a render texture. More...
|
| |
| CSFML_GRAPHICS_API sfBool | sfRenderTexture_setActive (sfRenderTexture *renderTexture, sfBool active) |
| | Activate or deactivate a render texture as the current target for rendering. More...
|
| |
| CSFML_GRAPHICS_API void | sfRenderTexture_display (sfRenderTexture *renderTexture) |
| | Update the contents of the target texture. More...
|
| |
| CSFML_GRAPHICS_API void | sfRenderTexture_clear (sfRenderTexture *renderTexture, sfColor color) |
| | Clear the rendertexture with the given color. More...
|
| |
| CSFML_GRAPHICS_API void | sfRenderTexture_setView (sfRenderTexture *renderTexture, const sfView *view) |
| | Change the current active view of a render texture. More...
|
| |
| CSFML_GRAPHICS_API const sfView * | sfRenderTexture_getView (const sfRenderTexture *renderTexture) |
| | Get the current active view of a render texture. More...
|
| |
| CSFML_GRAPHICS_API const sfView * | sfRenderTexture_getDefaultView (const sfRenderTexture *renderTexture) |
| | Get the default view of a render texture. More...
|
| |
| CSFML_GRAPHICS_API sfIntRect | sfRenderTexture_getViewport (const sfRenderTexture *renderTexture, const sfView *view) |
| | Get the viewport of a view applied to this target. More...
|
| |
| CSFML_GRAPHICS_API sfVector2f | sfRenderTexture_mapPixelToCoords (const sfRenderTexture *renderTexture, sfVector2i point, const sfView *view) |
| | Convert a point from texture coordinates to world coordinates. More...
|
| |
| CSFML_GRAPHICS_API sfVector2i | sfRenderTexture_mapCoordsToPixel (const sfRenderTexture *renderTexture, sfVector2f point, const sfView *view) |
| | Convert a point from world coordinates to texture coordinates. More...
|
| |
| CSFML_GRAPHICS_API void | sfRenderTexture_drawSprite (sfRenderTexture *renderTexture, const sfSprite *object, const sfRenderStates *states) |
| | Draw a drawable object to the render-target. More...
|
| |
| CSFML_GRAPHICS_API void | sfRenderTexture_drawText (sfRenderTexture *renderTexture, const sfText *object, const sfRenderStates *states) |
| |
| CSFML_GRAPHICS_API void | sfRenderTexture_drawShape (sfRenderTexture *renderTexture, const sfShape *object, const sfRenderStates *states) |
| |
| CSFML_GRAPHICS_API void | sfRenderTexture_drawCircleShape (sfRenderTexture *renderTexture, const sfCircleShape *object, const sfRenderStates *states) |
| |
| CSFML_GRAPHICS_API void | sfRenderTexture_drawConvexShape (sfRenderTexture *renderTexture, const sfConvexShape *object, const sfRenderStates *states) |
| |
| CSFML_GRAPHICS_API void | sfRenderTexture_drawRectangleShape (sfRenderTexture *renderTexture, const sfRectangleShape *object, const sfRenderStates *states) |
| |
| CSFML_GRAPHICS_API void | sfRenderTexture_drawVertexArray (sfRenderTexture *renderTexture, const sfVertexArray *object, const sfRenderStates *states) |
| |
| CSFML_GRAPHICS_API void | sfRenderTexture_drawPrimitives (sfRenderTexture *renderTexture, const sfVertex *vertices, size_t vertexCount, sfPrimitiveType type, const sfRenderStates *states) |
| | Draw primitives defined by an array of vertices to a render texture. More...
|
| |
| CSFML_GRAPHICS_API void | sfRenderTexture_pushGLStates (sfRenderTexture *renderTexture) |
| | Save the current OpenGL render states and matrices. More...
|
| |
| CSFML_GRAPHICS_API void | sfRenderTexture_popGLStates (sfRenderTexture *renderTexture) |
| | Restore the previously saved OpenGL render states and matrices. More...
|
| |
| CSFML_GRAPHICS_API void | sfRenderTexture_resetGLStates (sfRenderTexture *renderTexture) |
| | Reset the internal OpenGL states so that the target is ready for drawing. More...
|
| |
CSFML_GRAPHICS_API const
sfTexture * | sfRenderTexture_getTexture (const sfRenderTexture *renderTexture) |
| | Get the target texture of a render texture. More...
|
| |
| CSFML_GRAPHICS_API void | sfRenderTexture_setSmooth (sfRenderTexture *renderTexture, sfBool smooth) |
| | Enable or disable the smooth filter on a render texture. More...
|
| |
| CSFML_GRAPHICS_API sfBool | sfRenderTexture_isSmooth (const sfRenderTexture *renderTexture) |
| | Tell whether the smooth filter is enabled or not for a render texture. More...
|
| |
| CSFML_GRAPHICS_API void | sfRenderTexture_setRepeated (sfRenderTexture *renderTexture, sfBool repeated) |
| | Enable or disable texture repeating. More...
|
| |
| CSFML_GRAPHICS_API sfBool | sfRenderTexture_isRepeated (const sfRenderTexture *renderTexture) |
| | Tell whether the texture is repeated or not. More...
|
| |
Convert a point from world coordinates to texture coordinates.
This function finds the pixel of the render-texture that matches the given 2D point. In other words, it goes through the same process as the graphics card, to compute the final position of a rendered point.
Initially, both coordinate systems (world units and target pixels) match perfectly. But if you define a custom view or resize your render-texture, this assertion is not true anymore, ie. a point located at (150, 75) in your 2D world may map to the pixel (10, 50) of your render-texture – if the view is translated by (140, 25).
This version uses a custom view for calculations, see the other overload of the function if you want to use the current view of the render-texture.
- Parameters
-
| renderTexture | Render texture object |
| point | Point to convert |
| view | The view to use for converting the point |
- Returns
- The converted point, in target coordinates (pixels)
Convert a point from texture coordinates to world coordinates.
This function finds the 2D position that matches the given pixel of the render-texture. In other words, it does the inverse of what the graphics card does, to find the initial position of a rendered pixel.
Initially, both coordinate systems (world units and target pixels) match perfectly. But if you define a custom view or resize your render-texture, this assertion is not true anymore, ie. a point located at (10, 50) in your render-texture may map to the point (150, 75) in your 2D world – if the view is translated by (140, 25).
This version uses a custom view for calculations, see the other overload of the function if you want to use the current view of the render-texture.
- Parameters
-
| renderTexture | Render texture object |
| point | Pixel to convert |
| view | The view to use for converting the point |
- Returns
- The converted point, in "world" units
Save the current OpenGL render states and matrices.
This function can be used when you mix SFML drawing and direct OpenGL rendering. Combined with popGLStates, it ensures that:
- SFML's internal states are not messed up by your OpenGL code
- your OpenGL states are not modified by a call to a SFML function
Note that this function is quite expensive: it saves all the possible OpenGL states and matrices, even the ones you don't care about. Therefore it should be used wisely. It is provided for convenience, but the best results will be achieved if you handle OpenGL states yourself (because you know which states have really changed, and need to be saved and restored). Take a look at the resetGLStates function if you do so.
- Parameters
-
| renderTexture | Render texture object |


Posts
Followers
{{description}}
{{objective.created_at | amTimeAgo}}
{{objective.rallies}}
Rallied
{{objective?.title}}
{{objective.description | truncate : 200 : '...'}}
Event Location: {{record.city}}
{{record.attending}}
Attending
{{record.tweet}}


mentry::ipv6AddrMentry
Commandmentry::ipv6AddrMentry
– Create and manipulate
mentry widgets for IPv6 addressesmentry::ipv6AddrMentry pathName ?options?
pathName
for displaying and editing IPv6 addresses in the standard hexadecimal
notation (where the eight groups of one to four hexadecimal digits are
separated from each other by o colon). The supported
options
are the same as in the case of the
mentry::mentry
command.type
attribute of
the widget to the value "IPv6Addr"
and returns the name of the
newly created widget.mentry::ipv6AddrMentry
command defines five new
keyboard bindings for the entry components of the mentry widget it
creates: The Up
key increments the entry's value by 1 if
the latter is less than 65535. Similarly, the Down
key
decrements the entry's value by 1 if the latter is greater than 0.
The Prior
key increments the entry's value by at most 10 if
the latter is less than 65535. Similarly, the Next
key
decrements the entry's value by at most 10 if the latter is greater than
0. If the entry is empty then all of these keys insert the value
0
into the entry. Finally, Control-v
(Command-v
on the Mac) pastes the current contents of the
clipboad into the mentry, provided that it is a valid IPv6 address.Up
and
Down
keys can also be triggered by rolling the mouse
wheel. In addition, on Mac OS Classic and Mac OS X/11+ Aqua, the
actions performed by the Prior
and Next
keys are
also triggered by the <Option-MouseWheel>
event. The same holds true on all windowing systems if the Tk version
is 8.7a4 or later, where the Option
modifier is bound
to the Option
key on Mac OS X/11+ and to the Alt
key on Windows and X11.mentry::putIPv6Addr
Commandmentry::putIPv6Addr
– Output an IPv6 address to a
mentry of type "IPv6Addr"
mentry::putIPv6Addr address pathName
address
to
the mentry widget pathName
, which must have been
created with the mentry::ipv6AddrMentry
command (this is
checked by examining the widget's type
attribute, which
must have the value "IPv6Addr"
).::
) (representing consecutive groups of
zeros). The command generates an error if the address is
invalid.mentry::getIPv6Addr
Commandmentry::getIPv6Addr
– Get an IPv6 address from a
mentry of type "IPv6Addr"
mentry::getIPv6Addr pathName
pathName
, which must have been created with the
mentry::ipv6AddrMentry
command (this is checked by examining the widget's type
attribute, which must have the value "IPv6Addr"
)."EMPTY"
.


Better Groups
It would be more expressive if fields could be defind within the group (and groups within the tabs, if any).
It would also be easier to read that field names would be keys of the object, for example
Possible tab properties are:
- type: "tab"
- style - string, tab style
- span - number, (optional), default span for fields inside the tab
- column - number, (optional), default column for fields inside the tab
- attr - string, (optional), default attr for fields inside the tab
- label - string, (optional), default label for fields inside the tab
- text - string, (optional), default text for fields inside the tab
Possible group properties are:
- type: "group"
- style - string, group style
- titleStyle - string, group title style
- collapsible - boolean, if group is collapsible
- span - number, (optional), default span for fields inside the group
- column - number, (optional), default column for fields inside the group
- page - number, (optional), default page for fields inside the group
- attr - string, (optional), default attr for fields inside the group
- label - string, (optional), default label for fields inside the group
- text - string, (optional), default text for fields inside the group


Useful Guides
This is a list of guides that I found useful in my time learning the ins and outs of the ELK stack.
First off, huge shoutout to my friend Ben Bornholm and his
blog
with a guide to the ELK stack.
This post
in particular was very helpful.
Guides
Explanation of Elasticsearch
Installing the ELK stack on CentOS 7 - Digital Ocean
Install Nginx on CentOS 7 - Digital Ocean
Systemctl on CentOS 7 - Digital Ocean
Complex JSON guide
Firewalld rules - A basic introduction to firewalld on CentOS 7
Documentation of the Tools used
Unity and C#
Unity
JSON Serialization
C# Documentation (MSDN)
Bro
CentOS 7
ELK Stack
Elasticsearch
Kibana
Logstash
Packetbeat
Filebeat
Source Code
Testing
CCDC Pcap archive - Great for testing
TCPReplay - Also great for testing
Other Tools
Snort
Nginx
OpenSSL


To use the jMock/CGLIB extension you also need CGLIB 2.1.
Older releases can be downloaded from the archive.


Display options
Peer IP
Peer ASN
Nexthop
Valid
Updated
Prefix
AS Path
Communities
Announce
Withdrawn
Peer IP
Peer ASN
Nexthop
Valid
Updated
Prefix
AS Path
Communities
Announce(s)
Withdrawn(s)
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a


ktor-server-core
/
io.ktor.request
/
tryReceive
tryReceive
inline
suspend
fun
<
reified
T
:
Any
>
ApplicationCall
.
tryReceive
(
)
:
T
?
Deprecated:
Use receiveOrNull instead


--- layout: default title: Library - Home root: ../ ---
Building on Backbone, Recline supplies components and structure to data-heavy applications by providing a set of models (Dataset, Record/Row, Field) and views (Grid, Map, Graph etc).
Models help you structure your work with data by providing some standard objects such as Dataset and Record – a Dataset being a collection of Records. More »
Backends connect your Models to data sources (and stores) – for example Google Docs spreadsheets, local CSV files, the DataHub, ElasticSearch etc. More »
Views are user interface components for displaying, editing or interacting with the data. For example, maps, graphs, data grids or a query editor. More »


by Akianonymus
Posted on August 10, 2019 at 12:00 PM
The Delhi cabinet on Thursday approved free Wi-Fi hotspots across the national capital.
Addressing the media, Chief Minister Arvind Kejriwal said there will be 11,000 hotspots all over the city.
"A total of 4,000 hotspots will be installed at bus shelters and 7,000 in various colonies. Each of the 70 Assembly constituency will get 100 hotspots," he said.
The project, with an estimated cost of Rs. 100 crores, will be on ground in three-four months, Kejriwal said.
Each user will get 15GB limit per month. "About 200 users can use the hotspots simultaneously having a speed of 200Mbps in a radius of 50 metres," he added.
The Wi-Fi project, an election promise of the Aam Aadmi Party, has missed a number of deadlines.
Kejriwal on Thursday said although the time and technology had changed, youths kept asking him about the project. "The free Wi-Fi will be an addition to what people are already getting from the telecom companies."
The Chief Minister said his election promises had a deadline of five years, which will end in February 2020. "All our election promises had a deadline of five years and we will complete the projects by then," Kejriwal said.
In its 2015 election manifesto, the AAP promised to make Wi-Fi freely available in public spaces across Delhi. "Citywide Wi-Fi can help in bridging the digital divide. It will also provide an impetus to education, entrepreneurship, business, employment and also tie in with women's safety initiatives," the manifesto read.


Priest Greymore:
Ah... now doesn't that feel good? With every monk erased from this world, it feels a little better. Sometimes I don't even see the monk fall, I just get that feeling that the world is a better place and I know why.
Anyway, how did we fare?
I brought 100 Rags of Monks
I brought 200 Rags of Monks
I brought 300 Rags of Monks
I brought 400 Rags of Monks
I brought 500 Rags of Monks


neurons
Portfolio
Blog
Resume
Get comprehensive, concise articles related to science, technology & art.


<EMAIL_ADDRESS>| Blacksburg, Va. | Download a PDF here.
Virginia Tech, December 2014, summa cum laude
B.A. in Communication: Public Relations
B.A. in English: Professional Writing
Principles of Public Relations
Media Writing
Professional Writing
Writing and Editing for Public Relations
Visual Media
Public Relations Case Studies
Developing Online Content
Designing Print Documents
Creating User Documentation
Public Relations Campaigns
Social Media Theory and Practice
Feminisms and Interaction Design
April 2014-April 2015
Develop interactive support products for telecom clients, work in a team-based environment to deliver projects on deadline, and utilize XML and Photoshop for development.
Fall 2013-Spring 2014
Supervise and direct a staff of over twenty reporters, anchors, and video editors, produce and edit the 30-minute weekly episode of Tech Tonight, organize and administer staff meetings, and train all new staff on camera equipment, writing and editing.
Assistant News Director, Fall 2012-Spring 2013
Lead Anchor for Tech Tonight, Spring 2012
September 2013-May 2014
Copyedited the full paper twice a week, assisted with any copyediting questions during production, ensured that all material complies with AP style and served as the final editor on pages before they were sent to the printer.
May 2013-July 2013
Prepared news releases for Blue Ridge Country magazine, contacted media in the Blue Ridge Mountain area, wrote sidebars for Blue Ridge Country magazine and The Roanoker magazine, prepared a video package for The Roanoker magazine's digital edition and utilized PRWeb for press release distribution and analysis.
Spring 2013/Spring 2014
Assisted during a communication class of 250 students by introducing and facilitating video clips, engaging students in class discussion and researching relevant material.
June 2010-August 2010
Collaborated with reporters and producers, assisted with package production and contributed to story writing at the Roanoke, Virginia news station.
June 2012-April 2014
Prepare drinks, complete customer service tasks, and maintain store upkeep and cleaning.


There are four different packages available ranging from Bronze to Platinum. The packages range from a DJ set up involving two speakers and a subwoofer to a full setup with four PA speakers, subwoofer and lighting. These options are just an outline and can be modified to match the needs of the customer.
Book your next event today to save the date. You will recieve a personalized budget friendly quote that meets the needs of your event.
Our highest priority is customer satisfaction. We look to excel in the small details to provide an overall service unparalleled for the price. Click here to read a few customer testimonials attesting to our professionalism, quality and effort to go above and beyond the customers’ expectations.


{include file="../application/index/view/common/center_top.html"/} {include file="../application/index/view/common/center_leftmenu.html"/}
出售留言
{foreach $ret as $value}
{/foreach}
{include file="../application/index/view/common/common_foot.html"/}


CrimPapers
Articles published on 27 December 2017
On 27 December 2017, 10 new articles were published in 8 journals.
A Longitudinal Analysis of the Impact of Child Custody Loss on Drug Use and Crime Among A Sample of African American Mothers
Crime Topic Modeling by Da Kuang, P. Jeffrey Brantingham and Andrea L. Bertozzi
Screening For Mental Health Needs of New Zealand Youth in Secure Care Facilities Using the Maysi-2 by Sean McArdle, Ian Lambie
Tolerable Deviance and How It Applies to Cyberbullying by Molly-Gloria Harper
On the Origin of “Labeling” Theory in Criminology: Frank Tannenbaum and the Chicago School of Sociology by Reza Barmaki
Sentences and Prosecutors’ Demands For Aggravated Drunk Driving in Finland by Pekka Pere, Tuomas Lahti, Mika Sutela
Promoting Clarity and Transparency in Family Violence Research: Editorial Comments on the Journal’s Revised Author Guidelines
Blame Game in Private Investigation Reports: the Case of Deloitte Examination At Telenor Vimpelcom by Petter Gottschalk
The Relationship Between the Adult Attachment and the Tendency to Judge Others As Liars by Song Wu, Linjing Huang, Jiahui Li
Repercussions of the Coalition Governments Austerity Policy on Community Safety Across Merseyside


Contains basic tools for sample size estimation in studies of interobserver/interrater agreement (reliability). Includes functions for both the power-based and confidence interval-based methods, with binary or multinomial outcomes and two through six raters.
| Version: | 1.2 |
| Depends: | R (≥ 2.10) |
| Published: | 2018-11-26 |
| Author: | Michael A Rotondi |
| Maintainer: | Michael A Rotondi <mrotondi at yorku.ca> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: | no |
| CRAN checks: | kappaSize results |
| Reference manual: | kappaSize.pdf |
| Package source: | kappaSize_1.2.tar.gz |
| Windows binaries: | r-devel: kappaSize_1.2.zip, r-release: kappaSize_1.2.zip, r-oldrel: kappaSize_1.2.zip |
| OS X binaries: | r-release: kappaSize_1.2.tgz, r-oldrel: kappaSize_1.2.tgz |
| Old sources: | kappaSize archive |
Please use the canonical form https://CRAN.R-project.org/package=kappaSize to link to this page.


Git is a powerful tool, sometimes hard to handle.
Gitgraph.js is a simple JavaScript library which is meant to help you visually presenting git branching stuff like a git workflow, a tricky git command or whatever git tree you'd have in mind.
We use canvas so you don't have to draw your branching illustrations into Photoshop nor Keynote to present something cool. Just code it directly in the browser.
One does not simply illustrate git branching models. This library is the one to draw them all.
This is very straightforward:
With git :
git clone http://github.com/nicoespeon/gitgraph.js.gitand checkout the branch
git checkout gitgraph.js
With Bower :
bower install gitgraph.js
With npm :
npm install --save gitgraph.js
With your browser you can use the CDNjs hosted lib
Load the library:
<script src="js/gitgraph.min.js"></script>
Add the stylesheet:
<link rel="stylesheet" type="text/css" href="css/gitgraph.css" />
Then, just add a canvas container:
<canvas id="gitGraph"></canvas>
Now you're all set, ready to commit and draw a nice git graph in JavaScript \o/
Once files are loaded and canvas is created, you could use the
GitGraph
object.
var gitgraph = new GitGraph();
Eventually, you could add some options here:
template
: "blackarrow"
or
"metro"
(default)
orientation
:
"vertical-reverse"
"horizontal"
"horizontal-reverse"
"vertical"
(default)mode
: "compact"
for a compact
mode, or "extended"
(default)
elementId
: the canvas ID ("gitGraph"
is the default)
author
for commitsFor instance:
var gitgraph = new GitGraph({ template: "blackarrow", reverseArrow: false, orientation: "horizontal", mode: "compact" });
Or with another template:
var gitgraph = new GitGraph({ template: "metro", orientation: "horizontal", mode: "compact" });
Let's create our first branch. We give the branch name as a parameter.
var master = gitgraph.branch("master");
Now, gitgraph.HEAD
is set to master
so we
can add some commits on the fly and create a new branch:
gitgraph.commit().commit().commit(); // 3 commits upon HEAD var develop = gitgraph.branch("develop"); // New branch from HEAD var myfeature = develop.branch("myfeature"); // New branch from develop // Well, if you need to go deeper… var hotfix = gitgraph.branch({ parentBranch: develop, name: "hotfix", column: 2 // which column index it should be displayed in });
The develop
branch is based from HEAD
, which
was on master
.
It does exactly what you'd expect!
Let's do some custom commits.

Even though it's not indispensable, we introduced the
HEAD
principle in Gitgraph.js. Except
that our tag is just a reference to a branch for the library.
That way you could eventually checkout to another branch:
master.checkout();
And so create a feature-of-death
from the
develop
branch that way:
develop.checkout(); var featureOfDeath = gitgraph.branch("feature-of-death");
You can merge a branch into another, that simply:
master.merge(develop); // Merge master into develop
But wait, there's more! Customize the merge commit, your way, just like any other commit:
master.merge(develop, "Epic merge commit"); // —> Custom merge message FTW \o/ master.merge(develop, { dotColor: "red" }); // —> The commit will be red, 'coz red is fashion! master.merge(develop, { message: "New release", tag: "v1.0.0" }); // —> Let's tag this merge commit!
And you can delete a branch to create another one on the same column:
master.delete();
You can handle basic interactions with the generated graph:
gitGraph.canvas.addEventListener( "graph:render", function ( event ) { console.log( event.data.id, "graph has been rendered" ); } ); gitGraph.canvas.addEventListener( "commit:mouseover", function ( event ) { console.log( "You're over a commit.", event.data ); this.style.cursor = "pointer"; } ); gitGraph.canvas.addEventListener("commit:mouseout", function (event) { console.log( "You just left this commit ->", event.data ); this.style.cursor = "auto"; });
Or you can be define that per-commit, remember:
develop.commit({ message: "Pimp dat commit", author: "Jacky<EMAIL_ADDRESS>onClick: function(commit) { console.log("Oh, you clicked my commit?!", commit); } });
Feeling in control freak mood? Just define your very own template and use it right away:
var myTemplateConfig = { colors: [ "#F00", "#0F0", "#00F" ], // branches colors, 1 per column branch: { lineWidth: 8, spacingX: 50, showLabel: true, // display branch names on graph }, commit: { spacingY: -80, dot: { size: 12 }, message: { displayAuthor: true, displayBranch: false, displayHash: false, font: "normal 12pt Arial" }, shouldDisplayTooltipsInCompactMode: false, // default = true tooltipHTMLFormatter: function ( commit ) { return "" + commit.sha1 + "" + ": " + commit.message; } } }; var myTemplate = new GitGraph.Template( myTemplateConfig );
Usage is straightforward:
var gitGraph = new GitGraph( {template: myTemplate} );
You get some fuckingood features ideas, or spotted some nasty bugs? Just come and open an issue or a Pull-Request on the project repo.
Looking for some technical documentation? Here you go!
The following use cases have been included for inspiration:
You'll find the source code in the repository.
Well, you also can check the source code of this page ;)


mix-blend-mode: normal
mix-blend-mode: multiply
mix-blend-mode: screen
mix-blend-mode: overlay
mix-blend-mode: darken
mix-blend-mode: lighten
mix-blend-mode: color-dodge
mix-blend-mode: color-burn
mix-blend-mode: hard-light
mix-blend-mode: soft-light
mix-blend-mode: difference
mix-blend-mode: exclusion
mix-blend-mode: hue
mix-blend-mode: saturation
mix-blend-mode: color
mix-blend-mode: luminosity


Calendar
May 1st - Drama Club Performs "You're a Good Boy Charlie Brown"
May 2nd - Drama Club Performs "You're a Good Boy Charlie Brown"
May 5th - Teacher Appreciation Week
May 6th - Teacher Appreciation Week
May 7th - Teacher Appreciation Week
May 8th - Teacher Appreciation Week
May 9th - Living History Day for 8th Grade Students
May 9th - Teacher Appreciation Week
May 15th - 8th Grade Panorama Picture Day
May 15th - Student Government sponsored dance after school (3:00-4:00)
May 20th - Spring Book Fair
May 21st - Spring Book Fair
May 22nd - Spring Book Fair
May 28th - Choral Concert
May 29th - Instrumental Concert
June 6th - Central Middle School's 8th Grade Dance (7 - 9:30 PM. Tickets are $10, and will be sold at lunch with Cash Only.)
June 11th - Hospitality Luncheons for Teachers Provided by Parents
June 12th - 8th Grade Awards Night
June 18th - Last Day of School for All Students


Canvas width:
Canvas height:
Number of waves:
Control points per wave:
Variance in wave position:
Colour scheme:
Desert
Mars
Water
Beach
Candy
Greyscale


My First Website
welcome to my website.Here are somethings I enjoy
Web Developement
Chess
Reading
Learning
Favorite Quotes
Here is a favorite quote of mine...
...and Another


Open to Offers
Engineer, Mechatronic Engineering
Contract
To be Discussed
English (B2/C1, FCE), German (A2/B1)
Javascript/Web Developer
Web Development
Algorithms, Programming, Foreign languages
Please find information about my current and past workplaces below
07/2017 - PRESENT
05/2016 - 07/2017
01/2016 - 04/2016


Account Settings
You may sign out from the application and sign in with a different account.
Sign out
You can manage your account in PCSettings


Given the following resistor:
score: {{model.score}}v
Previous resistance: {{model.previousAnswerCorrected}}
Toggle cheat sheet
|
Color
|
1st band
|
2nd band
|
3rd band
|
Multiplier
|
|
{{color.name}}
|
{{color.value}}
|
{{color.value}}
|
{{color.value}}
|
{{color.multiplier}}
|


Supersheets
Demos
Gatsby
Gridsome
Docs
Creating a Supersheet
Querying a Supersheet
Sign in
Gatsby Blog Demo
A clone of the official
gatsby-starter-blog
powered by Supersheets.
View Site
View Google Sheet
View Source Code


Money Play. How should Red play 54?
pips Red=171 White=155
(CorrectAnswer= 0/0, ErrorScore= 0)
When your opponent has an advanced anchor seek to equalise by making your own advanced anchor. This simple strategy works well in the vast majority of cases and this position is no exception.
Therefore the 5 should be played 23/18. The largely nullifies the fact that White has his 5-pt made and ensures Red is in the game for many rolls to come. After the roll there will only be nine pips in the race and so while it would be nice to play 13/9 it is an overplay. The simple 6/2 is correct.
The hitting plays are just too speculative and don’t gain enough to warrant the risks. They also lead to a higher percentage of gammon losses because of the absence of the high anchor.
Therefore the 5 should be played 23/18. The largely nullifies the fact that White has his 5-pt made and ensures Red is in the game for many rolls to come. After the roll there will only be nine pips in the race and so while it would be nice to play 13/9 it is an overplay. The simple 6/2 is correct.
The hitting plays are just too speculative and don’t gain enough to warrant the risks. They also lead to a higher percentage of gammon losses because of the absence of the high anchor.
1. Cubeful 2-ply 23/18 6/2 Eq.: -0.292 0.425 0.074 0.001 - 0.575 0.144 0.004 2. Cubeful 2-ply 18/14*/9 Eq.: -0.337 (-0.045) 0.419 0.091 0.003 - 0.581 0.175 0.009 3. Cubeful 2-ply 23/14* Eq.: -0.345 (-0.053) 0.426 0.087 0.003 - 0.574 0.190 0.011 4. Cubeful 2-ply 23/18 13/9 Eq.: -0.351 (-0.059) 0.412 0.083 0.002 - 0.588 0.165 0.006 5. Cubeful 2-ply 18/14* 13/8 Eq.: -0.372 (-0.081) 0.411 0.087 0.002 - 0.589 0.180 0.009


|
Little Heroes
|
This class encapsulates functionality to detect various surface events (size, orientation changed) and delegate this to native. More...
Public Member Functions | |
| void | LoadNativeLibraries () |
| Loads native plugin libraries on platforms where this is explicitly required. More... | |
| void | InitializePlatform () |
| Initialized platform specific settings More... | |
| QCARUnity.InitError | Start (string licenseKey) |
| Initializes QCAR; called from Start More... | |
| void | Update () |
| Called from Update, checks for various life cycle events that need to be forwarded to QCAR, e.g. More... | |
| void | OnPause () |
| Pauses QCAR More... | |
| void | OnResume () |
| Resumes QCAR More... | |
| void | OnDestroy () |
| Deinitializes QCAR More... | |
| void | Dispose () |
This class encapsulates functionality to detect various surface events (size, orientation changed) and delegate this to native.
These are used by Unity Extension code and should usually not be called by app code.
| void Vuforia.AndroidUnityPlayer.Dispose | ( | ) |
| void Vuforia.AndroidUnityPlayer.InitializePlatform | ( | ) |
Initialized platform specific settings
| void Vuforia.AndroidUnityPlayer.LoadNativeLibraries | ( | ) |
Loads native plugin libraries on platforms where this is explicitly required.
| void Vuforia.AndroidUnityPlayer.OnDestroy | ( | ) |
Deinitializes QCAR
| void Vuforia.AndroidUnityPlayer.OnPause | ( | ) |
Pauses QCAR
| void Vuforia.AndroidUnityPlayer.OnResume | ( | ) |
Resumes QCAR
| QCARUnity.InitError Vuforia.AndroidUnityPlayer.Start | ( | string | licenseKey | ) |
Initializes QCAR; called from Start
| void Vuforia.AndroidUnityPlayer.Update | ( | ) |
Called from Update, checks for various life cycle events that need to be forwarded to QCAR, e.g.
orientation changes


#include <position_velocity.h>
Public Member Functions | |
| VectorXd | Configuration () const |
| void | FromRos (const fastrack_msgs::State::ConstPtr &msg) |
| void | FromVector (const VectorXd &x) |
| std::vector< Vector3d > | OccupiedPositions () const |
| PositionVelocity & | operator*= (double s) |
| PositionVelocity & | operator+= (const PositionVelocity &rhs) |
| PositionVelocity & | operator-= (const PositionVelocity &rhs) |
| PositionVelocity & | operator/= (double s) |
| Vector3d | Position () const |
| Vector3d & | Position () |
| PositionVelocity () | |
| PositionVelocity (double x, double y, double z, double vx, double vy, double vz) | |
| PositionVelocity (const Vector3d &position, const Vector3d &velocity) | |
| PositionVelocity (const fastrack_msgs::State &msg) | |
| PositionVelocity (const VectorXd &config) | |
| void | SetConfigurationDot (const VectorXd &configuration_dot) |
| fastrack_msgs::State | ToRos () const |
| VectorXd | ToVector () const |
| Vector3d | Velocity () const |
| Vector3d & | Velocity () |
| double | Vx () const |
| double & | Vx () |
| double | Vy () const |
| double & | Vy () |
| double | Vz () const |
| double & | Vz () |
| double | X () const |
| double & | X () |
| double | Y () const |
| double & | Y () |
| double | Z () const |
| double & | Z () |
| ~PositionVelocity () | |
| Public Member Functions inherited from fastrack::state::State | |
| virtual | ~State () |
Static Public Member Functions | |
| static constexpr size_t | ConfigurationDimension () |
| static VectorXd | GetConfigurationLower () |
| static VectorXd | GetConfigurationUpper () |
| static PositionVelocity | Sample () |
| static VectorXd | SampleConfiguration () |
| static void | SetBounds (const PositionVelocity &lower, const PositionVelocity &upper) |
| static void | SetBounds (const std::vector< double > &lower, const std::vector< double > &upper) |
| static constexpr size_t | StateDimension () |
| Static Public Member Functions inherited from fastrack::state::State | |
| static void | Seed (unsigned int seed) |
Private Attributes | |
| Vector3d | position_ |
| Vector3d | velocity_ |
Static Private Attributes | |
| static PositionVelocity | lower_ |
| static PositionVelocity | upper_ |
Friends | |
| PositionVelocity | operator* (PositionVelocity lhs, double s) |
| PositionVelocity | operator* (double s, PositionVelocity rhs) |
| PositionVelocity | operator+ (PositionVelocity lhs, const PositionVelocity &rhs) |
| PositionVelocity | operator- (PositionVelocity lhs, const PositionVelocity &rhs) |
| PositionVelocity | operator/ (PositionVelocity lhs, double s) |
| PositionVelocity | operator/ (double s, PositionVelocity rhs) |
Additional Inherited Members | |
| Protected Member Functions inherited from fastrack::state::State | |
| State () | |
| Static Protected Attributes inherited from fastrack::state::State | |
| static std::random_device | rd_ |
| static std::default_random_engine | rng_ = std::default_random_engine(State::rd_()) |
Definition at line 52 of file position_velocity.h.
|
inline |
Definition at line 54 of file position_velocity.h.
|
inlineexplicit |
Definition at line 55 of file position_velocity.h.
|
explicit |
Definition at line 57 of file position_velocity.cpp.
|
explicit |
Definition at line 60 of file position_velocity.cpp.
|
explicit |
Definition at line 63 of file position_velocity.cpp.
|
explicit |
Definition at line 80 of file position_velocity.cpp.
|
inlinevirtual |
Implements fastrack::state::State.
Definition at line 73 of file position_velocity.h.
|
inlinestatic |
Definition at line 112 of file position_velocity.h.
|
virtual |
Implements fastrack::state::State.
Definition at line 214 of file position_velocity.cpp.
|
virtual |
Implements fastrack::state::State.
Definition at line 185 of file position_velocity.cpp.
|
static |
Definition at line 246 of file position_velocity.cpp.
|
static |
Definition at line 249 of file position_velocity.cpp.
|
virtual |
Implements fastrack::state::State.
Definition at line 150 of file position_velocity.cpp.
| PositionVelocity & fastrack::state::PositionVelocity::operator*= | ( | double | s | ) |
Definition at line 266 of file position_velocity.cpp.
| PositionVelocity & fastrack::state::PositionVelocity::operator+= | ( | const PositionVelocity & | rhs | ) |
Definition at line 254 of file position_velocity.cpp.
| PositionVelocity & fastrack::state::PositionVelocity::operator-= | ( | const PositionVelocity & | rhs | ) |
Definition at line 260 of file position_velocity.cpp.
| PositionVelocity & fastrack::state::PositionVelocity::operator/= | ( | double | s | ) |
Definition at line 272 of file position_velocity.cpp.
|
inlinevirtual |
Implements fastrack::state::State.
Definition at line 71 of file position_velocity.h.
|
inline |
Definition at line 90 of file position_velocity.h.
|
static |
Definition at line 125 of file position_velocity.cpp.
|
static |
Definition at line 105 of file position_velocity.cpp.
|
static |
Definition at line 155 of file position_velocity.cpp.
|
static |
Definition at line 163 of file position_velocity.cpp.
| void fastrack::state::PositionVelocity::SetConfigurationDot | ( | const VectorXd & | configuration_dot | ) |
Definition at line 92 of file position_velocity.cpp.
|
inlinestatic |
Definition at line 111 of file position_velocity.h.
|
virtual |
Implements fastrack::state::State.
Definition at line 233 of file position_velocity.cpp.
|
virtual |
Implements fastrack::state::State.
Definition at line 200 of file position_velocity.cpp.
|
inline |
Definition at line 72 of file position_velocity.h.
|
inline |
Definition at line 91 of file position_velocity.h.
|
inline |
Definition at line 67 of file position_velocity.h.
|
inline |
Definition at line 86 of file position_velocity.h.
|
inline |
Definition at line 68 of file position_velocity.h.
|
inline |
Definition at line 87 of file position_velocity.h.
|
inline |
Definition at line 69 of file position_velocity.h.
|
inline |
Definition at line 88 of file position_velocity.h.
|
inlinevirtual |
Implements fastrack::state::State.
Definition at line 64 of file position_velocity.h.
|
inline |
Definition at line 83 of file position_velocity.h.
|
inlinevirtual |
Implements fastrack::state::State.
Definition at line 65 of file position_velocity.h.
|
inline |
Definition at line 84 of file position_velocity.h.
|
inlinevirtual |
Implements fastrack::state::State.
Definition at line 66 of file position_velocity.h.
|
inline |
Definition at line 85 of file position_velocity.h.
|
friend |
Definition at line 289 of file position_velocity.cpp.
|
friend |
Definition at line 294 of file position_velocity.cpp.
|
friend |
Definition at line 279 of file position_velocity.cpp.
|
friend |
Definition at line 284 of file position_velocity.cpp.
|
friend |
Definition at line 299 of file position_velocity.cpp.
|
friend |
Definition at line 304 of file position_velocity.cpp.
|
staticprivate |
Definition at line 149 of file position_velocity.h.
|
private |
Definition at line 145 of file position_velocity.h.
|
staticprivate |
Definition at line 150 of file position_velocity.h.
|
private |
Definition at line 146 of file position_velocity.h.


Cryptor Object
Description
The Cryptor object provides access to a number of symmetric encryption algorithms. Symmetric encryption
algorithms come in two "flavors" - block ciphers, and stream ciphers. Block ciphers process data (while
both encrypting and decrypting) in discrete chunks of data called blocks; stream ciphers operate on
arbitrary sized data.
The Cryptor object provides access to both block ciphers and stream ciphers with the same API; however some options are available for block ciphers that do not apply to stream ciphers.
The Android version of this module only exposes block ciphers.
The general operation of a Cryptor is:
- Initialize it with raw key data and other optional fields with crypto.createCryptor()
- Process input data via one or more calls to cryptor.update()
- Obtain possible remaining output data with cryptor.final()
- The cryptor object is disposed of by setting the cryptor variable to null. The cryptor object can be reused (with the same key data as provided to crypto.createCryptor()) by calling cryptor.reset() or cryptor.release().
Alternatively, cryptor.encrypt() and cryptor.decrypt() methods are provided for a stateless, one-shot encrypt or decrypt operation.
Methods
createCryptor
Creates a crypto.cryptor object for use in encrypting or decrypting data.
Arguments
Takes one argument, a dictionary with keys:
- operation[int]: The cryptor operation to perform (default: crypto.ENCRYPT)
- crypto.ENCRYPT
- crypto.DECRYPT
- algorithm[int]: The cryptor algorithm for the operation (default: crypto.ALGORITHM_AES128)
- crypto.ALGORITHM_AES128
- crypto.ALGORITHM_DES
- crypto.ALGORITHM_3DES
- crypto.ALGORITHM_CAST
- crypto.ALGORITHM_RC4 [iOS Only]
- crypto.ALGORITHM_RC2
- options[int]: The cryptor options for the operation (default: 0)
- crypto.OPTION_PKCS7PADDING
- crypto.OPTION_ECBMODE
- key[buffer]: The Titanium.Buffer object containing the encryption key
- initializationVector[buffer]: The Titanium.Buffer object containing the initialization vector. If no initialization vector is provided, an initialization vector of all zeroes will be used.
Properties
-
resizeBuffer[boolean]: Indicates if the dataOut buffer should be resized to the size needed to hold the result of the operation. Default is true.
-
Each of the arguments listed for the createCryptor method can also be accessed as properties.
Example
var cryptor = crypto.createCryptor({
algorithm: crypto.ALGORITHM_AES128,
options: crypto.OPTION_PKCS7PADDING,
key: key,
initializationVector: initializationVector
});
encrypt
Stateless, one-shot encryption operation.
Arguments
- dataIn[buffer]: The Titanium.Buffer object containing the data to encrypt
- dataInLength[int]: (optional) The number of bytes in the dataIn buffer to encrypt. If this argument is not provided or is < 0, then the length of the dataIn buffer will be used.
- dataOut[buffer]: (optional) The Titanium.Buffer object to receive the encrypted data. If this argument is not provided, then the dataIn buffer will be used.
- If the cryptor.resizeBuffer property is set to true, then the dataOut buffer will be resized to the size of the encrypted data
- If the cryptor.resizeBuffer property is set to false, then ensure that the dataOut buffer is large enough to receive the encrypted data.
- dataOutLength[int]: (optional) The number of bytes available in the dataOut buffer. If this argument is not provided or is < 0, then the length of the dataOut buffer will be used.
Return Value
Returns the number of bytes encrypted into the dataOut buffer. If an error occurred, then the return value will be less than zero and will be one of the following values:
- crypto.STATUS_ERROR
- crypto.STATUS_PARAMERROR
- crypto.STATUS_BUFFERTOOSMALL
- crypto.STATUS_MEMORYFAILURE
- crypto.STATUS_ALIGNMENTERROR
- crypto.STATUS_DECODEERROR
- crypto.STATUS_UNIMPLEMENTED
Example
// Encrypt the entire buffer
var numBytes = cryptor.encrypt(bufferIn, -1, bufferOut, -1);
-or-
// Encrypt in-place
var numBytes = cryptor.encrypt(bufferIn);
decrypt
Stateless, one-shot decryption operation.
Arguments
- dataIn[buffer]: The Titanium.Buffer object containing the data to decrypt
- dataInLength[int]: (optional) The number of bytes in the dataIn buffer to decrypt. If this argument is not provided or is < 0, then the length of the dataIn buffer will be used.
- dataOut[buffer]: (optional) The Titanium.Buffer object to receive the decrypted data. If this argument is not provided, then the dataIn buffer will be used.
- If the cryptor.resizeBuffer property is set to true, then the dataOut buffer will be resized to the size of the decrypted data
- If the cryptor.resizeBuffer property is set to false, then ensure that the dataOut buffer is large enough to receive the decrypted data.
- dataOutLength[int]: (optional) The number of bytes available in the dataOut buffer. If this argument is not provided or is < 0, then the length of the dataOut buffer will be used.
Return Value
Returns the number of bytes decrypted into the dataOut buffer. If an error occurred, then the return value will be less than zero and will be one of the following values:
- crypto.STATUS_ERROR
- crypto.STATUS_PARAMERROR
- crypto.STATUS_BUFFERTOOSMALL
- crypto.STATUS_MEMORYFAILURE
- crypto.STATUS_ALIGNMENTERROR
- crypto.STATUS_DECODEERROR
- crypto.STATUS_UNIMPLEMENTED
Example
// Decrypt the entire buffer
var numBytes = cryptor.decrypt(bufferIn, -1, bufferOut, -1);
-or-
// Decrypt in-place
var numBytes = cryptor.decrypt(bufferIn);
getOutputLength
getOutputLength is used to determine the output buffer size required to process a given input size.
Arguments
- dataInLength[int]: The number of bytes for the operation
- final[boolean]: Indicates if the calculation is for determining the output buffer size for a call to cryptor.final() or cryptor.update(). Set to true for cryptor.final() and false for cryptor.update().
Return Value
Returns the number of bytes required for the output buffer
Example
var numBytesNeeded = cryptor.getOutputLength(bufferIn.length, false);
update
update is used to encrypt or decrypt data. This method can be called multiple times. The caller does not need to align input data lengths to block sizes; input is buffered as necessary for block ciphers.
Arguments
- dataIn[buffer]: The Titanium.Buffer object containing the input data
- dataInLength[int]: (optional) The number of bytes in the dataIn buffer to process. If this argument is not provided or is < 0, then the length of the dataIn buffer will be used.
- dataOut[buffer]: (optional) The Titanium.Buffer object to receive the output data. If this argument is not provided, then the dataIn buffer will be used.
- If the cryptor.resizeBuffer property is set to true, then the dataOut buffer will be resized to the size of the output data
- If the cryptor.resizeBuffer property is set to false, then ensure that the dataOut buffer is large enough to receive the output data.
- dataOutLength[int]: (optional) The number of bytes available in the dataOut buffer. If this argument is not provided or is < 0, then the length of the dataOut buffer will be used.
Return Value
Returns the number of bytes moved into the dataOut buffer. If an error occurred, then the return value will be less than zero and will be one of the following values:
- crypto.STATUS_ERROR
- crypto.STATUS_PARAMERROR
- crypto.STATUS_BUFFERTOOSMALL
- crypto.STATUS_MEMORYFAILURE
- crypto.STATUS_ALIGNMENTERROR
- crypto.STATUS_DECODEERROR
- crypto.STATUS_UNIMPLEMENTED
Example
// Encrypt the entire buffer into a buffer of fixed size
var numBytes = cryptor.update(buffer, -1, fixedBuffer);
finish
Finishes encryption and decryption operations and obtains the final data output.
Arguments
- dataOut[buffer]: The Titanium.Buffer object to receive the output data.
- If the cryptor.resizeBuffer property is set to true, then the dataOut buffer will be resized to the size of the output data
- If the cryptor.resizeBuffer property is set to false, then ensure that the dataOut buffer is large enough to receive the output data.
- dataOutLength[int]: (optional) The number of bytes available in the dataOut buffer. If this argument is not provided or is < 0, then the length of the dataOut buffer will be used.
Return Value
Returns the number of bytes moved into the dataOut buffer. If an error occurred, then the return value will be less than zero and will be one of the following values:
- crypto.STATUS_ERROR
- crypto.STATUS_PARAMERROR
- crypto.STATUS_BUFFERTOOSMALL
- crypto.STATUS_MEMORYFAILURE
- crypto.STATUS_ALIGNMENTERROR
- crypto.STATUS_DECODEERROR
- crypto.STATUS_UNIMPLEMENTED
Example
var numBytes = cryptor.finish(fixedBuffer)
reset
reset reinitializes an existing cryptor object with a (possibly) new initialization vector.
Arguments
- initializationVector[buffer]: (optional) The Titanium.Buffer object containing the initialization vector.
Return Value
- crypto.STATUS_SUCCESS
- crypto.STATUS_ERROR
- crypto.STATUS_PARAMERROR
- crypto.STATUS_BUFFERTOOSMALL
- crypto.STATUS_MEMORYFAILURE
- crypto.STATUS_ALIGNMENTERROR
- crypto.STATUS_DECODEERROR
- crypto.STATUS_UNIMPLEMENTED
Example
cryptor.reset(initializationVector);
release
release will dispose of the internal cryptor data
Return Value
- crypto.STATUS_SUCCESS
- crypto.STATUS_ERROR
- crypto.STATUS_PARAMERROR
- crypto.STATUS_BUFFERTOOSMALL
- crypto.STATUS_MEMORYFAILURE
- crypto.STATUS_ALIGNMENTERROR
- crypto.STATUS_DECODEERROR
- crypto.STATUS_UNIMPLEMENTED
Example
cryptor.release();
License
Copyright(c) 2010-2013 by Appcelerator, Inc. All Rights Reserved. Please see the LICENSE file included in the distribution for further details.


static
fields from within
instance methods, including increments and decrements.
While legal, such assignments are tricky to do
safely, and are often a result of fields being inadvertently marked
static
.
Example:
class Counter {
private static int count = 0;
void increment() {
// Warning: updating a static field
// from an instance method
count++;
}
}


{{profile.ProfileName}}
{{profile.Affiliation}}
About
Click Edit Profile to provide information about yourself
Edit Profile Log Out
You have not uploaded any content yet
You have not joined or created any communities yet.
You have no requests


SMPC for Students
Next week is SMPC!!! I’m super excited for it (as always), but this year I’m justifiably a bit more excited because this will be my first experience going to a conference as a member of the Executive Board representing the student members of the Society for Music Perception and Cognition. I’ve technically spent the last six years as a graduate student1 and even though I’ve just recently shed my graduate student status and will emerge this coming weekend from my chrysalis as beautiful doctoral butterfly, the feelings of being a grad student larva are still very fresh.
So given six years of knowing what it’s like to be a grad student, I really wanted to take all of what I have learned and try to incorporate it all by both carrying on the traditions that former student reps have done in the past and try to put a little bit of my own spin on things.
So what does this mean in practice?
Well as any professional society, we can say that we value X,Y, or Z, but at the end of the day we have to put our money where our mouth is. So part of this post is talking about what those things are so they don’t go unnoticed (also for any of my SMT or AMS readers where I’m pretty sure some of these types of things might go over well at those annual conferences) and the other part is just a big advertisement on my little blog about what’s going to be available for students.
The Main (Student) Events
Even though we only have three official days together, there are going to be four events that are special events that are directed towards the student members (who according to my last account make up a little over 50% of people registering for the conference!!).
The four events are:
- Day One: Meet and Greet with Human Bingo
- Day Two: Early Career Advice Forum
- Day Three: Applying to Graduate School Forum
- The old-as-time-itself2 Faculty-Student lunch
Meet and Greet
The first event, timed accordingly, is going to the graduate student meet-and-greet. When I first ran the idea on Twitter, there seemed to be a positive response from not only students, but faculty that were interested in getting to know other people. At a conference where you have people coming from many perspectives on what it means to study music ranging from neuroscience, to music theory, to psychology, to music information retrieval, it’s important for attendees to be able to talk to other researchers. At the time of the Twitter conversation in early July, Blair and Brian suggested a human bingo as a way to help facilitate this.
I’ll be printing out the this weekend and will be distributing them post-Monday’s keynote. Anyone is welcome to grab them and play in that middle awkward period between the talk and the reception (see image) and will hopefully get people talking. If you have some last minute ideas of blanks to add, put them here!
A little into the reception, we’ll be pulling some of the grad students to the side so everyone can have a chat with one another. What I’m hoping for here is just a lot of “Hello, you’re interested in music research?! That’s crazy! I’m also interested in music research!?” conversations happening. Hopefully there will be a lot of small hellos and then as the night progresses there will be some nice integration between schools, departments, and labs.
One thing that is tricky that was pointed out by Dom is that in events like this is that activities like human bingo or just letting people roam free in a giant room really favors people who can flex their extroversion muscles. For this reason, I really tried to add questions to the human bingo that allows people further out on the orbit of socializing to be sought out and valued via their status as newcomers with bingo spaces such as “First time at conference” or for the more intrepid “Came to SMPC solo”.
But this of course doesn’t still ensure that the less boisterous people will still feel engaged. And one thing that is also tough about all of this is that the whole thing is very fleeting in that sometimes people (at least me) feel that if they don’t make the connections at the time, those opportunities are lost until next time. To ameliorate this problem, I’ve really tried to push the whole Twitter thing so people can at least connect passively and watch things happen until they feel a bit more inclined to strike up a conversation. I also have some Google docs that we will be using for the next two sessions that will allow some sort of conference trace to be left behind so that if someone decides go to event A instead of event B that they can still be somewhat aware of what went on.
Early Career Reserach Forum
The next two events we have here are forum events that have now been a part of SMPC for the past few years. From what I have gathered from previous student reps, the Early Career session was created first and in its first version a lot of the question time was taken up with many of the even career-younger people asking about applying to grad school, so these sessions were both split.
This year’s Early Career Advice panel consists of four members and hopefully covers a diverse array of opinions and advice that could be offered. This year we have Caitlyn Trevor who just completed her Ph.D. in Music Theory from Ohio State University and is now living in Europe on a Marie Curie Postdocotral fellowship. We also have Psyche Loui, a psychology and neuroscience researcher who is an assistant professor at Northeastern. There’s also Brian McFee, an assistant professor at NYU who is cross appointed in music as well as data science. Then last but not least there is Steve Keller who just recently was appointed as the Sonic Strategy Directory at Pandora.
Hopefully this permutation of people covers all the possiblities that someone might have questions about and also hopefully people will mention that the panel is not only traditional, senior, tenure track academics bestowing knowledge to students two academic generations removed. At this point I am not sure exactly how the conversation will go, but I have created a Google doc accessible here where people can write some questions ahead of time so we can see what kind of topics will be popular and for those who don’t want to ask a big question in a large room can feel more comfortable.
I’m imagining this whole thing wanting to stretch longer than the 45 minutes we have at lunch, but I will be encouraging everyone to at least link up on Twitter or later via email if they need an “in” to get a question answered they did not have. Hopefully questions from this session can then go to a bigger FAQ that the SMPC website could hold so we don’t have to re-invent the wheel every year with this.
Applying to Grad School
Similar in many respects, but just earlier in the typical pipeline of people who attend SMPC, is the Applying to Grad School session. This session was a bit tricky to organize in order to make sure I covered all my bases, but we’ll see.
In the early career session we have Daniel Shanahan, who has just recently started a position at Ohio State University in a Theory department (also my Ph.D adviser!); Ed Large a former SMPC president, associate professor and head of UCONN lab where he does neuroscience; Hayley Kragness a post-doc in Canada at The TEMPO Lab; and last but certainly not least is Kelly Jakubowski who has experiences with UK Post-graduate system where she did both her MSc and PhD in Psychology and now runs the new lab at Durham where they will be having a new music psychology program come 2020.
You’ll notice that this list hopefully again strikes a balance between state and private schools, regions (America, Canada, Europe), seniority, as well as discipline. Again, I hope given this krewe, there will not be a question where they can’t answer or at least be able to point someone in the right direction of who to talk to. The same thing goes with having a google doc to list out questions before for similar reasons as above.
Lunch
Lastly, we have the Faculty-Lunch session. At this point we’ve had both faculty and students sign up for this event and it’ll give students a chance to meet one-on-one with someone they may or may not have gotten to chat to face to face. I’ve always thought this would be something nice for SMT to adopt, just throwing that out there.
As an aside, The student faculty lunch was always something I looked forward to and hope that all the faculty take it quite seriously as things that they say and pass on can have quite the impression on greener researchers. I specifically remember getting tacos in Nashville before starting my Ph.D. and bringing up my concern I had about doing a Ph.D. in Music Theory having come straight from a Psychology Master’s and I was worrying about being an interdisciplinary researcher (aka not being taken seriously by either theorists for doing psychology or by psychologists for doing music theory..). I remember my faculty mentor saying that you don’t really need a specific set of coursework to be a good music psychology researcher. What you do need is to read all the papers of what you are interested in, learn all of the techniques, and then engage in a meaningful way with the literature. They noted their Ph.D. was not in Psychology and pointed out that really no-one historically has ever got a Ph.D. IN music science and that I should just follow the questions I want to ask. I wouldn’t be that surprised if they doesn’t even remember saying this to me, but it really left a mark on how I thought about research in general during my Ph.D. I can only hope that other students get similar experiences.
Future
So going into the conference, I have no idea how any of this will land. This whole post was sort of just a pre-registration of how I think it will go, but no telling how it all will turn out! They could all be catastrophic failures, but they also have the chance of being very helpful to everyone involved.
And lastly for anyone getting this far in the post, it’s worth mentioning that this year SMPC has a new code of conduct, so if you see anyone being insufferable towards students, especially during a presentation, please say something and report that. Also, don’t be that guy. Part of me wants to say “BuT I cOulD neVeR iMagIne tHaT haPPenIng At SmPcCcC”, but I’m not that naive.
I just want every student to leave SMPC as I have the past few years, super inspired to do great work, new contacts to ask questions of on the stuff you just don’t understand, and with more friends than you had prior to the conference.
See ya’ll soon!


Publications
======
SELECTED JOURNALS
• Qi Zhao, Chuan Zhao*, Shujie Cui, Shan Jing, Zhenxiang Chen. “PrivateDL: Privacy‐preserving collaborative deep learning against leakage from gradient sharing”. Published in International Journal of Intelligent Systems. 2020. (CCF-C, IF 10.312)
• Chuan Zhao, Shengnan Zhao, Bo Zhang, Shan Jing, Zhenxiang Chen, Minghao Zhao. “Oblivious DFA Evaluation on Joint Input and Its Applications”. Published in Information Sciences. 2020. (CCF-B, IF 5.910)
• Jian Qiu, Hengjian Li, Chuan Zhao. “Cancelable Palmprint Templates Based on Random Measurement and Noise Data for Security and Privacy-Preserving Authentication”. Published in Computers & Security. 2019. (CCF-B, IF 3.579)
• Minghao Zhao, Chengyu Hu, Xiangfu Song, Chuan Zhao. “Towards Dependable and Trustworthy Outsourced Computing: A Comprehensive Survey and Tutorial”. Published in Journal of Network and Computer Applications. 2019. (CCF-C, IF 5.570)
• Chuan Zhao, Shengnan Zhao, Minghao Zhao, Chong-Zhi Gao, Hongwei Li, Yu-an Tan. “Secure Multi-Party Computation: Theory, Practice and Applications”. Published in Information Sciences. 2019. (CCF-B, IF 5.910)
• Chuan Zhao, Shengnan Zhao, Zhongtian Jia, Bo Zhang, Bin Zhang. “Advances in Practical Secure Two-party Computation and Its Application in Genomic Sequence Comparison (in Chinese)”. Published in Journal of Cryptologic Research (密码学报). 2018.
• Chuan Zhao, Shengnan Zhao, Zhenxiang Chen, Bo Zhang, Mauro Conti. “Secure Comparison under Ideal/Real Simulation Paradigm”. Published in IEEE Access. 2018. (IF 3.745)
• Bo Zhang, Tianqing Zhu, Chengyu Hu, Chuan Zhao. “Cryptanalysis of a Lightweight Certificateless Signature Scheme for IIOT Environments”. Published in IEEE Access. 2018. (IF 3.745)
• Bo Zhang, Zhongtian Jia, Chuan Zhao. “An Efficient Certificateless Generalized Signcryption Scheme”. Published in Security and Communication Networks. 2018. (CCF-C, IF 1.288)
• Shanshan Wang, Qiben Yan, Zhenxiang Chen, Bo Yang, Chuan Zhao, Mauro Conti. “Detecting Android Malware Leveraging Text Semantics of Network Flows”. Published in IEEE Transactions on Information Forensics and Security. 2017. (CCF-A, IF 6.211)
• Chuan Zhao, Han Jiang, Qiuliang Xu, Yilei Wang, Xiaochao Wei, Shujie Cui. “Fast Two-Output Secure Computation with Optimal Error Probability”. Published in Chinese Journal of Electronics (电子学报英文版). 2017.
• Hao Wang, Debiao He, Jian Shen, Zhihua Zheng, Chuan Zhao, Minghao Zhao. “Verifiable Outsourced Ciphertext-Policy Attribute-Based Encryption in Cloud Computing”. Published in Soft Computing. 2017. (CCF-C, IF 3.050)
• Chuan Zhao, Han Jiang, Xiaochao Wei, Qiuliang Xu. “Cut-and-Choose Bilateral Oblivious Transfer (in Chinese)”. Published in Journal of Software (软件学报). 2017.
• Chuan Zhao, Han Jiang, Qiuliang Xu, Xiaochao Wei, Hao Wang. “Several Oblivious Transfer Variants in Cut-and-Choose Scenario”. Published in International Journal of Information Security and Privacy. 2016. (CCF-C)
• Xiaochao Wei, Han Jiang, Chuan Zhao. “An Efficient 1-out-of-n Oblivious Transfer Protocol with Full Simulation (in Chinese)”. Published in Journal of Computer Research and Development (计算机研究与发展). 2016.
• Yilei Wang, Chuan Zhao, Qiuliang Xu, Zhihua Zheng, Zhenhua Chen, Zhe Liu. “Fair Secure Computation with Reputation Assumptions in the Mobile Social Networks”. Published in Mobile Information Systems. 2015. (IF 1.508)
• Yilei Wang, Duncan S. Wong, Chuan Zhao, Qiuliang Xu. “Fair Two-Party Computation with Rational Parties Holding Private Types”. Published in Security and Communication Networks. 2015. (CCF-C, IF 1.288)
======
SELECTED CONFERENCES
• Sheraz Ali, Muhammad Maaz Irfan, Abubakar Bomai, Chuan Zhao*. “Towards Privacy-Preserving Deep Learning: Opportunities and Challenges”， Published in The 7th IEEE International Conference on Data Science and Advanced Analytics. 2020. (CCF-C)
• Abubakar Bomai, Mohammed Shujaa Aldeen, Chuan Zhao*. “Privacy-Preserving GWAS Computation on Outsourced Data Encrypted under Multiple Keys Through Hybrid System”， Published in The 7th IEEE International Conference on Data Science and Advanced Analytics. 2020. (CCF-C)
• Xiaochao Wei, Han Jiang, Chuan Zhao, Minghao Zhao, Qiuliang Xu. “Fast Cut-and-Choose Bilateral Oblivious Transfer for Malicious Adversaries”. Published in The 15th IEEE International Conference on Trust, Security and Privacy in Computing and Communications. 2016. (CCF-C)
• Chuan Zhao, Han Jiang, Xiaochao Wei, Qiuliang Xu, Minghao Zhao. “Cut-and-Choose Bilateral Oblivious Transfer and Its Application”. Published in The 14th IEEE International Conference on Trust, Security and Privacy in Computing and Communications. 2015. (CCF-C)


This is some content of the first entry.
And some link! Nice, isn't it?
This is some cocntent of the second entry.
Some input:
And finally a last paragraph.


{{form.value|json}}
Add and arrange new elements in order to define the structure of the data to generate.


Ansible Tower by Red Hat helps you scale IT automation, manage complex deployments and speed productivity. Centralize and control your IT infrastructure with a visual dashboard, role-based access control, job scheduling and graphical inventory management.
What is Ansible Tower
How Ansible Tower Works
Installing Ansible Tower
Key Features
What is Ansible Tower?
Ansible Tower is an enterprise framework for controlling, securing and managing your Ansible automation – with a UI and RESTful API
Role-based access control keeps environments secure, and teams efficient
Non-privileged users can safely deploy entire applications with push-button deployment access
All Ansible automations are centrally logged, ensuring complete auditability and compliance
Platform Overview
Installing Ansible Tower
# the most common and preferred way of
# installation for RHEL CentOS or Ubuntu
$ wget https://bit.ly/ansibletower
# bundled installer can be downloaded for
# CentOS or RHEL at
$ wget https://bit.ly/ansibletowerbundle
Requirements
Red Hat Enterprise Linux (RHEL) 7, CentOS 7 and Ubuntu 14.04. 64-bit support required (kernel and runtime).
A currently supported version of Mozilla Firefox or Google Chrome.
2 GB RAM minimum (4+ GB RAM highly recommended)
20 GB of dedicated hard disk space
Demo Time: Installing Ansible Tower
Workshop: Installing Ansible Tower
Key Features of Ansible Tower
Dashboard and User Interface
User Base -- Organizations, Teams & Users
Credentials
Inventories
Projects
Job Templates & Jobs
Role Based Access Control (RBAC)
Dashboard and User Interface
User Base
A user is an account to access Tower and its services given the permissions granted to it.
An organization is a logical collection of users, teams, projects, inventories and more. All entities belong to an organization with the exception of users.
Teams provide a means to implement role-based access control schemes and delegate responsibilities across organizations.
Credentials
Credentials are utilized by Tower for authentication with various external resources:
Connecting to remote machines to run jobs
Syncing with inventory sources
Importing project content from version control systems
Connecting to and managing networking devices
Centralized management of various credentials allows end users to leverage a secret without ever exposing that secret to them.
Inventory
Inventory is a collection of hosts (nodes) with associated data and groupings that Tower can connect to and manage.
Hosts (nodes)
Groups
Inventory-specific data (variables)
Static or dynamic sources
Projects
A Project is a logical collection of Ansible Playbooks, represented in Tower.
You can manage Playbooks and Playbook directories by placing them in a source code management system supported by Tower, including Git, Subversion, and Mercurial.
You can have multiple projects for doing any range of job types.
You can manually place playbooks under the Project Base Path on your Tower server instead of using version control. This is not recommended in general and considered an advanced use case.
Job Templates
A job template is a definition and set of parameters for running an Ansible Playbook.
Job templates are useful to execute the same job many times and encourage the reuse of Ansible Playbook content and collaboration between teams.
Jobs
A job is an instance of Tower launching an Ansible Playbook against an inventory of hosts.
Job results can be easily viewed
View the standard out for a more in-depth look
Role Based Access Control (RBAC)
Role-Based Access Controls (RBAC) are built into Ansible Tower and allow administrators to delegate access to server inventories, organizations, and more. These controls allow Tower to help you increase security and streamline management of your Ansible automation.
Role Based Access Control (RBAC)
Demo Time: Ansible Tower Basic Setup & Job Run
Workshop: Ansible Tower Basic Setup & Your First Job Run
Dynamic Inventory in Ansible Tower
Dynamic inventory is a script that queries a service, like a cloud provider API or a management application. This data is formatted in an Ansible-specific JSON data structure and is used in lieu of static inventory files.
Groups are generated based on host metadata
Single source of truth saves time, avoids duplication and reduces human error
Dynamic and static inventory sources can be used together
Demo: Ansible Tower Dynamic Inventory
More with Ansible Tower
User Surveys (Self-Service)
Job Scheduling
Notifications
Ad-Hoc Commands
Workflows (New in v3.1)
System Scanning
Logging Aggregation (New in v3.1)
Advance Configuration Options
Next Steps
It’s easy to get started ansible.com/get-started
Try Ansible Tower for free: ansible.com/tower-trial


IntroductionCredit: Andy McKay The Web has been a key technology for many years now, and it has become unusual to develop an application that doesn't involve some aspects of the Web. From showing a help file in a browser to using web services, the Web has become an integral part of most applications. I came to Python through a rather tortuous path of ASP (Active Server Pages), then Perl, some Zope, and then Python. Looking back, it seems strange that I didn't find Python earlier, but the dominance of Perl and ASP (and later PHP) in this area makes it difficult for new developers to see the advantages of Python shining through all the other languages. Unsurprisingly, Python is an excellent language for web development, and, as a batteries included language, Python comes with most of the modules you need. The relatively recent inclusion of xmlrpclib in the Python Standard Library is a reassuring indication that batteries continue to be added as the march of technology requires, making the standard libraries even more useful. One of the modules I often use is urllib, which demonstrates the power of a simple, well-designed modulesaving a file from the Web in two lines (using urlretrieve) is easy. The cgi module is another example of a module that has enough functionality to work with, but not too much to make your scripts slow and bloated. Compared to other languages, Python seems to have an unusually large number of application servers and templating languages. While it's easy to develop anything for the Web in Python "from scratch", it would be peculiar and unwise to do so without first looking at the application servers available. Rather than continually recreating dynamic pages and scripts, the community has taken on the task of building these application servers to allow other users to create the content in easy-to-use templating systems. Zope is the most well-known product in this space and provides an object-oriented interface to web publishing. With features too numerous to mention, Zope allows a robust and powerful object-publishing environment. The new, revolutionary major release, Zope 3, makes Zope more Pythonic and powerful than ever. Quixote and WebWare are two other application servers with similar, highly modular designs. Any of these can be a real help to the overworked web developer who needs to reuse components and to give other users the ability to create web sites. The Twisted network-programming framework, increasingly acknowledged as the best-of-breed Python framework for asynchronous network programming, is also starting to expand into the web application server field, with its newer "Nevow" offshoot, which you'll also find used in some of the recipes in this chapter. For all that, an application server is just too much at times, and a simple CGI script is really all you need. Indeed, the very first recipe, Recipe 14.1, demonstrates all the ingredients you need to make sure that your web server and Python CGI scripting setup are working correctly. Writing a CGI script doesn't get much simpler than this, although, as the recipe's discussion points out, you could use the cgi.test function to make it even shorter. Another common web-related task is the parsing of HTML, either on your own site or on other web sites. Parsing HTML tags correctly is not as simple as many developers first think, as they optimistically assume a few regular expressions or string searches will see them through. However, we have decided to deal with such issues in other chapters, such as Chapter 1, rather than in this one. After all, while HTML was born with and for the Web, these days HTML is also often used in other contexts, such as for distributing documentation. In any case, most web developers create more than just web pages, so, even if you, the reader, primarily identify as a web developer, and maybe turned to this chapter as your first one in the book, you definitely should peruse the rest of the book, too: many relevant, useful recipes in other chapters describe parsing XML, reading network resources, performing systems administration, dealing with images, and many great ideas about developing in Python, testing your programs, and debugging them! |


Most novices try to write a single rule using a long and complicated control structure that produces the desired answer. The rule typically doesn't work, so they start adding additional control structures and conditions to fix the corner cases. Suprisingly quickly, it gets very difficult to read the rule. Recognise this? You need to write monolitic queries in query languages such as SQL or SPARQL. Prolog allows for composing rules from simpler ones. Use composition!
First of all, make sure your program consists of small predicates, where
the body (the part after the :-
operator) is typically a
simple sequence (conjunction) of sub-queries (goals). In
particular
( If -> Then ; Else )
, and in particular nested
versions thereof.
findall/3
.
Following the above guidelines (1) makes your program easier to read, (2) makes it easier to formulate new queries (code reuse) and (3) makes the program easier to debug.
If the answer is wrong, you may consider tracing the execution of the
query. To start debugging at a particular place in the source, set a
breakpoint by clicking a line number in the gutter of
the editor. To trace from the beginning, use the menu Solutions
-> Debug (trace). Note that you can add a (conditional) call to
trace/0
anywhere in the program to start debugging at that
point.
In trace mode, you single-step through the execution of the program. The SWISH debugger only shows calls appearing in the current source files; details for called predicates are hidden. The following buttons are displayed below the port
If your query contains an error, such as dividing by zero or adding a number to an atom, Prolog will raise an exception. SWISH tries to start the tracer as soon as possible. Unfortunately, Prolog optimization sometimes causes that it cannot stop right there or that much of the execution context is not available. In that case, run the query in debug mode as illustrated below.
?- debug, goal.