The Launch Configuration was updated successfully but your instances have not changed.
Settings will apply to new instances.
You currently have {{vm.numInstances}} instances running across {{vm.numAZs}} Availability Zones.
To roll out this change you need to scale up to {{vm.requiredInstancesForScalingRefresh}} instances. This will guarantee that when you scale back down, only updated servers will remain.
Once the new instances are healthy, manually scale back down to {{vm.numInstances}} instances again.
How are these values calculated?


Associate Professor
Department of Biostatistics and Bioinformatics
Rollins School of Public Health
Emory University
1518 Clifton Rd. NE, Atlanta, GA 30322
Email<EMAIL_ADDRESS>Phone:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>


Hunt for man with 'horror skull' face tattoos after teen 'raped in bushes'
She was dragged from the street into a nearby wooded area and subjected to a serious sexual assault before she was able to fight off her attacker
by Kelly-Ann Mills, Jim Hardy, https://www.facebook.com/dailymirror/A man with a horror skull tattooed on his face is being hunted by police after he dragged a teenage girl into some bushes near a bus stop and raped her.
The attacker, who police say had an Eastern European accent, pounced as the girl got off the number 11a bus in East Hunsbury, Northampton, at 5pm on Tuesday evening.
Officers say he dragged her into a nearby wooded area where he subjected her to a serious sexual assault before she was able to fight her way free.
Detectives are trying to reassure women in the area and say every effort is being made to catch him before he strikes again.

"He wore a black tracksuit and spoke with an Eastern European accent.
"Anyone who witnessed or heard anything which could relate to this incident, or has information about it, should call Northamptonshire Police on 101."
Detectives have not revealed the teenager's age but say she is a 'young girl'.


For graphs similar to the one shown below, how many iterations are at most required to compute parallel breadth-first search in Hadoop?
The max. number of iterations depends on the diameter of the graph.
Incorrect.
The max. number of iterations depends on the number of nodes in the graph.
Correct!
The max. number of iterations depends on the number of edges in the graph.
Incorrect.
The max. number of iterations does not depend on either of these three aspects (diameter, number of nodes, number of edges).
Incorrect.
You are given the Giraph code shown below. You can assume as input a directed graph (all edge weights are 1.0) which is encoded in adjacency list format (each node is encoded together with all its outgoing edges). What does this code compute?
A node's PageRank score.
Incorrect.
The shortest path between any two nodes in the graph.
Incorrect.
A node's inlink count.
Correct!
A node's outlink count.
Incorrect.
To compute breadth-first search in Giraph, what information needs to be send across the network for each superstep?
The entire graph structure.
Incorrect.
The recomputed distances.
Correct!
The nodes and their associated meta-data.
Incorrect.
The edges and their associated meta-data.
Incorrect.
To compute PageRank in Pregel, an Aggregator is used. What is it used for?
To compute the out-degree of each node.
Incorrect.
To compute the PageRank mass of dangling nodes.
Correct!
To compute the sum of all PageRank mass in the graph.
Incorrect.
To compute the PageRank score of each node.
Incorrect.
An aggregator in Giraph/Pregel is somewhat similar to a counter in Hadoop. What is the main difference?
Counters are meant to let machines communicate small values, aggregators are not meant to do that.
Incorrect.
Aggregators provide reliable values during the execution of a job, Counters only provide reliable values after the job has been executed.
Correct!
Counters can be used to terminate a job, based on the counter value. Aggregators cannot be used to achieve this.
Incorrect.
Aggregators and counters are the same. Only their names are different.
Incorrect.
Which of the following statements is true?
Vertices that have voted to halt in Pregel/Giraph ...
cannot be reactivated.
Incorrect.
can only be reactivated through an aggregator.
Incorrect.
can be reactivated through incoming messages.
Correct!
can be reactivated through the combiner.
Incorrect.
When Pregel/Giraph are used to compute the minimum existing vertex value in a directed graph, the final value read from an arbitrary vertex will always be correct if ...
the graph is strongly connected.
Correct!
the graph is weakly connected.
Incorrect.
the graph is bipartite.
Incorrect.
the graph has a bow-tie structure.
Incorrect.
What is the minimum number of supersteps required when using Pregel/Giraph to compute the outdegree of each vertex in a directed graph?
One superstep if the adjacency list of a vertex $v$ contains the IDs of all vertices linking to $v$.
Incorrect.
One superstep if the adjacency list of a vertex $v$ contains the IDs of all vertices that $v$ links to.
Correct!
Zero supersteps if the adjacency list of a vertex $v$ contains the IDs of all vertices that $v$ links to.
Incorrect.
Two supersteps if the adjacency list of a vertex $v$ contains the IDs of all vertices linking to $v$.
Incorrect.
When does the shuffling & sort phase take place in Giraph?
After every superstep.
Incorrect.
After every $n$ supersteps ($n$ can be set by the developer).
Incorrect.
Never.
Correct!
That depends on the task to solve; it can be switched on by the developer.
Incorrect.
Which of the following statements about Giraph are correct?


Data for {{Geography}} submitted via Blue Community Assessment App
Blue Community Assessment
{{About Section}}
{{Geography}}
|
Cover |
{{Cover}} |
|
About this Section |
{{About this Section}} |
|
119. Do any policies and/or programs exist at your community to become a net zero carbon community? |
{{119. Do any policies and/or programs exist at your community to become a net zero carbon community?}} |
|
119a. TRUE / FALSE |
{{119a. TRUE / FALSE}} |
|
119b. ✍ |
{{119b. ✍}} |
|
GSTC Reference |
|
|
120. Are there any policies and/or programs designed to encourage mass transportation for all guests activities once they arrive at the resort or community? |
{{120. Are there any policies and/or programs designed to encourage mass transportation for all guests activities once they arrive at the resort or community?}} |
|
120a. TRUE / FALSE |
FALSE |
|
120b. ✍ |
{{120b. ✍}} |
|
GSTC Reference |
|
|
121. Does your community offer any carbon offsets for all travel of guests once they reach the community? |
{{121. Does your community offer any carbon offsets for all travel of guests once they reach the community?}} |
|
121a. TRUE / FALSE |
{{121a. TRUE / FALSE}} |
|
121b. ✍ |
{{121b. ✍}} |
|
GSTC Reference |
|
|
122. Does your community offer any carbon offsets for guest activities that require the use of non-resort transportation? |
{{122. Does your community offer any carbon offsets for guest activities that require the use of non-resort transportation?}} |
|
122a. TRUE / FALSE |
{{122a. TRUE / FALSE}} |
|
122b. ✍ |
{{122b. ✍}} |
|
GSTC Reference |
|
|
123. Does your community have a policy and/or program to not use ozone depletion substances? |
{{123. Does your community have a policy and/or program to not use ozone depletion substances?}} |
|
123a. TRUE / FALSE |
{{123a. TRUE / FALSE}} |
|
123b. 📤 |
Please Upload Policy |
|
124. Does your community have a policy and/or program in place to reduce air pollution and/or improve air quality? |
{{124. Does your community have a policy and/or program in place to reduce air pollution and/or improve air quality?}} |
|
124a. TRUE / FALSE |
{{124a. TRUE / FALSE}} |
|
124b. 📤 and / or upload policy. |
Please Upload Policy |
|
125. What is the yearly average for local Air Quality Index of the community or local areas? |
{{125. What is the yearly average for local Air Quality Index of the community or local areas?}} |
|
125a. 🔢 |
{{125a. 🔢}} |
|
125b. 🔗Source |
{{125b. 🔗Source}} |
|
126. What are the yearly highs and lows for Air Quality Index (AQI)? |
{{126. What are the yearly highs and lows for Air Quality Index (AQI)?}} |
|
126a. 🔢 |
{{126a. 🔢}} |
|
126b. 🔗Source |
{{126b. 🔗Source}} |
|
127. Does your community have a policy and/or program in place to protect and enhance ecosystems for biodiversity? |
{{127. Does your community have a policy and/or program in place to protect and enhance ecosystems for biodiversity?}} |
|
127a. TRUE / FALSE |
{{127a. TRUE / FALSE}} |
|
127b. ✍ |
{{127b. ✍}} |
|
127c. 📤 and / or upload policy. |
{{127c. 📤 and / or upload policy.}} |
|
128. Does your community have a policy and/or program in place to reduce or not use any toxic chemicals? |
{{128. Does your community have a policy and/or program in place to reduce or not use any toxic chemicals?}} |
|
128a. TRUE / FALSE |
{{128a. TRUE / FALSE}} |
|
128b. 📤 and / or upload policy. |
{{128b. 📤 and / or upload policy.}} |
|
129. Does your community have a policy and/or programs in place to not deplete aquifer levels or endanger community fresh water supplies? |
{{129. Does your community have a policy and/or programs in place to not deplete aquifer levels or endanger community fresh water supplies?}} |
|
129a. TRUE / FALSE |
{{129a. TRUE / FALSE}} |
|
129b. ✍ |
{{129b. ✍}} |
|
129c. 📤 and / or upload policy. |
{{129c. 📤 and / or upload policy.}} |
|
130. Does your community have a policy and/or program in place to prevent tree loss and encourage the planting of native trees when practical? |
{{130. Does your community have a policy and/or program in place to prevent tree loss and encourage the planting of native trees when practical?}} |
|
130a. TRUE / FALSE |
{{130a. TRUE / FALSE}} |
|
130b. ✍ |
{{130b. ✍}} |
|
130c. 📤 and / or upload policy. |
{{130c. 📤 and / or upload policy.}} |
|
131. Does your community have a program in place to reduce fertilizers that contain phosphates or nitrates? |
{{131. Does your community have a program in place to reduce fertilizers that contain phosphates or nitrates?}} |
|
131a. TRUE / FALSE |
{{131a. TRUE / FALSE}} |
|
131b. ✍ |
{{131b. ✍}} |
|
131c. 📤 and / or upload policy. |
{{131c. 📤 and / or upload policy.}} |
|
132. Are there plans in place to protect threatened or endangered species? |
{{132. Are there plans in place to protect threatened or endangered species?}} |
|
132a. TRUE / FALSE |
{{132a. TRUE / FALSE}} |
|
132b. ✍ |
{{132b. ✍}} |
|
133. What is your communities best sustainable tourism success story to date? |
{{133. What is your communities best sustainable tourism success story to date?}} |
|
133a. ✍ |
{{133a. ✍}} |
|
133b. 🔗 |
{{133b. 🔗}} |
|
134. Reference Images for this Section |
134. Reference Images for this Section |
|
134a. 📸 |
{{134a. 📸}} |
|
134b. 📸 |
{{134b. 📸}} |
|
134c. 📸 |
{{134c. 📸}} |
|
Last Edited |
{{Last Edited}} |
|
Last Edited By |
{{Last Edited By}} |
|
Notes for Stakeholders |
{{Notes for Stakeholders}} |
Data for {{Geography}} submitted via Blue Community Assessment App


