{% extends "base.html" %} {% load staticfiles %} {% load i18n %} {% block style %} {% endblock style %} {% block nav %}{% endblock nav %} {% block content %}
{% trans "At Learning Equality, we have a needs-based approach to our work. Our product roadmap is informed by and iterated on according to the feedback we get from you, our global community of users and implementers." %}
{% trans "Over the years, we have received extensive feedback on the channel creation flows Kolibri Studio has provided. While we have been continuing to make improvements in the functionality, as the number of active users has grown, so, too, has the need to better support users' work on the Kolibri Studio architecture. So we went to work and are excited to present you with a new and improved version of our curricular tool." %}
{% blocktrans %}If you would like to help us by testing the new Kolibri Studio, please fill out this short form to indicate your interest.{% endblocktrans %}
{% trans "These changes will be in effect in November 2020, and we wanted to loop you in as early as possible, so you know what's coming and can plan ahead accordingly. Below, you will find an overview of what's changing in Kolibri Studio over the next month:" %}
{% trans "We've completely modernized and cleaned up the entire Kolibri Studio interface, making it more consistent with the Kolibri user interface. We're taking more advantage of screen space and simplifying design components to help improve the tool's overall user experience in the platform." %}
{% trans "In the updated Kolibri Studio, you will be able to continue performing some actions even if your internet goes in and out intermittently. This means that, if you are in the middle of editing details, creating new topics or exercises, and moving content around, and get disconnected from the internet, your changes will be synced once you regain connectivity." %}
{% trans "We have updated our channel editing page to give you more space to browse and manage your channels' resources. You will also be able to jump through topic trees quicker and preview materials on the fly. The ability to preview materials will be available in other places as well, such as trash, move, and the clipboard." %}
{% trans "Copying resources to the clipboard will be significantly faster, even for large content selections, and you will now have the ability to copy resources within the same topic folder You will also be able to cancel or undo copying materials, if you change your mind at any point. Finally, if you wish to see where a material in your clipboard came from, you will be able to open its original location in a new tab." %}
{% trans "The content editor will automatically save resource details, files, previous/next steps for prerequisites, and exercises, so you don't have to worry about clicking save frequently." %}
{% trans "Uploading new files and editing their details will soon be done in one step. No more waiting for the uploads to finish to be able to include information about them. You will also be able to see your remaining file storage space as you go." %}
{% trans "When importing materials from other channels, you will have more filtering options and the ability to save your searches, so that you can easily discover what's most relevant for you and keep them safe in the process. You can also preview and open the original locations of the materials you're interested in importing." %}
{% blocktrans %}You can access the Kolibri Content Library Catalog for detailed information on all learning materials available for use in Kolibri, including file type breakdown, languages, coach-facing resources, and much more.{% endblocktrans %}
{% blocktrans %}Here are some best practices on using Kolibri Studio and error reporting recommendations.{% endblocktrans %}
{% blocktrans %}To stay up-to-date with new content sources added to the library, developments on Kolibri Studio, and on the upcoming Kolibri Android App, make sure to subscribe to receive updates here.{% endblocktrans %}


IPCALC
Section: User Commands (1)Updated: April 30 2001
Index Return to Main Contents
NAME
ipcalc - perform simple manipulation of IP addressesSYNOPSIS
ipcalc [OPTION]... <IP address>[/prefix] [netmask]DESCRIPTION
ipcalc provides a simple way to calculate IP information for a host. The various options specify what information ipcalc should display on standard out. Multiple options may be specified. An IP address to operate on must always be specified. Most operations also require a netmask or a CIDR prefix as well.OPTIONS
- -c, --check
-
- Validate the IP address under the specified family. If no address family is specified, IPv4 is assumed.
- Validate the IP address under the specified family. If no address family is specified, IPv4 is assumed.
- -4, --ipv4
-
Specify IPv4 address family (default).
- -6, --ipv6
-
Specify IPv6 address family.
- -b, --broadcast
-
Display the broadcast address for the given IP address and netmask.
- -h, --hostname
-
Display the hostname for the given IP address.
- -m, --netmask
-
Calculate the netmask for the given IP address. It assumes that the IP
address is in a complete class A, B, or C network. Many networks do
not use the default netmasks, in which case an inappropriate value will
be returned.
- -p, --prefix
-
Show the prefix for the given mask/IP address.
- -n, --network
-
Display the network address for the given IP address and netmask.
- -s, --silent
-
Don't ever display error messages.
AUTHORS
Erik Troan<EMAIL_ADDRESS>Preston Brown<EMAIL_ADDRESS>- IPv6 supported wedged in by David Cantrell<EMAIL_ADDRESS>REPORTING BUGS
Report bugs at http://bugzilla.redhat.com/COPYRIGHT
Copyright © 1997-2008 Red Hat, Inc.This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Index
This document was created by man2html, using the manual pages.
Time: 05:29:05 GMT, December 24, 2015


Internal Projects and Community Service
Software, projects, and tools developed by Scholars’ Lab staff.
{% for page in internal_projects %}
{% endfor %}
Scholarly Collaborations
Selected Scholars’ Lab collaborations with faculty and graduate students.
{% for page in collab_projects %}
{% endfor %}


Preparation time
less than 30 mins
Cooking time
1 to 2 hours
Serves
Makes 1 x 20cm/8in cake
Tamal takes the rich indulgent flavours of sticky toffee puddings to make a cake with a difference.
For this recipe you will need a 20cm/8in cake tin, a sugar thermometer and a large baking tray.
Preheat the oven to 180C/160C Fan/Gas 4 and put a small plate in the freezer. Grease and line the base of a 20cm/8in springform cake tin.
For the fruit, combine the dried fruit and lemon juice in a bowl. Coat the fruit in the flour and stir in the lemon and orange zests.
For the cake batter, cream the butter and sugar together until light and fluffy. Gradually beat in the eggs, beating well between each addition. Stir in the remaining ingredients and the dried fruit mixture.
Spoon the mixture into the prepared cake tin and bake for 1 hour, or until a skewer inserted into the middle comes out clean.
Set aside to cool, then remove from the tin, remove the baking parchment on the base and place on a wire rack to cool completely.
For the toffee sauce, combine all the ingredients in a large saucepan and cook on a low heat for 30 minutes, stirring often, until smooth and bubbling (if using a sugar thermometer it will be 115-120C). To test if it is ready, remove the plate from the freezer and put a teaspoonful of the sauce in the middle. Leave it for a minute then test the consistency - it should be spreadable and not runny. Transfer to a bowl and leave to cool and thicken to a spreadable consistency.
Once the cake is cool, slice it in half horizontally. Place the bottom half on a serving plate and spread the toffee sauce on top. Sandwich with the top half and spread more toffee sauce neatly all over the sides and top of the cakes.
To make the decorations, if using, make a batch of caramel by dissolving the sugar with the glucose in a large saucepan. Cook the caramel until it is a deep amber (about 185C on a sugar thermometer) then set aside to cool. Line a baking tray with non-stick baking paper.
Once the caramel has cooled and thickened, drip caramel over the sides of the cake so that it streaks down to form irregular shards. The caramel will nearly be at the point where it sets solid, so you need to work quickly. If it hardens up completely then warm the pan gently to loosen it again.
Spoon some of the caramel onto the prepared tray to form irregular shards that will decorate the tops of the cakes. Set aside to harden.
Finally create spun sugar to dress the cake. Gently warm any remaining caramel and then take 2 wooden spoons and coat the handles with a small amount of oil. Secure these to the worktop with a heavy tray so that the handles are poking out. Cover the floor with paper because you’re going to be making a mess! Once the caramel is the consistency of runny honey, dip a fork into the caramel and flick it between the oiled handles. Collect up the spun sugar and arrange on top of the cake. Dot edible flowers all over the cake to finish.
You need JavaScript to view this clip.
How to cream butter by hand
You need JavaScript to view this clip.
Testing to see if a cake is cooked


---
layout: post
title: Sleek Makeup Oh so special
tags:
- Sleek Makeup
status: publish
type: post
published: true
meta:
_edit_last: '2'
_aioseop_keywords: SleekMakeup Sleek Makeup Oh so special review and swatches, sleek
makeup i divine pallet
_aioseop_title: SleekMakeup Sleek Makeup Oh so special review and swatches
_yoast_wpseo_linkdex: '0'
_thumbnail_id: '4815'
_yoast_wpseo_focuskw: ''
_yoast_wpseo_title: ''
_yoast_wpseo_metadesc: ''
_yoast_wpseo_metakeywords: ''
_yoast_wpseo_meta-robots-noindex: '0'
_yoast_wpseo_meta-robots-nofollow: '0'
_yoast_wpseo_meta-robots-adv: none
_yoast_wpseo_sitemap-include: ! '-'
_yoast_wpseo_sitemap-prio: ! '-'
_yoast_wpseo_canonical: ''
_yoast_wpseo_redirect: ''
---
In a competition amongst the i-divine pallets from Sleek makeup "Oh So Special" has emerged out as the winner without any disputes. Bloggers have a lot to say about the pallet, and I was very sure of what I was picking up in my first purchase from Sleek Makeup.
Price: Rs. 500 ($9.99)
Although this pallet does share some shades with the Au Naturale, but I am really happy that I picked up both of them.
If given an option between the Oh So Special and Au Naturale, I would definitely opt for Oh So Special without any second thoughts.
This is a beautiful pallet with some great neutral shades, and definitely recommend if you are looking for something in budget.
You can win a beautiful Sleek Makeup i-divine pallet in my current giveaway here....


The external interface simulation in the shuobject.
Click Me
Click the button on the left to call a function in the SWF.


This test just makes sure the script loads and
something
works. More comprehensive tests are located in the /test directory.


This page presents project- and master thesis proposals for the Autosea project. The project has gathered considerable ammounts of data in the Trondheimdsfjord during the winter of 2015/2016 and the spring 2017 together with Maritime Robotics. Many of the results from the suggested theses can be verified with the gathered data, or tested in new experiments. Matlab and Python are the main tools used for development and simulation. Some project software is developed using ROS
General information about the project can be found at AMOS' website.


