{% extends 'layout-2-1-bleedbar.html' %} {% block title -%} {{ _('Why financial well-being?') }} {%- endblock %} {% block desc -%} {{ _('Learn about the financial well-being scale and why we created it.') }} {%- endblock %} {% block og_desc -%} {{ _('Learn about the financial well-being scale and why we created it.') }} {%- endblock %} {% block og_image %} {% endblock %} {% block pre_content %}
{% if (current_language == 'en') %} Ver página en español {% else %} View page in English {% endif %}
{{ _('At the CFPB, we work to help consumers like you take control of your financial life to reach your own life goals,') }} {{ _('achieve financial peace of mind, and avoid pitfalls that can derail you.') }}
{{ _('The ultimate goal of our work is to help you improve your financial well-being.') }} {{ _('Financial well-being means how much your financial situation and money choices provide you with security and freedom of choice.') }}
{{ _('We developed a questionnaire and a scoring method as a tool that can help you take stock of your financial well-being.') }}
{{ _('Maybe you’re planning to take action to improve your financial life—on your own or with help from others, maybe through a friend, coach, book, or financial services professional.') }} {{ _('One of the key questions you might ask yourself afterward is, “Am I better off than before?”') }}
{{ _('To answer that question, you can use our financial well-being questionnaire and your resulting score.') }} {{ _('Together, they let you accurately and consistently measure your financial well-being before and after taking steps to improve your financial situation.') }}
{{ _('Because each person’s situation is unique and subjective, it is hard to describe financial well-being using only numbers like income, net worth, or credit score.') }}
{{ _('Instead,') }} {{ _('we asked people around the country') }} {{ _('what financial well-being meant to them, and we listened.') }}
{{ _('We learned that financial well-being means having financial security and financial freedom of choice, in the present and in the future.') }} {{ _('More specifically, having financial well-being is when you:') }}
{{ _('That’s why people with the same income, financial experiences, or education can have very different levels of financial well-being.') }}
{{ _('The tool allows you to compare your financial well-being score to other adults in the United States.') }} {{ _('The comparison of your score to others’ scores is made possible by our national survey. In late 2016, we collected responses to our financial well-being scale in a nationwide survey of U.S. adults for the first time.') }}
{{ _('See the report') }} {% endblock %} {% block content_sidebar %} {% if (current_language == 'en') %}See how to use financial well-being with the people you serve.
Learn more about financial well-being and how we came to understand its meaning.
View our guide to the Financial Well-Being Scale, how it was developed, and the importance of measuring financial well-being.
Read results of the National Financial Well-Being Survey with descriptions of how financial well-being varies among different groups. You can also see our national survey data (without personally identifying information) so that others with an interest in this topic can explore financial well-being nationwide.
Anyone may reproduce, publish, or otherwise use this content without the CFPB’s permission. The CFPB logo appearing on this content and the name “Consumer Financial Protection Bureau” are registered trademarks, and they should not be used to imply CFPB endorsement of or connection with an entity or activity. Please refer to our name and logo guidelines {{ svg_icon('external-link') }} .
Download printable versions of the questionnaire in English and SpanishEscala de Bienestar Financiero del CFPB: Guía del Usuario
Escala de Bienestar Financiero del CFPB: Cuestionario y Hoja para la Tabulación
{{ _('The content on this page provides general consumer information.') }} {{ _('It is not legal advice or regulatory guidance.') }} {{ _('The CFPB updates this information periodically.') }} {{ _('This information may include links or references to third-party resources or content.') }} {{ _('We do not endorse the third-party or guarantee the accuracy of this third-party information.') }} {{ _('There may be other resources that also serve your needs.') }}


Maker/Developer/Photographer
Hi, I'm just a young programmer/photographer hoping to make a small difference in this large world.
Email me YouTube Channel GitHub
TheEnderStuff 2019 | with by Kerr & Ethan.
Back To Top


com.blogspot.applications4android.comicreader.numpicker
Class NumberPicker
java.lang.Object
LinearLayout
com.blogspot.applications4android.comicreader.numpicker.NumberPicker
public class NumberPicker
- extends LinearLayout
This class has been pulled from the Android platform source code, its an internal widget that hasn't been
made public so its included in the project in this fashion for use with the preferences screen.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FIVE_DIGIT_FORMATTER
public static final NumberPicker.Formatter FIVE_DIGIT_FORMATTER
mStart
protected int mStart
mEnd
protected int mEnd
mCurrent
protected int mCurrent
mPrevious
protected int mPrevious
NumberPicker
public NumberPicker(Context context)
NumberPicker
public NumberPicker(Context context,
AttributeSet attrs)
NumberPicker
public NumberPicker(Context context,
AttributeSet attrs,
int defStyle)
onCancelListener
public void onCancelListener(View.OnClickListener l)
onSetListener
public void onSetListener(View.OnClickListener l)
setEnabled
public void setEnabled(boolean enabled)
setOnChangeListener
public void setOnChangeListener(NumberPicker.OnChangedListener listener)
setFormatter
public void setFormatter(NumberPicker.Formatter formatter)
setRange
public void setRange(int start,
int end)
- Set the range of numbers allowed for the number picker. The current
value will be automatically set to the start.
- Parameters:
start
- the start of the range (inclusive)end
- the end of the range (inclusive)
setRange
public void setRange(int start,
int end,
java.lang.String[] displayedValues)
- Set the range of numbers allowed for the number picker. The current
value will be automatically set to the start. Also provide a mapping
for values used to display to the user.
- Parameters:
start
- the start of the range (inclusive)end
- the end of the range (inclusive)displayedValues
- the values displayed to the user.
setCurrent
public void setCurrent(int current)
setSpeed
public void setSpeed(long speed)
- The speed (in milliseconds) at which the numbers will scroll
when the the +/- buttons are longpressed. Default is 50ms.
onClick
public void onClick(View v)
changeCurrent
protected void changeCurrent(int current)
notifyChange
protected void notifyChange()
updateView
protected void updateView()
onFocusChange
public void onFocusChange(View v,
boolean hasFocus)
onLongClick
public boolean onLongClick(View v)
- We start the long click here but rely on the
NumberPickerButton
to inform us when the long click has ended.
cancelIncrement
public void cancelIncrement()
cancelDecrement
public void cancelDecrement()
getCurrent
public int getCurrent()
- Returns:
- the current value.