My strengths are my loyalty, trustworthiness, motivation, empathy and compassion. My limitations are that I can get easily irritated by things that don't interest me, I can lose interest and get distracted by this too. I can keep things to myself when I don't feel as if they will contribute even though they probably could.
Being mindful and practicing mindfulness daily. Being mindful of peers and others around me, offering help and asking with discretion but openly. Keeping in a routine, waking up at a certain time, eating healthy, exercising, practicing work techniques such as pomodoro so I can timebox and work more effeciently. Using breathing exercises and taking breaks when scheduled to relieve stress and keep my mind fresh.
If I'm blocked with work, I will first look over what I'm doing, then head to the internet for answers. If still blocked I will head to students/peers/tutors for help when suits them and myself.
I expect a level of support with work, for the team to be understanding, helpful and give meaningful critisicm/tell me how to improve my work if I am not doing something properly.


The protocol referred to as "HTTP/1.0" includes the specification for a Basic Access Authentication scheme. This scheme is not considered to be a secure method of user authentication, as the user name and password are passed over the network as clear text. A specification for a different authentication scheme is needed to address this severe limitation. This document provides specification for such a scheme, referred to as "Digest Access Authentication". Like Basic, Digest access authentication verifies that both parties to a communication know a shared secret (a password); unlike Basic, this verification can be done without sending the password in the clear, which is Basic's biggest weakness. As with most other authentication protocols, the greatest sources of risks are usually found not in the core protocol itself but in policies and procedures surrounding its use.
RFC 2069 introduction
Download links
Click here to download RFC 2069: TXT formatPDF format (coming soon)


Carl Childers
Web Developer
Random Quote Machine
HTML, SCSS, jQuery
Cake Builder
HTML, SCSS, React
Drum Machine
HTML, SCSS, React
Pomodoro Clock
HTML, SCSS, React
Calculator
HTML, SCSS, React
Landing Page
HTML, CSS


Your bank details have been approved.
Your details have been verified and can be used for this project.
The bank account details below are being reviewed. We will contact you if we need any further information.
Organisation information
This information provided during the application process cannot be changed.
Aptrans Ltd
Company no. 04214477
Account details
- Account number
- *****152
- Sort code
- ****21
Billing address
Aptana Ltd
13 Queen Square
Bristol
BS3 1RF


--- layout: default title: Piotr Zawadzki subtitle: Principal Android Developer permalink: / image: "about_me.png" ---
I'm an experienced Android developer with previous experience in Java backend development with 8+ years as a Java developer and 6+ years in Android.
I'm a big fan of Material design and not a stranger to actually implementing it in real apps.
I'm an Open Source contributor with a bunch of libraries released under my own and StepStone Github account. I also write articles on Medium
I love writing GOOD unit tests (integration and UI tests as well).
Apart from great analytical and debugging skills, I also pay attention to detail making sure that the job is done in the best possible way.
On a more personal level, I'm a loving husband with a passion for photography, gadgets, travelling and cooking.


A Mantra is a sacred word, sound or phrase, usually in Sanskrit, which is believed to have a spiritual and psychological power. Meaning “tool of thought” in Sanskrit, a mantra is often used in meditation as a way to harness and focus the mind. Mantras are considered to be divine rhymes composed by the ancient Indian saints in the divine language of Sanskrit. When recited properly they protect human from different malefic effects of other evil elements. Similarly mantras corresponding to different planets when recited properly is considered to protect the person from the bad effect of that planet.
Mantra (Shabda or Sound) is said to be the phonetic manifestation of the Supreme Reality. A Mantra is composed of certain letters arranged in definite sequence of sounds. Mantra is a potent compelling force and is used for many purposes, divine and mundane. It is said that the Guru or the Adept is the best person to find out the Mantra suitable for the Seeker. However, interestingly, astrology too has an elaborate system of judging whether a particular Mantra will be suitable for a Sadhaka.


The data for this visualization was gathered from http://simpsons.wikia.com/ . The API was used to download information on the characters, locations, and episodes of the entire series of the Simpsons show. This data was then formatted into JSON objects in order to be used to create the visualizations.
There was a large amount of data to be handled. Given the nature of wikis, there were a lot of inconsistencies with the data and the formatting. This may have caused some missing or unclean data in the dataset, but many of the issues should have been addressed.


property ScaleMode: TScaleMode;
type TScaleMode = (smNormal, smStretch, smScale, smResize, smOptimal, smOptimalScaled);
Specifies the current scale mode for the bitmap image.
smNormal will display the bitmap image with its original size;
smStretch will stretch the bitmap image to fit the control's boundaries;
smResize will proportionally resize the bitmap image to fit the control's boundaries;
smScale will proportionally scale the bitmap image using the factor provided by the Scale property;
smOptimal will proportionally fit the bitmap image into the control's boundaries if the viewport is smaller than the image size. Otherwise it will be displayed with its original size;
smOptimalScaled will proportionally fit the bitmap image into the control's boundaries if the viewport is smaller than the image size multiplied by the Scale property. Otherwise it will be displayed with its original size.
Note, that TCustomImgView32 descendants only support smScale, smOptimal and smOptimalScaled mode.


Home
The story so far…
The Canadian Digital Service (CDS) has started a partnership with the Royal Canadian Mounted Police (RCMP) to improve the delivery of the new National Cybercrime Coordination Unit (NC3). This site documents what we’ve learned so far in terms of research, content, design, and tech through different phases of delivery.
From November to December 2018, the team did Discovery research to start to understand the experiences of people affected by cybercrime and fraud and the technology landscape for reporting to the police.
From February to August 2019, the team built and tested different concepts and prototypes in an Alpha phase to develop a better understanding of the barriers victims face when reporting and what the police need to help victims.
From November 2019 to April 2020, the team publicly deployed a Beta version of the National Cybercrime and Fraud Reporting System to gain clarity around how this service will be used by victims and to build capacity with an RCMP delivery team that will be taking over the iterative design and development of the service.
Heading into Summer 2020, the CDS and RCMP team will move into a Transition Phase, where we will look to shift the service to 100% RCMP ownership. Along with this, we will take the learnings from the pilot and work to plan what the end-to-end full version of the service will be, and how we get there.
Follow along on GitHub.


Deep Learning
Introduction to Neural Networks
Neural Networks are learning algorithms inspired by the connectivity of real-life neurons, since they seem to be doing a pretty good job. The key idea is that we have various layers of inter-connected neurons. The inputs that we have form the first layer, and the aim is to obtain an output. However, between these two layers, there are numerous hidden layers that communicate with each other. Every neuron receives a set of inputs, which are weighted, summed and passed through an activation function, often a sigmoid.
We are going to run through a small example using the fashion MNIST database, which contains greyscale images of various fashion items. For this purpose we are going to use Tensorflow and Keras.
Let’s break it down step by step. We first import Tensorflow
, load the training and test datasets from the library.
import tensorflow as tf
# Load data
dataset = tf.keras.datasets.fashion_mnist.load_data()
(x_train, y_train) = dataset[0]
(x_test, y_test) = dataset[1]
The labels at the moment take the form of \(10\) different strings. To make the labels easier to work with, we use one hot encoding.
# Convert labels using one hot encoding
y_train = tf.keras.utils.to_categorical(y_train)
y_test = tf.keras.utils.to_categorical(y_test)
Now, our images are in 2D, so we need to flatten them into 1D arrays.
# Convert input images to 1D
x_train = x_train.reshape(x_train.shape[0], -1) /255
x_test = x_test.reshape(x_test.shape[0], -1) /255
We use a Neural Network with a single hidden layer to begin with. We set the number of neurons in the hidden layer to be 8
and the number of classes is known and must be set to 10
. We initialize the model, add the hidden layer, and then add the output layer as follows
# Use a sequential model
model = tf.keras.models.Sequential()
# First hidden layer with 8 neurons
n_neurons = 8
n_classes = 10
model.add(tf.keras.layers.Dense(n_neurons,
input_dim=784,
activation='relu'))
# Add output layer
model.add(tf.keras.layers.Dense(n_classes,
activation='softmax'))
We must describe the specifics of training the model. The optimiser that we use is adam
, the categorical_crossentropy
loss function computes the cross-entropy between the predicted and actual class labels.
# Specify how to train model
model.compile(loss='categorical_crossentropy',
optimizer='adam',
metrics='accuracy')
Finally, we fit the model using a 30/70 validation split and 5
epochs. An epoch is a breakdown of the data that can be passed through the model one batch at a time until the entire training dataset has been seen once. However, we are exposing the network to the entire dataset 5
times in this case so.
# Fit model
n_epochs=5
model.fit(x_train,
y_train,
epochs=n_epochs,
validation_split=0.3)
Let’s see how the model performs on the training data. After the final epoch, we see that the accuracy is at around 83.6%
, which is pretty good.
How about the performance on the test set? 82.22%
. That is still not bad given how basic this implementation is.
# Evaluate model
model.evaluate(x_test,y_test)[1]


Plato on Github
Report Home
compiled\ember-htmlbars\lib\compat\register-bound-helper.js
Maintainability
79.89
Lines of code
138
Difficulty
10.11
Estimated Errors
0.18
Function weight
By Complexity
By SLOC
/** @module ember @submodule ember-htmlbars */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); exports['default'] = registerBoundHelper; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _emberHtmlbarsHelpers = require('ember-htmlbars/helpers'); var _emberHtmlbarsHelpers2 = _interopRequireDefault(_emberHtmlbarsHelpers); var _emberHtmlbarsCompatMakeBoundHelper = require('ember-htmlbars/compat/make-bound-helper'); var _emberHtmlbarsCompatMakeBoundHelper2 = _interopRequireDefault(_emberHtmlbarsCompatMakeBoundHelper); var slice = [].slice; /** Register a bound handlebars helper. Bound helpers behave similarly to regular handlebars helpers, with the added ability to re-render when the underlying data changes. ## Simple example ```javascript Ember.Handlebars.registerBoundHelper('capitalize', function(value) { return Ember.String.capitalize(value); }); ``` The above bound helper can be used inside of templates as follows: ```handlebars {{capitalize name}} ``` In this case, when the `name` property of the template's context changes, the rendered value of the helper will update to reflect this change. ## Example with options Like normal handlebars helpers, bound helpers have access to the options passed into the helper call. ```javascript Ember.Handlebars.registerBoundHelper('repeat', function(value, options) { var count = options.hash.count; var a = []; while(a.length < count) { a.push(value); } return a.join(''); }); ``` This helper could be used in a template as follows: ```handlebars {{repeat text count=3}} ``` ## Example with bound options Bound hash options are also supported. Example: ```handlebars {{repeat text count=numRepeats}} ``` In this example, count will be bound to the value of the `numRepeats` property on the context. If that property changes, the helper will be re-rendered. ## Example with extra dependencies The `Ember.Handlebars.registerBoundHelper` method takes a variable length third parameter which indicates extra dependencies on the passed in value. This allows the handlebars helper to update when these dependencies change. ```javascript Ember.Handlebars.registerBoundHelper('capitalizeName', function(value) { return value.get('name').toUpperCase(); }, 'name'); ``` ## Example with multiple bound properties `Ember.Handlebars.registerBoundHelper` supports binding to multiple properties, e.g.: ```javascript Ember.Handlebars.registerBoundHelper('concatenate', function() { var values = Array.prototype.slice.call(arguments, 0, -1); return values.join('||'); }); ``` Which allows for template syntax such as `{{concatenate prop1 prop2}}` or `{{concatenate prop1 prop2 prop3}}`. If any of the properties change, the helper will re-render. Note that dependency keys cannot be using in conjunction with multi-property helpers, since it is ambiguous which property the dependent keys would belong to. ## Use with unbound helper The `{{unbound}}` helper can be used with bound helper invocations to render them in their unbound form, e.g. ```handlebars {{unbound capitalize name}} ``` In this example, if the name property changes, the helper will not re-render. ## Use with blocks not supported Bound helpers do not support use with Handlebars blocks or the addition of child views of any kind. @method registerBoundHelper @for Ember.Handlebars @param {String} name @param {Function} fn @param {String} dependentKeys* @private */ function registerBoundHelper(name, fn) { var boundHelperArgs = slice.call(arguments, 1); var boundFn = _emberHtmlbarsCompatMakeBoundHelper2['default'].apply(this, boundHelperArgs); _emberHtmlbarsHelpers2['default'][name] = boundFn; } module.exports = exports['default'];