byte_array_writer(@key transcoder)
Return a new output stream for writing unsigned bytes.
If transcoder
is present, it must be a transcoder object, and byte_array_writer
will return
a textual output stream which will be encoded with transcoder
. Otherwise, a binary output stream is returned.
let bw = byte_array_writer()
write_bytes(#u8[100, 123, 42], bw)
get_output_bytes(bw)
// #u8[100, 123, 42]


I believe the most important skill one can develop is habit building, because its the gift that keeps on giving.
Habits are like superpowers. When I first heard that my friend reads over one hundred books a year, I was surprised how anyone could do that. But its just about consistency and priorities. Habits turn the things that are on hard mode at first into easy mode over time, conserving our willpower to focus on new things that come up in life. It puts the necessities, what needs to get done everyday, in the background and ensures they are handled.
The problem is that as a young person, your life is bound by school deadlines and random texts from your friends making last-minute plans.  On top of that, you're still trying to figure out yourself, and thus, your priorities often change as well.
I was only able to take habit building seriously after I finished my degree at UMD. One thing I am actively trying to improve on is thinking more long-term, and habits are long-term by nature. Staying up all night to finish a feature isn't productive long term, but tackling it for an hour everyday is (still trying to grow out of the hackathon mindset)
Its only been a few weeks but here are some tips that have helped me along the way:
Don't quit before you see the benefits
We often quit habits long before we see the benefits. This defeats the purpose and throws away all the progress you've made. You'll be able to more easily stick with a habit once you start seeing the positive effect it has had on your life.
Log your habits
Keep a spreadsheet of your habits (whether you did them or not) for each day. Set a reminder (I use google calendar) for updating your spreadsheet for the next day.
Use Triggers
If you have a bad habit you want to get rid of, replace it with a good habit that responds to the same trigger as the bad one (ex: If I grind my teeth when I'm stressed, recognize when you are stressed (the trigger) and try meditation instead) Triggers can be used to remind you to do good habits such as drinking green tea as soon as you wake up.
Don't Skip Two Days
Life happens, and we end up skipping a day of a habit. That's fine, but skipping two days is death. If you ever skip, put all your willpower into picking it up again the next day.
I highly recommend reading Superhero by Habit for more tips on habit-building + some ideas for habits to build.
Habits I'm building for 2019:
Leadership


Example Store Title
Example store catch-phrase
Example product header
Example Product description
Example product header
Example Product description
Example product header
Example Product description
Example product header
Example Product description
Example product header
Example Product description
Example product header
Example Product description
Example product header
Example Product description
Example product header
Example Product description


Coral Bay at the south east end of the island is choc-a-bloc with liveaboards and cruisers. Once the main community on the island because of its sheltered harbour, it has fallen from prominence with the introduction of a ferry service to Cruz Bay. Many tourists holidaying on St. John don't venture as far as Coral Bay.
The "Skinny Legs Bar" ashore and "Angel's Rest" afloat are the natural meeting spots for cruisers.
Whilst facilities and services are very limited here (after all, that is the attraction of the place), there are a few shops and a good - if expensive - deli.
Position 18° 20'26"N, 64° 42'38"W (bay entrance)
It can get crowded in Coral Bay, therefore often it is better to anchor a bit further out to get swinging room, which is not always there in the mooring field. When anchoring it is advisable to keep well away from the north west shore as there are many sunken boats here, some visible, some not.
Holding is good and the anchorage is reported to be calm.
Alan, at the head of the dinghy dock, has limited chandlery and will also rent you a mooring if you want. He is reported to be a good diesel mechanic as well.
The bus to Cruz Bay is quite reliable (US$1).
Last updated March 2012.


--- layout: post date: 2010-05-29 time: "09:00:00" authors: ["Greg Wilson"] title: Jim Graham on Reproducibility tags: ["Noticed"] ---
In response to Titus Brown's not-really-joking spoof of how most scientists manage their data, Scimatic's Jim Graham has asked, "What is reproducibility, anyway?" His main point is that if I re-run your code on your data, and get the same result that you got, I haven't actually added to the sum total of human knowledge. If I get an equivalent answer using different code, on the other hand, then our confidence in the answer is usefully increased. What do you think?


That said, our boilerplate below is getting lengthy (3 stylesheets!). It’s time to add a dependency.


API Error
Release Vote Text
Verification Logs
The following verification checks will be executed...
✔ download links work ✔ pgp signature & sha512 hash valid ✔ sources files in archive ✔ correct LICENSE & NOTICE ✔ no incubator disclaimers


Introduction
PostIt
is a simple application that allows friends and colleagues create groups for notifications. It allows a person post notifications to everyone in his group by sending a message once.
It has the following features:
- Creating of an account
- Signing in a registerd user
- Sign-up and Sign-in through google authentication
- Reset password
- Create Groups and be added to groups by other users
- Add users to the group
- View group members
- Post messages in member groups in real-time
- Upload profile pictures
- Archive Messages and view Archived messages
- Recieve in-app, email and sms notification when a message is posted in the group you belong to, based on the message's priority level. The different priority levels are
Normal
,Urgent
,Critical
Authentication Endpoints
Sign-up [POST - /api/v1/user/register]
Request Body
{
"fullname": "Toria Tobias",
"username": "toria",
"password": "ay324ab",
"passwordConfirmation": "ay324ab",
"email"<EMAIL_ADDRESS>"telephone": "08087584922",
}
This endpoint creates a new user
onSuccess - Status Code [201]
onError - Status Code [422]
Sample Response
{
token: "kfjbHJKD787ygiduewedykdubc8ebwu.Yjgkcdveucvo"
}
Login [POST - /api/v1/user/login]
Request Body
{
"userIdentifier": "toria" or<EMAIL_ADDRESS>"password": "ay324ab"
}
This endpoint verifies if a user is registered and then logs the user if verified or throws the appropriate error if not verified. You can login with either username or email
onSuccess - Status Code [200]
onError - Status Codes [401, 409, 422]
Sample Response
{
token: "kfjbHJKD787ygiduewedykdubc8ebwu.Yjgkcdveucvo"
}
Forgot Password [POST - /api/v1/user/forgotpassword]
Request Body
{
"email"<EMAIL_ADDRESS>}
This endpoint handles verifying that a user who wants to reset password is registered and then sends a reset password link to the users email
onSuccess - Status Code [200]
onError - Status Codes [422, 500]
Sample Response
{
success: "Please check your mail for the reset link!"
}
Reset Password [PUT - /api/v1/resetpassword]
Request Body
{
"password": "newpassword"
"passwordConfirmation": "newpassword"
}
Upon reception of an email to reset password, this method receives the new password entered by the user and replaces the user's old password with the nnew one
onSuccess - Status Code [201]
onError - Status Codes [401, 422]
Sample Response
{
success: "password reset successful, Please login to continue!"
}
Google Signup [POST - /api/v1/user/googlesignup]
Request Body
{
"id_token": "CDjdljdf8yg8ge092874hikudjlcedcUIYHCG.78ghGKcjdsgkj"
}
Upon verification of user's email by google, this endpoint receives the user's id_token
issued by google, verifies the token and decodes it, checks if the user has previously signed-up with google in the past, if not, it saves the users detail into db including the user's unique subject id
and then generates a new token for the user, if yes, sends an error message teeling the user he's signed-up before and asking the user to sign-in with google instead
onSuccess - Status Code [201]
onError - Status Codes [401, 409]
Sample Response
{
token: "kfjbHJKD787ygiduewedykdubc8ebwu.Yjgkcdveucvo"
}
Google Sign-in [POST - /api/v1/user/googlelogin]
Request Body
{
"id_token": "CDjdljdf8yg8ge092874hikudjlcedcUIYHCG.78ghGKcjdsgkj"
}
Upon verification of user's email by google, this endpoint recevies the user's id_token
issued by google, verifies the token and decodes it, checks if the user is registered in the database, if yes, generates a new token for the user, if not, generates an error and tells the user to signup with google first
onSuccess - Status Code [200]
onError - Status Codes [401]
Sample Response
{
token: "kfjbHJKD787ygiduewedykdubc8ebwu.Yjgkcdveucvo"
}
Verify User [POST - /api/v1/verifyuser]
Request Body
{
"token": "kfjbHJKD787ygiduewedykdubc8ebwu.Yjgkcdveucvo"
}
Upon browser refresh, or re-opening of the page, this endpoint verifies if the user's token is still valid if not, an error response is generated
onSuccess - Status Code [200]
onError - Status Codes [401, 404]
Sample Response
{
success: "user verification successful!",
token: "kfjbHJKD787ygiduewedykdubc8ebwu.Yjgkcdveucvo"
}
User Endpoints
Get All Registered Users [GET - /api/v1/users]
Sample Response
{
success: "Successful.",
users: [{
id: "2"
username: "toria",
profileImage: "https://res.cloudinary.com/dr6ynr4o0/image/upload/v1506624353/alygvc4f2hm2kjxokgps.jpg",
fullname: "Toria Tobias",
email<EMAIL_ADDRESS>telephone: "08087584922"
}, {
id: "3"
username: "jide",
profileImage: "https://res.cloudinary.com/dr6ynr4o0/image/upload/v1506624353/alygvc4f2hm2kjxokgps.jpg",
fullname: "Jide Tobias",
email<EMAIL_ADDRESS>telephone: "09074384397"
}]
}
This endpoint fetches all registered users
onSuccess - Status Code [200]
onError - Status Codes [401, 404, 500]
Get Group Members [GET - /api/v1/group/:id/users]
Sample Response
{
success: "Successful.",
foundUsers: {
name: "New Group",
description: "It's a new group",
id: "7",
ownerId: "4",
createdAt: "017-09-10T16:29:08.087Z",
Users: [{
id: "2"
username: "toria",
profileImage: "https://res.cloudinary.com/dr6ynr4o0/image/upload/v1506624353/alygvc4f2hm2kjxokgps.jpg",
fullname: "Toria Tobias",
email<EMAIL_ADDRESS>telephone: "08087584922"
}, {
id: "3"
username: "jide",
profileImage: "https://res.cloudinary.com/dr6ynr4o0/image/upload/v1506624353/alygvc4f2hm2kjxokgps.jpg",
fullname: "Jide Tobias",
email<EMAIL_ADDRESS>telephone: "09074384397"
}]
}
}
This endpoint fetches a group and all it's members
onSuccess - Status Code [200]
onError - Status Codes [401, 404, 500]
Add New Users To Group [POST - /api/v1/group/:id/user]
Request Body
{
"members": ["jide", "toria"]
}
This endpoint handles adding new users to a group
onSuccess - Status Code [201]
onError - Status Codes [401, 403, 404, 422, 500]
Sample Response
{
success: "new users added successfully",
addedUsers: [{
GroupId: "2",
UserId: "4",
createdAt: "017-09-10T16:29:08.087Z",
updatedAt: "017-09-10T16:29:08.087Z"
}, {
GroupId: "3",
UserId: "1",
createdAt: "017-09-10T16:29:08.087Z",
updatedAt: "017-09-10T16:29:08.087Z"
}]
}
Upload Profile Picture [PUT - /api/v1/user/:id/edit]
Request body
{
"profileImage": "https://res.cloudinary.com/dr6ynr4o0/image/upload/v1506624353/alygvc4f2hm2kjxokgps.jpg"
}
This endpoint handles uploading a new profile picture. It can be extended for updating users details
onSuccess - Status Code [200]
onError - Status Codes [401, 404, 500]
Sample Response
{
success: "Profile Image updated successfully.",
}
Group Endpoints
Get One User And All His Groups [GET - /api/v1/groups]
Sample Response
{
success: 'Successful.',
foundGroups: {
id: "2",
username: "toria",
profileImage: "https://res.cloudinary.com/dr6ynr4o0/image/upload/v1506624353/alygvc4f2hm2kjxokgps.jpg",
fullname: "Toria Tobias",
email<EMAIL_ADDRESS>telephone: "08087584922",
Groups: [{
name: "New Group",
description: "It's a new group",
id: "7",
ownerId: "4",
createdAt: "017-09-10T16:29:08.087Z",
}, {
name: "A Second Group",
description: "A second for demo",
id: "8",
ownerId: "4",
createdAt: "017-09-10T16:29:08.087Z",
}]
}
}
This endpoint fetches one user and all the group he belongs to
onSuccess - Status Code [200]
onError - Status Codes [401, 404, 500]
Create A New Group [POST - /api/v1/group]
Request Body
{
"name": "Learn Python",
"description": "We teach python!",
"members": ["toria", "jide"]
}
This endpoint handles creating a new group and adding new users to the group at the point of creating the group
onSuccess - Status Code [201]
onError - Status Codes [401, 404, 422]
Sample Response
{
success: "New group created successfully.",
newGroup: {
name: "Learn Python",
description: "We teach python!",
id: "9",
ownerId: "4",
createdAt: "017-09-10T16:29:08.087Z",
}
}
Other Group Endpoints
Get One Group To Edit [GET - /api/v1/group/:id/edit]
Sample Response
{
success: "Successful.",
foundGroup: {
name: "Learn Python",
description: "We teach python!",
id: "9",
UserId: "4",
createdAt: "017-09-10T16:29:08.087Z"
}
}
This endpoint handles fetching a group data for editing
onSuccess - Status Code [200]
onError - Status Codes [401, 404, 500]
Update One Group [PUT - /api/v1/group/:id/edit]
Request Body
{
"name": "Learn Pythonic- Python"
}
This endpoint handles updating a group's details
onSuccess - Status Code [200]
onError - Status Codes [401, 403, 404, 500]
Sample Response
{
success: "Group details updated successfully."
}
Delete A Group [DELETE - /api/v1/group/:id/delete]
Sample Response
{
success: "Group deleted successfully."
}
This endpoint handles deleting a group along with it's messages and users
onSuccess - Status Code [200]
onError - Status Codes [401, 403, 404, 500]
Message Endpoints
Get One Group And It's Messages [GET - /api/v1/group/:id/messages]
Sample Response
{
success: "Successful.",
foundMessages: {
name: "New Group",
description: "It's a new group",
id: "7",
ownerId: "4",
createdAt: "017-09-10T16:29:08.087Z",
Users: [{
id: "2",
GroupId: "2",
ownerId: "4",
createdAt: "017-09-10T16:29:08.087Z",
message: "Hello World!",
priority: "Normal"
}, {
id: "3",
GroupId: "3",
ownerId: "5",
createdAt: "017-09-10T16:29:08.087Z",
message: "Welcome to this group!",
priority: "Urgent"
}]
}
}
This endpoint handles getting one group and all it's messages. It accepts a query parameter ?archived=false
to retrieve only messages that have not been archived and ?archived=true
to retrieve only messages that have been archived
onSuccess - Status Code [200]
onError - Status Codes [401, 404, 500]
Create A New Message [POST - /api/v1/group/:id/message]
Request Body
{
"message": "Welcome to this group",
"priority": "Critical"
}
This endpoint handles posting (creating) a new message to a group, if you are a member of the group
onSuccess - Status Code [201]
onError - Status Codes [401, 404, 422, 500]
Sample Response
{
success: "New message added successfully.",
createdMessage: {
id: "4",
GroupId: "3",
ownerId: "5",
createdAt: "017-09-10T16:29:08.087Z",
message: "Welcome to this group!",
priority: "Urgent"
}
}
Archive All Messages [PUT - /api/v1/group/:id/archivemessages]
Request Body
{
"messageIds": [1, 3, 2, 5]
}
This method handles archiving all the messages in a group
onSuccess - Status Code [200]
onError - Status Codes [401, 403, 404, 422, 500]
Sample Response
{
success: "Messages have been archived successfully",
}
Note
Error Codes
POST-It App uses the following error codes:
| Code | Meaning |
|---|---|
| 401 | Unauthorized -- User was not authorized successfully, e.g during login, or token verification failed. |
| 403 | Forbidden -- This request can be performed only by the group admin. |
| 404 | Not Found -- The specified request was not found. |
| 409 | CONFLICT -- The specified request already exists or conflicts with an existing parameter. |
| 422 | Unprocessable Entity -- Request data is understood by the server but is invalid. |
| 500 | Internal Server Error -- A problem occured with our server. Try again later. |


Gurmeet Ram Rahim's aides threaten mass conversion to Islam, say Dera chief was jailed since he is Hindu
Dera Sacha Sauda spokesperson caught encouraging Dera followers to convert to Islam. Hindu Right Wing organisations slam Dera chief for misusing religion to hide wrongdoings.
Note: This news item has been sourced from India Today. It is too real to be made fun of.


DMITRY
WHITE
7145 Labish Center Rd NE
Salem, Oregon 97305
<EMAIL_ADDRESS>503-763-7209 (home)
503-932-0733 (cell)
EMPLOYMENT
2005 - 2014
Police Detective
Keizer Police Department . Keizer, Oregon
Assignments:
Police Detective, 2008 - 2014.
Uniformed Patrol Officer, 2005 - 2007.
2001 - 2005
Army Officer
U.S. Army . Warner Barracks, Bamberg, Germany
Assignments:
Captain, Battalion Adjutant, 2004-2005, FOB Summerall, Bayji, Iraq.
1st Lieutenant, Battery Executive Officer, 2004, Bayji, Iraq.
1st Lieutenant, Support Platoon Leader, 2002-2003, Germany.
Second Lieutenant, MLRS Firing Platoon Leader, 2002, Macedonia.
Second Lieutenant, Field Artillery Officer Trainee, 2001-2002, Ft Sill, OK.
SKILLS SUMMARY
19 Years Customer Service
11 Years Critical / Technical Report Writing & Presentation
11 Years Problem-Solving in Response to Rapidly Evolving Situations
7 Years Conducting Criminal Investigations
7 Years Working Within Courts / Legal system
4 Years Emergency / Tactical Operations Center Management
4 Years Supervising Teams of Various Sizes
Excellent written and verbal communication skills
EDUCATION
Portland Code School JavaScript Immersion
April 2014 - Present
Portland Code School Web Development Primer
March 2014
B.A. in English - Writing
1997 - 2001 . Pacific Lutheran University . Parkland, Washington


Introduction
This is a small Ruby tutorial that introduces you to the basics of the language. It makes the assumption that you already have Ruby installed.
Defining a Method
The code def h starts the definition of the method. It tells Ruby that we’re defining a method, that its name is h. The next line is the body of the method, the same line we saw earlier: puts "Hello World". Finally, the last line end tells Ruby we’re done defining the method. Ruby’s response => :h tells us that it knows we’re done defining the method. This response could be => nil for Ruby 2.0 and earlier versions. But, it’s not important here, so let’s go on.
The Brief, Repetitive Lives of a Method
Now let’s try running that method a few times:
Well, that was easy. Calling a method in Ruby is as easy as just mentioning its name to Ruby. If the method doesn’t take parameters that’s all you need. You can add empty parentheses if you’d like, but they’re not needed.
What if we want to say hello to one person, and not the whole world? Just redefine h to take a name as a parameter.
Evolving Into a Greeter
What if we want a real greeter around, one that remembers your name and welcomes you and treats you always with respect. You might want to use an object for that. Let’s create a “Greeter” class.
The new keyword here is class.  Also notice "@name". This is an instance variable, and is available to all the methods of the class. As you can see it’s used by "say_hi" and "say_bye".
Now let’s create a greeter object and use it:


Taylor Horman, a freshman studying social work, said on a scale of one to 10, the importance of voting sits at about a seven for her.
“I know that there has been talk about eliminating absentee ballots, but I think that they’re really important, especially for college students like myself where my drive home is three hours,” Horman said. “On a traditional voting day, I would not be able to leave school and go home and vote. I would just have to miss the election.”
Horman said her concern coming out of the COVID-19 pandemic is on mental health issues.
“I think there was a lot of people, mostly students, who were in isolation for a long time,” she said. “I've seen a lot of people struggling mentally with the transition coming out of the pandemic.
Ashley Harris, a freshman studying criminology, said voting is important and encouraged everyone to go out and vote in the upcoming election. Harris said she felt previous elections had an impact on the pandemic.
“COVID-19 was made political, which I don’t agree with,” Harris said. “It should not be politics. It should just be handled as healthy as possible so everyone can move on.”
She said she feels the current national administration is handling the pandemic the best it can and is most concerned about how the workforce will handle an upcoming generation of students who experienced online education.
Vernon Kluding, a junior studying political science, said despite the fact he thinks voting is extremely important, he believes the way that we vote in America is “fundamentally flawed.”
“Providing opportunities for every citizen to be able to vote is important. That's not really my criticism,” Kluding said. “It's more so the fact that the way we vote and have historically voted is tribalistic, and this is why I don't like either of the parties: that divides people, and it gets in the way of actual problems that are facing us systemically as a country.”
Kluding echoed Horman’s concerns about the psychological effects the pandemic has induced and feels there has not been enough focus on the mental effects of COVID-19.
“Getting back on track to that pre-COVID world is very important, I think, for the health of everybody,” he said.
Manny Velazquez, a freshman studying professional pre-med, said he does not have any concerns as a college student coming out of the pandemic and feels it’s important to start taking steps back to normalcy.
“I think the one thing that's so special about human beings is that we are very adaptive, and so I think we can easily go return … (to) partying or social gathering and stuff,” Velazquez said.


Just did the impossible--actually accomplished something meaningful with a 3 1/2 inch floppy disk. That's a blast from the past.
6/20/2009, 8:19:53 PM
Favs: 0
Retweets: 0
link--- layout: tweet ---
Just did the impossible--actually accomplished something meaningful with a 3 1/2 inch floppy disk. That's a blast from the past.
6/20/2009, 8:19:53 PM
Favs: 0
Retweets: 0
link


ALORA Electronic Calculator
0
AC
CE
/
X
7
8
9
-
4
5
6
+
1
2
3
0
00
.
=
Designed & Coded by Sachithra.


Home
Welcome to Getlinked
Sign In with Google
Log out
Suggested Links
Paste the Links Here:
Link Type:
Department:
SubjectName:
Topic:
Description:


{{departure.departure_time | date:'shortTime'}}
{{departure.origin_location}}
{{departure.origin_city}}
{{departure.origin_city}}
{{departure.arrival_time | date:'shortTime'}}
{{departure.destination_location}}
{{departure.destination_city}}
{{departure.destination_city}}
{{departure.price | currency:"USD$"}}
One-way per person


Nyzo version 609 (commit on GitHub) adds an amount option to Nyzo prefilled-data strings.
This version affects the client.
Nyzo prefilled-data strings were originally created to allow recipients to bundle a data field with their receiver identifier. This is especially useful for exchanges, which can use the data field to identify an account within the exchange. It would also be useful for many purchase scenarios, allowing bundling of an invoice identifier or other reference number.
A community member suggested in a GitHub issue that adding an amount option to prefilled-data strings would be useful. This version implements that suggestion.
In CommandEndpointApi, the command is now wrapped in a try/catch. This allows the endpoint to produce a result even if the command fails with an exception.
In future versions, CommandEndpointApi should perform proper validation of arguments and return the validation results in the response.
In PrefilledDataCreateCommand, an optional field for amount was added.
When sender data is validated in PrefilledDataCreateCommand.validate() the truncation warning is now attached to the validation result instead of being written to the output.
The amount is now validated, producing a warning if an unparseable value is provided.
In the PrefilledDataCreateCommand.run() method, the amount is now processed, included in the prefilled-data string, and written to the output table.
In PrefilledDataSendCommand, the amount is now indicated as optional if an amount is included in the prefilled-data string.
In PrefilledDataSendCommand.validate() the amount is now fetched from the prefilled-data string. For backwards compatibility, strings without an amount specified behave as having an amount of 0.
When processing the amount in PrefilledDataSendCommand.validate(), the amount from the prefilled-data string is used as a fallback if a valid amount is not specified as an argument to the command.
In PrefilledDataSendCommand.run(), the same behavior applies. If the amount is not specified in a command argument, or if the amount specified is invalid, then the amount from the prefilled-data string is used.
In NyzoStringPrefilledData, a field for amount was added.
In the byte encoding of the prefilled-data string, the most significant bit of the sender-data length field is now used to encode the presence or absence of an amount. This makes all existing prefilled-data strings compatible with the new code.
When decoding a prefilled-data string from bytes, the amount is now considered also. The comments explain in more detail how the bits of the sender-data length field are used.
The NyzoStringPrefilledData.toString() method was added to improve debuggability.
In NyzoStringTest.testPrefilledDataStrings(), amounts are now populated and tested.


Prerequisites
This tutorial assumes that you have already completed the build instructions and are able to create a build successfully. If this is not the case, have a look at the "How do I get up and running?" section under "Getting Started" for the build instructions as well as some troubleshooting guidelines.
Apart from being able to create a build, there is not much else that this tutorial assumes other than some basic programming background. Most of the tutorial can be followed simply by going through the code and documentation already present in the Malm&oul; platform and doing some pattern matching. Pointers to resources and documentation will be provided when relevant. That said, some knowledge of XML and Java or similar equivalents, say HTML and C++ respectively, will be greatly beneficial.
Setting up an IDE
Using an Integrated Development Environment can greatly help in developing MinecraftForge mods and hence working with the Project Malmö platform. Since Minecraft is programmed in Java, some IDEs are recommended and used by the Minecraft modding community . These are IntelliJ IDEA and Eclipse .
At this point, if you do not already have one of the above IDEs, choose an IDE you like, download and install it.
Now, open a command prompt or terminal and change the directory to the Malmö directory (root) and then to the directory inside titled Minecraft. Now, the next few steps will vary depending on the IDE you choose to use .
If you are using Eclipse and are on
-
Windows, run:
gradlew eclipse
-
Linux/Mac OS, run:
./gradlew eclipse
Now, open Eclipse and point it to the eclipse folder
If you are using IDEA, open IDEA and select Import Project. Now, navigate to the Minecraft folder within the Malmö directory.
Select build.gradle
within the Minecraft folder.
Once IDEA finishes importing the project, close IDEA. In your command window, run
-
For Windows:
gradlew genIntellijRuns
-
For Linux/Mac OS:
./gradlew genIntellijruns


EMTlsConfiguration Class Reference
| Inherits from | NSObject |
|---|---|
| Declared in | EMTlsConfiguration.h |
– init
Constructs a EMTlsConfiguration
object whose settings are
all NO
.
- (instancetype)init
Return Value
New instance of a EMTlsConfiguration.
Discussion
This is the most secure configuration for the communication link.
Declared In
EMTlsConfiguration.h
– initWithTimeout:
Constructs a EMTlsConfiguration
object whose settings are
all NO
, with ability to set timeout interval.
- (instancetype)initWithTimeout:(NSTimeInterval)timeout
Parameters
timeout |
The timeout of the connection in seconds. |
|---|
Return Value
New instance of a EMTlsConfiguration.
Availability
3.0
Discussion
This is the most secure configuration for the communication link.
Declared In
EMTlsConfiguration.h
– initWithInsecureConnectionAllowed:selfSignedCertAllowed:hostnameMismatchAllowed:
Constructs a EMTlsConfiguration
object whose settings are
configured in this constructor.
- (instancetype)initWithInsecureConnectionAllowed:(BOOL)insecureConnectionAllowed selfSignedCertAllowed:(BOOL)selfSignedCertAllowed hostnameMismatchAllowed:(BOOL)hostnameMismatchAllowed
Parameters
insecureConnectionAllowed |
If |
|---|---|
selfSignedCertAllowed |
If |
hostnameMismatchAllowed |
If |
Return Value
New instance of a EMTlsConfiguration.
Discussion
Warning: It is not recommended to override these settings in a production environment. Allowing any of these configurations will reduce the security of the communication link with the server.
Warning: The insecure permits could only used in debug build for test purpose. They were not allowed to be used in release mode since 3.0 version.
Declared In
EMTlsConfiguration.h
– initWithInsecureConnectionAllowed:selfSignedCertAllowed:hostnameMismatchAllowed:timeout:
Constructs a EMTlsConfiguration
object whose settings are
configured in this constructor.
- (instancetype)initWithInsecureConnectionAllowed:(BOOL)insecureConnectionAllowed selfSignedCertAllowed:(BOOL)selfSignedCertAllowed hostnameMismatchAllowed:(BOOL)hostnameMismatchAllowed timeout:(NSTimeInterval)timeout
Parameters
insecureConnectionAllowed |
If |
|---|---|
selfSignedCertAllowed |
If |
hostnameMismatchAllowed |
If |
timeout |
The timeout of the connection in seconds. |
Return Value
New instance of a EMTlsConfiguration.
Discussion
Warning: It is not recommended to override these settings in a production environment. Allowing any of these configurations will reduce the security of the communication link with the server.
Warning: The insecure permits could only used in debug build for test purpose. They were not allowed to be used in release mode since 3.0 version.
Declared In
EMTlsConfiguration.h
– initWithCertificates:insecureConnectionAllowed:selfSignedCertAllowed:hostnameMismatchAllowed:timeout:
Constructs a EMTlsConfiguration object whose settings are configured in this constructor. This API will do the certificate pinning check.
- (instancetype)initWithCertificates:(NSArray *)certificates insecureConnectionAllowed:(BOOL)insecureConnectionAllowed selfSignedCertAllowed:(BOOL)selfSignedCertAllowed hostnameMismatchAllowed:(BOOL)hostnameMismatchAllowed timeout:(NSTimeInterval)timeout
Parameters
certificates |
List of certificates data to be checked for pinning. |
|---|---|
insecureConnectionAllowed |
If |
selfSignedCertAllowed |
If |
hostnameMismatchAllowed |
If |
timeout |
The timeout of the connection in seconds. |
Return Value
New instance of a EMTlsConfiguration.
Availability
4.5
Discussion
Warning: It is not recommended to override these settings in a production environment other than the certificates to pin. Allowing any of these configurations will reduce the security of the communication link with the server.
Warning: The insecure permits could only used in debug build for test purpose. They were not allowed to be used in release mode since 3.0 version.
Warning: iOS client only allows certificate from the content of file with the following format: X.509 Certificate (DER)
Warning: iOS client does not support certificate from the content of file with the following format: (1) X.509 Certificate (PEM), (2) X.509 Certificate with chain (PEM), (3) X.509 Certificate (PKCS#7), and (4) X.509 Certificate with chain (PKCS#7).
Declared In
EMTlsConfiguration.h
insecureConnectionAllowed
Whether or not an insecure connection is allowed.
@property (nonatomic, readonly, getter=isInsecureConnectionAllowed) BOOL insecureConnectionAllowed
Return Value
If YES
, then either an unencrypted (http) or an encrypted
(https) connection is allowed. If NO
, then only encrypted
connections are allowed.
Declared In
EMTlsConfiguration.h
selfSignedCertAllowed
Whether or not self signed certificate is allowed.
@property (nonatomic, readonly, getter=isSelfSignedCertAllowed) BOOL selfSignedCertAllowed
Return Value
If YES
, then a connection will accept a self signed server
certificate. If NO
, then a connection whose server certificate is
not signed by a certificate authority on the device is rejected.
Declared In
EMTlsConfiguration.h
hostnameMismatchAllowed
Whether or not to allow mismatch between common name (CN) of the server certificates and domain name of the URL.
@property (nonatomic, readonly, getter=isHostnameMismatchAllowed) BOOL hostnameMismatchAllowed
Return Value
If YES
, then a connection will accept a server certificate
whose common name (CN) does not match the URL’s domain.
If NO
, then the connection is rejected.
This setting is ignored if self signed certificates are allowed.
Declared In
EMTlsConfiguration.h
timeout
Gets the timeout of the connection.
@property (nonatomic, assign, readonly) NSTimeInterval timeout
Return Value
Returns the timeout in seconds.
Declared In
EMTlsConfiguration.h
certificates
Get the certificates.
@property (nonatomic, readonly) NSArray *certificates
Return Value
Returns the certificates.
Availability
4.5
Declared In
EMTlsConfiguration.h


Pariah is an explosive realistic look at the world of "Skinheads". As a hispanic female, to watch the hatred portrayed against all races not white,and abuse towards women in general. It is a slap in the face of the realism that exists in the world today. The cast is absolutely riveting and convincing in their portrayal. Damon Jones and Dave Owen Ward stand out in their portrayal of skinhead and avenger. Jones, starts out as a decent guy,whom happens to be involved in an interracial relationship. At the wrong place at the wrong time, a group of skinheads masterminded by Ward,rape and beat Jones girlfriend as he helplessly is forced to watch. She then commits suicide, which triggers Jones to take a twisted turn of events, as he now is seeking vindication for what has become of his life. He becomes one of them (skinhead) after much resistance from them. Aimee Chaffin(Sissy) brings a raw look into todays street youth, that is hard on the outside,yet soft in the inside. And you, as a viewer,can see through. Brandon Slater also delivers a realistic look into an autistic youth who happens to be involved in the world of skinheads, because of his sister, Sissy. Slater(Doughboy) is the most endearing of all portrayed. How this all ends, will leave you thinking about the world we live in and the society we've bred. This is not a movie for the faint hearted or people whom simply choose to look the other way and ignore the realisms of life.  BRAVO! ANN ALVAREZ VENICE CA.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Class CredentialService
Service to retrieve Dragonchain credentials for use in API requests
Inheritance
System.Object
CredentialService
Implements
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: dragonchain_sdk.Credentials
Assembly: dragonchain-sdk.dll
Syntax
public class CredentialService : ICredentialService
Constructors
| Improve this Doc View SourceCredentialService(String, String, String, HmacAlgorithm, ICredentialManager, ILogger<DragonchainClient>)
Create an Instance of a CredentialService
Declaration
public CredentialService(string dragonchainId, string authKey = "", string authKeyId = "", HmacAlgorithm hmacAlgo = HmacAlgorithm.SHA256, ICredentialManager credentialManager = null, ILogger<DragonchainClient> logger = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | dragonchainId | dragonchainId associated with these credentials |
| System.String | authKey | authKey to use with these credentials |
| System.String | authKeyId | authKeyId to use with these credentials |
| HmacAlgorithm | hmacAlgo | hmac algorithm to use |
| ICredentialManager | credentialManager | manager to retrieve Dragonchain credentials from config provider |
| Microsoft.Extensions.Logging.ILogger<DragonchainClient> | logger |
Properties
| Improve this Doc View SourceDragonchainId
Declaration
public string DragonchainId { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
Methods
| Improve this Doc View SourceGetAuthorizationHeader(String, String, String, String, String)
Return the HMAC signature used as the Authorization Header on REST requests to your dragonchain.
Declaration
public string GetAuthorizationHeader(string method, string path, string timestamp, string contentType, string body)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | method | |
| System.String | path | |
| System.String | timestamp | |
| System.String | contentType | |
| System.String | body |
Returns
| Type | Description |
|---|---|
| System.String |
OverrideCredentials(String, String)
Manually override the credentials for this instance
Declaration
public void OverrideCredentials(string authKeyId, string authKey)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | authKeyId | |
| System.String | authKey |


class: center, middle, inverse, title-slide # Lecture 18 ## Marginal and Distributional Treatment Effects ### Tyler Ransom ### ECON 6343, University of Oklahoma --- # Attribution Today's material is based on lecture notes from Arnaud Maurel (Duke University) I have adjusted his materials to fit the needs and goals of this course --- # Plan for the Day 1. Marginal Treatment Effects 2. Policy-Relevant Treatment Effects 3. Distributional Treatment Effects --- # Marginal Treatment Effects - .hi[Essential heterogeneity:] the standard IV approach does not identify the ATE, nor any standard average treatment effect parameter - Heckman and Vytlacil (2005): under some restrictions on the selection rule and with an instrument, one can identify .hi[Marginal Treatment Effects] (MTE, Bjorklund and Moffitt (1987)) for individuals at certain margins - .hi[Key insight:] all the standard TE parameters can be expressed as weighted averages of the MTE parameters - Useful framework that highlights the conditions under which standard, or policy relevant TE parameters, are identified from the data --- # Econometric framework - Nonseparable outcome model: `\begin{align*} Y_1&=\mu_1(X,U_1)\\ Y_0&=\mu_0(X,U_0) \end{align*}` - Decision rule for selection into treatment: `\begin{align*} D&=1[\mu_{D}(Z)-U_D \geq 0] \end{align*}` Additive separability on the index is key here - `\((Z,X)\)` are observed, `\((U_0,U_1,U_D)\)` unobserved - Exclusion restriction: `\(Z\)` contains all the `\(X\)` plus one element not in `\(X\)` --- # Econometric framework (Continued) Assumptions maintained throughout the analysis: 1. `\(\mu_{D}(Z)\)` is a nondegenerate random variable conditional on `\(X\)` 2. `\((U_1,U_D)\)` and `\((U_0,U_D)\)` are independent of `\(Z\)` conditional on `\(X\)` 3. The distribution of `\(U_D\)` is absolutely continuous w.r.t. the Lebesgue measure 4. `\(\mathbb{E}|Y_1|\)` and `\(\mathbb{E}|Y_0|\)` are finite 5. `\(0<\mathbb{P}(D=1|X)<1\)` 6. No feedback condition: `\(X_{D=1}=X_{D=0}\)` almost surely - Overall, the model is quite general - The availability of a valid instrument (conditions 1-2) is most restrictive in practice --- # Econometric framework (Continued) - Selection probability: `\(\mathbb{P}(Z)=\mathbb{P}(D=1|Z)=F_{U_D|X}(\mu_{D}(Z))\)` - Normalization: `\(U_D \sim U_{[0,1]}\)` and `\(\mu_{D}(Z)=\mathbb{P}(Z)\)` - Vytlacil (2002): this model, with the assumptions 1-5, is equivalent to the LATE model of Imbens and Angrist (1994) --- # The Marginal Treatment Effect $$ \Delta^{MTE}(x,u_{d})=\mathbb{E}(Y_1-Y_0|X=x,U_d=u_d)$$ - This is the mean effect of treatment conditional on the observable characteristics `\(X\)` and the unobservables `\(U_D\)` from the selection equation - Other interpretation: mean effect of treatment for individuals with observable characteristics `\(X\)` who would be indifferent between treatment or not if exogenously assigned a value `\(Z\)` `\((z)\)` such that `\(\mu_{D}(z)=u_d\)` - Essential heterogeneity: `\(\Delta^{MTE}(x,u_{d})\)` varies with `\(u_d\)` --- # Connection between MTE and LATE - Consider the case of a binary instrument `\(Z \in \{0,1\}\)` - The LATE writes: `\begin{align*} \mathbb{E}(Y_1 - Y_0|X=x,D_{0}=0, D_1=1)&=\\ \mathbb{E}(Y_1 - Y_0|X=x,u'_{D}\leq U_D \leq u_D) \end{align*}` where `\(u'_{D}=\mathbb{P}(D_0=0)=\mathbb{P}(0)\)` and `\(u_{D}=\mathbb{P}(D_1=1)=\mathbb{P}(1)\)` - For `\(u'_{D} \longrightarrow u_D\)`: `\(\Delta^{LATE}(x,u'_{d},u_d) \longrightarrow \Delta^{MTE}(x,u_{d})\)` --- # MTE and ATE, ATT, ATU - Key result: all the standard treatment effect parameters are obtained as weighted averages of MTE - ATE: `\begin{align*} \mathbb{E}(Y_1-Y_0|X=x)&=\mathbb{E}_{U_d|X=x}(\mathbb{E}(Y_1-Y_0|X=x,U_d=u_d))\\ &=\int_{0}^{1} \Delta^{MTE}(x,u_{d})du_d \end{align*}` --- # MTE and ATT Similarly for the ATT: `\begin{align*} \mathbb{E}(Y_1-Y_0|X=x,D=1)&=\int_{0}^{1} \Delta^{MTE}(x,u_{d})h_{TT}(x,u_d)du_d \end{align*}` with the weights: `\begin{align*} h_{TT}(x,u_D)&=\frac{1-F_{P|X=x}(u_D)}{\int_{0}^{1}(1-F_{P|X=x}(t))dt} \end{align*}` Interpretation: the TT oversamples the MTE for the individuals with low values of `\(U_D\)` --- # MTE and IV estimator - In the presence of essential heterogeneity, the standard IV approach in general does not identify any of the standard mean treatment effect parameters - Still, the IV estimand can also be obtained as a weighted sum of the MTE parameters. Consider a function `\(J(Z)\)` as an instrument, the IV estimand writes: `\begin{align*} \beta_{IV}(x,J)&=\frac{Cov(J(Z),Y|X=x)}{Cov(J(Z),D|X=x)} \end{align*}` - Denoting `\(\widetilde{J(Z)}=J(Z)-\mathbb{E}(J(Z)|X=x)\)`, we can show that the numerator writes: `$$\int_{0}^{1} \Delta^{MTE}(x,u_{d})\mathbb{E}(\widetilde{J(Z)}|X=x,\mathbb{P}(Z)\geq u_D)\mathbb{P}(\mathbb{P}(Z)\geq u_d|X)du_d$$` --- # MTE and IV estimator (Continued) .small[ - And from the law of iterated expectations, we have: `\(Cov(J(Z),D|X=x)=Cov(J(Z),\mathbb{P}(Z)|X=x)\)` - This implies that `\(\beta_{IV}(x,J)\)` is a weighted average of the MTE, with the weighting function `\(h_{IV}(u_D|x,J)\)`: `\begin{align*} \frac{\mathbb{E}(\widetilde{J(Z)}|X=x,\mathbb{P}(Z)\geq u_D)\mathbb{P}(\mathbb{P}(Z)\geq u_d|X)}{Cov(J(Z),\mathbb{P}(Z)|X=x)} \end{align*}` - `\(\mathbb{P}(Z)\)` plays a special role here. In the case where `\(J(Z)=\mathbb{P}(Z)\)`, the weights are nonnegative for all evaluation points - In general this is not the case - This may lead to counterintuitive interpretations of the IV estimator: e.g. all the MTEs are positive, but the IV estimate is negative! ] --- # Identification of the MTE - Key question given the central role played by the MTE in policy analysis - Idea: use `\(J(Z)=\mathbb{P}(Z)\)` as an instrument (.hi[Local Instrumental Variable], LIV) approach - LIV is defined (and identified) by: `\begin{align*} \Delta^{LIV}(x,p)&=\frac{\partial \mathbb{E}(Y|X=x,\mathbb{P}(Z)=p)}{\partial p} \end{align*}` - Note that: `\begin{align*} \mathbb{E}(Y|X=x,\mathbb{P}(Z)=p)&=\mathbb{E}(Y_0|X=x,\mathbb{P}(Z)=p) + \mathbb{E}(D(Y_1-Y_0)|X=x,\mathbb{P}(Z)=p)\\ &=\mathbb{E}(Y_0|X=x) + \mathbb{E}(Y_1-Y_0|X=x,\mathbb{P}(Z)=p,D=1)p\\ &=\mathbb{E}(Y_0|X=x) + \mathbb{E}(Y_1-Y_0|X=x,p\geq U_D)p \end{align*}` --- # Identification of the MTE (Continued) - Defining `\(U_k\)` by: `\(Y_k=\mathbb{E}(Y_k|X) + U_k\)` (for `\(k \in \{0,1\}\)`), we have: `\begin{align*} \mathbb{E}(Y|X=x,\mathbb{P}(Z)=p)&=\mathbb{E}(Y_0|X=x) + \Delta^{ATE}(x)p \\ &+ \int_{0}^p \mathbb{E}(U_1-U_0|X=x,U_D=u_D)du_D \end{align*}` - Taking the derivative with respect to `\(p\)` (the LIV) directly yields the MTE evaluated in `\(U_D=p\)`: `\begin{align*} \frac{\partial \mathbb{E}(Y|X=x,\mathbb{P}(Z)=p)}{\partial p}&=\Delta^{ATE}(x) + \mathbb{E}(U_1-U_0|X=x,U_D=p)\\ &=\Delta^{MTE}(x,p) \end{align*}` --- # Identification of the MTE (Continued) - This suggests a simple test for essential heterogeneity, which corresponds to the nonlinearity of `\(\mathbb{E}(Y|X=x,\mathbb{P}(Z)=p)\)` as a function of `\(p\)` - Note this only identifies the MTE on the support of `\(\mathbb{P}\)` conditional on `\(X=x\)` - Thus in general, the standard treatment effect parameters are .hi[not] identified, unless `\(\mathbb{P}(Z)\)` has full support (conditional on `\(X\)`) - Of course, also need a continuous instrument to identify the partial derivative w.r.t. `\(p\)` - See Brinch, Mogstad, and Wiswall (2017) who study identification with a discrete instrument for a linear MTE model --- .center[ .huge[.hi[Policy-Relevant Treatment Effects]] ] --- # Policy Relevant Treatment Effects - In the heterogeneous case, different TE parameters answer different policy questions - Another look at the situation: define a treatment parameter that answers a given policy question (.hi[Policy Relevant Treatment Effect], PRTE) - Consider a class of policies that affect `\(\mathbb{P}\)`, but not the MTE - i.e. if the policy does not change the potential outcomes (no GE consideration here), covariates `\(X\)` or unobservables `\(U_D\)` - Think about tuition fees in the context of schooling --- # Policy Relevant Treatment Effects (Continued) - Denoting by `\(a\)` and `\(a'\)` two potential policies, the PRTE writes: `\begin{align*} \mathbb{E}(Y_a|X=x) - E (Y_{a'}|X=x)\\ =\int_{0}^1 \mathbb{E}(Y_1-Y_0|X=x,U_D=u_D)h_{PRTE}(x,u_D) du_D \end{align*}` - with the weights: `\begin{align*} h_{PRTE}(x,u_D) &= F_{P_{a'}|X=x}(u_D) - F_{P_{a}|X=x}(u_D) \end{align*}` - PRTE weights for those affected by the policy: `\begin{align*} \frac{h_{PRTE}(x,u_D)}{(\mathbb{E}(P_{a}|X=x)-\mathbb{E}(P_{a'}|X=x))} \end{align*}` --- # Policy Relevant Treatment Effects (Continued) - Heckman and Vytlacil (2005) - for a given policy, possible to construct an IV such that the standard IV approach yields the PRTE - ... under certain regularity conditions - Another natural question is the following: - for a given instrument, is it always possible to find a policy such that the IV identifies the corresponding PRTE? - The answer is no in general --- # Carneiro, Heckman, and Vytlacil (2011) - Apply the MTE-Local IV approach to estimate the returns to college for individuals induced to attend college by a marginal policy change - .hi[Marginal] benefits (and costs) are the relevant units to assess the optimality of a policy - Their results provide evidence (from the NLSY79) of essential heterogeneity in the returns to college - individuals with higher returns are more likely to attend college - Comparison with standard IV estimates of the returns to college - Findings: IV estimate is 9.5% but MTE is only 1.5%! --- # Econometric framework - Model similar to Heckman and Vytlacil (2005) - `\(Y_1\)` (or `\(Y_0\)`) denotes the potential log-wage if the individual were to attend college (or not attend college) - `\(S \in \{0,1\}\)` is a dummy for college attendance (treatment) --- # Econometric framework (Continued) - Additive separability is assumed for the outcome equations: `\begin{align*} Y_1&=\mu_1(X) +U_1\\ Y_0&=\mu_0(X) +U_0 \end{align*}` with `\(\mathbb{E}(Y_S|X=x)=\mu_S(x)\)` - Decision to enroll in college: `\begin{align*} S&=1\{\mu_{S}(Z)-V \geq 0\} \end{align*}` --- # Econometric framework (Continued) - Key assumption: at least one exclusion restriction between `\(\mu_S\)` and `\((\mu_0,\mu_1)\)`, with one component of `\(Z\)` being excluded from the outcome equations - Exogeneity condition: `\(Z \perp (U_0,U_1,V) |X\)` - Variables such as tuition fees or distance to college are natural candidates for this exclusion restriction in this context - As above, the selection equation can be rewritten as: `\begin{align*} S&=1\{\mathbb{P}(Z)-U_S \geq 0\} \end{align*}` with `\(\mathbb{P}(Z)=\mathbb{P}(S=1|Z)\)` and `\(U_S\)` uniformly distributed --- # Effect of a marginal policy change: MPRTE - New treatment effect parameter: .hi[Marginal Policy Relevant Treatment Effect (MPRTE)] - Marginal version of the PRTE parameter - PRTE: in general only identified if the selection probability `\(\mathbb{P}(Z)\)` has full support - MPRTE does not require this support condition - The MPRTE answers the following question: what is the effect of a marginal change from a baseline policy? - In the context of schooling, what are the wage returns of a marginal decrease in tuition fees? --- # Effect of a marginal policy change: MPRTE (Continued) More formal definition of the MPRTE from the PRTE: - Consider a sequence of policies indexed by `\(\alpha\)`, with `\(\alpha=0\)` denoting status quo - Each policy is associated with a selection probability `\(P_\alpha\)` and a `\(PRTE_{\alpha}\)` corresponding to the effect of going from the baseline policy to policy `\(\alpha\)` - The MPRTE is defined as the limit of the parameters `\((PRTE_{\alpha})_{\alpha}\)` for `\(\alpha \longrightarrow 0\)` --- # Effect of a marginal policy change: MPRTE (Continued) - Carneiro, Heckman, and Vytlacil (2010) provide a detailed analysis of the properties of the MPRTE - Important point: MPRTE is not unique in the sense that it depends on the nature of the marginal policy change which is considered - Context of college attendance: effect of a marginal policy change subsidizing tuitions by a fixed amount will be different from the one of a policy change subsidizing tuitions by a fixed proportion --- # Effect of a marginal policy change: MPRTE (Continued) - Carneiro, Heckman, and Vytlacil (2010) show that the MPRTE can also be written as weighted sum of MTE parameters - Key result: the weighting function for the MPRTE is always zero outside of the support of the selection probability `\(\mathbb{P}(Z)\)` - A valid continuous instrument `\(Z\)` for selection is sufficient to pin down the MPRTE, no strong support conditions on `\(\mathbb{P}(Z)\)` - Continuity of the distribution of the instrument remains important to identify the MTE - Overall, this is an advantage of .hi[marginal] vs. .hi[average] TE parameters --- # Another interpretation of the MPRTE - The MPRTE has another nice interpretation - It corresponds to the average treatment effect for the individuals who are indifferent between being treated or not (the Average Marginal Treatment Effect, AMTE) - Idea: consider the average treatment effect for individuals arbitrarily close to the margin of indifference (for a certain metric) - Carneiro, Heckman, and Vytlacil (2010) show that the MPRTE associated with different policy shifts correspond to AMTE associated with different metrics --- # Application to the returns to college - Carneiro et al. apply their method to the estimation of the returns to college from the NLSY79 data - They consider a sample of white males, who attended college `\((S=1)\)`, dropped out from high school or entered the labor market after graduating from high school `\((S=0)\)` --- # Estimation of MPRTE Semiparametric estimation of the MPRTE: 1. Estimation of the MTE over the support of the selection probability `\(\mathbb{P}(Z)\)` using a local IV approach 2. Estimation of the MPRTE (weighted sum of the MTE over the support of `\(\mathbb{P}(Z)\)`) --- # Step 1: Estimation of the MTE Under the previous assumptions: `\begin{align*} \Delta^{MTE}(x,p) &=\frac{\partial \mathbb{E}(Y|X=x,\mathbb{P}(Z)=p)}{\partial p} \end{align*}` - `\(\Delta^{MTE}(x,p)\)` can be estimated nonparametrically for all `\(p\)` in the support of `\(\mathbb{P}(D=1|Z,X=x)\)` using a nonparametric regression (Nadaraya-Watson) - Problem: the estimation becomes very imprecise if the dimension of the vector of covariates `\(X\)` is large - This is typically the case in practice (.hi[curse of dimensionality]) --- # Step 1: Estimation of the MTE (Continued) - More convenient to work with the partially linear regression considered above - Three steps: 1. Estimation of the selection probability `\(\mathbb{P}(Z)\)` using a parametric specification 2. Estimation of `\((\delta_0,\delta_1)\)` by regressing `\(Y-\mathbb{E}(Y|P)\)` on `\(X-\mathbb{E}(X|P)\)` and `\(\mathbb{P}(X-\mathbb{E}(X|P))\)` (Robinson, 1988) 3. Estimation of `\(K(P)\)` and `\(K'(P)\)` - `\(\Delta^{MTE}(x,p)\)` may be estimated for all `\(P\)` in the support of `\(\mathbb{P}(Z)\)` --- # Step 2: Estimation of the MPRTE 1. Estimate nonparametrically the weights `\(h_{MPRTE}(X,p)\)` (e.g. `\(h(X,p)=f_{P|X}(p)\)` for the case of a policy of the form `\(P_\alpha=P + \alpha\)`) associated with the different MTE 2. Then integrate over the distribution of `\(X\)` --- .center[ .huge[.hi[Distributional Treatment Effects]] ] --- # The evaluation problem Recall that this is one of the two main problems related to the identification of treatment effects: - For each individual we only observe either `\(Y_0\)` or `\(Y_1\)`, but never both - This is true even in the presence of a perfect randomization, where `\((Y_0,Y_1) \perp D\)` - In the absence of selection, marginal distributions of potential outcomes are identified - However, this is not the case of the joint distribution of `\((Y_0,Y_1)\)` - In particular, the distribution of the treatment effects `\(Y_1-Y_0\)` is not identified without additional restrictions --- # The evaluation problem (Continued) - We will focus on the evaluation problem, assuming that the selection problem has been dealt with using one of the methods previously discussed - In other words, let us assume that we have identified the marginal distributions of the potential outcomes (conditional on observables `\(X\)`), `\(F_{Y_{0}|X}\)` and `\(F_{Y_{1}|X}\)` - How can we identify the joint distribution of potential outcomes, `\(F_{Y_{0},Y_{1}|X}\)`? --- # Why should we care about the distribution of TE's? Identifying the joint distribution of counterfactual outcomes is necessary to know how the benefits to treatment are distributed in the population. Needed to: - Identify the proportion of individuals who benefit from the treatment, `\(\mathbb{P}(Y_1>Y_0|X)\)` - Identify the dispersion of the benefits (or losses) from treatment - Compare the distribution of _ex ante_ (at the time of the treatment decision) and _ex post_ treatment effects --- # Identifying the joint distribution of `\((Y_0,Y_1)\)` Econometric methods allowing to identify the joint distribution of potential outcomes are typically based on assumptions on the structure of dependence between `\(Y_0\)` and `\(Y_1\)` --- # Partial identification One can derive "no-assumption" bounds on the joint distribution of `\((Y_0,Y_1)\)` from the marginal distributions of `\(Y_0\)` and `\(Y_1\)`. Classical result in statistics (.hi[Frechet-Hoeffding bounds]) `\begin{align*} F(y_0,y_1|X) \in [\underline{F}(y_0,y_1,X),\overline{F}(y_0,y_1,X)] \end{align*}` with: `\begin{align*} \underline{F}(y_0,y_1,X)&=\max\left(F_{Y_0|X}(y_0)+F_{Y_1|X}(y_1)-1,0\right) \end{align*}` and: `\begin{align*} \overline{F}(y_0,y_1,X)&=\min\left(F_{Y_0|X}(y_0),F_{Y_1|X}(y_1)\right) \end{align*}` --- # Partial identification (Continued) - Both the upper and lower bound are proper probability distribution (Mardia, 1970), and these bounds are sharp (Rueschendorf, 1981) - However, in practice these bounds are most often quite wide - See Heckman and Smith (1993) and Heckman, Smith, and Clements (1997) for applications of these bounds --- # Dependence assumptions (Point) identification of the joint distribution of `\((Y_0,Y_1)\)` can be obtained by restricting the dependence between the potential outcomes. Extreme case: homogeneous treatment effects `\((Y_1-Y_0=C)\)` - Under the assumption that `\(Y_1-Y_0=\Delta=C\)`, the joint distribution `\(F(y_0,y_1|X)\)` reduces to a one-dimensional distribution. For all `\((y_0,y_1)\)` such that `\(y_1-y_0 \geq \Delta\)`, we have: `\begin{align*} F(y_0,y_1|X)&=F(y_0,y_0+\Delta|X)\\ &=F_{Y_0|X}(y_0) \end{align*}` - And `\(F(y_0,y_1|X)=F_{Y_0|X}(y_1-\Delta)\)` otherwise. Thus the joint distribution is identified from the marginal `\(F_{Y_0|X}\)` --- # Dependence assumptions (Continued) The joint distribution of `\((Y_0,Y_1)\)` can also be identified by extending the matching Conditional Independence Assumption to the dependence _between_ `\(Y_0\)` and `\(Y_1\)` - Consider the standard matching CIA assumption: `\(Y_0 \perp D |X\)` and `\(Y_1 \perp D |X\)` - Augmented by the following conditional independence assumption: `\(Y_0 \perp Y_1 |X\)` - Then it directly follows that: `\begin{align*} F(y_0,y_1|X)&=F_{Y_0|X}(y_0)F_{Y_1|X}(y_1)\\ &=F_{Y|X,D=0}(y_0)F_{Y|X,D=1}(y_1) \end{align*}` which identifies the joint distribution `\(F(y_0,y_1|X)\)` --- # Dependence assumptions (Continued) Another approach: assume rank invariance (or rank reversal) of the positions of individuals in the marginal distributions `\(F_{Y_0|X}\)` and `\(F_{Y_1|X}\)` - See, e.g., Robins (1997), Heckman, Smith, and Clements (1997) - Rank invariance: `\begin{align*} Y_1&=F^{-1}_{Y_1|X}(F_{Y_0|X}(Y_0)) \end{align*}` --- # Dependence assumptions (Continued) - Under rank invariance, which generalizes the assumption of homogeneous treatment effects, we can show that: `\begin{align*} F(y_0,y_1|X)&=\min\left(F_{Y_0|X}(y_0),F_{Y_1|X}(y_1)\right) \end{align*}` This corresponds to the upper Frechet bound - Alternatively, assuming rank reversal `\begin{align*} Y_1=F^{-1}_{Y_1|X}(1-F_{Y_0|X}(y_0)) \end{align*}` the joint distribution is equal to the lower Frechet bound --- # Restrictions on selection and dependence More recently papers have imposed restrictions on the dependence between the unobservables of the model, combined with assumptions on the selection rule: Carneiro, Hansen, and Heckman (2003); Aakvik, Heckman, and Vytlacil (2005); Cunha and Heckman (2007) - These papers use a .hi[factor model] to restrict the dependence between the unobservables of the model and pin down the joint distribution of the potential outcomes - Key idea: dependence across the unobservables is generated by a low-dimensional set of mutually independent random variables (factors) --- # Restrictions on selection and dependence (Continued) - Main idea: express the joint distribution of the counterfactuals as a function of the marginals, and the distribution of the factors - Access to measurements of these factors allows to identify their distribution - As in Heckman and Vytlacil (2005), additively separable latent selection rule - Exclusion restrictions between the selection and outcome equations are used to circumvent the selection problem --- # Factor models - Key identifying assumptions: there exists a vector of unobserved factors `\(\theta\)` such that `\begin{align*} (Y_0,Y_1) \perp D |X,\theta \end{align*}` - Extension of the matching CIA, where matching is done on both observed `\(X\)` and unobserved `\(\theta\)` variables - The factor approach also builds on the second conditional independence assumption: `\begin{align*} Y_0 \perp Y_1 |X,\theta \end{align*}` Identification of the distribution of the factors relies on the existence of a "sufficient" number of proxies for those factors --- # Factor models: set-up - Multiple treatments: `\(s\)` treatment states, with `\(s \in \{1,\ldots,S\}\)` - A vector of (potential) outcomes `\(Y(s,X)=\left(Y(k,s,X)\right)_{k \in \{1,\ldots,N_{Y}\}}\)` for each `\(s\)` - A vector of `\(M(X)=\left(M(k,X)\right)_{k \in \{1,\ldots,N_{M}\}}\)` measurements which .hi[do not] depend on the treatment state `\(s\)` - The outcomes and measurements may be discrete or continuous. We assume continuity here, and the following additively separable forms: `\begin{align*} M(k,X)&=\mu_{M}(k,X) + U_{M}(k)\\ Y(k,s,X)&=\mu(k,s,X) + U(k,s) \end{align*}` where `\((U(k,s),U_{M}(k))\)` are unobservable (to the econometrician) random components --- # Factor models: selection model - Utility of each treatment state: `\begin{align*} R(s,Z)&= \mu_{R}(s,Z) - V(s) \end{align*}` where `\(Z\)` is a vector of observed covariates affecting the choice of treatment, and `\(V(s)\)` the unobserved component of utility - Selection into a treatment status `\(s\)`: `\begin{align*} s&= \arg\max_{k} \{R(k,Z)\} \end{align*}` --- # Factor models (Continued) Linear factor structure for the unobservables: `\begin{align*} U(k,s)&=\alpha'_{k,s} \theta + \varepsilon_{k}(s) \\ U_{M}(j)&=\alpha'_{j,M} \theta + \varepsilon_{j,M}\\ V(s')&= \alpha'_{V(s')} \theta + \varepsilon_{V}(s') \end{align*}` where we assume mutual independence between the components of `\(\theta\)`, between `\(\theta\)` and the vector of the idiosyncratic shocks `\(\varepsilon=(\varepsilon_{k}(s),\varepsilon_{j,M},\varepsilon_{V}(s'))_{k,j,s,s'}\)`, and between the idiosyncratic shocks - We also assume independence between the covariates `\((X,Z)\)` and the unobservables `\((\theta,\varepsilon)\)` --- # Factor models: Identifying the joint distribution of counterfactuals To identify the joint distribution of counterfactual outcomes for each pair of treatment alternatives `\((s,s')\)` (with `\(s\neq s'\)`), we need to identify the joint distribution of the unobservables `\((U(s),U(s'))\)`, where `\(U(s) \equiv (U(1,s),\ldots,U(k,s),\ldots,U(N_Y,s))\)`' - First assume that the .hi[factor loadings] `\((\alpha_{k,s})_{k,s}\)` are known. Then the joint distribution of `\((U(s),U(s'))\)` only depends on the marginal distributions of `\(\theta\)`, `\((\varepsilon_{k}(s))_k\)` and `\((\varepsilon_{k}(s'))_k\)` - Selection has been addressed in a first step: the effects of the covariates `\(X\)` on the outcomes, `\((\mu(k,s,X))_{k,s}\)`, as well as the marginal distributions of the unobservables `\((U(k,s))_{k,s}\)` are identified --- # Kotlarski's theorem Key result: Kotlarski's theorem (Kotlarski, 1967) Consider the following decomposition: `\begin{align*} T_1&=\theta + \varepsilon_1\\ T_2&=\theta + \varepsilon_2 \end{align*}` where `\((\theta,\varepsilon_1,\varepsilon_2)\)` are mutually independent, the means of `\(\theta\)`, `\(\varepsilon_1\)` and `\(\varepsilon_2\)` are finite and `\(\mathbb{E}(\varepsilon_1)=\mathbb{E}(\varepsilon_2)=0\)`, the random variables possess nonvanishing characteristic functions and the joint distribution of `\((T_1,T_2)\)` is identified Then the distributions of `\((\theta,\varepsilon_1,\varepsilon_2)\)` are identified --- # Kotlarski's theorem (Continued) Proof: Let us consider three mutually independent random variables `\((U_1,U_2,U_3)\)` such that: `\begin{align*} T_1&=U_1 + U_2\\ T_2&=U_1 + U_3 \end{align*}` with `\(\mathbb{E}(U_{2})=\mathbb{E}(U_{3})=0\)`. Denoting by `\(\phi(t_1,t_2)\)` the characteristic function of `\((T_1,T_2)\)`, `\((\phi_1(t),\phi_2(t),\phi_3(t))\)` the characteristic functions of `\((\theta,\varepsilon_1,\varepsilon_2)\)` and `\(\psi_k(t)\)` the characteristic functions of `\(U_k\)`, we have, for all `\((t_1,t_2) \in \mathbb{R}^2\)`: `\begin{align*} \phi(t_1,t_2)&=\mathbb{E}(\exp(i(t_{1}T_1 + t_{2}T_2)))\\ &=\mathbb{E}(\exp(i(t_{1}\varepsilon_1 + t_{2}\varepsilon_2 + (t_1 + t_2)\theta)))\\ &=\phi_2(t_1)\phi_3(t_2)\phi_1(t_1+t_2) \end{align*}` --- # Kotlarski's theorem (Continued) Proof (Continued): Similarly, it follows from the mutual independence of `\((U_1,U_2,U_3)\)` that: `\begin{align*} \phi(t_1,t_2)&=\psi_2(t_1)\psi_3(t_2)\psi_1(t_1+t_2) \end{align*}` Defining `\(r_k(t)\)` as the ratio of the characteristic functions `\(\frac{\psi_k}{\phi_k}(t)\)`, this implies: `\begin{align*} r_2(t_1)r_3(t_2)r_1(t_1+t_2)&=1 \end{align*}` The `\(r_k(\cdot)\)` are unknown, complex functions, continuous over the real line and such that `\(r_k(0)=1\)` --- # Kotlarski's theorem (Continued) Proof (Continued): Setting respectively `\(t_2=0\)` and `\(t_1=0\)`, we have the following equalities: `\begin{align*} r_2(t_1)r_1(t_1)&=1\\ r_3(t_2)r_1(t_2)&=1\\ \end{align*}` And substituting into the equality from the previous slide, this yields, for all `\((t_1,t_2)\)`: `\begin{align*} r_1(t_1+t_2)&=r_1(t_1)r_1(t_2) \end{align*}` This implies, with `\(r_1(0)=1\)`, that: `\(r_1(t)=\exp(\alpha t)\)` (where `\(\alpha \in \mathbb{C}\)`). It follows that: `\(r_2(t)=r_3(t)=\exp(-\alpha t)\)` --- # Kotlarski's theorem (Continued) Proof (Continued): Finally, considering the case of `\(r_1(\cdot)\)` (same for `\(r_2\)` and `\(r_3\)`), we have: `\begin{align*} \psi_1(t)&=\exp(\alpha t)\phi_1(t) \end{align*}` Using the fact that `\(\psi_1(-t)=\overline{\psi_1(t)}\)` (characteristic function), it follows that `\(\exp(-\alpha t)=\overline{\exp(\alpha t)}\)`, which implies: `\begin{align*} \psi_1(t)&=\exp(i \beta t)\phi_1(t) \end{align*}` where `\(\beta \in \mathbb{R}\)`. Hence the distribution of `\(\theta\)` is identified up to the location `\(\beta\)` (resp. `\(-\beta\)` for `\(\varepsilon_1\)` and `\(\varepsilon_2\)`). The zero mean condition identifies `\(\beta\)`, which finally yields full identification of the distribution of `\((\theta,\varepsilon_1,\varepsilon_2)\)` --- # Identifying the factor loadings We now turn to the identification of the factor loadings. Consider the system of factor decompositions for all the unobservables of the model, for all `\(s\)`: `\begin{align*} U(s)&=\Lambda(s)\theta + \varepsilon(s) \end{align*}` where we assume that there are `\(K\)` factors and `\(L(s)\)` components of `\(U(s)\)` From second-order moments, we identify, denoting by `\(V(X)\)` the covariance matrix of a random vector `\(X\)`: `\begin{align*} V(U(s))&=\Lambda(s)V(\theta)\Lambda'(s) + V(\varepsilon(s)) \end{align*}` Some restrictions are necessary to identify `\(\Lambda(s)\)` from the second-order moments. Aside from the independence between the factors, we also assume that one factor loading for each factor is equal to one (innocuous scale normalization) --- # Identifying the factor loadings (Continued) To be able to recover the factor loadings from the second-order moments, we can only use the `\(\frac{L(s)(L(s)-1)}{2}\)` non-diagonal terms of `\(V(U(s))\)` (the covariances), which both depend on the factor loadings and the variance of the factors. Rank condition: `\begin{align*} \frac{L(s)(L(s)-1)}{2}& \geq &(L(s)K - K) + K\\ &\Leftrightarrow& L(s) \geq 2K+1 \end{align*}` where `\((L(s)K - K)\)` is the number of unrestricted factor loadings and `\(K\)` the number of (unknown) factor variances. Note that this is only a .hi[necessary] condition --- # Identifying the factor loadings (Continued) - Most of the factor models used in the empirical literature only make use of the first and second-order moments, leading to the preceding necessary condition for identification - In the case where the measurements are .hi[not] normally distributed, one may also use higher-order moments to obtain more information on the factor loadings and the distributions of the factors. This allows to identify the factor loadings, the distribution of the factors and therefore the joint distribution of the outcomes under weaker conditions - See Bonhomme and Robin (2009); Bonhomme and Robin (2010). In particular, they show that if all the factors display kurtosis, one may identify the factor loadings for up to `\(K=L\)` factors - The idea dates back to Geary (1942) and Reiersol (1950), who have shown that factor loadings are identified in a measurement error model if the factor is .hi[not] Gaussian --- # References .minuscule[ Aakvik, A, J. J. Heckman, and E. J. Vytlacil (2005). "Estimating Treatment Effects for Discrete Outcomes When Responses to Treatment Vary: An Application to Norwegian Vocational Rehabilitation Programs". In: _Journal of Econometrics_ 125.1, pp. 15-51. DOI: [10.1016/j.jeconom.2004.04.002](https://doi.org/10.1016%2Fj.jeconom.2004.04.002). Bjorklund, A. and R. Moffitt (1987). "The Estimation of Wage Gains and Welfare Gains in Self-Selection Models". In: _Review of Economics and Statistics_ 69.1, pp. 42-49. DOI: [10.2307/1937899](https://doi.org/10.2307%2F1937899). Bonhomme, S. and J. Robin (2009). "Consistent Noisy Independent Component Analysis". In: _Journal of Econometrics_ 149.1, pp. 12-25. DOI: [10.1016/j.jeconom.2008.12.019](https://doi.org/10.1016%2Fj.jeconom.2008.12.019). Bonhomme, S. and J. Robin (2010). "Generalized Non-Parametric Deconvolution with an Application to Earnings Dynamics". In: _Review of Economic Studies_ 77.2, pp. 491-533. DOI: [10.1111/j.1467-937X.2009.00577.x](https://doi.org/10.1111%2Fj.1467-937X.2009.00577.x). Brinch, C. N, M. Mogstad, and M. Wiswall (2017). "Beyond LATE with a Discrete Instrument". In: _Journal of Political Economy_ 125.4, pp. 985-1039. DOI: [10.1086/692712](https://doi.org/10.1086%2F692712). Carneiro, P, K. T. Hansen, and J. J. Heckman (2003). "Estimating Distributions of Treatment Effects with an Application to the Returns to Schooling and Measurement of the Effects of Uncertainty on College Choice". In: _International Economic Review_ 44.2, pp. 361-422. DOI: [10.1111/1468-2354.t01-1-00074](https://doi.org/10.1111%2F1468-2354.t01-1-00074). Carneiro, P, J. J. Heckman, and E. Vytlacil (2010). "Evaluating Marginal Policy Changes and the Average Effect of Treatment for Individuals at the Margin". In: _Econometrica_ 78.1, pp. 377-394. DOI: [10.3982/ECTA7089](https://doi.org/10.3982%2FECTA7089). Carneiro, P, J. J. Heckman, and E. J. Vytlacil (2011). "Estimating Marginal Returns to Education". In: _American Economic Review_ 101.6, pp. 2754-2781. DOI: [10.1257/aer.101.6.2754](https://doi.org/10.1257%2Faer.101.6.2754). Cunha, F. and J. Heckman (2007). "The Technology of Skill Formation". In: _American Economic Review_ 97.2, pp. 31-47. DOI: [10.1257/aer.97.2.31](https://doi.org/10.1257%2Faer.97.2.31). Geary, R. C. (1942). "Inherent Relations between Random Variables". In: _Proceedings of the Royal Irish Academy. Section A: Mathematical and Physical Sciences_ 47, pp. 63-76. URL: [http://www.jstor.org/stable/20488436](http://www.jstor.org/stable/20488436). Heckman, J. J. and J. A. Smith (1993). "Assessing the Case for Randomized Evaluation of Social Programs". In: _Measuring Labor Market Measures: Evaluating the Effects of Active Labour Market Policies_. Ed. by K. Jensen and P. K. Madsen. Copenhagen: Danish Ministry of Labor, pp. 35-96. Heckman, J. J, J. Smith, and N. Clements (1997). "Making the Most Out of Programme Evaluations and Social Experiments: Accounting for Heterogeneity in Programme Impacts". In: _Review of Economic Studies_ 64.4, pp. 487-535. URL: [http://www.jstor.org/stable/2971729](http://www.jstor.org/stable/2971729). Heckman, J. J. and E. Vytlacil (2005). "Structural Equations, Treatment Effects, and Econometric Policy Evaluation1". In: _Econometrica_ 73.3, pp. 669-738. DOI: [10.1111/j.1468-0262.2005.00594.x](https://doi.org/10.1111%2Fj.1468-0262.2005.00594.x). Imbens, G. W. and J. D. Angrist (1994). "Identification and Estimation of Local Average Treatment Effects". In: _Econometrica_ 62.2, pp. 467-475. DOI: [10.2307/2951620](https://doi.org/10.2307%2F2951620). Kotlarski, I. (1967). "On Characterizing the Gamma and the Normal Distribution". In: _Pacific Journal of Mathematics_ 20, pp. 69-76. Mardia, K. V. (1970). "Measures of Multivariate Skewness and Kurtosis with Applications". In: _Biometrika_ 57.3, pp. 519-530. URL: [http://www.jstor.org/stable/2334770](http://www.jstor.org/stable/2334770). Reiersol, O. (1950). "Identifiability of a Linear Relation between Variables Which Are Subject to Error". In: _Econometrica_ 18.4, pp. 375-389. URL: [http://www.jstor.org/stable/1907835](http://www.jstor.org/stable/1907835). Robins, J. M. (1997). "Causal Inference from Complex Longitudinal Data". In: _Latent Variable Modeling and Applications to Causality_. Ed. by M. Berkane. New York: Springer, pp. 69-117. Robinson, P. M. (1988). "Root-N-Consistent Semiparametric Regression". In: _Econometrica_ 56.4, pp. 931-954. URL: [http://www.jstor.org/stable/1912705](http://www.jstor.org/stable/1912705). Rueschendorf, L. (1981). "Sharpness of Frechet-bounds". In: _Zeitschrift fur Wahrscheinlichkeitstheorie und Verwandte Gebiete_ 57.2, pp. 293-302. DOI: [10.1007/BF00535495](https://doi.org/10.1007%2FBF00535495). Vytlacil, E. (2002). "Independence, Monotonicity, and Latent Index Models: An Equivalence Result". In: _Econometrica_ 70.1, pp. 331-341. DOI: [10.1111/1468-0262.00277](https://doi.org/10.1111%2F1468-0262.00277). ]


Top positive-associated sequence
Taxonomy
Sequence
Recall
{{datahigh|safe}}
Top negative-associated sequence
Taxonomy
Sequence
Recall
{{datalow|safe}}
Top COMMON/DOMINANT/HIGH sequence
Taxonomy
Sequence
F-Score
{{datacommon|safe}}


There’s no doubt about it… The greatest reward of doing The Texas Independence Relay will be all the fun you’ll have
creating a cherished memory! After competing and finishing this remarkable athletic event with your team, your only regret
will be that it’s over!
Nevertheless, we look forward to honoring everyone’s achievement upon completion of the event with a finisher’s memento.
Further, we have a plethora of awards for your team to strive for. These include awards for everyone in the top three teams
in each of the following categories:
In BOTH the Open and Corporate Divisions:
Men’s Open
Women’s Open
Mixed Open
Men’s Masters
Women’s Masters
Mixed Masters
Men’s Veteran
Women’s Veteran
Mixed Veteran
Only Corporate teams are eligible to compete for the coveted Corporate Cannon!
In addition to all the awards above, you can also garner awards for the following:
Texas Spirit (Top 3)
Honorary Texans – Essentially the Texas Spirit Award for Out-Of-Staters.
Best Team Name (Top 3)
Best Decorated Vehicle (Top 2)
Finally, we look forward to rolling out new awards in 2012, such as the Best Bundlers and Most Popular! We look forward
to letting you know about these later in the Fall!
Below is a recap of award winners in 2011!
____________________________________________________________________________________
We suspected that the TIR course record was in jeopardy of going down… did it ever. The Fleet Feet
Terlingua (of Terlingua Track Club, and captained by Jose Lara) put on a distance running clinic,
clicking off 5:45miles all the way through, winning in 19:26:10.
No, this is not a typo, they bettered the previous course record by almost 2 hours. It was business-like the way in
which they hammered out impressive leg after impressive leg… lining them up, and knocking them out. Congrats to
The Fleet Feet Terlingua for a ridiculous relay win and nice re-write of the TIR course record! Of course, it was a
complete team victory, but if there was a runner of the event, it would be Sesar Figueroa. Sesar is
a 4 minute miler, and currently the top runner in Houston. He ran ~5:15s for over 18 miles at the 2011 TIR.
Three other teams joined Fleet Feet Terlingua in finishing well below the old record. The mixed team from Dallas,
Dolls n Towel Boyz (led by Steve Henderson), took second overall, running just a smidge
over 6min/mile pace for the entire distance.
For much of the race, they ran neck-and-neck with the returning champions, The Tornados (headed up by
Leno Rios), before putting a little more of a gap on the Tornados as they navigated through Houston.
These two teams have battled it out against each other for two years now, trading wins over the other, and BOTH had nothing but
praise to say about the other team! They even finished up the TIR's epilogue together.
The team, More Pain Please!! (with captain Jace Huering), also provided a remarkable
effort (20:55:56 / 6:11 pace) to finish under the previous course record. We observed all of these teams over the
first several legs of the race, and they were all awesome indeed!
Speaking of rockin’ the course, the all women squad, Red Hot Chili Chicas (Kim McClintic
at the helm) were true to their name as they obliterated the 3-year women’s team record. The Red Hot Chili Chicas
ran right at 7-flat pace (23:41:22), and they made it look super fun and easy every step of the way!
Finally, we tip our hats to the Corporate Cannon winner (once again, in record breaking time!) to the corporate team,
Fire In The Belly, from Apache Corporation (captained by Jarrett Hubert)! Fire In The
Belly ran the excellent time of 24:40:56, putting in just over a full day’s work, literally running ‘round the clock
at a 7:18 clip.
Below are the results for the top teams:


//
Developing A Website
This project had its roots during the summer before my senior year of high school. I was looking for colleges, but deciding where I wanted to be was
difficult. I’m going into a fairly new field, relatively speaking. Studying game development is quite a recent occurrence in academia. There was
little to no data on which schools had the best programs, especially for game developers who want to start their own companies. For-profit schools
like Full Sail University advertise heavily, but almost zero talent graduates from there. But I also didn’t want to spend 4 years studying computer
science – a lot of it isn’t relevant to my interests, and none of it is relevant to how to manage a dev team. I had to get data on my own.
Project C is two things: A website, and data analytics research. I spend quite a lot of time describing the analytics part within the project itself.
I suggest you go read that if you wish to have a better contextual understanding of the development process. I developed the website first. My initial
goal was to develop a portfolio in parallel to Project C, but later abandoned that idea in favor of THIS website.
Designing Project C’s user experience and layout was quite strenuous. I wanted something simple and easy to use that also differed from run-
of-the-mill “fresh” design templates most of the industry uses (ex. The ‘Squarespace’ look). I decided to modulate my design, allowing for 6
rotating articles the user scrolls through. I ended up with a result that makes sense to the user while distancing itself from tried-and-true
website design methods. Please keep in mind that this was 2 years ago. I have learned a lot about universal design and simplicity in the interim,
which is why you are looking at this on a new site and not the old one. It suffers from a few underlying issues. It isn’t mobile or touch friendly
and the lavish overuse of scripting lags slower computers and tablets. The site also hoards data like it is Smaug and large files are pure dwarven
gold. But I’m not so concerned about all that. I set out to design a good UI. That is exactly what happened, and in that sense, these flaws are irrelevant.
//
Sifting 200,000 Data Entries
After the site was built, I needed to fill it with data. Getting data is hard. Making sure the data is correct and relevant is harder. I spent well over a
hundred hours perfecting my code to collect the data set I used for Project C. It works by querying a massive database for hundreds of thousands of companies
(represented as JSON data). Then, it begins sifting through to determine which companies are relevant. I could only use complete data. There are always flaws
when dealing with a data set this large, so I threw out some of it.
The goal was to link the founders of companies to the schools they went to. That is easier said than done when not every company is started by one person
coming from one school. Sometimes a founder will have gone to multiple schools. Sometimes two founders will have attended different schools. What if one
founder doesn’t attend school and the other does? I had to teach my program how to handle these things. The result set contains just over 85,000 companies,
so I ran into almost every edge case possible. How do I handle for seed ventures that aren’t USD? What is the conversion rate for every currency I’m looking
at? Some companies only go through 1 round of funding, some go through 10. Some stay private, others go public quickly after launch. Do I include company
buyouts and acquisitions? Every one of these questions is something I distinctly remember having to deal with. As I’m writing, I’m remembering specific problems
that took me multiple late nights to debug and fix. Getting this data was an insanely difficult process. The source for all of my code is on github, and you can
view the final result by clicking the link above. The final site also has a lot more information and delves into far greater detail if you are interested.
Copyright © 2016 Daniel Timko


 I love pour-over coffee, I love cold-brew coffee, and I always love it iced. But over the past few months, I have also been experimenting with using leftover coffee grounds as part of my skincare routine. Have you all tried this?"
Ali from gimmesomeoven.com
Iced Coffee
"I love cold coffee. I think it’s one of the best things ever. Mocha, vanilla, hazelnut, caramel, give it all to me I don’t care. One downside with cold coffees can be the price when you buy them outside of the house. Making a cold coffee at home can be simple and easy, or a little more complex depending on the type of coffee you are looking for. Here are 23 different ways to make my favorite summertime drink."
Ashleigh Walls from livingoffloveandcoffee.com
Join our mailing list for 10% off your next purchase through our "cool stuff" section!


{% extends "base.html" %} {% block title %}Lancaster City Nutrition{% endblock %} {% block content %}
Don't worry, you dont have to provide your phone number. BUT, if you do, we promise not to call you- or pass your information to anyone else. Providing your number will allow us to text you special offers, news, and announcements. WE SOLUMLY SWEAR we will not be annoying.
 We'd just like to know so we can send you something special on yur birthday!
We do need your email, this will be used to login. We may occasionally send you announcements, coupons, or special offers. BUT, we promise not to spam you.


{% extends "base.html" %} {% block content %}
Make your own posts here!
{{render_field(form.search)}}


Tenant Settings
Default Temp Url Time
Swiftbrowser can create temporary URLs for files, allowing direct downloads to file that can be shared with anyone. Being temporary links, they are only valid for a limited time. The fields below are used to calculate how long temporary URLs will last.


Handmade Genuine Leather Shoes
- genX leathers Co.
We make sure our customers receive their shoes as soon as possible. Premium delivery
We assure that our leather quality is original and one of the best.
Take care of your shoes with the free shoe care accessories.


What is a Battery Pack? ..
well.. It‘s a pack of batteries! A pack is made of a number of smaller battery cells all stacked in a specific way to deliver the required power that your ebike system needs to function. You must pick the right pack, for your application!
Volts and Amps:
Without going into too much confusing detail, Voltage is what pushes ( speed ) the flow of electric energy, while Amps is a measure of Force. Typically, higher Voltage electric bikes go faster, while higher Amps require thicker gauge wires and/or more powerful and larger battery packs. Combination of Volts and Amps equal Watts.
Ok, time to crunch some numbers and get down to the nitty gritty of it. All batteries and battery packs will have fine print, listing various things of high importance, put on the bifocals and squint, expect to find things like :
Volts: Used to describe how fast electrons move, more voltage = more speed !
Amps: How wide the road is, more lanes, more cars can pass at the same time side by side...
Watts: The combination of Volts and Amps ( Volts X Amps = Watts )
Amp Hours: Should always be listed, typically 10 to 20 Amp Hours ( abbreviated " Ah " ) a measure of how many fixed number of Amps a battery can sustain for 1 hour.. ( C rate ). Or, double the amps for half the time.. Or half the amps for two hours.. etc.
Hours: This is a far more accurate way to know how much usable energy is in a given battery pack ( abbreviated Wh ) when available, this is the number to look for! Also, you can translate it into how many watts, continuous, for 1 hour! A 500wh battery can deliver 500 watts for 1 hour or 1000w for 30 minutes.... or 250w for 2 hours .. etc.. Most ebikes do not use power at an exact level, continuously, so this does not directly translate into ride time, but you can quickly see how a larger battery with more energy (capacity) can deliver lower power levels for longer periods of time, and go further on a charge.


Some description of this project.
some introduction...
Some description of this project.
Some description of this project.
Some description of this project.
Some description of this project.
Some description of this project.
Some description of this project.


Magdeburger Developer Days, 2018
Everyone can be educated, they just need a browser and internet
Concepts are much easier to grok when you can play around with them
Built using deeplearn.js (predecessor of tensorflow.js)
https://teachablemachine.withgoogle.com/
Where it all started - Playing with Neural Networks without any installation
Most obvious reason: JavaScript is the language you are most comfortable with
You just happen to develop for the browser
You are intrigued by how JavaScript development works
Combination with interactive visualizations and other browser features (like audio and video)
It's all about matrix operations
const a = tf.tensor1d([1, 2, 3]);
const b = tf.scalar(2);
// a is not modified, result is a new tensor
const result = a.add(b);
const data = await result.data();
console.log(data); // Float32Array([3, 4, 5]
Getting an impression of how to code and how the turnaround cycle works
If you have ever seen Keras, you will feel right at home
const model = tf.sequential();
model.add(tf.layers.dense({units: 10}));
model.add(tf.layers.conv2d({
inputShape: [28, 28, 1],
kernelSize: 5,
filters: 8,
activation: 'relu'
}));
Browser games can benefit from Machine Learning
JavaScript might be the only language around
because all you have is a browser
How would you rank me (47) for a car with 160 km/h top speed?
const model = await tf.loadModel('model.json');
// max speed, age, thousand kilometers per year
const example = tf.tensor([[150, 45, 10]]);
const prediction = model.predict(example);
const value = await prediction.data();
// softmax
// # 0: red
// # 1: green
// # 2: yellow
console.log(value);
// [0.0937359631061554,
0.7274655699729919,
0.17879831790924072]
https://djcordhose.github.io/ai/js/tensorflow-sandbox/load_model.html
inputs = tf.keras.Input(name='input', shape=(3, ))
x = tf.keras.layers.Dense(100)(inputs)
x = tf.keras.layers.Dense(100)(x)
predictions =
tf.keras.layers.Dense(3, activation='softmax')(x)
model =
tf.keras.models.Model(inputs=inputs,
outputs=predictions)
model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
This is Python, but tensorflow.js code almost is indistinguishable
Browser based ML apps
Magdeburger Developer Days, 2018
Oliver Zeigermann / @DJCordhose
http://bit.ly/md-tensorflow-js


Full-Stack Web Developer
Hello,
I'm a Full-Stack Web Developer located in TURKEY.
I usually make e-commerce and content management system websites. Your can direct contacts with me for short-time web development projects. Not interested in permanent positions.
If you have questions<EMAIL_ADDRESS>Thank you for your time!