Euro zone bond yields brace for PMI’s, Lagarde speech
LONDON, Nov 22 — Most euro zone government bond yields were little changed today as markets awaited the release of key business activity data, as well as a speech from new European Central Bank President Christine Lagarde.
After a relatively lacklustre week in regional debt markets, driven by headlines related to US-China trade relations, focus returned to the euro zone economy.
IHS Markit’s final Purchasing Managers’ Index for major euro zone economies is due for release from 0815 GMT. The data is a well-regarded gauge of economic health with investors looking for any signs that a downturn in sentiment is bottoming out.
“The PMIs are likely the most important data points of the week, and consensus is leaning towards a continued bottoming-out of sentiment within the euro zone,” analysts at Mizuho said in a note.
“In spite of this, the market would probably be more reactive to a disappointing reading, which would suggest the worse is yet to come.”
ECB chief Lagarde is scheduled to deliver a keynote speech in Frankfurt during the morning session and will be watched closely ahead of Lagarde’s first ECB meeting next month.
Analysts said Lagarde was likely to strike a compromising tone, with the aim to re-unite a governing council deeply divided by September’s decision to re-start controversial asset purchases.
In early trade, most 10-year bond yields in so-called “core” markets such as Germany, France and the Netherlands were little changed on the day.
Germany’s benchmark 10-year bond yield was flat on the day at -0.32 per cent, off near three-week lows hit earlier in the week. It was also little changed on the week.
Italy’s 10-year bond yield was 3 bps higher on the day at 1.32 per cent, but set to end the week a touch lower after four straight weeks of rises. — Reuters