Cowboys Reportedly Make Decision On Potential Staff Changes After Loss To Patriots
by Matt LombardiThe Dallas Cowboys lost to the New England Patriots on the road on Sunday, falling to 6-5 on the season. In the aftermath, many have been wondering if the team will make any coaching changes – especially since team owner Jerry Jones expressed his frustration after the game.
According to ESPN’s Ed Werder, the Cowboys will not be making any changes just yet. Werder reports that there will be no “immediate” changes to the staff – including on special teams.
Of course, that doesn’t mean Jason Garrett and his staff aren’t on the hot seat. The Cowboys still lead the NFC East, but they’ve played underwhelming football much of the season. They likely need to make a deep playoff run for Jones to consider keeping the staff intact.
Dallas struggled to move the ball on offense on Sunday, though much of that was due to the weather. The bigger issues came on special teams.
New England, meanwhile, didn’t play its best game of the season but still found a way to get to 10-1. The Patriots are trending towards the No. 1 seed in the AFC.
Dallas won’t have much time to lick its wounds. The Cowboys play on Thanksgiving Day against the 8-3 Buffalo Bills.


|
Awesome Portable Rendering Interface Library
This library provides a universal rendering API and does not require to write code that is used in only one API (e.g. OpenGL, DirectX, SDL, ...)
|
Defines UV address mode. More...
#include <Texture.h>
Public Member Functions | |
| AddressMode (chstr name) | |
| AddressMode (chstr name, unsigned int value) | |
| AddressMode | next () const |
| AddressMode | previous () const |
| bool | operator< (const AddressMode &other) const |
| bool | operator> (const AddressMode &other) const |
| bool | operator<= (const AddressMode &other) const |
| bool | operator>= (const AddressMode &other) const |
| bool | operator== (const AddressMode &other) const |
| bool | operator!= (const AddressMode &other) const |
Static Public Member Functions | |
| static int | getCount () |
| static hltypes::Array< AddressMode > | getValues () |
| static hstr | getEnumName () |
| static hltypes::Map< unsigned int, hstr > | getAsMap () |
| static AddressMode | fromInt (int value) |
| static AddressMode | fromUint (unsigned int value) |
| static AddressMode | fromName (chstr name) |
| static bool | hasValue (chstr name) |
| static bool | hasValueFor (int value) |
| static bool | hasValueFor (unsigned int value) |
Static Public Attributes | |
| static const AddressMode | Clamp |
| Clamping UV coordinates to the edge pixel. | |
| static const AddressMode | Wrap |
| Wrapping UV coordinates. | |
Protected Member Functions | |
| AddressMode (unsigned int value) | |
| hltypes::Map< unsigned int, hstr > & | _getInstances () const |
Defines UV address mode.


Vaccinations
Dogs, cats, rats and snakes are susceptible to a variety of illnesses that can be completely prevented by following the appropriate vaccination schedule.
Checkups
Regular checkups are a key factor in pet wellness, and can often unearth problems that could lead to health issues down the road.
Senior Pets
Senior pets generally require more medical attention than their younger counterparts, just as senior humans do. So when is a pet considered “senior”?
Diet Plans
Wisdom veterinarians have all had extensive training in pet nutrition and are your best resources when considering changing your pet’s diet.


System Status
General overview of System
Past Incidents
Aug 28, 2018
Resolved - Between 19:05 and 20:30 UTC, some
customers may have experienced issues with charts and Insights queries. Impacted
customers can expect no lasting impact as a result of this issue.
Aug 28, 13:34 PDT
Jan 8, 2018
Resolved - Lorem ipsum dolor sit amet,
consectetur adipisicing elit. Accusantium deleniti ducimus expedita incidunt, ipsam nemo
numquam rem sit ullam voluptas? Dolores eum laboriosam magni odit perspiciatis quod
recusandae repellat ut.
Nov 13, 2017
Resolved - Lorem ipsum dolor sit amet,
consectetur adipisicing elit. Accusantium deleniti ducimus expedita incidunt, ipsam nemo
numquam rem sit ullam voluptas? Dolores eum laboriosam magni odit perspiciatis quod
recusandae repellat ut.


Saul Wiggin Personal Website
Link to my Iccarus Blog where I publish my latest research and music
Subscribe in a reader
A Link to my Github Account
Code Base
Buy the Book: Beyond Metamaterials: Invisibility and Sub-wavelength Resolution
Transformation optics holds real potential to disrupt the optics and antennas industry. Saul Wiggin's Icarus Blog contains up to date information of Saul Wiggin. Work regarding all-dieletric optical systems using transformation optics. This is based on the technology on metamaterials and it is possible to design all sorts of interesting things such as:
My Kickstarter Campaign
=======
Reach Out to Icarus. We are Hiring<EMAIL_ADDRESS>or phone +0044 (0) 78672808
Location


Projects
Education history
About me
Home page
Below is a list of projects i have undertaken:
This Nairobi resort project
This is a site about my pet


"Eat and drink!"  Who has sorrow? Who has fights?
Who has complaining? Who has wounds for no reason?
Who has bloodshot eyes?
30 Those who linger over wine,
those who try the mixed wine.
31 Do not look at the wine when it is red,
when it sparkles in the cup
and goes down smoothly.
32 In the last it bites like a serpent
and it stings like an adder.
33 Your eyes will see strange things,
and your heart will utter perverse things.
34 You will be as one who sleeps on the high seas
or lies on the top of a rigging.
35 "They hit me!" you will say, "but I was not hurt.
They beat me, but I did not feel it.
When will I wake up? I will seek another drink."


Apple Pay Belarus rollout begins today with BPS-Sberbank
by Ben LovejoyThe Apple Pay Belarus rollout began today with the announcement of support by BPS-Sberbank.
Use all the advantages of BPS-Sberbank card with Apple Pay. This is a convenient, secure and confidential method of payment …
The bank says that both Visa and Mastercard are supported.
BPS-Sberbank is the Belarusian arm of PJSC Sberbank, a majority state-owned Russian bank based in Moscow. With a presence in 22 countries, including Sberbank CIB in the US, it is one of the largest banks in Europe and in the top 50 globally. The group has around 137M individual clients and over a million business ones.
As is usual with new countries, Apple hasn’t yet updated its country list which currently lists 57 countries.
Asia-Pacific
- Australia
- China mainland
- Hong Kong
- Japan
- Kazakhstan
- Macao
- New Zealand
- Singapore
- Taiwan
Europe
- Austria
- Belgium
- Bulgaria
- Croatia
- Cyprus
- Czech Republic
- Denmark
- Estonia
- Faroe Islands
- Finland
- France
- Georgia
- Germany
- Greece
- Greenland
- Guernsey
- Hungary
- Iceland
- Ireland
- Isle of Man
- Italy
- Jersey
- Latvia
- Liechtenstein
- Lithuania
- Luxembourg
- Malta
- Monaco
- Netherlands
- Norway
- Poland
- Portugal
- Romania
- Russia
- San Marino
- Slovakia
- Slovenia
- Spain
- Sweden
- Switzerland
- Ukraine
- United Kingdom
- Vatican City
Latin America and the Caribbean
- Brazil
Middle East
- Saudi Arabia
- United Arab Emirates
North America
- Canada
- The United States
Apple Pay Belarus is likely to be added to the list shortly.
Apple Pay is the only mobile wallet app allowed to use the NFC chip in iPhones and Apple Watches, something which may change in Germany after a recent change to the law. The EU antitrust regulator is also investigating whether the same should be required in the remaining 27 EU countries.
Specifically, the investigation covers topics like the prominence of Apple Pay when users set up an iPhone, like the “Set Up Now” notifications that pop up in the Settings app. Another possible issue is the fact that Apple does not let other NFC payment services integrate with the Wallet app, meaning Apple Pay has several exclusive integrations into iOS.
A Commission representative said that they were looking at “possible anti-competitive market practices and abusive conduct.”
FTC: We use income earning auto affiliate links. More.


Company of Heroes 2 is available for free on Steam until November 17th
by John PapadopoulosSEGA and Relic Entertainment have announced that the critically acclaimed World War II real-time strategy game, Company of Heroes 2, is free to download on Steam.  This free offering begins today and will last until November 17th.
Additionally, the entire Company of Heroes (COH) franchise, including major standalone COH2 expansions such as ‘The British Forces’ and ‘Ardennes Assault’, is now 75% off until November 24 at 10 AM PST.
Company of Heroes 2’s online multiplayer mode allows players across the globe to compete against each other in fierce battles. The game comes with modes ranging from 1v1 to 4v4 and with ranked and custom matches. COH2 also offers a deep and diverse range of situations, with five factions offering players a wide choice of playstyle and distinctive abilities.
You can acquire your free copy for Company of Heroes 2 from here.
Have fun!


TrackHub
About
Contact
Search
Welcome To TrackHub
Filter:
Today's Top 20 Songs
My Songs
My Playlists


Title
Written by
Supakorn Laohasongkram
on DATE
Please enable JavaScript to view the
comments powered by Disqus.


{% extends "two_factor/_base_focus.html" %} {% load i18n %} {% block content %} {% include 'partials/_menu.html' %}
{% blocktrans trimmed %}Backup tokens can be used when your primary and backup phone numbers aren't available. The backup tokens below can be used for login verification. If you've used up all your backup tokens, you can generate a new set of backup tokens. Only the backup tokens shown below will be valid.{% endblocktrans %}
{% if device.token_set.count %}{% blocktrans %}Print these tokens and keep them somewhere safe.{% endblocktrans %}
{% else %}{% trans "You don't have any backup codes yet." %}
{% endif %}


Challenges
Challenges are themes or restrictions on what you can enter. They're intended to help you be creative by introducing restrictions.
{% for challenge in challenges %}{{ challenge.created_by }}
{{ challenge.description|markdown }}


- Catalog
- Requests
-
Purchase Order
- Purchase Orders
- Purchase Order Status
- Cancel Purchase Order
- PO Confirmation
- Deliveries
- Goods Receipt
- Delivery Note
- Analysis
-
Invoices
- Invoice Administration
- Create Invoice / Credit Note
- Edit Invoice / Credit Note
- Invoice Verification
- Quick Quote


BOJ holds 43.5% of all outstanding Japanese government debt
by Omkar Godbole- BOJ's massive government bond holdings indicate there is little room for further stimulus.
- The central bank may have a hard time weakening Yen in future.
The Bank of Japan (BOJ) now holds a staggering 43.5% of all outstanding Japanese government debt, Jeroen Blokland, Portfolio Manager for the Robeco Multi-Asset funds, Robeco ONE and Robeco Pension Return Portfolio, tweeted on Thursday.
The central bank unleashed a massive quantitative easing program in April 2013. Under the QE plan, the Bank of Japan (BoJ) vowed to buy ¥7 trillion of government bonds each month using electronically created money.
The QE program is in its sixth year. Even so, the BOJ remains miles away from its 2% inflation target.
If anything, the QE program seems to have distorted markets. Also, with BOJ owning more than 43% of government debt, there is limited scope for further monetary stimulus.
Put simply, the BOJ is going to have a tough time battling bullish pressures around the JPY during the next round of risk aversion.


Click to destroy the target!
Click to Resume
Shoot: Left Mouse
Move: WASD (or arrows)
Run: SHIFT
Jump: SPACE
Look: Mouse Reset score banner: R


an implicit reference link
an implicit reference link with an empty link definition
an implicit reference link followed by another
an explicit reference link with a title


As of the ECMAScript 5 specification, octal escape sequences in string literals are deprecated and should not be used. Unicode escape sequences should be used instead.
var foo = "Copyright \251";
This rule disallows octal escape sequences in string literals.
If ESLint parses code in strict mode, the parser (instead of this rule) reports the error.
Examples of incorrect code for this rule:
/*eslint no-octal-escape: "error"*/
var foo = "Copyright \251";
Examples of correct code for this rule:
/*eslint no-octal-escape: "error"*/
var foo = "Copyright \u00A9"; // unicode
var foo = "Copyright \xA9"; // hexadecimal
This rule was introduced in ESLint 0.0.9.


Marie Antonette Volton
| 1st | 2nd | 3rd | 4th | Final Grade | |
|---|---|---|---|---|---|
| English | 90 | 89 | |||
| Mathematics | 91 | 89 | |||
| Filipino | 87 | 84 | |||
| Science | 94 | 90 | |||
| Araling Panlipunan | 89 | 87 | |||
| MAPEH | 94 | 90 | |||
| ICT | 90 | 86 | |||
| GMRC | 95 | 93 | |||
| TLE | 88 | 89 | |||
| Total | 90.88 | 88.55 |
Marc Christian Volton
| 1st | 2nd | 3rd | 4th | Final Grade | |
|---|---|---|---|---|---|
| English | 94 | 89 | |||
| Mathematics | 89 | 91 | |||
| Filipino | 87 | 89 | |||
| Science | 90 | 87 | |||
| Araling Panlipunan | 89 | 87 | |||
| MAPEH | 94 | 92 | |||
| GMRC | 95 | 93 | |||
| TLE | 91 | 95 | |||
| Total | 91.13 | 90.38 |


- Class PxBatchQuery
- The batched query feature has been deprecated in PhysX version 3.4
- Class PxBatchQueryDesc
- The batched query feature has been deprecated in PhysX version 3.4
- Class PxBatchQueryMemory
- The batched query feature has been deprecated in PhysX version 3.4
- Member PxBatchQueryPostFilterShader )(PxFilterData queryFilterData, PxFilterData objectFilterData, const void *constantBlock, PxU32 constantBlockSize, const PxQueryHit &hit)
- The batched query feature has been deprecated in PhysX version 3.4
- Member PxBatchQueryPreFilterShader )(PxFilterData queryFilterData, PxFilterData objectFilterData, const void *constantBlock, PxU32 constantBlockSize, PxHitFlags &hitFlags)
- The batched query feature has been deprecated in PhysX version 3.4
- Class PxBatchQueryResult< HitType >
- The batched query feature has been deprecated in PhysX version 3.4
- Class PxBatchQueryStatus
- The batched query feature has been deprecated in PhysX version 3.4
- Member PxD6Joint::getLinearLimit () const
- Use getDistanceLimit instead. Deprecated since PhysX version 4.0
- Member PxD6Joint::getTwist () const
- Use getTwistAngle instead. Deprecated since PhysX version 4.0
- Member PxD6Joint::setLinearLimit (const PxJointLinearLimit &limit)
- Use setDistanceLimit instead. Deprecated since PhysX version 4.0
- Member PxScene::createBatchQuery (const PxBatchQueryDesc &desc)=0
- The batched query feature has been deprecated in PhysX version 3.4
- Member PxScene::setFrictionType (PxFrictionType::Enum frictionType)=0
- The friction type cannot be changed after the first simulate call so this function is deprecated. Set the friction type at scene creation time in PxSceneDesc.
- Member PxTriggerPair::otherShape
- (see PxSimulationEventCallback::onTrigger()) If collision between trigger shapes is enabled, then this member might point to a trigger shape as well.


Sex Ed Inc. educators visited St Mark’s Senior School in Bristol on Friday 16th February to deliver workshops to over 100 Year 9 and 10 students about safe sex and consent and respect in relationships. The students were all thoughtful and enthusiastic participants, and a great time was had by all!
Tweets by NHSChoices


Charts
POS Diff.
No. Trans.
Orphan Blocks
NuBits Parked
SDD
Blocks Solved (24hrs)
* Click on the labels (on the chart) to add or remove a plot line.
* Drag your mouse on the chart (to form a rectangle) to zoom in on the points.


Red Velvet Oreos Are Available in M’sia For a Limited Time & Here’s Our HONEST Opinion
by Esther LiewTap to listen to this article instead: 🔊 Listen to Post
On 22nd November, 7-Eleven Malaysia announced on their Facebook page that they were dropping their all new festive limited edition RED VELVET OREOS, and we have been waiting to get our hands on them ever since.
In their post, 7-Eleven displayed a picture of the alluring treat with the caption, “You’ve tried cookie-flavoured cake, but have you tried cake-flavoured cookies? The hype is here!”
Today at the WORLD OF BUZZ headquarters, we finally got to try these attractive festive cookies to let you know if it is worth your RM3.60.
PSA: If you’re looking for an exact replica of a red velvet cake but in cookie form, you won’t find it in this Oreo. While there is that distinct tangy and slightly salty flavour of cream cheese sandwiched in between two average tasting Oreo cookies, the red velvet flavour is definitely lacking.
The cookies without the filing just tastes like every other Oreo. And while that isn’t necessarily bad, it isn’t that special either.
However, if you’re looking for the familiar taste of your favourite Oreo cookies with a little cream cheese twist, these limited edition treats are definitely worth a taste. Plus, for RM3.60? That’s a pretty good deal for some seasonal Oreos.
But don’t just take it from us, try these bad boys yourself at all 7-Eleven locations in Peninsular Malaysia (except Langkawi) and let us know what you think in the comments below! PSA: They’re also available at Jaya Grocer outlets.
Also read: There Are Now Official Oreo Flavoured Mooncakes for Sale & We Really Want to Try One!


AMP Ads Integration Guides
GUIDES
1 - Technical Best Practices
2 - Vendor Integration Status
3 - Monetization Best Practices
Guide 1 - Technical Best Practices
(open)
Guide 2 - Vendor Integration Status
(open)
Guide 3 - Monetization Best Practices
(open)


Figures published in Ofsted’s first stand-alone
Social Care Annual Report
show that of the 17 local authorities judged ‘inadequate’ in the past year, 11 had seen a new Director of Children’s Services recently installed while 12 had undergone another major change in senior leadership of one sort or another in the period prior to inspection.
Today’s report finds that in a climate of turbulence, increased workloads and intense scrutiny of children’s social care – much of it arising from public anxiety following a catalogue of high profile child deaths – many areas are struggling to improve their performance.
At the end of the first full three-year cycle of inspections, only four in 10 local authorities were judged to be ‘good’ or better for safeguarding children. And there are 20 local authorities (13% or one in seven) judged by Ofsted as ‘inadequate’ for their child protection arrangements at the time of their most recent inspection.
The report finds that the nationwide map of poor performance is complex and changing – with the group of authorities currently judged inadequate looking very different to that of July 2012.
However, inspectors have found that a persistent absence of stable leadership was a feature of most ‘inadequate’ local authorities. In these weakest places:
-
the most basic acceptable practice was not in place
-
supervision, management oversight, purposeful work with families and decisive action where children were at risk from harm were ineffective
-
the views of children and families were rarely considered
-
support from key statutory partners – health, police, schools – was weak and poorly co-ordinated; and
-
in some inadequate authorities, managers did not appear to have a firm understanding of what constituted good practice – making the management of risk and support for staff at the frontline almost impossible
Today’s report does find that some authorities have worked hard to ensure their services are more effective and better able to meet the needs of children and families in their areas. In these areas, leaders and managers had a clear understanding of what was going on at the front-line and had coherent and urgent plans in place to address identified areas of need.
And while successive reviews of individual failures have emphasised the need for system change, the report argues that social care only succeeds when it sees and hears children, understands the impact of abuse and neglect and listens to them when they call for help, no matter how difficult to interpret that call may be.
Ofsted is re-shaping its social care inspections and judging services on the difference professional practice is making to the child, young person or family. Inspectors will evaluate the performance of local authorities end to end: from first contact to leaving care and everything in between.
Launching today’s report, HM Chief Inspector, Sir Michael Wilshaw, said:
As it stands today there are 20 councils where the standard of child protection is unacceptably poor and judged to be inadequate.
Incompetent and ineffective leadership must be addressed quickly. But where those in leadership positions have capacity and potential, this must be recognised and nurtured.
Too much leadership volatility in social care is counter-productive – that goes without saying. One in three local authorities has had a change in their Director of Children’s Services last year alone. The combination of unstable communities and political and managerial instability in our social care services is a dangerous mix.
Ofsted’s National Director for Social Care, Debbie Jones, said:
The picture of performance we are publishing today shows there is clearly an on-going need for improvement.
Some services are increasingly expert at reducing risk, helping families to look after their children and enabling children at risk in their area to make good progress.
It can be done, and therefore it must be done in all areas, equally well. Ofsted will be rigorous in holding local councils and social care providers to account but we will also support them to make the improvements that children deserve.
Today’s Social Care Annual Report is the first to be published separately from Ofsted’s state of the nation commentary on its other remits. It finds that the performance of England’s children’s homes and other regulated services such as adoption and fostering has generally improved over recent years – with a high proportion currently judged good or better on the basis of meeting minimum standards. However, Ofsted does not believe these standards are ambitious enough for children and forthcoming changes to inspection frameworks in these areas will focus on how services are supporting young people to succeed – resulting most likely in less generous judgements.
Alongside the Annual Report, Ofsted’s online tool, Data View, today includes findings from social care inspections for the first time. Data View allows comparison of inspection findings on the performance over time of providers at national, regional, local authority and constituency level.
Notes to editors
-
The
Social Care Annual Report
is available on GOV.UK.
-
From Tuesday 15 October, social care inspection data is included on
Ofsted’s web tool Data View
.
-
Today’s report is underpinned by the findings of more than 4,500 inspections carried out during 2012/13 of local authority children’s social care, children’s homes, independent fostering services and voluntary adoption agencies, adoption support agencies, Cafcass service areas, secure training centres and residential family centres, as well as residential special schools, boarding schools and FE colleges with residential provision – providing a unique evidence base for the key conclusions.