RS232 trigger allows to change state of serial port pins and/or sends a string of bytes
(command) to a remote device. It is possible to control one serial port with multiple triggers.
Thanks to this user is allowed to build a thermostat with multiple sensors control.
To set up the trigger settings, aside from setting up the basic configuration
(common for all types of the triggers,
it is necessary to configure additional settings:
- Com port Name of the serial port. Typical name of serial port in Windows
operating is COMx. Where x is a number of the serial port.
- Baud rate Number of bits per second. Operating speed of the serial port.
- Bits Number of bits which are one byte.
- Stop bits Number of wait bits between sending or receiving bytes.
- Parity Adds one bit (at the end of each byte) which controls data validity.
- RTS Pin Three states are possible
- Do not change Does not change a pin state while trigger executes.
- Set to '1' Sets high state while trigger executes.
- Set to '0' Sets low state while trigger executes.
- DTR Pin Three states are possible
- Do not change Does not change a pin state while trigger executes.
- Set to '1' Sets high state while trigger executes.
- Set to '0' Sets low state while trigger executes.
- Send a command Enables command sending while trigger executes.
- Command Bytes to send. It is possible to edit message using two modes:
ASCI or HEX. In ASCI mode command is typed using standard characters
which are available on keyboard (letters, numbers, etc). In HEX mode it is possible
to type any byte value by typing its hexadecimal value.
|


Lionel Messi is considered the greatest soccer player of all time. Messi has scored more than 700 goals for both Barcelona and the Argentina national team, has won 34 club trophies, and has six Ballon D'Ors. Aside from the stats, his style of play will take your breath away!
Hernan Crespo is one of the best goal scorers of all time! Crespo has scored 273 goals for club and country and won titles with Chelsea, Inter, A.C. Milan to name a few! My favorite goals of his were the ones during the 2006 Fifa World Cup against Ivory Coast, Serbia and Montenegro, and Mexico. Crespo was my favorite player growing up and he always will be!
What is there to say about Steven Gerrard. Liverpool born and bred. Made 710 appearances for the Reds and scored 186 goals for them. Scored crucial goals when Liverpool needed it such as the 2004 Champions League Final, 2006 FA Cup Final, and the volley against Olympiacos that prevented Liverpool from being knocked out of the champions league. I've been a huge fan of his since I was 12! YNWA!
Luis Suarez is one of the deadliest and lethal goal scorers the world has ever seen. He has scored at least 50 goals during his time at Ajax, Liverpool FC, FC Barcelona and the Uruguayn national team. What makes Suarez so special isn't just the number of goals he's scored, but the goalazos he's made. He's one of my favorite players of all time!
Juan Sebastian Veron is a magical player that hasn't gotten a lot of credit. His time at Manchester United and Chelsea were less than expected, but his playing style is what sets him a part from everyone else. He's tall, strong, fast, and great with the ball. He is known for his long passes that can find his teammates in any position. I love Veron!


About Me
My name is Samuel Orpilla III and I am enrolled at UC Irvine, looking to pursue a new career in full stack web development. I will complete the course in April 2018, but will be open to opportunities along the way in this field.
I was born, raised, and currently live in sunny Long Beach, California. I am a supply chain specialist for a chemical distributor, and an owner of a business selling products online.
I've learned that life is all about the bonds your forge and the memories you crystalize. I love to travel with family and friends and have been to 10 countries, with a few more to come after the completion of my program.


Police ban on Extinction Rebellion was unlawful says High Court
by Associated PressEnvironmental activism group Extinction Rebellion has won a challenge in Britain’s High Court against police over a London-wide ban on protests.
Two senior judges have ruled that London's police force had no power to impose the ban under Section 14 of the Public Order Act because that part of the law doesn't cover multiple gatherings.
Activists protested at sites around central London for 10 days in October, demanding more urgent action to counter global warming.
The police say 1,832 people were arrested.
Many protesters were pre-emptively detained under the ban before they could take any action.
Law firm Bindmans, which represented the activists, say police now face claims for false imprisonment.
Tobias Garnett, a human rights lawyer in Extinction Rebellion's Legal Strategy team, said the group was “delighted” with the court's decision.
“It vindicates our belief that the police's blanket ban on our protests was an unprecedented and unlawful infringement on the right to protest,” he said.
“Rather than wasting its time and money seeking to silence and criminalise those who are drawing its attention to the climate and ecological emergency, we call on the Government to act now on the biggest threat to our planet.”
The High Court also ruled that the Public Order Act could be used to control future protests that are deliberately designed to "take police resources to breaking point."
The Met had argued the ban was the only way of tackling disruption caused by protests.
In the ruling, Lord Justice Dingemans said: "Separate gatherings, separated both in time and by many miles, even if co-ordinated under the umbrella of one body, are not a public assembly within the meaning of... the Act. The XR autumn uprising intended to be held from October 14 to 19 was not therefore a public assembly... therefore the decision to impose the condition was unlawful because there was no power to impose it under... the Act."


Form-Based Submission
No tech nonsense. No design skills necessary. No spending hours upon hours dragging and dropping. Just a simple form.
Automated Creation
After pressing submit, PieFolio automatically populates a website theme with your information: copy, images, fonts, colors, etc.
Secure & Stable Hosting
24/7 access to the form so that you can update your website on the fly. Let the internship and job offers pour in.


JSP Technology Model
General Topics
- Spring Servlet with PageViewCounter Class
- JSP Page with declarations
- JSP Page with Implicit Objects
- Chosse an Exam
- Scriplet Tests
- Invalidated scripting through web.xml - you need to touch the target *.jsp file
- Standard Actions
- Request processing from HTML to JSP without goint through a servlet I.
- Request processing from HTML to JSP without goint through a servlet II.
- Request processing from HTML to JSP without goint through a servlet III.
Expression Language
- Expression Language I. Dot operator and [] operator
- Expression Language II. Implicit objects
- Expression Language III. EL Functions
- Expression Language III. EL Operator
- Include Directive and Include Standard Action
JSTL
- Forward Standard Action
- Forward Standard Action with out.flush() before forward
- JSTL c:out
- JSTL c:forEach
- JSTL c:forTokens
- JSTL c:if
- JSTL c:choose
- JSTL c:set, c:remove
- JSTL c:import
- JSTL c:url
Exceptions and Error Handling
- Exception -> Error Page declared in page
- ArithmeticException -> ArithmeticErrorPage declared in web.xml
- Not Existing Page -> 404 Not Found declared in web.xml
- JSTL c:catch
- Not accessible JSP page


pay : Base Pay
pay areas : Geographic Pay Areas
pay increases : Pay Increases
payment : Loans
payroll : Payroll Services
payroll control group : Payroll Control Group and Production Support
payroll objectives : Payroll Objectives
payroll operations : Payroll Operations
payroll systems : Payroll Systems


Beta This is a test version of the layout of this page. Take the survey to help us improve it
Guidance
Future dates for the key stage 1 and key stage 2 tests (commonly referred to as SATs), phonics screening check, and science sampling tests.
Schools must keep these periods free for administering the national curriculum assessments at key stages 1 and 2. Key stage 2 tests must be taken on the scheduled days.
Future tests dates are detailed below to assist schools with their forward planning.
| Date | Activity |
|---|---|
| May 2017 | Key stage 1 test period |
| Week commencing Monday 12 June 2017 | Phonics screening check week |
The key stage 2 tests are timetabled from Monday 8 May to Thursday 11 May 2017.
There is no science sampling for the 2016 to 2017 academic year.
| Date | Activity |
|---|---|
| Monday 8 May 2017 | English reading |
| Tuesday 9 May 2017 | English grammar, punctuation and spelling Paper 1: questions |
| English grammar, punctuation and spelling Paper 2: spelling | |
| Wednesday 10 May 2017 | Mathematics Paper 1: arithmetic |
| Mathematics Paper 2: reasoning | |
| Thursday 11 May 2017 | Mathematics Paper 3: reasoning |
| Date | Activity |
|---|---|
| May 2018 | Key stage 1 test period |
| Week commencing Monday 11 June 2018 | Phonics screening check week |
The key stage 2 tests are timetabled from Monday 14 May to Thursday 17 May 2018.
Schools selected for science sampling will need to be available to administer the tests within the 2 week period.
| Date | Activity |
|---|---|
| Week commencing Monday 14 May 2018 | Key stage 2 test week |
| Weeks commencing Monday 4 June and Monday 11 June 2018 | Science sampling test period (for selected schools) |
| Date | Activity |
|---|---|
| May 2019 | Key stage 1 test period |
| Week commencing Monday 10 June 2019 | Phonics screening check week |
The key stage 2 tests are timetabled from Monday 13 May to Thursday 16 May 2019.
There is no science sampling for the 2018 to 2019 academic year.
| Date | Activity |
|---|---|
| Week commencing Monday 13 May 2019 | Key stage 2 test week |


Protima Banerjee
This is a review of a book which I now have on order. Quotations suggest why it would be so important, as well as being referenced by Susan Gasson when discussing boundary spanning of information systems design.
"The authors’ central premise, and the one that motivates the cultivation of interaction designers within software development organizations, is that programmers do not make good interaction designers. The skill-set required to become a successful programmer is orthogonal to the skill-set of a successful interaction designer; this is not to say that programmers cannot be good interaction designers and vice versa, but some degree of re-tooling is required for a person to move successfully between the two functions."
"A good design, Cooper and Reimann insist, must fit into the context of the goals of a user community. They introduce the construct of a persona, which models a goal-driven user for the purposes of software scenario design."
"The authors state that all software can be categorized into four software postures, which are described in detail: sovereign, transient, auxiliary and daemonic. The sovereign posture is most frequently adopted by stand-alone applications that can assume they will be occupying the user’s full attention and screen real estate for the duration of the usage period. The transient posture is adopted by applications that are on the screen for short periods of time, and serve a narrow function, typically complementary to a sovereign application. A print utility is a good example of a transient posture. Programs that adopt the daemonic posture typically have no interaction with users, except for some type of configuration screen. And the auxiliary posture is a cross-breed between the sovereign posture and the transient, adopted in certain special cases."
"The goal-directed design process was introduced in the first section of the book and breaks down into five phases: researching the users and the domain, modeling users and their contexts, requirements definition, framework definition and design of flow, and refinement of system behavior. The argument for pursuing a goal-directed design process would have been made much stronger if references to it were made throughout the book, to tie the elements of the process into the concrete elements of interface design"


Summary
Generalist DevOps engineer contributing to the privacy focused next
generation web ecosystem with the open source Brave browser and blockchain
products.
Broad experience in software development organizations; from writing tools to
leading scrum teams, debugging and fixing code to communicating with customers,
build system innovation to production site reliability engineering,
infrastructure automation to strategic planning. A proponent of deliberate
documentation and knowledge sharing, I have created internal programs to
disseminate information throughout an organization (“brown bag” knowledge
sharing sessions.) Over 12 years of experience working remotely. Effective
over-communicator comfortable with modern collaboration methods. Willing to ask
hard questions to avoid operational problems and improve organizational
communication. Capable of making minute technical decisions or crafting large
architectural plans.
Key Skills
- Programming and scripting languages: Python, C, C++, bash, Javascript/Node, Ruby, Java
- Serverless tools: AWS Lambda, AWS SAM, Serverless Framework
- Public and private cloud: AWS, Azure, Eucalyptus
- Software development tools: Git, Github, Gitlab, Jira, Confluence
- Infrastructure tools: Terraform, CloudFormation, Vagrant, Packer, Red Hat kickstart, Cobbler
- CI systems: Jenkins, AWS CodeBuild/CodePipeline, TravisCI
- Configuration management tools: Ansible, Chef, cfengine
- Virtualization technologies: KVM, Virtualbox, VMware
- System administration experience: Fedora/Ubuntu Linux, Windows, Mac, AIX
- Package build experience: Linux RPM/DEB/Snap, Python packages, Mac DMG, AIX LPP
- Manual and automated QA testing
- Containers: Docker, AWS ECS
- Databases: AWS DynamoDB, MongoDB, AWS RDS, PostgresQL
- Compilers and related tools: gcc/g++, Gnu make, Gnu binutils, IBM XLC/C++, GN, Ninja, Apple Xcode
- Distributed team collaboration and remote working experience
Professional Experience
Sr. DevOps Engineer - 3/2018 - Present
Brave Software
Working on DevOps, CI/CD, cloud, browser release engineering, SRE and more
for a small organization building an open source privacy focused browser.
Built the CI system from the ground up and spearheaded browser build
automation as the current browser was in its infancy. Daily use of AWS,
Terraform, Python, Jenkins.
Release Engineer - 3/2015 to 3/2018
Eucalyptus, acquired by DXC Technology
Key member of a cross functional team providing release engineering and QA
in a development organization delivering AWS compatible private cloud
software(IaaS). Consistently demonstrated diverse skillset while shipping
parallel major and minor releases, maintaining and rearchitecting
automated installation tooling, interacting with customers, and managing
multiple open source projects, and testing broad sections of the product
feature set. Release engineering and infrastructure responsibilities
include managing Jenkins build jobs, contributing to RPM signing tools,
creating and curating cloud images, writing Chef recipes, maintaining
product installation scripts and building/shipping packages at GA time. QA
background manually testing the product, verifying AWS compatibility,
writing Chef cookbooks, expanding Python test automation suite. Due to the
small team environment, am comfortable starting with minimal domain
knowledge prior to becoming a subject matter expert within days.
Build Engineer and Quality Assurance - General Parallel File System(GPFS) – 2008 to 2015
International Business Machines (IBM) – Systems & Technology Group
Build engineer for the General Parallel File System(GPFS) high performance
computing product. Primary responsibility included producing daily product
packages for testing while coordinating with developers, testers,
management, and product partners. Additionally provided process
automation, code integration, code maintenance, product packaging, defect
tracking and trend analysis, product installation tool maintenance,
troubleshooting and fixing errors on multiple platforms, functional
testing of packaging/build and general product verification. Broad
proficiency required in C/C++, Perl, shell programming, version control
systems (git, CMVC, CVS,) RPM/DEB/LPP expertise, compilers and software
debugging, Linux, AIX, Win administration.
Enterprise Storage System Analyst – 2002 to 2008
International Business Machines (IBM) - Global Services Division
Team leader of 8 member Tivoli Storage Manager (TSM) group responsible for
maintaining TSM servers, databases and clients, IBM tape libraries and
drives, SAN connected devices, and OS. Role consisted of project
management for all components of storage environment, interfacing with
management on headcount planning, training team members, defining support
model, 24x7 team creation, and department mission statement. Developed
disaster recovery procedures and plans for customers. Instrumental in
successful disaster recovery tests at IBM Business Continuity and Recovery
Services sites.
Distributed Filesystems System Programmer – 1998 to 2002
Computer Task Group and International Business Machines (IBM) - Global Services Division
System programmer for AFS and related distributed filesystems for multiple
IBM sites. Lead programmer for software design and deployment in an AIX
server environment supporting the distributed filesystems team. Knowledge
of Unix system internals, AFS/DFS system level architecture and APIs,
network programming concepts, and Loadleveler batch scheduling system to
create tools for filesystems administration and customer use.
Certifications
AWS Certified Solutions Architect - Associate
Interests and Hobbies
- Former Board of Directors Central Vermont Chapter of Trout Unlimited
- Absentee member Code for America Brigade in Burlington Vermont
- Eagle Scout; fly fisherman and fly tier; avid stock investor; mediocre home cook


Ost Core Workflow APIs
Ost core workflows api do not use any UI components, thereby giving complete control to the developers. The ./OstWalletUI.adoc also uses Ost Core Workflows.
Import the OstWalletSdk
To use the core workflow APIs, import the OstWalletSdk
from '@ostdotcom/ost-wallet-sdk-react-native'.
import {OstWalletSdk} from '@ostdotcom/ost-wallet-sdk-react-native';
Create Workflow Callback
The core workflows communicates with the application using callbacks.
A base callback class OstWalletWorkFlowCallback
is given as a part of the SDK.
The base callback class gives only declaration of callback functions.
A detailed overview of callback functions is available in the later part of this readme.
OstWalletWorkFlowCallback Interface
import { OstWalletWorkFlowCallback } from '@ostdotcom/ost-wallet-sdk-react-native';
class OstWalletSdkCallbackImplementation extends OstWalletWorkFlowCallback {
constructor() {
super();
}
registerDevice(apiParams, ostDeviceRegistered) {}
getPin(ostWorkflowContext, ostContextEntity, ostPinAccept) {}
invalidPin(ostWorkflowContext, ostContextEntity, ostPinAccept) {}
pinValidated(ostWorkflowContext, ostContextEntity) {}
flowComplete( ostWorkflowContext, ostContextEntity ) {}
flowInterrupt(ostWorkflowContext, ostError ) {}
requestAcknowledged(ostWorkflowContext, ostContextEntity) {}
verifyData(ostWorkflowContext, ostContextEntity, ostVerifyData) {}
}
export default OstWalletSdkCallbackImplementation;
Developers are expected to implement a new class for each workflow.
An example of callback implementation
import {OstWalletWorkFlowCallback} from '@ostdotcom/ost-wallet-sdk-react-native';
class OstWalletSdkCallbackImplementation extends OstWalletWorkFlowCallback {
constructor() {
super();
}
flowComplete(ostWorkflowContext , ostContextEntity) {
console.log('flowComplete ostWorkflowContext', ostWorkflowContext, "ostContextEntity- ", ostContextEntity);
if(Actions.currentScene !== "HomePage"){
Actions.popTo("HomePage");
}
if(ostWorkflowContext){
let wfType = ostWorkflowContext.WORKFLOW_TYPE;
if( wfType !== "SETUP_DEVICE") {
Alert.alert(`${wfType} Complete!`);
}
}
store.dispatch(setLoading(false));
}
flowInterrupt(ostWorkflowContext , ostError) {
console.log('flowInterrupt ostWorkflowContext', ostWorkflowContext , "ostError" , ostError );
if (ostError) {
let displayError = ostError.getErrorMessage(),
apiError, errorData;
if(ostError.isApiError()){
apiError = ostError.getApiErrorMessage();
if(apiError && apiError.includes('err.error_data')){
apiError = '';
}
errorData = ostError.getApiErrorData();
if(errorData && errorData.length > 0){
for(let i=0; i<errorData.length;i++){
apiError = apiError + errorData[i].msg;
}
}
displayError = displayError+apiError;
}
Alert.alert('Error!', displayError);
}
if(Actions.currentScene !== "HomePage"){
Actions.popTo("HomePage");
}
store.dispatch(setLoading(false));
if(ostError.isApiError()) {
console.log("getApiError", ostError.getApiError());
console.log("getApiInternalId", ostError.getApiInternalId());
console.log("getApiErrorCode", ostError.getApiErrorCode());
console.log("getApiErrorData", ostError.getApiErrorData());
console.log("getApiErrorMessage", ostError.getApiErrorMessage());
console.log("isBadRequest", ostError.isBadRequest());
console.log("isNotFound", ostError.isNotFound());
console.log("isDeviceTimeOutOfSync", ostError.isDeviceTimeOutOfSync());
console.log("isApiSignerUnauthorized", ostError.isApiSignerUnauthorized());
console.log("isErrorParameterKey", ostError.isErrorParameterKey("new_recovery_owner_address"));
}
console.log("getErrorCode",ostError.getErrorCode());
console.log("getInternalErrorCode",ostError.getInternalErrorCode());
console.log("getErrorMessage",ostError.getErrorMessage());
console.log("getErrorInfo",ostError.getErrorInfo());
console.log("isApiError",ostError.isApiError());
}
requestAcknowledged(ostWorkflowContext, ostContextEntity) {
console.log('requestAcknowledged ostWorkflowContext', ostWorkflowContext , "ostContextEntity- ", ostContextEntity );
}
}
export default OstWalletSdkCallbackImplementation;
Callback methods
flowComplete
This function will be called by SDK when a workflow is completed. The details of workflow and the entity that was updated during the workflow will be available in the arguments.
flowComplete( ostWorkflowContext, ostContextEntity)
| Argument | Description |
|---|---|
OstWorkflowContext |
Information about the workflow |
OstContextEntity |
Information about the entity |
flowInterrupt
This function will be called by SDK when a workflow is cancelled. The workflow details and error details will be available in the arguments.
flowInterrupt( ostWorkflowContext, ostError)
| Argument | Description |
|---|---|
OstWorkflowContext |
Information about the workflow |
OstError |
ostError object will have details about the error that interrupted the flow |
requestAcknowledged
This function will be called by SDK when the core API request was successful which happens during the execution of workflows.
At this stage the workflow is not completed but it shows that the main communication between the wallet SDK and Ost Platform server is complete.
+ Once the workflow is complete the app
will receive the details in flowComplete
(described below) function.
requestAcknowledged( ostWorkflowContext, ostContextEntity)
| Argument | Description |
|---|---|
OstWorkflowContext |
Information about the workflow |
OstContextEntity |
Information about the entity |
getPin
This function will be called by SDK when it needs to get the PIN from the app
user to authenticate any authorised action.
+ Expected Function Definition: Developers of client company are expected to launch their user interface to get the PIN from the user and pass this PIN back to SDK by calling ostPinAccept.pinEntered()
getPin( userId, ostPinAccept)
| Argument | Description |
|---|---|
userId |
Unique identifier of the user |
OstPinAccept |
ostPinAccept.pinEntered() should be called to pass the PIN back to SDK. + For some reason if the developer wants to cancel the current workflow they can do it by calling ostPinAccept.cancelFlow() |
pinValidated
This function will be called by SDK when the last entered PIN is validated.
pinValidated(userId)
| Argument | Description |
|---|---|
userId |
Unique identifier of the user |
invalidPin
This function will be called by SDK when the last entered PIN was incorrect and app
user has to provide the PIN again.
Developers are expected to repeat the getPin
method here and pass back the PIN again to the SDK by calling ostPinAccept.pinEntered() .
invalidPin( userId, ostPinAccept)
| Argument | Description |
|---|---|
userId |
Unique identifier of the user |
OstPinAccept |
ostPinAccept.pinEntered() should be called to again pass the PIN back to SDK. + If, for some reason, the developer wants to cancel the current workflow they can do it by calling ostPinAccept.cancelFlow() |
registerDevice
This function will be called by SDK to register the device.
+ Expected Function Definition: Developers of client company are expected to register the device by communicating with client company’s server.
On client company’s server they can use Server SDK
to register the device in Ost Platform.
Once the device is registered on Ost Platform client company’s server will receive the newly created device
entity.
This device entity should be passed back to the app
.
+ Finally developers should pass back the newly created device entity to the Wallet SDK by calling OstDeviceRegistered.deviceRegistered( newDeviceEntity ).
registerDevice( apiParams, ostDeviceRegistered)
| Argument | Description |
|---|---|
apiParams |
Device information for registration |
OstDeviceRegistered |
OstDeviceRegistered.deviceRegistered( newDeviceEntity ) should be called to pass the newly created device entity back to SDK. + In case data is not verified, the current workflow should be canceled by developer by calling OstDeviceRegistered.cancelFlow() |
verifyData
This function will be called by SDK to verify data during the performQRAction
workflow.
verifyData( ostWorkflowContext, ostContextEntity, ostVerifyData)
| Argument | Description |
|---|---|
OstWorkflowContext |
Information about the current workflow during which this callback will be called |
OstContextEntity |
Information about the entity |
OstVerifyData |
ostVerifyData.dataVerified() should be called if the data is verified successfully. + In case data is not verified, the current workflow should be canceled by developer by calling ostVerifyData.cancelFlow() |
Execute Core Workflow APIs
Core Workflow Methods
Create a new instance of the workflow callback implementation and invoke the required method.
setupDevice
This workflow needs userId and tokenId so setupDevice may be called after the user logs in to the application. Using a mapping between userId in Ost Platform and the app user, you have access to userId and tokenId.
If the user is logged in, then setupDevice should be called every time the app launches, this ensures that the current device is registered before communicating with Ost Platform server.
/**
* Setup user device
* @param {String} userId - Ost User id
* @param {String} tokenId - Id assigned by Ost to token
* @param {OstWalletWorkFlowCallback} workflow - callback implementation instances for application communication
* @public
*/
OstWalletSdk.setupDevice(userId, tokenId, workflow)
activateUser
User activation refers to the deployment of smart-contracts that form the user’s token wallet. An activated user can engage with a token.
/**
* Add user session
* @param {String} userId - Ost User id
* @param {String} expiresAfterInSecs - session key expiry time.
* @param {String} spendingLimit - spending limit once in a transaction of session
* @param {OstWalletWorkFlowCallback} workflow - callback implementation instances for application communication
* @public
*/
OstWalletSdk.activateUser( userId,
pin,
passphrasePrefix,
expiresAfterInSecs,
spendingLimit,
workflow)
addSession
A session is a period of time during which a sessionKey is authorized to sign transactions under a pre-set limit per transaction on behalf of the user. The device manager, which controls the tokens, authorizes sessions.
/**
* Add user session
* @param {String} userId - Ost User id
* @param {String} expiresAfterInSecs - session key expiry time.
* @param {String} spendingLimit - spending limit once in a transaction of session
* @param {OstWalletWorkFlowCallback} workflow - callback implementation instances for application communication
* @public
*/
OstWalletSdk.addSession( userId,
expireAfterInSecs,
spendingLimit,
workflow)
executeTransaction
A transaction where tokens are transferred from a user to another actor within are signed using sessionKey if there is an active session. In the absence of an active session, a new session is authorized.
/**
* Execute user transactions
* @param {string} userId - Ost User id
* @param {Array<String>} tokenHolderAddresses - Token holder addresses of amount receiver.
* @param {Array<String>} amounts -Amounts corresponding to tokenHolderAddresses to be transfered
* @param {String} ruleName - Rule name to be executed.
* @param {object} meta - additional data.
* @param {OstWalletWorkFlowCallback} workflow - callback implementation instances for application communication
* @public
*/
OstWalletSdk.executeTransaction( userId,
tokenHolderAddresses,
amounts,
ruleName,
meta,
workflow)
getDeviceMnemonics
The mnemonic phrase represents a human-readable way to authorize a new device. This phrase is 12 words long.
/**
* Get Device mnemonics
* @param {String} userId - Ost User id
* @param {OstWalletWorkFlowCallback} workflow - callback implementation instances for application communication
* @public
*/
OstWalletSdk.getDeviceMnemonics( userId,
workflow)
authorizeCurrentDeviceWithMnemonics
A user that has stored their mnemonic phrase can enter it on a new mobile device and authorize that device to be able to control their tokens.
/**
* Authorize user device with mnemonics
* @param {String} userId - Ost User id
* @param {String} mnemonics - string of mnemonics
* @param {OstWalletWorkFlowCallback} workflow - callback implementation instances for application communication
* @public
*/
OstWalletSdk.authorizeCurrentDeviceWithMnemonics(userId,
mnemonics,
workflow)
performQRAction
QR codes can be used to encode transaction data for authorizing devices and making purchases via webstores, etc. This method can be used to process the information scanned off a QR code and act on it.
/**
* Perform QR action
* @param {String} userId - Ost User id
* @param {String} data - Json string of payload is scanned by QR-Code.
* @param {OstWalletWorkFlowCallback} workflow - callback implementation instances for application communication
* @public
*/
OstWalletSdk.performQRAction(userId,
data,
workflow)
resetPin
The user’s PIN is set when activating the user. This method supports re-setting a PIN and re-creating the recoveryOwner.
/**
* Reset user pin
* @param {String} userId - Ost User id
* @param {String} appSalt - Passphrase prefix provided by application server
* @param {String} currentPin - user current pin
* @param {String} newPin - user new pin
* @param {OstWalletWorkFlowCallback} workflow - callback implementation instances for application communication
* @public
*/
OstWalletSdk.resetPin( userId,
appSalt,
currentPin,
newPin,
workflow )
initiateDeviceRecovery
A user can control their tokens using their authorized device(s). If a user loses their authorized device, the user can recover access to her tokens by authorizing a new device by initiating the recovery process.
/**
* Initiate device recovery
* @param {String} userId - Ost User id
* @param {String} pin - user current pin
* @param {String} appSalt - Passphrase prefix provided by application server
* @param {String} deviceAddressToRecover - Device address which wants to recover
* @param {OstWalletWorkFlowCallback} workflow - callback implementation instances for application communication
* @public
*/
OstWalletSdk.initiateDeviceRecovery( userId,
pin,
appSalt,
deviceAddressToRecover,
workflow )
abortDeviceRecovery
To abort an initiated device recovery.
/**
* Abort device recovery
* @param {String} userId - Ost User id
* @param {String} pin - user current pin
* @param {String} appSalt - Passphrase prefix provided by application server
* @param {OstWalletWorkFlowCallback} workflow - callback implementation instances for application communication
* @public
*/
OstWalletSdk.abortDeviceRecovery(userId,
pin ,
appSalt ,
workflow )
logoutAllSessions
To revoke all sessions associated with provided userId.
/**
* Logout user all sessions
* @param {String} userId - Ost User id
* @param {OstWalletWorkFlowCallback} workflow - callback implementation instances for application communication
* @public
*/
OstWalletSdk.logoutAllSessions(userId,
workflow )
revokeDevice
To unauthorize the current device.
/**
* revokeDevice
* @param {String} userId - Ost User id
* @param {String} deviceAddress - device address
* @param {OstWalletWorkFlowCallback} workflow - callback implementation instances for application communication
* @public
*/
OstWalletSdk.revokeDevice( userId ,
deviceAddress ,
workflow)
updateBiometricPreference
To enable or disable biometrics.
/**
* Update biometric prederence
* @param {String} userId - Ost User id
* @param {boolean} enable - to enable biometric prefernce
* @param {OstWalletWorkFlowCallback} workflow - callback implementation instances for application communication
* @public
*/
OstWalletSdk.updateBiometricPreference( userId , enable ,workflow )
Execute a workflow
To execute a workflow, you need to pass an instance of OstWalletSdkCallbackImplementation
class.
The callback implementation will be different for each workflow available in the SDK.
import OstWalletWorkflowCallback from './OstWalletSdkCallbackImplementation';
onLogoutAllSessions() {
AsyncStorage.getItem('user').then((user) => {
user = JSON.parse(user);
// Note: logoutAllSessions will revoke all sessions keys from all the devices of the user.
OstWalletSdk.logoutAllSessions(user.user_details.user_id, new OstWalletWorkflowCallback(), console.warn);
});
}


--- title: "HW3: Many models" author: "Thibault" date: "30 April 2018" output: html_document ---
Download the HW3 skeleton files. To successfully complete the first assignment you will have to do the following:
homework3.Rproj
.hw3_report.Rmd
.To obtain the maximum number of points, use whenever possible:
dplyr
verbs,kable
to print tables,ggplot
to produce the figures,purr
’s functions to minimize code duplication,broom
’s functions to format the results model fits.Also:
echo = FALSE
for code chunks when you display a table of produce a figure (i.e., we don’t want to see code unless it is necessary).The solutions for HW3 are available here. Please note that this is only a minimum draft version and should not to be taken as an example of “perfect submission”. Other working solutions will be graded accordingly.


| Package | Description |
|---|---|
| org.opensaml.soap.wstrust.impl |
XML Object provider implementations for WS-Trust.
|
| Modifier and Type | Class and Description |
|---|---|
class |
AllowPostdatingMarshaller
Marshaller for the AllowPostdating element.
|
class |
AuthenticatorMarshaller
Marshaller for the Authenticator element.
|
class |
CancelTargetMarshaller
Marshaller for the CancelTarget element.
|
class |
ClaimsMarshaller
Marshaller for the Claims element.
|
class |
DelegatableMarshaller
Marshaller for the Delegatable element.
|
class |
DelegateToMarshaller
Marshaller for the DelegateTo element.
|
class |
EncryptionMarshaller
Marshaller for the Encryption element.
|
class |
EntropyMarshaller
Marshaller for the Entropy element.
|
class |
ForwardableMarshaller
Marshaller for the Forwardable element.
|
class |
IssuedTokensMarshaller
Marshaller for the IssuedTokens element.
|
class |
KeyExchangeTokenMarshaller
Marshaller for the KeyExchangeToken element.
|
class |
LifetimeMarshaller
Marshaller for the Lifetime element.
|
class |
OnBehalfOfMarshaller
Marshaller for the OnBehalfOf element.
|
class |
ParticipantMarshaller
PrimaryMarshaller.
|
class |
ParticipantsMarshaller
ParticipantsMarshaller.
|
class |
ParticipantTypeMarshaller
ParticipantTypeMarshaller.
|
class |
PrimaryMarshaller
PrimaryMarshaller.
|
class |
ProofEncryptionMarshaller
Marshaller for the ProofEncryption element.
|
class |
RenewingMarshaller
Marshaller for the Renewing element.
|
class |
RenewTargetMarshaller
Marshaller for the RenewTarget element.
|
class |
RequestedAttachedReferenceMarshaller
Marshaller for the RequestedAttachedReference element.
|
class |
RequestedProofTokenMarshaller
Marshaller for the RequestedProofToken element.
|
class |
RequestedReferenceTypeMarshaller
RequestedReferenceTypeMarshaller.
|
class |
RequestedSecurityTokenMarshaller
Marshaller for the RequestedSecurityToken element.
|
class |
RequestedTokenCancelledMarshaller
Marshaller for the RequestedTokenCancelled element.
|
class |
RequestedUnattachedReferenceMarshaller
Marshaller for the RequestedUnattachedReference element.
|
class |
RequestKETMarshaller
Marshaller for the RequestKET element.
|
class |
RequestSecurityTokenCollectionMarshaller
Marshaller for the RequestSecurityTokenCollection element.
|
class |
RequestSecurityTokenMarshaller
Marshaller for the RequestSecurityToken element.
|
class |
RequestSecurityTokenResponseCollectionMarshaller
Marshaller for the RequestSecurityTokenResponseCollection element.
|
class |
RequestSecurityTokenResponseMarshaller
Marshaller for the RequestSecurityTokenResponse element.
|
class |
SignChallengeMarshaller
Marshaller for the SignChallenge element.
|
class |
SignChallengeResponseMarshaller
Marshaller for the SignChallengeResponse element.
|
class |
SignChallengeTypeMarshaller
SignChallengeTypeMarshaller.
|
class |
StatusMarshaller
Marshaller for the Status element.
|
class |
UseKeyMarshaller
Marshaller for the UseKey element.
|
class |
ValidateTargetMarshaller
Marshaller for the ValidateTarget element.
|
Copyright © 1999–2016 Shibboleth Consortium. All rights reserved.


Mambo Dhuterere deserves nomination, organisers
Organisers of this year’s edition of the Permican Gospel Awards have defended gospel musician Darlington Mutseta affectionately known as Mambo Dhuterere’s nominations, saying that he meets the criteria.
by Tafadzwa ZimoyoMambo Dhuterere has been nominated on, “Best Song Writer”, “Best Traditional Song”, “Best Newcomer”, “Best Collaboration” and “Song of the Year” categories together with other gospel musicians like Janet Manyowa, Minister Micheal Mahendere and Tembalami among others.
However, his nomination has led to contestations on social media with some sectors stating that he doesn’t merit nomination considering “he came into limelight a month ago”, while others said deserved it because of trendy songs.
Related Articles
Mambo Dhuterere takes showbiz by storm
Nov 7, 2019 27,207 8
Mambo Dhuterere shuts door on controversial artistes……
Nov 6, 2019 24,774 16
Awards organiser, Ted Lazaro said Mambo Dhuterere is eligible to be in the running considering he submitted his works on time.
“We did not nominate him without his knowledge as some are saying but he meets the criteria as he submitted his works on time.
The musician released his album in April and our deadline for submission was end of July,” he said.
The awards are running under the theme, “Creatively, Touching Souls” with a renowned musicians billed to perform such as Janet Manyowa, Kuda Mutsvene, Sabastian Magacha, Minister Micheal Mahendere, Gemma Griffiths and Zimpraise among others.
The show will be broadcast live on TBN, DSTV and on Christ TV. The Herald


Categories
Add New
Save Order
×
Category saved.
×
Category deleted.
/code
16
Edit
Add
×
Add New Category
Select Parent Category
http://codecity.pl/category/
×
Edit Category
Select Parent Category
http://codecity.pl/category/
×
Delete Category
Are you sure you want to delete?


Which of the following operations is
performed more efficiently by doubly linked list than by singly
linked list?
"Finding the node preceeding the current node"
- "Deleting a node whose location is given"
- "Searching an unsorted list for a given item"
- "Traversing a list to process each node "


The xsl:namespace-alias
element is a top-level element that is used to control the mapping
between a namespace URI used in the stylesheet and the corresponding namespace URI used in the result
document.
Normally when a literal result element is encountered in a template, the namespace used for the element name and attribute names in the result document is the same as the namespace used in the stylesheet. If a different namespace is wanted (e.g. because the result document is a stylesheet using the XSLT namespace), then xsl:namespace-alias can be used to define the mapping.
Example: This example allows the prefix outxsl to be used for output elements that are to be associated with the XSLT namespace. It assumes that both namespaces xsl and outxsl have been declared and are in scope.
<xsl:namespace-alias stylesheet-prefix="outxsl" result-prefix="xsl"/>