Surveillance capitalism is a new term addressing the process of commodifying personal data with the core purpose of profit-making.https://en.wikipedia.org/wiki/Surveillance_capitalism
"Remember, the web, like the internet, has no centre. In theory I could start from any single A element, and by following all the forking paths, traverse the entire World Wide Web.
That opening hyperlink could be on your own website. One single A element can be the portal to an entire universe of knowledge."
Jeremy Keith, <A> - https://adactio.com/articles/10887
Pingback Spec - http://www.hixie.ch/specs/pingback/pingback


Expectations of people are more from those who work and deliver: PM Modi
The Prime Minister also said India was committed and working hard to become a $5 trillion economy.
Prime Minister Narendra Modi , on November 2, said that India has eliminated a big reason that sowed seeds of terrorism and separatism.
"You are aware that India has decided to eliminate a big reason behind sowing of seeds of terrorism and separatism," Modi said while addressing a community programme in Bangkok, Thailand .
After this reference to the abrogation of Article 370 from Jammu and Kashmir, he received a standing ovation from the
Indian diaspora.
Modi was quick to say that the ovation was for the Indian Parliament and its members. "When (a) decision is right, its echo is heard across the globe. And I can hear it in Thailand as well," he added.
The state of Jammu and Kashmir (J&K) ceased to exist at midnight on October 30 and was converted into two Union Territories (UTs). This comes 86 days after Parliament abrogated its special status provided under Article 370 on August 5.
Speaking to the Indian community at the 'Sawasdee PM Modi' event, the Prime Minister also expressed confidence about his government fulfilling aims that seemed impossible.
Expectations of people are more from those who work and deliver, he said, to which the audience responded with a huge round of applause.
Prime Minister Modi also spoke about the commitment of his government towards making India the promised $5 trillion economy. He said that India was working hard to achieve that goal.
In his speech, Modi also spoke about the opening of the Kartarpur Corridor and said that pilgrims will now be able to visit Kartarpur Sahib freely.
He also highlighted his government's achievements by referring to schemes like the Ujwala Yojana. He added that changes in the last five years are the reasons for the bigger mandate his government received in the 2019 Lok Sabha Elections.
The PM is in Thailand to attend the India-ASEAN summit. He is also expected to finalise the long-overdue Regional Comprehensive Economic Partnership (RCEP) on his visit.
(With inputs from PTI.)
Special Thursday Expiry on 10th 7th Nov
Early Closure to The Great Diwali Discount. Last Chance to get Moneycontrol PRO for a year @ Rs. 289/- only
Coupon code: DIWALI


Adrián Balseca is an artist who studies extractivist dynamics and their environmental impacts. Many of his proposals are associated with historical-economic processes that have been relevant for the consolidation of the modern development project. Balseca was selected for the 34th Bienal de São Paulo: Faz escuro mas eu canto (Though it’s dark, still I sing) (São Paulo, 2020) and the osloBIENNALEN First Edition (Oslo, 2019–2024). His most recent group and individual exhibitions includes: Cosmopolis #2: rethinking the human (Centre Pompidou, París, 2019); 21st Contemporary Art Biennial Sesc_Videobrasil | Imagined Communities (Sesc 24 de Maio, São Paulo, 2019); Contrainformación, 45 Salón Nacional de Artistas / Al revés de la trama (Galería Santa Fe, Bogotá, 2019); The Unbalanced Land (Galería Madragoa, Lisbon, 2019); Estela blanca (Ginsberg Galería, Lima, 2019); Portadores de Sentido. Arte contemporáneo en la Colección Patricia Phelps de Cisneros (Museo Amparo, Puebla, 2019); Draw a Line to Make a Landscape (Alexander and Bonin, New York, 2018); Horizonte de sucesos (OTR Espacio de Arte, Madrid, 2017); Energ(ética) (Monumento a los Héroes, Bogotá, 2017); Dura lex sed lex, BIENAL SUR (CCPE - Centro Cultural Parque España, Rosario, 2017); Horamen (Pre-Columbian Art Museum Casa del Alabado, Quito, 2017); The Skin of Labour (Galería Madragoa, Lisbon, 2016); Ultralocal (CEAAC, Strasbourg, 2016); Premio Nacional Nuevo Mariano Aguilera 2015-2016 (CAC, Quito, 2016).
In 2018, Balseca received an honorable mention in the 14th Bienal de Cuenca: Living Structures. Art as a plural experience. (Cuenca, 2018) and the award Premio de Producción de Video Arte Han Nefkens Foundation - CAC Quito (CAC, Quito, 2018). He has also been credited with several distinctions which include: Premio Nacional de Artes Mariano Aguilera 2015 - 2016 (CAC, Quito, 2015); Grants & Commissions Program 2015, Cisneros Fontanals Art Foundation (CIFO, Miami, 2015); Premio París, 12th Bienal de Cuenca: Ir para volver (Leaving to Return) (2014); Premio Brasil, (CAC, Quito, 2013), and the Honorable Mention at Salón Nacional Mariano Aguilera: (Des) figuraciones (CCM, Quito, 2007).
He was a founding member of the group La Selecta-Cooperativa Cultural, and formed part of the community art collective Tranvía Cero, both based in Quito.
Photo credit: © Fotografía David Coral


{% extends "layout.html" %} {% block content %}
This is a webserver, intentionally vulnerable to different flavors of pickle-based insecure deserialization.
This is vulnerable to remote code execution and is for informational purposes only!
Do not run this software on any production environment or environments that you do not want hacked.


"This is the image of Cheia DN1A road that takes you to Transylvania, here in Romania. Yes, THAT Transylvania. Or, as the legend says, this is the view that Count Dracula himself saw on his nocturnal flight."— Calin Stan


{% extends "base.html" %} {% block title %}{{ page.title }}{%endblock%} {% block description %}Theses of {{ SITENAME }}.{% endblock %} {% block page_picture %}{{ IMGURL }}/{{SITE_PICTURE}}{% endblock %} {% block content %} {% include 'blocks/breadcrumbs.html' %}
Below is an overview of PhD theses written or supervised by members of the group.


SQL injection and how to prevent it
SQL injection can cause real harm if you don't take the necessary precautions to prevent it
What is it?
SQL injection is a vulnerability where a user can inject valid SQL code into a user input field to manipulate or attack a SQL database. Any SQL database that does not use certain security best practices is vulnerable.
SQL injection is one of the top website security vulnerabilities.
What can programmers do to combat this issue?
The only way to prevent the success of SQL injection attacks is to use SQL parameters. The practice of "blacklisting" certain words is not a good idea as many of these words are necessary as valid input in a text field.
Building queries with parameters in SQL is not particularily difficult, but does differ depending on which language you are coding in. You should look up syntax for specific languages for more detailed information.
In general, you will use a ? as a marker for the injectible input. You can then sanitize the input before injecting it. Thus removing the ability of a hacker to access the database with a string of executable code.
Let's do something EPIC!


signal_watcher, signal_watcher_impl
// Members of dasynq::event_loop<T> instantiation: class signal_watcher; template <class Derived> class signal_watcher_impl; // : public signal_watcher;
signal_watcher
Brief: signal_watcher is a member type of the event_loop template class. It represents an event watcher for POSIX signal reception events; a registered signal_watcher will receive callbacks when its associated signal is received. The signal_watcher class should not be subclassed directly; the signal_watcher_impl template provides a means for subclassing.
Members
Types
- event_loop_t — the event loop type that this watcher registers with.
- siginfo_p — a receiver type for signal parameters / information. May be a reference type.
Constructors
- signal_watcher() — default constructor.
Functions
- (#1) void add_watch(event_loop_t &eloop, int signo, int prio = DEFAULT_PRIORITY)
— register a watcher with an event loop. signo specifies the signal to watch. May throw std::bad_alloc or std::system_error. - (#2) template <typename T>
static signal_watcher<event_loop_t> *add_watch(event_loop_t &eloop, int signo, T watch_hndlr)
— add a dynamically-allocated watch with the specified callback. The watch is automatically deleted when removed. See details below. - void deregister(event_loop_t &eloop) noexcept
— request removal from the event loop. - virtual void watch_removed() noexcept — called when the watcher has been removed from the event loop.
Details and Usage
Note: also see the watcher constraints section.
A signal_watcher implementation receives notification of delivery of the chosen POSIX signal. An application should establish a separate signal_watcher for each signal it wishes to monitor.
A signal should be (and should remain) blocked in all threads prior to registration of a watcher for the signal (this can be achieved using sigprocmask or pthread_sigmask). Threads inherit their signal mask from their creator; threads created by libraries should always have all signals blocked, but there may be badly-behaved libraries which fail to adhere to this rule. Therefore, it is recommended to block required signals early in the application lifetime (before initialising other libraries) if possible.
Note that signals are consumed before the watcher callback is called. A watched signal should not be
consumed by any means any other polling the event loop (i.e. should not be unblocked, and should not
be consumed using sigwaitinfo or similar functions).
Note: Dasynq in general does its best to work correctly when signals are
consumed outside the event loop. However on some systems, especially those lacking realtime signal
extensions (such as MacOS and OpenBSD), an unavoidable race condition occurs when a watched signal is
consumed in a different thread while the loop is being polled, which may lead to a deadlock).
Subclassing signal_watcher
To specify callback behaviour, signal_watcher can be subclassed — however, it should not be directly subclassed; instead, use the signal_watcher_impl implementation wrapper template.
add_watch (#2)
// member of dasynq::event_loop<T>::signal_watcher template <typename T> static signal_watcher<event_loop_t> *add_watch(event_loop_t &eloop, int signo, T watch_hndlr);
This variant of the add_watch function can be used to create and register a dynamically-allocated signal_watcher. The first two parameters are the same as for add_watch(#1). The watch_hndlr parameter is a function or lambda of the form:
[](event_loop_t &eloop, int signo, siginfo_p siginfo) -> rearm { ... }
It acts as the callback function for the generated watcher. The watcher will delete itself when it is removed from the event loop.
This function can throw std::system_error or std::bad_alloc on failure.
signal_watcher_impl
Brief: The signal_watcher_impl provides a basis for implementing signal_watcher, using the "curiously recurring template pattern". Instead of subclassing signal_watcher directly, subclass an instantiation of signal_watcher_impl with the template parameter specified as the subclass itself. For example:
class my_watcher : public event_loop_t::signal_watcher_impl<my_watcher> { // ... }
Details and Usage
The callback function must be provided in the subclass and named received, with a signature compatible with the following:
rearm received(event_loop_t & loop, int signo, siginfo_p siginfo) noexcept;
The received function must be public, but need not be virtual. It will be called with the following parameters:
- loop — a reference to the event loop.
- signo — the signal number.
- siginfo — the signal data associated with the delivered signal instance.
The return value specifies the rearm action.
A signal_watcher_impl instantiation has no public or protected members, other than those inherited from signal_watcher, which it publicly derives from.
siginfo_p - dasynq::event_loop<T>::signal_watcher::siginfo_p
class siginfo_p // may be a typedef { // mandatory functions: int get_signo(); // si_signo : signal number int get_sicode(); // si_code pid_t get_sipid(); // si_pid uid_t get_siuid(); // si_uid void * get_siaddr(); // si_addr int get_sistatus(); // si_status int get_sival_int(); // si_value.sival_int void * get_sival_ptr(); // si_value.sival_ptr // optional functions as per POSIX: int get_sierrno(); // si_errno int get_siband(); // si_band (not available on OpenBSD) // Linux-only functions: int get_sifd(); // si_fd int get_sitimerid(); // si_timerid int get_sioverrun(); // si_overrun int get_sitrapno(); // si_trapno clock_t get_siutime(); // si_utime clock_t get_sistime(); // si_stime short get_siaddr_lsb(); // si_addr_lsb // Other functions may be present. };
Details
The siginfo_p type is used to pass signal data as a function parameter. It may be a reference type. It is intended to be (or be a reference to) a wrapper around the POSIX siginfo_t type; various functions are available to retrieve the standard si_-prefixed data members.
Because different platforms tend to expose different members, this type may define different functions on different platforms. However, the "mandatory" functions should be available on all platforms, and other functions which provide access to POSIX-specified data members should be available if the corresponding POSIX functionality is present.


Finally, Bayelsa PDP Governorship Candidate Votes
by George OgboluThe Governorship candidate of the Peoples Democratic Party (PDP), Senator Douye Diri, alongside his wife have cast their vote in the Bayelsa Guber election.
Naija News reports that they cast their vote at Polling Unit Unit 4 and Unit 3 respectively at about 10.30 am in Yenagua, Bayelsa State.
Speaking to newsmen after voting, Senator Diri said election at Ward 6, Unit 4 had been peaceful.
He, however, stated that reports from other areas showed that there were pockets of violence, especially in Nembe Bassambiri.
“I can only talk about my immediate community and local government as being peaceful and not about other areas in the state. APC is coming with thugs denying PDP members and agents access into Nembe, Bassambiri,” he said.


Syntax:
nconc &rest lists => concatenated-list
Arguments and Values:
list---each but the last must be a list (which might be a dotted list but must not be a circular list); the last list may be any object.
concatenated-list---a list.
Description:
Returns a list that is the concatenation of lists. If no lists are supplied, (nconc) returns nil. nconc is defined using the following recursive relationship:
(nconc) => () (nconc nil . lists) == (nconc . lists) (nconc list) => list (nconc list-1 list-2) == (progn (rplacd (last list-1) list-2) list-1) (nconc list-1 list-2 . lists) == (nconc (nconc list-1 list-2) . lists)
Examples:
(nconc) => NIL (setq x '(a b c)) => (A B C) (setq y '(d e f)) => (D E F) (nconc x y) => (A B C D E F) x => (A B C D E F)Note, in the example, that the value of x is now different, since its last cons has been rplacd'd to the value of y. If (nconc x y) were evaluated again, it would yield a piece of a circular list, whose printed representation would be (A B C D E F D E F D E F ...), repeating forever; if the *print-circle* switch were non-nil, it would be printed as (A B C . #1=(D E F . #1#)).
(setq foo (list 'a 'b 'c 'd 'e) bar (list 'f 'g 'h 'i 'j) baz (list 'k 'l 'm)) => (K L M) (setq foo (nconc foo bar baz)) => (A B C D E F G H I J K L M) foo => (A B C D E F G H I J K L M) bar => (F G H I J K L M) baz => (K L M) (setq foo (list 'a 'b 'c 'd 'e) bar (list 'f 'g 'h 'i 'j) baz (list 'k 'l 'm)) => (K L M) (setq foo (nconc nil foo bar nil baz)) => (A B C D E F G H I J K L M) foo => (A B C D E F G H I J K L M) bar => (F G H I J K L M) baz => (K L M)
Side Effects:
The lists are modified rather than copied.
Affected By: None.
Exceptional Situations: None.
See Also:
Notes: None.


Checking the keyboard via the PIAThis tutorial will initiate you into the mysteries of how you can read the keyboard by checking the keyboard PIA (Peripheral Interface Adapter) directly, without having to resort to calling the POLCAT routine in the Color Basic ROM via JSR [$A000]. This method is, in fact, what POLCAT itself uses. A reasonable question to consider at this point is WHY, when we have POLCAT, would we ever want to use any other method for getting keyboard input? There are several answers. There are a number of situations where using POLCAT is much less efficient than need be. A typical situation is where the program we are designing needs to detect whether a specific key is being held down. POLCAT will detect only a new keypress, not whether a key detected on a previous call to POLCAT is still being held down. (This can be gotten around by shoving $FF’s into the keyboard rollover table at $152-159 to make POLCAT “forget” the previous detection of the key, a principle used in many key-repeat routines, but that is another story.) Further, in many cases, there is no need to determine WHAT particular key is down, but simply whether (say) the left arrow key is down or not. The method I am about to outline will allow a test for a specific key that involves a great deal less processing time than does the full determination of what key has been pressed. In addition, the method allows a very fast check of whether or not there is ANY key that is being currently held down. Another limitation of POLCAT that the method of directly checking the keyboard PIA gets around is that POLCAT is useless for determining whether the shift key, by itself, has been pressed. The current topic is one of those where some rudimentary hardware description is helpful. The CoCo contains a matrix keyboard consisting internally of 8 column and 7 row connections. Each key has its own unique row/column combination. When the key is pressed, the two wires corresponding to its column and its row are electrically connected to one another. The 8 columns are connected to a particular 8 pins on the keyboard PIA chip. This fact causes the voltages applied to the 8 keyboard columns to individually reflect the status of the 8 bits of location $FF02. If you stick a 1 into a particular bit of $FF02, the corresponding column of the keyboard will be held at +5 volts; if you put a zero into this bit, the keyboard column will be grounded, that is, held at 0 volts. Location $FF02 is used here as an output; that is, it is written to rather than read. Now let us consider the seven keyboard row connections. These connect with seven other pins on the same PIA that are used as inputs rather than outputs. These seven input connections correspond to bits 0-6 of location $FF00. (The remaining bit 7 of $FF00 is used in connection with reading the joysticks, and is not affected by keyboard status.) These pins are normally kept at +5 volts, (so that the lower 7 bits of $FF00 all normally contain ones) EXCEPT when one of them is connected to ground by virtue of a key on the keyboard having been pressed. That is, if a keypress connects a row input with a column output that is at 0 volts (because the corresponding bit in $FF02 has been set to zero), the relevant row input bit in $FF00 will also assume a value of 0 instead of its normal value of 1. We now have all the information necessary for seeing how to detect whether a particular key is down, provided we know its row and column positions in the keyboard matrix. Suppose we wish to check the left arrow key’s status. This key happens to occupy Column 5 and Row 3 in the matrix. So, what we have to do is ground Column 5 only (bit 5 of $FF02), and then check whether Row 3 (bit 3 of $FF00) has also become grounded. If it has, we know the left arrow key is currently down. The code that accomplishes this is the following:
Note that the percent-sign notation I’ve used here to represent binary quantities is for clarity, and is illegal in the Edtasm+ assembler, though legal in some other assemblers. Legal Edtasm+ translations of the two illegal instructions would be LDA #$DF and ANDA #8. Note that the LDA instruction has ones in all bits EXCEPT the one corresponding to the keyboard column you’re grounding, whereas the ANDA instruction puts a one ONLY in the bit corresponding to the keyboard row you’re checking. (Refer to Tutorial A2 if you need a refresher on how the AND instruction works. ANDA #%00001000 sets all bit positions except bit 3 of the A-register to zero, and leaves bit 3 unchanged from its previous status. Recall that bits are numbered from 0 to 7, with bit 0 as the rightmost bit.) Here is a table showing the layout of the keyboard matrix:
In parentheses, I’ve added for each column what quantity to put in $FF02, and for each row, what quantity to AND the contents of $FF00 with. Note that the last row includes the ALT, CTRL, F1, and F2 keys that are on the '$4.95 keyboard' (Model 277-1019) sold by Radio Shack for a time and left over from the aborted 'Deluxe CoCo'. A last topic is how to use the PIA to check very efficiently whether ANY key at all is being currently held down. To accomplish this, we need to ground ALL the keyboard columns (all bits of $FF02) simultaneously, and check whether there is a zero in ANY of the row bits (the lower 7 bits of $FF00):
(A slightly more efficient, though harder to understand, version of the above code uses the instructions COMA, ASLA in place of ANDA #$7F, CMPA #$7F. This version is used in the fast break key check in the 1.2 Color Basic ROM at $A1C1 and is solely responsible for why this ROM runs BASIC programs a bit faster than 1.0 or 1.1 Color Basic.) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| (c) 1986 Arthur J. Flexser |


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/streams.html ---
Pretty much every public stream we have here either has the property that it has 1000+ subscribers (including #rss, which I suspect most people have no interest in) or less than 100 (including #Geographic locality , which is perhaps a stream that more people would be interested in). What is going on here? When a new user appears, which streams are they automatically subscribed to? I had no idea that the #Is there code for X? stream existed until just now. Is it possible to change it so that a new user does not get subscribed to #rss but does get subscribed to #Geographic locality ?
It is also often the case that new users appear and instantly ask "is representation theory / graph theory / ... in Lean?".
To everyone: clicking on the cog to the right of the word "STREAMS" in the left hand pane shows you a list of all public streams.
The default streams are announce, general, maths, new members, rss
How about we add Geographic locality? It's super-low-traffic and people might be interested to hear about local Leaners. And should we remove rss?
This really is a misfeature of Zulip imo, at least for this kind of communities. Just subscribe everyone to everything (maybe opt-out per stream) and let them mute things they don't care about...
e.g. if a random Cambridge UK undergrad subscribes then they will see that there is this weekly Cambridge meeting, and one could imagine that more such meetings could happen organically if a couple of people from the same uni appear.
what is the story for discoverability of non-default streams though? I would rather sign everyone up for everything and let them pick what is too chatty
One way of discovering them is for Patrick to randomly mention one when talking about Bolzano-Weierstrass.
in theory you can catch the stream creation event in #announce but how often is that?
We could of course force-subscribe existing users to streams of general interest retroactively...
Why not subscribe everyone to Geographic locality and see what happens?
I'm pretty sure nothing will happen
unless there is traffic on the stream no one will even notice
Someone new will look at it, post where they are, and then maybe a bunch of people will. I think that local communities are really important.
Actually I feel like most of Zulip's defaults are messed up... getting notifications for every message in a stream should be opt-in, not opt-out (mute).
Look at all that topos stuff which the Cambridge people have done. If some new Cambridge kid appears, some smart UG, they play with Lean a bit and then maybe they go on to other things, but then if they notice the meetings they might show up there.
certainly this is a problem for Geographic locality since you probably want to mute all topics except your locality
But this is a very low traffic stream.
That's another missing feature, unmuting a topic in a muted stream
If I've ever forgotten to reply to a discussion without someone tagging me, that's exactly what happened...
I added geographic locality and is there code for X to default streams, but I haven't done any retroactive signups
Following topics might be resolved by https://github.com/zulip/zulip/issues/12309
Looks like the Rust and Julia people are flagging many issues in that direction, e.g. https://github.com/zulip/zulip/issues/11864
Why not retroactive geographic locality? It will just randomly appear on the left for 1000 people but that won't cause some huge disruption, especially as it's quiet.
no reason, I just don't want to look into it right now
it sounds like a lot of work
Oh!
Sorry, I thought it was just a tick in a box.
maybe it is, I will check tomorrow
Thanks.
Urghh. It's trivial to subscribe everyone to a new stream, but not to an existing one...
Ok, looks like that worked.
$ curl -sS https://leanprover.zulipchat.com/api/v1/users -u $ZULIP_EMAIL:$ZULIP_API_KEY | jq -c '.members | map(select(.is_active) | .email)' | curl -sS https://leanprover.zulipchat.com/api/v1/users/me/subscriptions -u $ZULIP_EMAIL:$ZULIP_API_KEY --data-urlencode subscriptions='[{"name": "Geographic locality"}]' --data-urlencode principals@-
And @Kenny Lau even pinged all 1732 members already, just in time
so zulip has an unsecure api
Do you see the ZULIP_API_KEY
there?
do you get an email when you get subscribed to a stream?
I will run some Lean stuff over the summer. It was supposed to be at Imperial but now we have this lockdown I suspect I'll have to run it online. When it's all set up and I have something to offer, I can add The Internet
Marc Huisinga said:
do you get an email when you get subscribed to a stream?
I hope not, I've never gotten an email from Zulip except for "OMG you're using a new PC!". But otherwise I'm sure people will let us know very soon.
I've only got a private message from the notification bot that Sebastian has personally invited me to the stream.
hello, I'm here because of an email about getting subscribed
oops
oh no
Yeah, apparently you do get an email if you're not active... but the same would have happened with a new stream, I don't see how to avoid it
Well, that's a lot more positive than negative feedback than I feared!
Yeah I think it worked out quite nicely! Thanks Sebastian.
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


import logging
import aio_pika
import aiormq
import asyncio
import copy
from dataclasses import asdict as dataclass_asdict
from typing import Optional, Any, Dict
from spantools import (
MimeTypeTolerant,
DecoderIndexType,
EncoderIndexType,
DEFAULT_DECODERS,
DEFAULT_ENCODERS,
EncoderType,
DecoderType,
MimeType,
DataSchemaType,
)
from ._errors import ConfirmOutgoingError
from ._incoming_outgoing import Incoming, Outgoing
from ._configuration import QueueOptions, ConnectionSettings
[docs]class SpanScribe:
"""
Core class for interacting with a aio_pika connection. This class is intended to
be used by producers, and also supplies the underlying logic for
:class:`SpanConsumer`. It allows both producers and consumers to share the same
underlying logic.
"""
def __init__(
self,
settings: Optional[ConnectionSettings] = None,
loop: Optional[asyncio.AbstractEventLoop] = None,
):
"""
:param settings: Settings class containing RabbitMQ connection info. If
``None``, default RabbitMQ settings are assumed.
:param loop: Event loop to use in connection. If None, current event loop is
used.
"""
if settings is None:
settings = ConnectionSettings()
if loop is None:
loop = asyncio.get_event_loop()
self.settings: ConnectionSettings = settings
"""Settings class passed to init."""
self.loop: asyncio.AbstractEventLoop = loop
self.connection: aio_pika.Connection = None # type: ignore
self.channel: aio_pika.RobustChannel = None # type: ignore
"""Async event loop."""
self._queues: Dict[str, aio_pika.Queue] = dict()
self._encoders: EncoderIndexType = copy.copy(DEFAULT_ENCODERS)
self._decoders: DecoderIndexType = copy.copy(DEFAULT_DECODERS)
[docs] async def connect_to_rabbit(self) -> aio_pika.Connection:
"""
Try forever to connect to rabbit.
"""
logger = logging.root
while True:
try:
self.connection = await aio_pika.connect_robust(
host=self.settings.host,
port=self.settings.port,
login=self.settings.login,
password=self.settings.password,
loop=self.loop,
)
except (aiormq.exceptions.IncompatibleProtocolError, ConnectionError):
logger.error("RABBITMQ CONNECTION FAILED. RETRYING IN 1S")
await asyncio.sleep(1)
else:
logger.info("CONNECTION ESTABLISHED TO RABBITMQ")
return self.connection
[docs] async def close_connection(self) -> None:
"""Close RabbitMQ connection and clean up settings."""
await self.connection.close()
self.connection = None # type: ignore
self.channel = None # type: ignore
self._queues.clear()
[docs] async def get_channel(self) -> aio_pika.RobustChannel:
"""Once Connected, get channel"""
logger = logging.root
try:
self.channel = await self.connection.channel()
except AttributeError:
raise RuntimeError("Connection is not established")
logger.info("RABBITMQ CHANNEL ESTABLISHED")
return self.channel
[docs] async def get_queue(
self, routing_key: str, queue_options: Optional[QueueOptions] = None
) -> aio_pika.Queue:
"""
Set up worker queue or get previously declared one using this connection.
:param routing_key: of queue.
:param queue_options: Options for pika queue creation.
:return: Requested queue.
"""
try:
return self._queues[routing_key]
except KeyError:
pass
if queue_options is None:
queue_options = QueueOptions()
queue_kwargs = dataclass_asdict(queue_options)
logger = logging.root
while True:
try:
queue = await self.channel.declare_queue(routing_key, **queue_kwargs)
except AttributeError:
if self.connection is None:
raise RuntimeError("Connection is not established")
else:
await self.get_channel()
else:
logger.info(f"RABBITMQ `{routing_key}` QUEUE DECLARED")
break
self._queues[routing_key] = queue
return queue
[docs] async def pull_message(
self,
routing_key: str,
schema: Optional[DataSchemaType] = None,
max_empty_retries: int = 0,
queue_options: Optional[QueueOptions] = None,
) -> Incoming:
"""
Pull and deserialize message from RabbitMQ.
:param routing_key: Queue to pull from.
:param schema: Custom Schema or function to use when deserializing body.
:param max_empty_retries: Maximum time to retry an empty queue. 0.5 seconds
waited between each retry.
:param queue_options: Options for pika queue creation.
:return: Message, deserialized body.
This method should NOT be used as a general way of fetching messages in
production, but is included for testing purposes.
"""
queue = await self.get_queue(routing_key, queue_options=queue_options)
message = None
tries = 0
while message is None and tries <= max_empty_retries:
message = await queue.get(fail=False)
if message is None:
await asyncio.sleep(0.5)
tries += 1
if message is None:
raise aio_pika.exceptions.QueueEmpty
incoming: Incoming = Incoming(
message=message, schema=schema, _decoders=self._decoders
)
return incoming
[docs] async def put_message(
self,
routing_key: str,
message: Any,
*,
headers: Optional[Dict[str, Any]] = None,
schema: Optional[DataSchemaType] = None,
mimetype: MimeTypeTolerant = None,
message_kwargs: Optional[Dict[str, Any]] = None,
queue_options: Optional[QueueOptions] = None,
) -> Optional[aiormq.types.ConfirmationFrameType]:
"""
Serialize and publish message to default exchange.
:param routing_key: Queue to publish to.
:param message: aio_pika.Message or body to be serialized into a message.
Default messages are created in PERSISTENT delivery mode.
:param headers: Headers to include in message.
:param schema: Custom schema or function to use when serializing body.
:param mimetype: Format to encode message.
:param message_kwargs: Passed to ``aio_pika.Message`` when generating a message.
:param queue_options: Options for pika queue creation.
:return:
"""
if not isinstance(message, Outgoing):
if message_kwargs is None:
message_kwargs = dict()
if headers is None:
headers = dict()
message = Outgoing(
_encoders=self._encoders,
media=message,
message_kwargs=message_kwargs,
mimetype=mimetype,
headers=headers,
schema=schema,
)
output_message = message.generate_message()
# Declare the queue if it doesnt exist. This will also create the channel if
# needed.
await self.get_queue(routing_key, queue_options=queue_options)
assert self.channel.default_exchange is not None
result = await self.channel.default_exchange.publish(
message=output_message, routing_key=routing_key
)
if not result:
raise ConfirmOutgoingError
else:
return result
[docs] def register_mimetype(
self, mimetype: MimeTypeTolerant, encoder: EncoderType, decoder: DecoderType
) -> None:
"""
Registers encoder and decoder function for a given mimetype.
:param mimetype: to register for ex: ``'text/csv'``.
:param encoder: Encodes mimetype data to binary.
:param decoder: Decodes mimetype data to binary.
:return:
"""
try:
mimetype = MimeType.from_name(mimetype)
except ValueError:
pass
self._encoders[mimetype] = encoder
self._decoders[mimetype] = decoder


Social Entrepreneurship for the Future of Work: Co-creating a Healthier Economy & Workforce in Williamson, West Virginia
Benjamin J. Beers
<EMAIL_ADDRESS>Specialist, Knowledge, Echoing Green
Chisato F. Calvert, Ph.D.
<EMAIL_ADDRESS>Director of Strategic Partnerships, Impact Experience
Liza Mueller
<EMAIL_ADDRESS>Vice President, Knowledge, Echoing Green
Jenna A. Nicholas
<EMAIL_ADDRESS>Chief Executive Officer, Impact Experience
Abstract
While workforce development initiatives are often designed from the top-down, a human-centered approach calls for decision-making authority on economic policies to be shared with the communities engaged – an approach which social entrepreneurs have been bringing to their work for decades. Echoing Green, an organization with thirty years of experience investing and support the growth of early-stage social entrepreneurs, has observed this approach succeed time-and-time again. To do this work well requires investment in community leaders deeply embedded in the constituencies they serve. Impact Experience, recipients of the 2018 Echoing Green Fellowship, have brought a human centered approach to their work with twenty communities across the United States on themes from climate resilience, community cohesion, and ecosystem building - all within a framework of building a more equitable, inclusive, and sustainable workforce and workplace. This paper highlights the progress and successes from Impact Experience’s work in Williamson, West Virginia – a town working to overcome challenges stemming from the decline of the coal industry – to both show the viability of Impact Experience’s local organizing model as well as illuminate the contributions social entrepreneurship can make to promote an inclusive future of work.
Introduction
In the report “Work for a Brighter Future,” the International Labour Organization called for a human-centered agenda to ensure the future of work is designed to “drive growth, equity, and sustainability for present and future generations.” To achieve the targets of Sustainable Development Goal 8 – Decent Work and Economic Growth – will require a systemic coalition of effort across all sectors and industries.
Social entrepreneurship – and the leaders who represent this movement of socially conscious businesses and non-profit organizations – have been on the front lines of implementing impact-first and human-centered design work for decades. With proper investment, social entrepreneurs can build equitable and locally sustainable organizations whose primary measurement of success is their ability to transform their constituents and communities for the better. As other industries seek to bring this perspective into their work, social entrepreneurs can be an invaluable resource.
To steward the future of work, Echoing Green believes that the global community must not only strengthen people’s rights and opportunities in economies as they exist today, but also invest heavily in leaders with a vision for what the economies and societies of the future must become. Social entrepreneurs are leading the way towards a future of work that is equitable and designed to meet human needs first and foremost. These leaders already exist in communities throughout the world. With support, they are ready to build new, collaborative alternatives to address worker displacement, combat climate change, challenge the centralization of wealth and power, and empower those repressed by gender, racial, and other forms of systemic social oppression.
Impact Experience is an example of one such organization. Impact Experience is a social impact organization focused on building bridges and deepening relationships between impact investors, philanthropists, entrepreneurs and community leaders to co-develop solutions that align with the community’s vision. Through their work in Williamson, West Virginia, they have engaged in a community-driven process to design an equitable and inclusive future for the city, already attracting more than $8 million USD in new funding, including capital for initiatives on workforce development, healthcare and wellness, and community facilities and creating nearly 300 jobs. Their successes represent the potential of inclusive social entrepreneurship; a model we believe can make positive change if implemented across the world.
Disucssion
In Williamson, West Virginia, over 2,000 coal workers – nearly 25% of the town’s workforce – have lost their jobs since 2014. The decline of the coal industry and a lack of sustainable alternatives has left many people uncertain about their day-to-day financial stability and has contributed to a growing public health crisis in the area. Mingo County, where Williamson is located, struggles with some of the highest rates of diabetes, hypertension, and opioid abuse in the United States.
In response to these challenges, Impact Experience has brought together the Williamson community, investors, philanthropists, and innovators in a series of workshops to co-develop the future of the city in an equitable and inclusive way. By bringing together diverse stakeholders to co-create a citywide development, Impact Experience demonstrated an innovative and collaborative approach to drafting inclusive economic policy. Over the course of five years, they worked to generate trust amongst one another through a series of facilitated conversations that explored implicit bias and aligned personal and professional values– a necessary step for the Williamson community who experienced years of economic extraction and outside interests with little investment in the long-term wellbeing of their community. The trust-building phase was critical to ensure that any economic development plans would respect their community’s values as well as Appalachian culture, heritage, and history.
This trust developed into a working partnership where all participants contributed to the creation of a citywide development plan. Utilizing facilitation tools such as consensus building and design thinking, they co-identified challenges to the community as well as opportunities to address them. Beyond simply having surface-level conversations, Impact Experience emphasized the need to have deep conversations about how to build an equitable, inclusive, and sustainable workforce. Some of the key questions explored include:
- What defines quality work for your community?
- What new skills are required for a new labor force to partake in dignified work?
- How can our development plan ensure that people across race, class, and socioeconomic status are engaged, respected, and provided with opportunities?
- How does technological innovation help or disrupt an existing labor-market dynamic?
By delving into difficult topics and engaging a variety of stakeholders with established trust, the group was able to express their needs, generate insights, identify resources, and discover areas of expertise that might otherwise have gone unrealized. At the end of this collaborative design process, the community emerged with a roadmap to diversify the local economy, develop the workforce needed to implement it, and ensure that accountability and ownership was vested in local leaders so the solutions could be controlled by the community and sustained long-term. The Impact Experience model serves as a replicable solution for rolling out a multistakeholder approach to map SDG 8 targets at a local level.
Acting on the development plan, the Williamson community and external stakeholders supported the development of a Federally Qualified Healthcare Center, a health innovation hub, and a mobile farmers market – generating nearly 300 jobs for former coal workers as well as serving the health needs of over 20,000 patients who live under the poverty line. Impact Experience helped attract an additional $8 million USD for projects ranging from workforce development in the health and solar energy industries, broadband infrastructure projects, and investment in ecotourism projects. As a result, the Williamson community has been able to achieve the following outcomes:
- Workforce Development: training former coal miners in the skills needed for employment in diverse sectors including agriculture, computer science, renewable energy and construction.
- Rural Healthcare: the development of the Williamson Health and Wellness Center, a Federally Qualified Healthcare Center that provides over 20,000 local residents across Mingo County with comprehensive healthcare and wellness programs.
- Wellness Programs: local healthcare leaders are building several programs including a diabetes intervention program, mobile farmers market, and a new fitness center.
- Community Facilities: the Williamson Health and Wellness Center purchased a new facility with meeting spaces, providing community members with the opportunity to connect with entrepreneurs who are supporting the growth of the local economy.
Williamson, West Virginia demonstrates what the future of work will look like: a broader shift away from traditional extraction economies towards new, innovative and sustainable industries. The future of work will require us to follow their lead, rethinking and redefining what it means to work, how to build a workforce, and what comprises a dignified workplace.
Conclusion
To truly reframe the future of work, investment must be made in leaders willing to challenge the practices of existing, exploitative industries and build the economies of the future – implemented in full, contextual understanding of how disruptions to current economic systems can have detrimental effects, particularly in oppressed communities which all too often shoulder the burden.
Impact Experience’s engagement approach of generating trust among diverse stakeholders, building consensus for a collaboratively designed strategy, and ensuring local sustainability is applicable to communities across the globe. Their model and experience in doing this work is illustrative of multiple recommendations that should be adopted across the ecosystem of institutions involved in workforce development.
First, policy makers should be consistently engaging diverse stakeholders across multiple sectors to collaboratively envision the future of the community. This helps guarantee that work and workforce development is owned and shaped by community leaders with a robust network of resources – both financial and human capital – behind them. Without a strong network of support that bridges across sectors, disciplines, and geographical regions, historically marginalized communities will continue to bear the burden of structural inequalities designed to suppress the potential to obtain decent work, steady income, and a sustainable livelihood.
Second, to fulfill the ILO’s vision of implementing human-centered design to improve the future of work, governments, investors, foundations and philanthropy should look to, elevate, and partner to deploy the solutions social entrepreneurs are building across the world. In particular, social entrepreneurs who display a commitment to equity, a focus on sustainability, and, perhaps most importantly, who are building organizations designed to grant power and decision-making authority to the constituents whom they represent and serve.
Third, increased investment in early-stage social enterprises led by local leaders, deeply invested in their communities’ unique needs, is needed to drive change and achieve SDG 8.3. Innovation cannot be entrusted to institutions with embedded financial and social stakes in the continuation of a harmful or biased status quo. What Impact Experience, in collaboration with local partners accomplished, in Williamson, West Virginia – and what social entrepreneurs across the world strive to accomplish every day – serves as an example and a model for an evolved future of work where businesses and organizations center equity, sustainability, and human needs at the very core of their operations. As trends in both the nonprofit and for-profit sectors point towards an increased centralization of economic power, social entrepreneurship serves as a counterexample: vesting power and financial resources in can deliver transformational impact.
Echoing Green’s research has found that social enterprises pursue funds across the spectrum of possible sources, regardless of corporate form. This underscores the importance of funders’ and investors’ work to design fair, inclusive processes as they determine who and what to fund, including the creation of new models of risk assessment for investment in innovative solutions be developed. These new, innovative organizations understand that traditional risk assessment that focuses solely on economic growth is shortsighted, knowing that the social, environmental and economic challenges of today will be far costlier to address if the problems are left to grow worse. Social entrepreneurs understand that success must not be defined solely in terms of profitability or financial stability – a framework often implemented to prevent investment in areas desperately in-need of such support – but must prioritize how investments improve the lives of people.
Whether it is in West Virginia, New York City, or Nairobi, social entrepreneurs in Echoing Green’s community are already calling for change when it comes to the future of work. In a roundtable discussion with more than 10 NYC-based Fellows in 2017, these key issues and ideas were apparent in the conversation and a final report, “How will New York City Define the Future of Work?” in partnership with Barclays. Putting people at the center of these workforce solutions is the key to overcoming our challenges, no matter where they live.
Social entrepreneurship has the potential to reshape the future of work and strengthen the social contract where existing economic structures have fallen short – yet it will not do so without global support and a willingness to thoughtfully transition economic power and decision-making toward community-based leadership.
The good news is that leaders willing and knowledgeable about how to do so already exist – they are willing and able to begin their work today, if given the critical support they need. In addition to financial investment and resources, we must create a community of learning and support for next generation leaders who are building and operating the businesses that are on the front lines of creating new, socially responsible businesses dedicated to racial, economic, and social justice. This transformation will not happen overnight: it is a long-term investment in the development of leaders who, day by day, do the important work of building a new, collaborative and sustainable economy.
Acknowledgements
Impact Experience (www.impact-experience.com)
Participants of the West Virginia Impact Experiences
Dr. Donovan Beckett at the Williamson Health and Wellness Center
Williamson Health and Wellness Center
(www.williamsonhealthwellness.com)
Echoing Green (www.echoinggreen.org)
Barclays
-
“Work for a Brighter Future.” Global Commission on the Future of Work: Work for a Brighter Future, International Labour Organization 2019, 22 Jan. 2019, www.ilo.org/global/publications/books/WCMS_662410/lang--en/index.html
-
“State of Social Entrepreneurship 2019.” Echoing Green, 10 Apr. 2019, www.echoinggreen.org/ideas/state-social-entrepreneurship-2019.
-
“No.8 Skills Policies and Systems for a Future Workforce.” Issue Briefs: No.8 Skills Policies and Systems for a Future Workforce, 2nd Meeting of the Global Commission on the Future of Work, 20 Feb. 2018, www.ilo.org/global/topics/future-of-work/publications/issue-briefs/WCMS_618170/lang--en/index.htm.
-
“State of Social Entrepreneurship 2018” Echoing Green, 10 April 2018, https://www.echoinggreen.org/ideas/state-social-entrepreneurship-2018
-
“How Will New York City Define the Future of Work?” Echoing Green, 28 May 2019, www.echoinggreen.org/ideas/how-will-new-york-city-define-future-work.


Interesting take on scaling MonoRails from @a_matsuda. Good reminder that there's often multiple ways to solve a given problem. #rubyonales
3/5/2015, 3:15:06 PM
Favs: 4
Retweets: 3
link--- layout: tweet ---
Interesting take on scaling MonoRails from @a_matsuda. Good reminder that there's often multiple ways to solve a given problem. #rubyonales
3/5/2015, 3:15:06 PM
Favs: 4
Retweets: 3
link


Custom Toolbar : {{platform.ANDROID}} {{platform.isBrowser}}First Side BarEnd Side BarShiba InuDog Breed
The Shiba Inu is the smallest of the six original and distinct spitz breeds of dog from Japan.
A small, agile dog that copes very well with mountainous terrain, the Shiba Inu was originally
bred for hunting.