| yes | J.C. Gregorio |
| BitWorking, Inc | |
| July 2003 |
The AtomAPI
draft-gregorio-07.html
This memo presents a technique for using XML (Extensible Markup Language) and HTTP (HyperText Transport Protocol) to edit content.
To provide feedback on this draft RFC please visit the Atom Wiki.
1
Introduction
2
Terminology
3
Scope
4
The AtomAPI Model
5
The AtomAPI Procedure
5.1
Introspection
5.1.1
Introspection Discovery
5.2
Creating a new Entry request
5.2.1
Retrieving an Entry
5.3
Editing an entry
5.4
Deleting an entry
5.5
Finding an entry
5.6
Editing User Prefs
5.7
Editing Templates
5.8
Adding Comments
5.8.1
Comment Auto-Discovery
<IP_ADDRESS>
HTML Auto-Discovery
<IP_ADDRESS>
Atom Feed Auto-Discovery
6
Functional Specification
6.1
Formats
6.2
Actions
6.2.1
Create Entry
6.2.2
Edit Entry
6.2.3
Delete Entry
6.2.4
Get List of Entries
6.2.5
Get User Info
6.2.6
Set User Info
6.2.7
Get Categories
6.2.8
Set Categories
6.2.9
Result Codes
6.2.10
Content
7
Security Considerations
8
Revision History
9
Copyright
§
References
§
Author's Address
§
Intellectual Property and Copyright Statements
AtomAPI is an application level protocol for publishing, and editing web resources. AtomAPI unifies many disparate publishing mechanisms into a single, simple, extensible protocol. The protocol at its core is the HTTP transport of an XML payload.
To provide feedback on this draft RFC please visit the Atom Wiki.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",the and "OPTIONAL" in this document are to be interpreted as described in RFC2119.
This document covers the editing of content of a periodically updating website using the HTTP and XML. Many of the XML payloads are in Atom format, which will not be documented here.
This specification will mirror some of the functionality of the Blogger 2.0 API, which includes support for the Server Introspection API.
AtomAPI is an application level protocol for publishing and editing web resources. Using the common HTTP verbs provides a pattern for working with all such web resources:
There are different kinds of resources managed by the AtomAPI, each of these have URIs and those URIs support a subset of the above actions.
This RFC does not specify the form of the URIs that are used. The URI space of each server is controlled, as defined by HTTP, by the server alone. What this RFC does specify are the formats of the files that are exchanged and the actions that can be performed on the URIs embedded in those files.
When editing the content of the website http://example.org/reilly, the first thing to do is find out the servers capabilites. Each server may only implement a subset of this specification, and the 'introspection' file lists all the functions that each site supports. This mirrors the Server Introspection API used by the Blogger 2.0 API.
<?xml version="1.0" encoding='iso-8859-1'?> <introspection xmlns="http://example.com/newformat#" > <create-entry>http://example.org/reilly/</create-entry> <user-prefs>http://example.org/reilly/prefs</user-prefs> <search-entries>http://example.org/reilly/search</search-entries> </introspection>
Each element in <introspection> represents a single facet of the AtomAPI. While a site must fully support each facet they list in their introspection file, a site does not need to support all the facets in this RFC. Additionally, new facets may be added either through vendor extension or follow-on RFCs. This first example site furnishes only a minimal set of functionality. A more full featured site might return:
<?xml version="1.0" encoding='iso-8859-1'?> <introspection xmlns="http://example.com/newformat#" > <create-entry>http://example.org/reilly/</create-entry> <user-prefs>http://example.org/reilly/prefs</user-prefs> <search-entries>http://example.org/reilly/search</search-entries> <edit-template>http://example.org/reilly/templates</edit-template> <categories>http://example.org/reilly/categories</categories> </introspection>
This particular introspection file for http://example.org/reilly tells us that the AtomAPI implementation supports both the 'create-entry' and the 'user-prefs' interfaces, and it also specifies the URIs to use for each of these interfaces.
Note that the example URIs given are not normative, nor are there any constraints on the URIs that can be specified. The 'create-entry' URI could just have easily been:
http://dev.example.net/api?userid=reilly&action=create
The <link> element has been successful in finding RSS feeds and is appropriate to use here for discovering the location of the Introspection file. The <link> tag goes in the  section of an HTML page and is used to indicate a document relationship. For a similar example of using the link tag to discover a URI, refer to the usage of of the link tag for RSS Auto-Discovery. In this case the form of the link tag used to indicate the location of the comment URI is:
<link rel="service.edit" type="application/x.atom+xml" href="url goes here" title="AtomAPI">
Where href should be set to the URI of the Introspection file. Applications looking for the Introspection file to need to parse out the headers of the web page and look for a link tag that has a relation rel of "service.edit" and a mime-type of "application/x.atom+xml".
HTTP POST is used for content creation. The new content is formatted as an Atom Entry and then POSTed to the URI given in the <create-entry/> element of the Introspection file.
To create a new Entry on the site the client connects to port 80 on http://example.org and sends:
POST /reilly HTTP/1.1 Content-Type: application/x.atom+xml <?xml version="1.0" encoding='iso-8859-1'?> <entry xmlns="http://example.com/newformat#" > <title>My First Entry</title> A very boring entry... <author> <name>Bob B. Bobbington</name> </author> <created>2003-02-05T12:29:29</created> <content type="application/xhtml+xml" xml:lang="en-us">
Hello, weblog world! 2 < 4!
 </content> </entry>
This would create a new weblog Entry with the title "My First Entry". Note that in all the examples the full set of HTTP headers for each request and response are not shown, only the most relevant headers are displayed.
Assuming everything goes well and the Entry is created the response might look like:
HTTP/1.1 201 Created Location: http://example.org/reilly/1
The URI of the filled in Entry is returned via the HTTP headers. The AtomAPI service is responsible for allocating the URI for the Entry. The URI allocation mechanism is implementation dependent and not defined by this document. If a GET is done on the returned URI then a filled in Entry would be returned, including the elements <link/>, <id/>, <created/> and <modified/>.
To retrieve the new Entry on the site the client needs to know the URI of the Atom Entry. This URI is obtained either by the HTTP Location header returned during the creation of the Entry as outlined in section 5.2, or it is discovered by the search interface discussed in section 5.5.
For the newly created Atom Entry above, the client connects to port 80 on http://example.org and sends:
GET /reilly/1 HTTP/1.1 Accept: application/x.atom+xml
This would retrieve the Entry just created.
The response might look like:
HTTP/1.1 200 Ok Content-Type: application/x.atom+xml <?xml version="1.0" encoding='iso-8859-1'?> <entry xmlns="http://example.com/newformat#" > <title>My First Entry</title> A very boring entry... <author> <name>Bob B. Bobbington</name> </author> <issued>2003-02-05T12:29:29</issued> <created>2003-02-05T14:10:58Z</created> <modified>2003-02-05T14:10:58Z</modified> <link>http://example.org/reilly/2003/02/05#My_First_Entry</link> <id>urn:example.org:reilly:1</id> <content type="application/xhtml+xml" xml:lang="en-us">
Hello, weblog world! 2 < 4!
 </content> </entry>
Information has been added to the Entry, including the <link/>, <id/>, <created/> and <modified/> elements.
@@ Editors Note: Beware the Atom syntax is still in flux and the above example is not normative. @@
Editing an Entry is different from creating one, the difference is that the Entry is PUT back to the URI that you retrieved it from via GET.
If the <content/> element is updated the transaction might look like:
PUT /reilly/1 HTTP/1.1 Content-Type: application/x.atom+xml <?xml version="1.0" encoding='iso-8859-1'?> <entry xmlns="http://example.com/newformat#" > <title>My First Entry</title> A very boring entry... <author> <name>Bob B. Bobbington</name> </author> <issued>2003-02-05T12:29:29</issued> <created>2003-02-05T14:10:58Z</created> <modified>2003-02-05T14:10:58Z</modified> <link>http://example.org/reilly/2003/02/05#My_First_Entry</link> <id>urn:example.org:reilly:1</id> <content type="application/xhtml+xml" xml:lang="en-us">
A big hello to the weblog world! 2 < 4!
 </content> </entry>
The response from the server, on success, returns a 205 HTTP status code.
HTTP/1.1 205 Reset Content
The <content/> element now reflects the updated content, and the <modifed/> element has been updated to reflect when the change was made.
As was done after creation, a GET to the URI of the Atom Entry would return the modified Entry.
To retrieve the modified Entry the client connects to port 80 on http://example.org and sends:
GET /reilly/1 HTTP/1.1 Content-Type: application/x.atom+xml
This would retrieve the recently modified Entry.
The response might look like:
HTTP/1.1 200 Ok Content-Type: application/x.atom+xml <?xml version="1.0" encoding='iso-8859-1'?> <entry xmlns="http://example.com/newformat#" > <title>My First Entry</title> A very boring entry... <author> <name>Bob B. Bobbington</name> </author> <issued>2003-02-05T12:29:29</issued> <created>2003-02-05T14:10:58Z</created> <modified>2003-02-05T14:22:03Z</modified> <link>http://example.org/reilly/2003/02/05#My_First_Entry</link> <id>urn:example.org:reilly:1</id> <content type="application/xhtml+xml" xml:lang="en-us">
A big hello to the weblog world! 2 < 4!
 </content> </entry>
The <content/> element now reflects the updated content, and the <modifed/> element has been updated to reflect when the change was made.
Deleting an Entry uses the URI of the Atom Entry. This is the same URI the client does a GET on to retrieve the Atom Entry.
For example, to delete the first Entry in our example the client connects to port 80 on the server and sends:
DELETE /reilly/1 HTTP/1.1
The response from the server upon a successful deletion is:
HTTP/1.1 200 Ok
Finding an Entry uses the 'search-entries' URI from the Introspection file. For the example Introspection file given, that is the URI http://example.org/reilly/search. The search parameters given are used to select which Entries are listed in the response.
For example, to retrieve the locations of the last 20 Entries, the client connects to port 80 on the server and sends:
GET /reilly/search?atom-last=20 HTTP/1.1 Accept: application/x.atom+xml
The server searches for Entries that match the criteria and returns a response that lists those matches.
The response from the server might look like:
HTTP/1.1 200 Ok Content-Type: application/x.atom+xml <search-results xmlns="http://example.com/newformat#" > <entry> <title>My First Post</title> <id>http://example.org/reilly/1</id> </entry> <entry> <title>My Second Post</title> <id>http://example.org/reilly/2</id> </entry> </search-results>
There will be one <entry/> element for every Entry that matches the given criteria. Each <entry/> element contains the URI of the Entry and the title of the Entry. If the client needs the Atom Entry then it performs an HTTP GET on the given URI as outlined in section 5.2.1.
Note that all of the query parameters begin with 'atom-' to avoid conflicts with other query parameters that may already be present in the URI.
There are other search critera that can be added. For example the 'atom-all' parameter, if present, requests that the server return a list of all Entries on the site. Other additional parameters that can be added are 'atom-start-range' and 'atom-end-range'. Access to the entries is by an index, with the first Entry having an index number of 0.
For example, this request will return a list of all Entries from index 2 to index 27.
GET /reilly/search?start-range=2&end-range=27 HTTP/1.1
The rest of the search parameters and their properties are covered in detail in section 6.1.
Note that the URI the client receives for the search facet may already have query parameters in it so the client may not just append the query parameters to the end of the search URI. The best approach to handling this situation is to parse out all the query parameters, add in the ones being used by the client then join the URI back together.
The preferences for the user are edited through the URI supplied in the <user-prefs/> element of the introspection file. To retrieve the current user preferences issue and HTTP GET on the URI.
For the website at http://example.org/reilly, the request would look like:
GET /reilly/prefs HTTP/1.1 Accept: application/x.atom+xml
This would return a list of user configuration parameters and their values.
The reponse would look like:
HTTP/1.1 200 OK Content-Type: application/x.atom+xml <?xml version="1.0" encoding='iso-8859-1'?> <userprefs xmlns="http://example.com/newformat#" > <name>Reilly</name> <id>1234</id><EMAIL_ADDRESS></userprefs>
The values can then be updated, and doing an HTTP PUT of the updated file back to the 'user-prefs' URI will update the user preferences.
For example, if we update our email address, from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>we would then PUT it back to the 'user-prefs' URI:
PUT /reilly/prefs HTTP/1.1 Content-Type: application/x.atom+xml <?xml version="1.0" encoding='iso-8859-1'?> <userprefs xmlns="http://example.com/newformat#" > <name>Reilly</name> <id>1234</id><EMAIL_ADDRESS></userprefs>
Assuming the update goes successfully, the updated user preferences will be returned in the response.
The reponse would look like:
HTTP/1.1 200 OK
The templates for the user are edited through the URI supplied in the <edit-template/> element of the introspection file. Doing an HTTP GET on the edit-template URI retrieves a file that describes all the available templates and their URIs.
Here is an example template description file.
<resources xmlns="http://example.com/newformat#" > <resource> <title>Main</title> <id>http://example.org/tpl/Main.html</id> </resource> <resource> <title>Story</title> <id>http://example.org/tpl/Stry.html</id> </resource> <resource> <title>Feed</title> <id>http://example.org/tpl/Feed.xml</id> </resource> </resources>
Two important things to note on this file. First is that this list of templates is in no way normative. Secondly, note that templates may have different mime-types.
To begin editing a template, do a GET on one of the listed URIs. After the content has been edited the client PUTs the modified content back to the same URI.
This part of the AtomAPI does not use the URIs listed in the Introspection file.
There are different interfaces now circulating for an TrackBack, Ping-Back, Post-It. All of these are systems for adding comment-like information to an Entry. The only thing missing from the mix is a way to do comments themselves. This section of the specification is intended to be a roll-up of all the above specifications and to cover comments as well.
Creating a comment is similar to creating an Entry, that is, you HTTP POST an Entry to a URI. For now we will defer discussing how to obtain the corrent URI to POST to.
For example, if "http://example.org/reilly/1/comments" is the URI that accepts comments for the first Entry on the website http://example.org/reilly, then the client would open port 80 on example.org and send:
POST /reilly/1/comments HTTP/1.1 Content-Type: application/x.atom+xml <entry xmlns="http://example.com/newformat#" > <title>My Comment</title> <author> <name>Fred F. Fobbington</name> </author> <created>2003-02-05T12:29:29</created> <content type="application/xhtml+xml" xml:lang="en-us">
Welcome to the neighborhood!
 </content> </entry>
This would create a new comment for the first Entry on "http://example.org/reilly".
The response to this POST, assuming everything went without error would look like this:
HTTP/1.1 201 Created Location: http://example.org/reilly/1/comments/1
This would create a new comment/trackback for the first Entry on "http://example.org/reilly".
Note that the response can contain a Location: header that points to the comment as an Entry. This is not a required feature of the interface.
Two mechanisms are available for discovering the URI that you would use to create a comment. The first is a way to put that information in HTML, the second is a way to embed that information in an Atom feed.
The <link> element has been successful in finding RSS feeds and is appropriate to use here for discovering the "commentURI" in HTML pages. The <link> tag goes in the  section of an HTML page and is used to indicate a document relationship. For a similar example of using the link tag to discover a URI, refer to the usage of of the link tag for RSS Auto-Discovery. In this case the form of the link tag used to indicate the location of the comment URI is:
<link rel="service.comment" type="application/x.atom+xml" href="url goes here" title="AtomComment">
Where href should be set to the URI that accepts POSTs for comments. Applications looking for a URI to post comments to need to parse out the headers of the web page and look for a link tag that has a relation rel of "service.comment" and a mime-type of "application/x.atom+xml".
There is a <comment/> element in each Entry that is used to provide the location of the URI that accepts comment POSTs. This is providing the same information as the link tag does in HTML.
@@ TBD @@ More formal specification of all the XML formats used in this protocol.
@@ TBD @@ A more formal specification of all the actions.
None.
None.
None.
None.
None.
None.
None.
None.
@@TBD@@ Mostly 200 for normal responses, seems that 30X codes for redirects are useful but might make implementations a little harder to implement. @@Ref CommentAPI problems returning a 303 vs 200@@
@@TBD@@ How does an Atom document change when used in these different contexts? Which parts that are required when found in a feed become optional when used in creating an Entry?
@@TBD@@ Talk here about using HTTP basic and digest authentication.
@@TBD@@ Talk here about denial of service attacks using large XML files, or the billion laughs DTD attack.
Rev 07 - 06Aug2003 - Removed the use of the RSD file for auto-discovery. Changed copyright until a final standards body is chosen. Changed query parameters for the search facet to all begin with atom- to avoid name collisions. Updated all the Entries to follow the 0.2 version. Changed the format of the search results and template file to a pure element based syntax.
Rev 06 - 24Jul2003 - Moved to PUT for updating Entries. Changed all the mime-types to application/x.atom+xml. Added template editing. Changed 'edit-entry' to 'create-entry' in the Introspection file to more accurately reflect it's purpose.
Rev 05 - 17Jul2003 - Renamed everything Echo into Atom. Added version numbers in the Revision history. Changed all the mime-types to application/atom+xml.
Rev 04 - 15Jul2003 - Updated the RSD version used from 0.7 to 1.0. Change the method of deleting an Entry from POSTing <delete/> to using the HTTP DELETE verb. Also changed the query interface to GET instead of POST. Moved Introspection Discovery to be up under Introspection. Introduced the term 'facet' for the services listed in the Introspection file.
Rev 03 - 10Jul2003 - Added a link to the Wiki near the front of the document. Added a section on finding an Entry. Retrieving an Entry now broken out into it's own section. Changed the HTTP status code for a successful editing of an Entry to 205.
Rev 02 - 7Jul2003 - Entries are no longer returned from POSTs, instead they are retrieved via GET. Cleaned up figure titles, as they are rendered poorly in HTML. All content-types have been changed to application/atom+xml.
Rev 01 - 5Jul2003 - Renamed from EchoAPI.html to follow the more commonly used format: draft-gregorio-NN.html. Renamed all references to URL to URI. Broke out introspection into it's own section. Added the Revision History section. Added more to the warning that the example URIs are not normative.
Copyright (C) Joe Gregorio (2003). All Rights Reserved.
| [RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
| Joe Gregorio | |
| BitWorking, Inc | |
| 1002 Heathwood Dairy Rd. |
|
| Apex, NC 27502 | |
| US | |
| Phone: | +1<PHONE_NUMBER> |
| EMail: |<EMAIL_ADDRESS>|
| URI: | http://bitworking.com/ |


8.2 Nonlinear Functions of a Single Independent Variable
Polynomials
The approach used to obtain a quadratic model can be generalized to polynomial models of arbitrary degree \(r\). \[Y_i = \beta_0 + \beta_1 X_i + \beta_2 X_i^2 + \ldots + \beta_r X_i^r + u_i\]
A cubic model (\(r=3\)) for instance can be estimated in the same way as the quadratic model; we just have to add I(income^3) to the formula argument in our call of lm().
cubic_model <- lm(score ~ income + I(income^2) + I(income^3), data = CASchools)
In practice the question will arise which polynomial order should be chosen. First note that, similarly as for \(r=2\), we can test the null hypothesis that the true relation is linear against the alternative hypothesis that the relationship is a polynomial of degree \(r\):
\[ H_0: \beta_2=0, \ \beta_3=0,\dots,\beta_r=0 \ \ \ \text{vs.} \ \ \ H_1: \text{at least one} \ \beta_j\neq0, \ j=2,\dots,r \]
This is a joint null hypothesis with \(r-1\) restrictions so it can be tested using the \(F\)-test presented in Chapter 7. Remember that the function linearHypothesis() can used to conduct such tests. If, for example, we would like to test the null hypothesis of a linear model against the alternative of a polynomial of a maximal degree \(r=3\), we could simply do the following:
# test the hypothesis
linearHypothesis(cubic_model,
c("I(income^2)=0", "I(income^3)=0")
)
## Linear hypothesis test
##
## Hypothesis:
## I(income^2) = 0
## I(income^3) = 0
##
## Model 1: restricted model
## Model 2: score ~ income + I(income^2) + I(income^3)
##
## Res.Df RSS Df Sum of Sq F Pr(>F)
## 1 418 74905
## 2 416 67170 2 7735.5 23.954 1.424e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
The \(p\)-value for this test is very small so that we reject the null hypothesis. However, this does not tell us which \(r\) to choose. In practice, one approach to determine the degree of the polynomial is to use sequential testing:
- Estimate a polynomial model for some maximum value \(r\).
- Use a \(t\)-test to test whether \(\beta_r = 0\). Rejection of the null means that \(X^r\) belongs in the regression equation.
- Acceptance of the null in step 2 means that \(X^r\) can be eliminated from the model. Continue by repeating step 1 with order \(r-1\) and test whether \(\beta_{r-1}=0\). If the test rejects, use a polynomial model of order \(r-1\).
- If the tests from step 3 rejects, continue with the procedure until the coefficient on the highest power is statistically significant.
There is no unambiguous guideline how to choose \(r\) in step one. However as Stock and Watson (2014) point out, economic data is often smooth such that it is appropriate to choose small orders like \(2\), \(3\), or \(4\).
We will now demonstrate how to apply
summary(cubic_model)
##
## Call:
## lm(formula = score ~ income + I(income^2) + I(income^3), data = CASchools)
##
## Residuals:
## Min 1Q Median 3Q Max
## -44.28 -9.21 0.20 8.32 31.16
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.001e+02 5.830e+00 102.937 < 2e-16 ***
## income 5.019e+00 8.595e-01 5.839 1.06e-08 ***
## I(income^2) -9.581e-02 3.736e-02 -2.564 0.0107 *
## I(income^3) 6.855e-04 4.720e-04 1.452 0.1471
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 12.71 on 416 degrees of freedom
## Multiple R-squared: 0.5584, Adjusted R-squared: 0.5552
## F-statistic: 175.4 on 3 and 416 DF, p-value: < 2.2e-16
The estimated cubic model stored in cubic_model is
\[ \widehat{TestScore}_i = \underset{(5.83)}{600.1} + \underset{(0.86)}{5.02} \times income -\underset{(0.03)}{0.96} \times income^2 - \underset{(0.00047)}{0.00069} \times income^3. \]
From the output we can tell that the \(t\)-statistic on \(income^3\) is \(1.42\) so the null that the relationship is quadratic cannot be rejected, even at the \(10\%\) level. This is contrary to the result presented book which reports robust standard errors throughout so we will also use robust variance-covariance estimation to reproduce these results.
# load the lmtest package for coeftest()
library(lmtest)
# test the hypothesis using robust standard errors
coeftest(cubic_model, vcov. = vcovHC(cubic_model, type = "HC1"))
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.0008e+02 5.1021e+00 117.6150 < 2.2e-16 ***
## income 5.0187e+00 7.0735e-01 7.0950 5.606e-12 ***
## I(income^2) -9.5805e-02 2.8954e-02 -3.3089 0.001018 **
## I(income^3) 6.8549e-04 3.4706e-04 1.9751 0.048918 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Notice that the reported standard errors have changed. Furthermore, the coefficient for income^3
is now significant at the \(5\%\) level. This means we reject the hypothesis that the regression function is quadratic against the alternative that it is cubic. Furthermore, we can also test if the coefficients for income^2 and income^3 are jointly significant using a robust version of the \(F\)-test.
# robust F-test for
linearHypothesis(cubic_model,
vcov. = vcovHC(cubic_model, type = "HC1"),
c("I(income^2)=0", "I(income^3)=0")
)
## Linear hypothesis test
##
## Hypothesis:
## I(income^2) = 0
## I(income^3) = 0
##
## Model 1: restricted model
## Model 2: score ~ income + I(income^2) + I(income^3)
##
## Note: Coefficient covariance matrix supplied.
##
## Res.Df Df F Pr(>F)
## 1 418
## 2 416 2 37.691 9.043e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
With a \(p\)-value of \(9.043e^{-16}\), i.e. much less than \(0.05\), the null hypothesis of linearity is rejected in favor of the alternative that the relationship is quadratic or cubic.
Interpretation of Coefficients in Nonlinear Regression Models
The coefficients in polynomial regression models do not have a simple interpretation. Why is that? Think of a quadratic model: it is not helpful to think of the coefficient on \(X\) as the expected change in \(Y\) associated with a change in \(X\) holding the other regressors constant because one other is \(X^2\) which changes as \(X\) is varied. This is also the case for other deviations from linearity, for example in models where regressors and/or the dependent variable are log-transformed. The best way to approach this is to calculate the estimated effect on \(Y\) associated with a change in \(X\) for one or more values of \(X\). This idea is summarized in Key Concept 8.1.
Key Concept 8.1
The Expected Effect on \(Y\) of a Change in \(X_1\) in a Nonlinear Regression Model
Consider the nonlinear population regression model
\[ Y_i = f(X_{1i}, X_{2i}, \dots, X_{ki}) + u_i \ , \ i=1,\dots,n,\]
where \(f(X_{1i}, X_{2i}, \dots, X_{ki})\) is the population regression function and \(u_i\) is the error term.
Denote \(\Delta Y\) the expected change in \(Y\) associated with \(\Delta X_1\), the change in \(X_1\) while holding \(X_2, \cdots , X_k\) constant. That is, the expected change in \(Y\) is the difference
\[\Delta Y = f(X_1 + \Delta X_1, X_2, \cdots, X_k) - f(X_1, X_2, \cdots, X_k).\]
The estimator of this unknown population difference is the difference between the predicted values for these two cases. Let \(\hat{f}(X_1, X_2, \cdots, X_k)\) be the predicted value of of \(Y\) based on the estimator \(\hat{f}\) of the population regression function. Then the predicted change in \(Y\) is
\[\Delta \widehat{Y} = \hat{f}(X_1 + \Delta X_1, X_2, \cdots, X_k) - \hat{f}(X_1, X_2, \cdots, X_k).\]For example, we may ask the following: what is the predicted change in test scores associated with a one unit change (i.e. \(\$1000\)) in income, based on the estimated quadratic regression function
\[\widehat{TestScore} = 607.3 + 3.85 \times income - 0.0423 \times income^2\ ?\]
Because the regression function is quadratic, this effect depends on the initial district income. We therefore consider two cases: an increase in district income form \(10\) to \(11\) (i.e. from \(\$10000\) per capita to \(\$11000\)) and an increase in district income from \(40\) to \(41\) (that is from \(\$40000\) to \(\$41000\)).
In order to obtain the \(\Delta \widehat{Y}\) associated with a change in income form \(10\) to \(11\), we use the following formula:
\[\Delta \widehat{Y} = \left(\hat{\beta}_0 + \hat{\beta}_1 \times 11 + \hat{\beta}_2 \times 11^2\right) - \left(\hat{\beta}_0 + \hat{\beta}_1 \times 10 + \hat{\beta}_2 \times 10^2\right) \] To compute \(\widehat{Y}\) using R we may use predict().
# compute and assign the quadratic model
quadriatic_model <- lm(score ~ income + I(income^2), data = CASchools)
# set up data to predict
new_data <- data.frame(income = c(10, 11))
# do the prediction
Y_hat <- predict(quadriatic_model, newdata = new_data)
# compute the difference
diff(Y_hat)
## 2
## 2.962517
Analogously we can compute the effect of a change in district income from \(40\) to \(41\):
# set up data to predict
new_data <- data.frame(income = c(40, 41))
# do the prediction
Y_hat <- predict(quadriatic_model, newdata = new_data)
# compute the difference
diff(Y_hat)
## 2
## 0.4240097
So for the quadratic model, the expected change in \(TestScore\) induced by an increase in \(income\) from \(10\) to \(11\) is about \(2.96\) points but an increase in \(income\) from \(40\) to \(41\) increases the predicted score by only \(0.42\). Hence the slope of the estimated quadratic regression function is steeper at low levels of income than at higher levels.
Logarithms
Another way to specify a nonlinear regression function is to use the natural logarithm of \(Y\) and/or \(X\). Logarithms convert changes in variables into percentage changes which is convenient as many relationships are naturally expressed in terms of percentages.
There are three different cases in which logarithms might be used.
\(X\) could be transformed by taking its logarithm but \(Y\) is not.
We could transform \(Y\) to its logarithm but leave \(X\) at level.
A third case is that both \(Y\) and \(X\) are transformed to their logarithms.
The interpretation of the regression coefficients is different in each case.
Case I: \(X\) is in Logarithm, \(Y\) is not.
The regression model then is
\[Y_i = \beta_0 + \beta_1 \times \ln(X_i) + u_i \text{, } i=1,...,n. \] Similar as for polynomial regression we do not have to create a new variable by computing \(\ln(X)\). We can simply adjust the formula argument of lm() to tell R that the log-transformation of a variable should be used.
# estimate a level-log model
LinearLog_model <- lm(score ~ log(income), data = CASchools)
# compute robust summary
coeftest(LinearLog_model,
vcov = vcovHC(LinearLog_model, type = "HC1")
)
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 557.8323 3.8399 145.271 < 2.2e-16 ***
## log(income) 36.4197 1.3969 26.071 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
According to the output the estimated regression function is:
\[\widehat{TestScore} = 557.8 + 36.42 \times \ln(income).\]
Let us draw a plot of this function.
# draw scatterplot
plot(score ~ income,
col = "steelblue",
pch = 20,
data = CASchools,
main = "Linear-Log Regression Line")
# add Linear-Log regression line
order_id <- order(CASchools$income)
lines(CASchools$income[order_id],
fitted(LinearLog_model)[order_id],
col = "red",
lwd = 2)
We can interpret \(\hat{\beta}_1\) as follows: a \(1\%\) increase in income is associated with an increase in test scores of \(0.01 \times 36.42 = 0.36\) points. In order to get the estimated effect of
# set up new data
new_data <- data.frame(income = c(10, 11, 40, 41))
# predict outcomes
Y_hat <- predict(LinearLog_model, newdata = new_data)
# compute expected difference
changes <- matrix(Y_hat, nrow = 2, byrow = TRUE)
changes[, 2] - changes[, 1]
## [1] 3.471166 0.899297
The estimated model states that for an income increase from \(\$10000\) to \(\$11000\), test scores increase by an expected amount of \(3.47\) points. When income increases from \(\$40000\) to \(\$41000\), the expected increase in test scores is only about \(0.90\) points.
Case II: \(Y\) is in Logarithm, \(X\) is not
If you want to learn about the absolute impact of an explanatory variable on the dependent variable, it is not recommended to log-transform the latter. There are, however, cases where we want to learn about \(\ln(Y)\) instead of \(Y\).
The corresponding regression model then is
\[ \ln(Y_i) = \beta_0 + \beta_1 \times X_i + u_i \ \ , \ \ i=1,...,n. \]
# estimate a log-linear model
LogLinear_model <- lm(log(score) ~ income, data = CASchools)
# compute a robust summary
coeftest(LogLinear_model,
vcov = vcovHC(LogLinear_model, type = "HC1")
)
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.43936234 0.00289382 2225.210 < 2.2e-16 ***
## income 0.00284407 0.00017509 16.244 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
The estimated regression function is \[\widehat{\ln(TestScore)} = 6.439 + 0.00284 \times income.\] Since we are interested in \(\ln(Y)\) rather than \(Y\), we do not re-transform the dependent variable.
# scatterplot
plot(log(score) ~ income,
col = "steelblue",
pch = 20,
data = CASchools,
main = "Log-Linear Regression Function"
)
# add the Log-Linear regression line
order_id <- order(CASchools$income)
lines(CASchools$income[order_id],
fitted(LogLinear_model)[order_id],
col = "red",
lwd = 2)
Note that the \(Y\)-Axis is now log-transformed.
In a log-linear model, a one-unit change in \(X\) is associated with an estimated \(100 \times \hat\beta_1 \%\) change in \(Y\). This time we leave the \(X\) values unchanged.
# do the predictions
Y_hat <- predict(LogLinear_model, newdata = new_data)
# compute difference in changes
changes <- matrix(Y_hat, nrow = 2, byrow = TRUE)
changes[, 2] - changes[, 1]
## [1] 0.00284407 0.00284407
Case III: \(X\) and \(Y\) are in Logarithms
The log-log regression model is
\[\ln(Y_i) = \beta_0 + \beta_1 \times \ln(X_i) + u_i \ \ , \ \ i=1,...,n. \]
# Estimate the Log-Log model
LogLog_model <- lm(log(score) ~ log(income), data = CASchools)
# print robust summary to the console
coeftest(LogLog_model,
vcov = vcovHC(LogLog_model, type = "HC1")
)
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.3363494 0.0059246 1069.501 < 2.2e-16 ***
## log(income) 0.0554190 0.0021446 25.841 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
The estimated regression function hence is \[\widehat{\ln(TestScore)} = 6.336 + 0.0554 \times \ln(income).\]
# scatterplot
plot(log(score) ~ income,
data = CASchools,
col = "steelblue",
pch = 20,
main = "Log-Log Regression Function")
# plot the estimate log-log regression line
lines(sort(CASchools$income),
fitted(LogLog_model)[order(CASchools$income)],
col = "red",
lwd = 2)
In a log-log model, a \(1\%\) change in \(X\) is associated with an estimated \(\hat\beta_1 \%\) change in \(Y\).
# predict Y
Y_hat <- predict(LogLog_model, newdata = new_data)
# compute changes
changes <- matrix(Y_hat, nrow = 2, byrow = TRUE)
changes[ ,2] - changes[ ,1]
## [1] 0.005281992 0.001368439
Key Concept 8.2 summarizes the three logarithmic regression models.
Key Concept 8.2
Logarithms in Regression: Three Cases
Logarithms can be used to transform the dependent variable \(Y\) or the independent variable \(X\), or both (the variable being transformed must be positive). The following table summarizes these three cases and the interpretation of the regression coefficient \(\beta_1\). In each case, \(\beta_1\), can be estimated by applying OLS after taking the logarithm(s) of the dependent and/or the independent variable.
| Case | Model Specification | Interpretation of \(\beta_1\) |
|---|---|---|
| \((I)\) | \(Y_i = \beta_0 + \beta_1 \ln(X_i) + u_i\) | A \(1 \%\) change in \(X\) is associated with a change in \(Y\) of \(0.01 \times \beta_1\). |
| \((II)\) | \(\ln(Y_i) = \beta_0 + \beta_1 X_i + u_i\) | A change in \(X\) by one unit (\(\Delta X = 1\)) is associated with a \(100 \times \beta_1 \%\) change in \(Y\). |
| \((III)\) | \(\ln(Y_i) = \beta_0 + \beta_1 \ln(X_i) + u_i\) | A \(1\%\) change in \(X\) is associated with a \(\beta_1\%\) change in \(Y\), so \(\beta_1\) is the elasticity of \(Y\) with respect to \(X\). |
Of course we can also estimate a
\[ TestScore_i = \beta_0 + \beta_1 \times \ln(income_i) + \beta_2 \times \ln(income_i)^2 + \beta_3 \times \ln(income_i)^3 + u_i \]
which models the dependent variable \(TestScore\) by a third-degree polynomial of the log-transformed regressor \(income\).
# estimate the polylog model
polyLog_model <- lm(score ~ log(income) + I(log(income)^2) + I(log(income)^3),
data = CASchools)
# print robust summary to the console
coeftest(polyLog_model,
vcov = vcovHC(polyLog_model, type = "HC1"))
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 486.1341 79.3825 6.1239 2.115e-09 ***
## log(income) 113.3820 87.8837 1.2901 0.1977
## I(log(income)^2) -26.9111 31.7457 -0.8477 0.3971
## I(log(income)^3) 3.0632 3.7369 0.8197 0.4128
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Which of the models presented here is the most suitable one? Comparing by \(\overline{R^2}\) we find that, leaving out the log-linear model, all models have a similar fit. In the class of polynomial models, the cubic specification has the highest \(\overline{R^2}\) whereas the linear-log specification is the best of the log-models (check this!). Let us now compare both models graphically by plotting the corresponding estimated regression functions.
# scatter plot
plot(score ~ income,
data = CASchools,
col = "steelblue",
pch = 20,
main = "Linear-Log and Cubic Regression Functions")
# add Linear-Log regression line
order_id <- order(CASchools$income)
lines(CASchools$income[order_id],
fitted(LinearLog_model)[order_id],
col = "darkgreen",
lwd = 2)
# add cubic regression line
lines(x = CASchools$income[order_id],
y = fitted(cubic_model)[order_id],
col="darkred",
lwd=2)
We see that both regression lines are nearly identical. Here the linear-log model is preferable since it has a slightly higher \(\overline{R^2}\) and is more parsimonious in terms of regressors: it does not include higher-degree polynomials.


--- layout: archive title: "ID History -Collaborative Curation- Archive" description: Curators organizing information on the history of decentralized identity in the channels of a new discord server, the contents of which is periodically exported, and published, here. permalink: /history/archive/ author_profile: false header: image: /images/did-header1.png og_image: /images/evolution.png caption: "[DID History - Curators Collaborative](https://discord.gg/YdGEh2t)" sidebar: title: DID History nav: didhistory classes: wide author: DIDecentral author_profile: true share: true --- If you don't feel like exploring the wonders of discordapp, the contents of that server will be periodically published on this page.
I've now been organizing information on the history of decentralized identity in the channels of a new discord server. I've been searching through all the places this research has been collected, from the ID Commons Wiki. to the four corners of the internet.
If you don't feel like exploring the wonders of discordapp, the contents of that server will be periodically published on this page.
Ultimately, the idea is to funnel this information into the identity-commons historical repository: ⇉⇉ identitywoman/identity-commons ⇇⇇
{% capture written_label %}'None'{% endcapture %} {% for collection in site.collections %} {% unless collection.output == false or collection.label == "posts" %} {% capture label %}{{ collection.label }}{% endcapture %} {% if label != written_label %}


|
NFLogger
|
Class of Event Object. More...
#import <NFLOGEvent.h>
Instance Methods | |
| (id) | - initWithEventName:eventType:eventParameters:timeStamp: |
| Initializer to create event object For startActiveEvent the timestamp will be used as start time. For endTime, the timestamp will be used as end time, difference is calculated at the last while creating the JSON. | |
| (NSString *) | - description |
| description of object. | |
Properties | |
| NSString * | eventName |
| NSString * | eventType |
| NSDictionary * | eventParameters |
| double | timeStamp |
Class of Event Object.
This class helps in creaating instance of event objects. In future for different types of events, we can create protocol of NFLOGEvent Object and generalize it futher.


--- layout: not_homepage quote: I don’t have time for hobbies. At the end of the day, I treat my job as a hobby. It’s something I love doing. author: David Beckham ---
Hi, my name is Lawrence and I'm a Machine Learning researcher. Welcome to my website!
I am a Physics and Philosophy student by training, and have kept up programming as a hobby since high school. My first introduction to Machine Learning was an attempt to solve Lunar Lander which I began tackling with a somewhat Classical-Mechanics point of view, but finished with a Reinforcement Learning method. Right now, I am focused on the classification of mosquitoes from acoustic audio with the Humbug team at the University of Oxford.
I am very excited to engage on projects in Machine Learning or Algorithmic Trading. Please feel free to browse the projects section to see what I've experimented with, shoot me an email or connect on LinkedIn.


| Modifier and Type | Field and Description |
|---|---|
static java.text.DecimalFormat |
PRICE_FORMAT
The
DecimalFormat used to format the String representation of this instance's priceValue. |
| Constructor and Description |
|---|
Price(MarketBasis marketBasis,
double price)
A constructor to create an instance of Price.
|
| Modifier and Type | Method and Description |
|---|---|
int |
compareTo(Price that)
Compares this object with the specified object for order.
|
boolean |
equals(java.lang.Object obj) |
MarketBasis |
getMarketBasis() |
double |
getPriceValue() |
int |
hashCode() |
PriceStep |
toPriceStep() |
java.lang.String |
toString() |
public static final java.text.DecimalFormat PRICE_FORMAT
DecimalFormat
used to format the String
representation of this instance's priceValue.public Price(MarketBasis marketBasis, double price)
marketBasis
- the MarketBasis
of this Price.price
- the value of this Price.public MarketBasis getMarketBasis()
public double getPriceValue()
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public int compareTo(Price that)
compareTo
in interface java.lang.Comparable<Price>
that
- The Price
instance you want to compare with this one.java.lang.IllegalArgumentException
- is the MarketBasis
is null
.


Congratulations!  Try once more!
Find 3 cars from UK


Graph Operations¶
-
class
ddf_library.functions.graph.
PageRank
(damping_factor=0.85, max_iters=100)¶ Bases:
ddf_library.bases.ddf_model.ModelDDF
PageRank is one of the methods Google uses to determine a page’s relevance or importance. The idea that Page Rank brought up was that, the importance of any web page can be judged by looking at the pages that link to it.
PageRank can be utilized in others domains. For example, may also be used as a methodology to measure the apparent impact of a community.
Example: >>> pr = PageRank(damping_factor=0.85) >>> ddf2 = pr.transform(ddf1, inlink_col='col1', outlink_col='col2')
Parameters: - damping_factor – Default damping factor is 0.85;
- max_iters – Maximum number of iterations (default is 100).
-
transform
(data, outlink_col, inlink_col)¶ Generates the PageRank’s result.
Parameters: - data – DDF
- outlink_col – Out-link vertex;
- inlink_col – In-link vertex;
Returns: DDF with Vertex and Rank columns


| POSTED ON 15 DEC 2013 / DESSERTS |
For the fig-swirl: melt butter over medium heat in a saucepan. Add brown sugar and stir to dissove. Halve all of the figs and toss in the saucepan with water and lemon juice. Cook over medium heat, stirring frequently, until you have a chunky-jammy mixture. Add salt with one or two stirs, set aside and let cool completely.
Ice cream: In small pot over medium heat, combine milk, and granulated sugar until sugar is completely dissolved and the milk is just barely lukewarm. Whisk in the egg yolks. Set mixture in the fridge and wait until the fig mixture is cooled.
Using an ice cream machine, pour liquids into the frozen basin and process according to manufacturer instructions, i.e., let spin and thicken for 20 minutes before adding mascarpone, fig jam mixture, and the nuts. Continue to process for +/- 10 minutes. Pour semi-frozen mixture into a pyrex dish or glass tupperware. Freeze for at least two hours before serving.
- 1 1/2 cups milk
- 1/2 cup mascarpone
- 1/2 tsp pink salt
- 1 lb Black Mission Figs
- 1/2 cup brown sugar
- 2-4 tbsp water
- 1 1/2 heavy cream
1/3 granulated sugar2 egg yolks- 1 lemon, juiced
- 1 tbsp butter
- 1 cup honey roasted pecans, roughly chopped


{% load static %}
@imekenye
Ever heard of the Fuller Brush Man? You know, those legendary guys who came knocking on the front doors of America, selling brushes, mops and


Bact Staff
DashBoard
Session Management
Links
Link Management
Add new Link
Manage Link
User Management
Trainer
Add Trainer
Manage Trainer
add student
Manage students
Groups Management
Diploma Group
add Group
Manage Group
Reports
Manage Report
Join Bact Join Success


Most build system modules and targets deal within the context of the current directory, however the Component module deals with components as a whole, so many of the targets produced by this module are stored in a location known to all subdirectories within a component build at the COMPONENT_ROOT level.
Since the rules governing how a component from the component repository will be placed in COMPONENT_IMPORT_TARGET_ROOT, the function COMPONENT_FUNC_IMPORT_COMPUTE_TARGETDIR should be used by point make files that need to access imported files. This function takes the name of the import target as it appears in the IMPORT_TARGETS list as its only argument, and returns the directory into which that component was imported. Note: this behavior is changed considerably from previous versions of this build system. While Mentok imported all components into one flat dir, version 3.5 and upward changed to importing each component into its own directory. This chage was done to better accomodate cross compiling, multi-platform comiling, importing more than one revision of a component, etc. without the problems of colbbering files and other conflicts that plagued the old system.
IMPORT_TARGETS will be built during the "target" phase of a build. IMPORT_TARGETS may be built in isolation by requesting the "component_import" target.
In addition to pushing the contents of a component to the component repository, DIST_TARGETS pattern targets also cause a XML component descriptor file to be generated and pushed to the repository. The component descriptor for components pushed to the repository will chain the component descriptors of all imported components found in the current IMPORT_TARGETS before being pushed to the component repository. This is done to track the full dependency tree of a component even if components used in its construction are not re-packaged in its dist or hidden by static linking.
COMPONENT_ROOT=../.. BS_ROOT=$(COMPONENT_ROOT)/../build3 include $(BS_ROOT)/defines.mk IMPORT_TARGETS=mhnet mhnet-crossplatform blackbird-mh # this_component_doesnt_exist this_component_doesnt_exist_REV=2003-07-18 blackbird-mh_REV=4.0.4-2005-03-28_blackbird-404-endc-204-branch mhnet_REV=2003-04-03 #mhnet_DISTROOT=foo #mhnet_FROM=foobar mhnet-crossplatform_REV=2003-04-03 mhnet-crossplatform_PLATFORM=SunOS-5.9-sparcv9 mhnet-crossplatform_DISTNAME=mhnet #mhnet_DISTROOT=foo #mhnet_FROM=foobar SUBDIR_TARGETS= EXPORT_DESC_TARGETS=test_descriptor DIST_TARGETS=foo # DISTROOT// COMPONENT_DISTTAG/ / foo_FROM=/home/carlalex/eng-home/src/blackbird-trunk/src/bbi/cmi/stdio #foo_TO=/tmp/foo/bar/some-other-path foo_DISTROOT=/tmp/testdist foo_DISTNAME=moof foo_SCRUB=CVS BUILDTARGETS\* foo_PLATFORM=$(BS_PLATFORM_NOARCH) foo_PLATFORMLINKS=fake-platform foo_REV=3.1 foo_COMMENT=Mentok build system test component # Note: this is probably a dumb thing to do in a real make file... # the two platforms of the one component would clobber # each other. If you wanted to roll up a multi-platform component # to dist, you should stage the merge of plarforms with package rules, # then dist your package dir. foo_REEXPORT=mhnet mhnet-crossplatform #COMPONENT_DISTTAG=test_dist_tag include $(BS_ROOT)/rules.mk
<?xml version="1.0"?> <ComponentDesc> <Name>foo</Name> <Revision>3.1</Revision> <Comment>foo component DIST created at 2003-06-13 14:28:42 on firsttime.int.recourse.net</Comment> <Platform>Linux-2.4.20-13-i686-libc-2.3.2</Platform> <ReferenceDist>/usr/local/test-dist/foo/3.1/Linux-2.4.20-13-i686-libc-2.3.2</ReferenceDist> <CompatibilityPlatform>Linux</CompatibilityPlatform> <CompatibilityPlatform>Linux-2.4-i686</CompatibilityPlatform> <CompatibilityPlatform>Linux-2.4-i686-libc-2.3.2</CompatibilityPlatform> <CompatibilityPlatform>Linux-2.4.20-13-i686</CompatibilityPlatform> <CompatibilityPlatform>Linux-i686</CompatibilityPlatform> <Import> <ComponentDesc> <Name>mhnet</Name> <Revision>2003-04-03</Revision> <Comment>Imported Component did not provide a component.xml file; This stub was auto generated by the importing rules.</Comment> <Platform>Linux-2.4.20-13-i686-libc-2.3.2</Platform> <ImportDist>/usr/local/test-dist/mhnet/2003-04-03/Linux-2.4-i686</ImportDist> </ComponentDesc> <ComponentDesc> <Name>mhjava</Name> <Revision>2003-04-07</Revision> <Comment>MH java component descriptor.</Comment> <Platform>noarch</Platform> <Import> <ComponentDesc> <Name>Test sub component</Name> <Revision>1.0</Revision> </ComponentDesc> </Import> <ImportDist>/usr/local/test-dist/mhjava/2003-04-07/Linux-2.4-i686</ImportDist> </ComponentDesc> </Import> </ComponentDesc>


Rails is a web development framework that is written in the Ruby language. The benefits of using this framework is that it greatly speeds up web development from prototyping to deployment. The Rails sets up conventions that enable developers to implement a RESTful software architectural design. Rails also creates a Agile approach to software development.
One of the major conventions of Rails is creation of default directories for web applications. In this cheat-sheet we will be focusing on the App directory. The App directory holds the Model-View-Controller subdirectories.
Here are brief descriptions of the App directory and its subdiresctories (taken directly from this tutorial):


Reaching and maintaining a healthy weight is important for overall health and can help you prevent and control many diseases and conditions. If you are overweight or obese, you are at higher risk of developing serious health problems, including heart disease, high blood pressure, type 2 diabetes, gallstones, breathing problems, and certain cancers. That is why maintaining a healthy weight is so important: It helps you lower your risk for developing these problems, helps you feel good about yourself, and gives you more energy to enjoy life.
Energy balance is important for maintaining a healthy weight. The amount of energy or calories you get from food and drinks (energy IN) is balanced with the energy your body uses for things like breathing, digesting, and being physically active (energy OUT):
The same amount of energy IN and energy OUT over time = weight stays the same (energy balance)
More energy IN than OUT over time = weight gain
More energy OUT than IN over time = weight loss
Are physically active
Limit the time you spend being physically inactive
Follow a healthy diet, and if you are overweight or obese, reduce your daily intake by 500 calories for weight loss


Various statistical, graphics, and data-management functions used by the Rcmdr package in the R Commander GUI for R.
| Version: |
2.5-1 |
| Depends: |
R (≥ 3.5.0), utils, car (≥ 3.0-0), sandwich |
| Imports: |
abind, colorspace, Hmisc (≥ 4.1-0), MASS, e1071, foreign, haven, readstata13, readxl, graphics, grDevices, stats, nortest |
| Suggests: |
boot, datasets |
| Published: |
2018-09-10 |
| Author: |
John Fox [aut, cre],
Robert Muenchen [ctb],
Dan Putler [ctb] |
| Maintainer: |
John Fox <jfox at mcmaster.ca> |
| License: |
GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| URL: |
https://www.r-project.org, http://socserv.socsci.mcmaster.ca/jfox/ |
| NeedsCompilation: |
no |
| Materials: |
NEWS |
| CRAN checks: |
RcmdrMisc results |


We are keen to hear from anyone interested in sharing their story in a 5-10 minute Lightning Talk, 15-20 minute Extended Lightning Talk or 30 minute sessions.
Do you have a Serverless story that you want to share with the community or Serverless project that you want to demo in front of a live conference audience? Please submit your talk using our Call for Papers Site.


Hello! I'm WizardCarter! I am a programmer, filmmaker, and creator. This is my website.
I was the developer of all the software availible on my other website. The exception to
this is Smaog the Dargon, which was a collaboration project with a few friends
contributing ideas. I also developed MyData, an
CarrotWizard
.


Warning
×
Data loss etc...
×
×
Password
Password is required
Confirm Password
Passwords do not match
Generate Password
×
Length
Special Characters
Yes
No


Toggle navigation
Home
About
Success Stories
Open Source
Blog
Contact us
Contact US
https://bachelorthesiswritingservice.com


Home
Books
Favorites
Contact
Your Account
Cart
[[${book.title}]]
by
[[${book.author}]]
Status:
In Stock
$13.99
Add to cart


Question: What is the capital of Norway?
The above quiz can be specified by the text
!bquiz
Q: What is the capital of Norway?
Cw: Helsinki
Cw: Drammen
Cr: Oslo
Cw: Denmark
!equiz
!bquiz
("begin quiz") and !equiz
("end quiz") tags.Q:
.Cw:
, and right choices with Cr:
.!bquiz
, !equiz
, Q:
, Cw:
, and Cr:
must appear
at the beginning of a line.Cr:
) lasts up to the next
instruction (like Cw:
, Cr:
, !equiz
).
Question: What is the capital of Norway?
E: ...
after the choice to
give an explanation of that choice.
!bquiz
Q: What is the capital of Norway?
Cw: Helsinki
E: Helsinki is the capital of Finland.
Cw: Drammen
E: Drammen is a small city close to Oslo.
Cr: Oslo
Cw: Denmark
!equiz
This time we also added some spaces for enhanced reading of the text.
Question: Here is a famous quote:
Premature optimization is the root of all evil.This quote is attributed to
The corresponding specification reads
!bquiz
Q: Here is a famous quote:
!bquote
*Premature optimization is the root of all evil.*
!equote
This quote is attributed to
Cw: Geroge W. Bush
Cr: Donald Knuth
E: According to "Wikiquote": "http://en.wikiquote.org/wiki/Donald_Knuth",
Donald Knuth wrote this statement in *Structured Programming with
Goto Statements*. Computing Surveys, _6_:4,
pp. 261-301, _1974_.
Cw: Ole-Johan Dahl
E: Ole-Johan Dahl was a famous Norwegian professor of computer
science and together with Kristen Nygaard the inventor of
object-oriented programming, but he is not the man behind this
quote.
!equiz

Here is a famous quote:

Premature optimization is the root of all evil.

This quote is attributed to

Geroge W. Bush

Donald Knuth

According to
Wikiquote,
Donald Knuth wrote this statement in Structured Programming with
Goto Statements. Computing Surveys, 6:4,
pp. 261-301, 1974.

Ole-Johan Dahl

Ole-Johan Dahl was a famous Norwegian professor of computer science
and together with Kristen Nygaard the inventor of object-oriented
programming, but he is not the man behind this quote.

This syntax applies begin-end comments to mark the start and end of the question, the choices, and the explanations.
!bquestion
What is the capital of Norway?
!equestion
The quiz version is
What is the capital of Norway?
!bquestion
!bquiz
Q: [] What is the capital of Norway?
Cw: [Answer:] Stockholm
E: Stockholm is the capital of Sweden, Norway's neighboring country.
Cw: Bergen
E: Some people from Bergen may claim so... It is just the second
largest city in Norway.
Cr: Oslo
Cw: Denmark
!equiz
|equstion


Tatiana Manaois is a female Pop Singer born into family of three in California, United States on October 22nd 1996. Her Current US based birthstone is Opal & Tourmaline.
Tatiana came to limelight by showing off covers for songs of top musicians. She has published covers of Chris Rene, Ed Sheeran, andJustin Bieber to her YouTube channel. Meanwhile on the other hand, she’s also an independent
inger-songwriter with albums titled “Speak Now or Forever HoldYour Pain“ and “Lovely“, the latter of which features her hit single “Helplessly,” and “Like You” which went viral across Vine and YouTube.
Right! Someone may want to know why I love this helplessly fall song by Tatiana Manois.First this song has a sweet tune that makes me relaxed.
The other reason is, my girlfriend loves it too, so when she is far a way from me I can listen to this awesome music and feel that I am with her!!
He was born and raised in Eastleigh in a family of four siblings, two boys and two girls and is the third born. Life was really hard for them as a family as his parents were jobless. His father was a street preacher and his mother was a housewife.
Pitson went to Eastleigh High School and then joined Inorero University to study Law. He then went to Jomo Kenyatta University of Agriculture and Technology for a degree in Bachelor of Commerce.
From a tender age Pitson knew he had a gift in music and started singing while he was in Sunday school. While in high school he would sing during the church service and in other events. His singing prowess was however perfected while in campus at Jomo Kenyatta University where he studied Bachelor of Commerce. He owns a sound company, called Pitsounds.
I love this song very much.The first reason being, my Almighty Father has for real done great things for me.He has enabled me to get out of the "difficult" times and situations.It's also by His grace that I am happy and healthy at all times, I don't have any weapon to defend myself against diseases, but He protects me.
These second of the unendless reasons to glorify Him is,just to whisper, He has granted me a scholarship to study programming, wauuh!!! hahaaaaa!!! am justy happy to listen to this song at all times.
Are you interested in learning more about Rayvanny biography? Rayvanny is undoubtedly one of the top music stars in Africa right now with a massive following. If you have listened to his hit songs or are his number one fan, you must be interested in knowing the artist's top biographical facts, including his family, girlfriend, net worth, cars, house, and so much more.
Rayvanny, whose real name is Raymond Shaban Mwakyusa, is a famous musician, songwriter, and recording artist from Tanzania. He became a household name because of the hit song Kwetu, which introduced him to the world. He is currently signed under WCB Wasafi Records label, which is owned by Diamond Platnumz. He has released several other hit songs under the label such as Tetema, Natafuta Kiki, Zezeta, Mwanza, Chombo, and others.
This Rayvanny song featuring Zuchu is a great love song to me
I love the vibes in it so much
It also reminds me oh how my girlfriend usually dance on it whenever the song comes over, lots of memories though.
These are the songs


Next generation digital banking
Take your financial life online. Your Easybank account will be one-stop-shop for spending, saving, budgeting, investing, and much more.
Take your financial life online. Your Easybank account will be one-stop-shop for spending, saving, budgeting, investing, and much more.
Why choose Easybank?
We leverage Open Banking to turn your bank account into your financial hub. Control finances like never before.
Our modern weba and mobile applicatin allow you to keep track of your finances wherever you are in the world.
See exactly where your money goes each month. Receive notifications when you're close to hitting your limits.
We don't do branches. Open your account in minutes online and start taking control of your finances right away.
Manage your savings, investments, pension, and much more from one account. Tracking has never been easier.
Loreum Ipsum
Receive money in any currency with no fees.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Sit consequatur eveniet unde, possimus distinctio ratione impedit obcaecati laudantium porro. Voluptatibus, optio. Cumque voluptate odio itaque quibusdam accusamus laudantium recusandae minus.
Loreum Ipsum
Receive money in any currency with no fees.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Sit consequatur eveniet unde, possimus distinctio ratione impedit obcaecati laudantium porro. Voluptatibus, optio. Cumque voluptate odio itaque quibusdam accusamus laudantium recusandae minus.
Loreum Ipsum
Receive money in any currency with no fees.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Sit consequatur eveniet unde, possimus distinctio ratione impedit obcaecati laudantium porro. Voluptatibus, optio. Cumque voluptate odio itaque quibusdam accusamus laudantium recusandae minus.
Loreum Ipsum
Receive money in any currency with no fees.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Sit consequatur eveniet unde, possimus distinctio ratione impedit obcaecati laudantium porro. Voluptatibus, optio. Cumque voluptate odio itaque quibusdam accusamus laudantium recusandae minus.


{% extends 'errors/base-error-page.html' %} {% load static %} {% block error-message %} 404
You may have mistyped the address or the page may have moved.


menu
home HOME
book BLOG
person_outline REGISTER
lock_open LOGIN
home HOME
book BLOG
person_outline REGISTER
lock_open LOGIN
Register Here..
account_circle
Username
email
Email
lock
Enter your password
lock
Confirm your password
Register
Create account


Step 2
Enter the vehicle's registration (number plate) and make to check its MOT history.
Give us a call or send us an email and we will get back to you as soon as possible!
07581032934
chrislisembe48@hotmail.com


{%extends "base.html" %} {% block windowtitle %}Validation Successful{% endblock %} {%block content %}
Registration successful!
You have not been registered for the league - did you check the checkbox?
Return to your profile.


The index of the entity as it was found in the investment tables.
Mapped to DestinyLoreDefinition in the manifest.
Mapped to DestinyObjectiveDefinition in the manifest.
If this is true, then there is an entity with this identifier/type combination, but BNet is not yet allowed to show it. Sorry!
If there is any publicly available information about rewards earned for achieving this record, this is the list of those items.
However, note that some records intentionally have "hidden" rewards. These will not be returned in this list.
Indicates whether this Record's state is determined on a per-character or on an account-wide basis.
The unique identifier for this entity. Guaranteed to be unique for the type of entity, but not globally.
When entities refer to each other in Destiny content, it is this hash that they are referring to.


[1]
time for renovations in china as yet again there was work going on and some banging/noise .
[2]
commission was a lot and you could def get cheaper but we just found it convenient .


Kubernetes Learning Path v2.0 Kubernetes is taking the app development world by storm. By 2022, more than 75% of global organizations will be running containerized applications in production.* Kubernetes is shaping the future of app development and management—and Microsoft wants ...
Using Rust in Windows - Microsoft Security Response Center This Saturday 9th of November, there will be a keynote from Microsoft engineers Ryan Levick and Sebastian Fernandez at RustFest Barcelona. They will be talking about why Microsoft is exploring Rust adoption, some of the challenges we’ve faced in this proc...
Help Us Plant 20 Million Trees - Join #TeamTrees The official site of #TeamTrees. One dollar plants a tree...
dotnet/org-policy This repo contains tools and tracks policy violations for the dotnet org. - dotnet/org-policy


| rlepack {bit} | R Documentation |
Basic utilities for rle packing and unpacking and apropriate methods for
rev
and unique
.
rlepack(x, ...) ## S3 method for class 'integer' rlepack(x, pack = TRUE, ...) rleunpack(x) ## S3 method for class 'rlepack' rleunpack(x) ## S3 method for class 'rlepack' rev(x) ## S3 method for class 'rlepack' unique(x, incomparables = FALSE, ...) ## S3 method for class 'rlepack' anyDuplicated(x, incomparables = FALSE, ...)
x |
in 'rlepack' an integer vector, in the other functions an object of class 'rlepack' |
... |
just to keep R CMD CHECK quiet (not used) |
pack |
FALSE to suppress packing |
incomparables |
just to keep R CMD CHECK quiet (not used) |
A list with components
first |
the first element of the packed sequence |
dat |
either an object of class |
last |
the last element of the packed sequence |
Jens Oehlschlägel
x <- rlepack(rep(0L, 10))


I am Javeria Zakir, I am Graduate and extremely passionate and enthusiastic from Karachi, Pakistan. I can work on
HTML, CSS, and Javascript. You can see some of the projects listed below as well as on my github account.
I am punctual and always try to finish projects before the given time. I try my best to make the things I build
look beautiful as well. Talking about other things I like to play video games,surrfing the internet, love tea
even without it can't live, favourite colors are black and white, enjoy the company of like minded people, and
love to help others and team work.


UAActionScheduleInfo Class Reference
| Inherits from | NSObject |
| Declared in | UAActionScheduleInfo.h |
Tasks
-
actions
property -
triggers
property -
limit
property -
group
property -
start
property -
end
property -
isValid
property -
+ actionScheduleInfoWithBuilderBlock:
-
– isEqualToScheduleInfo:
-
+ actionScheduleInfoWithJSON:error:
Properties
actions
Actions payload to run when the schedule is triggered.
@property (nonatomic, readonly) NSDictionary *actions
Declared In
UAActionScheduleInfo.h
end
The schedule’s end time. After the end time the schedule will be canceled.
@property (nonatomic, readonly) NSDate *end
Declared In
UAActionScheduleInfo.h
group
The schedule’s group.
@property (nonatomic, readonly, nullable) NSString *group
Declared In
UAActionScheduleInfo.h
isValid
Checks if the schedule info is valid. A valid schedule must contain at least 1 action, contains between 1 to 10 triggers, and the end time must be after the start time. Invalid schedules will not be scheduled.
@property (nonatomic, readonly) BOOL isValid
Declared In
UAActionScheduleInfo.h
limit
Number of times the actions will be triggered until the schedule is canceled.
@property (nonatomic, readonly) NSUInteger limit
Declared In
UAActionScheduleInfo.h
start
The schedule’s start time.
@property (nonatomic, readonly) NSDate *start
Declared In
UAActionScheduleInfo.h
triggers
Array of triggers. Triggers define conditions on when to run the actions.
@property (nonatomic, readonly) NSArray<UAScheduleTrigger*> *triggers
Declared In
UAActionScheduleInfo.h
Class Methods
actionScheduleInfoWithBuilderBlock:
Creates an action schedule info with a builder block.
+ (instancetype)actionScheduleInfoWithBuilderBlock:(void ( ^ ) ( UAActionScheduleInfoBuilder *builder ))builderBlock
Return Value
The action schedule info.
Declared In
UAActionScheduleInfo.h
actionScheduleInfoWithJSON:error:
Factory method to create an action schedule info from a JSON payload.
+ (nullable instancetype)actionScheduleInfoWithJSON:(id)json error:(NSError *_Nullable *)error
Parameters
- json
The JSON payload.
- error
An NSError pointer for storing errors, if applicable.
Return Value
An action schedule info or nil
if the JSON is invalid.
Declared In
UAActionScheduleInfo.h
Instance Methods
isEqualToScheduleInfo:
Checks if the schedule info is equal to another schedule info
- (BOOL)isEqualToScheduleInfo:(nullable UAActionScheduleInfo *)scheduleInfo
Parameters
- scheduleInfo
The other schedule info to compare against.
Return Value
YES
if the schedule infos are equal, otherwise NO
.
Declared In
UAActionScheduleInfo.h


--- layout: about_pages title: Dr. Joel Mainland - The People of the Monell Chemical Senses Center ---
A fundamental problem in neuroscience is mapping the physical properties of a stimulus to perceptual characteristics. In vision, wavelength translates into color; in audition, frequency translates into pitch. By contrast, the mapping from chemical structure to olfactory percept is unknown. In other words, there is not a scientist or perfumer in the world who can view a novel molecular structure and predict how it will smell. My research goal is to develop a predictive model relating molecular structure and olfactory perception using a combined psychophysical and molecular approach.
Selected Publications
Ibarra-Soria X.; Nakahara T.S.; Lilue J.; Jiang Y.; Trimmer C.; Souza M.A.A.; Netto P.H.M.; Ikegami K.; Murphy N.R.; Kusma M.; Kirton A.; Saraiva L.R.; Keane T.M.; Matsunami H.; Mainland, J.D.; Papes F.; Logan D.W. (2016) Variation in olfactory neuron repertoires is genetically controlled and environmentally modulated. bioRxiv, http://doi.org/10.1101/074872
Mainland, J.D.; Li Y.R.; Zhou T.; Liu W.L.L.; Matsunami H. (2015) Human Olfactory Receptor Responses to Odorants. Scientific Data, 2.
Mainland, J.D.; Lundström, J.N.; Reisert, J.; Lowe, G. (2014) From molecule to mind: An integrative perspective on odor intensity. Trends in Neuroscience, 1062, 1-12.
Mainland, J.D.; Keller, A.; Li, Y.R.; Zhou, T.; Trimmer, C.; Snyder, L.L.; et al. (2014) The missense of smell: functional variability in the human odorant receptor repertoire. Nature Neuroscience, 17, 114-120.
Trimmer, C.; Snyder, L.L.; Mainland, J.D.. (2014) High-throughput analysis of mammalian olfactory receptors: measurement of receptor activation via luciferase activity. Journal of Visualized Experiments, 88, e51640-e51640
Mainland, J.D.; Willer, J.R.; Matsunami, H.; Katsanis, N. (2013) Next-generation sequencing of the human olfactory receptors. Methods in Molecular Biology, 1003, 133–147.
Mainland JD, Matsunami H. : RAMP-like proteins: RTP and REEP family of proteins. Receptor Activity Modifying Proteins. Spielman W and Parameswaran N, ed (eds.). Feb 2012.


--- creation_epoch:<PHONE_NUMBER> lastmod_epoch:<PHONE_NUMBER> categories: ['Computer Problems'] title: rsync, write protected read-only dest directory, mkstemp Permission denied --- Doing an rsync from Ubuntu 14 to a remote rsyncd daemon (not ssh but rsync protocol).
Keep getting mkstemp Permission denied (13) errors.
I had an rsync.d with incoming chmod = F400,D500
so backed up files would be read-only.
For some transfers (smaller size) rsync is temporarily changing the dest folder permissions to allow write and make the transfer, but for other transfers (usually larger files multi-gigabytes) it would keep failing.
Looks like known design limitation causes this to occur. Skip file transfer if destination file cannot be opened for writing (6788)
My solution was to allow owner write on all files and directories to avoid the wasted transfers. incoming chmod = F600,D700
and do a chmod -R u+w over the entire rsync share to allow user write.


--- layout: weather_layout backPage: Weather forecast backPageLink: forecast.html nextPage: Extended feature nextPageLink: extended_features.html bgColor: 3F51B5 title: Weather historical data topic: Historical weather data descr: "You can get android weather historical data using the app. In this tutorial you have a detailed example how to create and android app to get weather data" ---
| Openweathermap | Yes |
| Weatherunderground Weather.com |
Yes |
| Yahoo! Weather | NO |
| Forecast.io | NO |
weatherClient.getHistoricalWeather(new WeatherRequest(cityId), new Date(), // Start date, new Date(), //end date new WeatherClient.HistoricalWeatherEventListener() { @Override public void onWeatherRetrieved(HistoricalWeather historicalWeather) { } @Override public void onWeatherError(WeatherLibException e) { } @Override public void onConnectionError(Throwable throwable) { } });
ListhistData = historicalWeather.getHoistoricalData(); for (HistoricalHourWeather histHour : histData) { Weather weather = histHour.weather; long timestamp = histHour.timestamp; }


--- layout: post permalink: babybeddingzone.html Tags: Array NameOfCoupon: Baby Bedding Zone Cash Back Summary: See our Baby Bedding Zone Coupon Code, Baby Bedding Zone Rebate, Baby Bedding Zone Promo Code, Baby Bedding Zone Discount, Baby Bedding Zone Coupon Cash Back Rebate here. MetaKeywords: Baby Bedding Zone Coupon Code, Baby Bedding Zone Rebate, Baby Bedding Zone Promo Code, Baby Bedding Zone Cash Back Rebate, Baby Bedding Zone Discount, Baby Bedding Zone Coupon Image: images/18481.gif LinkURL: http://www.shareasale.com/r.cfm?b=135008&u=412002&m=18481 affiliate_url_link: http://www.icouponblog.com/jane.php?id=2790 thesis_readmore: See the Baby Bedding Zone Coupon thesis_thumb: http://www.icouponblog.com/tn.php?merchantURL=babybeddingzone.com Title: Save 2.5% - Baby Bedding Zone Coupon Code for babybeddingzone.com. Baby Bedding Zone Rebate & Discount thesis_description: Our Baby Bedding Zone Discount Coupon Code for babybeddingzone.com. We have the best Baby Bedding Zone Rebate anywhere. thesis_keywords: Baby Bedding Zone, Baby Bedding Zone Coupon Code, Baby Bedding Zone Discount, Baby Bedding Zone Rebate product_name: Baby Bedding Zone hop_url: http://www.icouponblog.com/hop.php?id=2790 ---
Are you frustrated with the lack of options when it comes to buying crib bedding? Now you have a perfect place to find the design, the style and the price in crib bedding. Check out www.babybeddingzone.com. You will love the selection available. Buy comfortable, cute, cool bedding for your new born, toddler, infant or kid at a great affordable price. Use our discount coupons to get a great price.
If you are looking for something extra ordinary, check out www.babybeddingzone.com. You will be amazed with the wonderful choices you have. Buy for a male or female baby.  You can find products in many themes like princesses and fairies for girls and sports, safari, bugs and transportation. Check out www.babybeddingzone.com. There is a big selection of items to choose from.
If you are looking for bedding for your child, check out www.babybeddingzone.com. They have the largest selection of bedding and other accessories for your newborn, toddler, infant or child. Check it out online. They have a user friendly website that will assist you in finding just the right product that you are looking for in the price range you can afford. They have beautiful, cute, adorable products that will keep your baby comfortable and happy. Use our coupons to save money on a great product.


---
layout: post
title: Am I being unreasonable?
date: '2013-04-14T11:44:00.000+02:00'
comments: true
tags:
- Blogging
modified_time: '2013-04-14T12:22:22.034+02:00'
blogger_id: tag:blogger.com,1999:blog-5442825777886761537.post-660300890867492216
blogger_orig_url: http://stickmanscorral.blogspot.com/2013/04/am-i-being-unreasonable.html
---
See the back-and-forth here.
Generally, I try to be as civil as possible when it comes to internet debates. (Often is the time that I've rewritten a response simply to tone down the rhetoric and eliminate any implied derision.) Certainly, I think that it is a good thing to try and interpret your opponent's arguments in a generous light.
There are limits, though. Life's too short to spend it endlessly rebutting non sequiturs and side issues.


About
All Start Lines
My Start Line
Let's run the world together
#mystartline2017
40k
INT Women's Day
March 8
15
:
07
:
14
Days
Hours
Minutes


We all have implicit beliefs, which we cling to without even thinking about. Well, that is why they are implicit, rather than explicit.
To break those implicit beliefs is hard, and requires sound proof. We salute those who can show our implicit beliefs to be wrong.
Before Einstein, there was implicit belief that the interval of time is independent of frame of reference. No one talked about it, because no one thought about it. It was just true. It required Einstein to break that belief. Time moves slower in a spaceship than on the Earth, from the frame of reference of someone on Earth.
Long ago people believed that the Earth is flat. Proof of the flatness of Earth is easy: just stand in a large plain (hard to find in our today's cities which are jungles of concrete) and observe for yourself.
Similarly, I had an implicit belief which got broken a few days ago.. Rather, I realized a few days ago that I had an implicit belief which had got broken.
That implicit belief was: "Understanding is something more than computation. Since computers are computation machines, they can never understand anything".
Sure, they can multiply two numbers faster than me, because of their silicon prowess. But they do not really "understand" multiplication. Sure, they can defeat me in chess because of their computation powers, but they do not really "understand" chess.
I held on to my belief, because for my computer to do anything, I had to do the "understanding" part, and leave the computation to the computer.  I understand the sorting algorithm, and code up the computer program to sort the numbers. I figure out Dijkstra's shortest path algorithm, and then code up the computer to do that. I know what exactly the computer is doing.
Deep learning is different. When you run a neural net, you do not really know what is happening. You can code up a neural net to recognize letters ("A", "B", etc.), but you do not tell the computer know anything about the shape of the letters. You let neural net figure that out.
Now I find it hard to hold on to the belief that I understand what is "A" and what is "B", while computer can only compute. I am not telling the computer how to recognize "A" and "B". I am leaving it to the computer to figure that out.
This shows that "understanding" is not something larger than "computation". Understanding is an emergent property of computation. Given enough examples, computers can understand what is letter "A" and what is letter "B".
This is discouraging at one level and encouraging at another level. It is discouraging because it brings computers one level closer to humans. A few decades ago, a computer defeated Gary Kasparov, the then world chess champion, and came one level closer to humans. But that contest was between computation (which is the forte of computers) and understanding (which is humans' forte). We consoled ourselves that we still have better understanding. Now that consolation is gone. Computers understand things as well as us, perhaps better.
On another level, it is encouraging. We have always wondered what constitutes understanding. Neurologists can see neurons firing and the electrical signals and all that, but in between all that molecular activity, where is understanding? We now know that understanding is an emergent property of computation. It is nothing more than computation. So, there is nothing more for neurologists to figure out. There is no magic going on there.
The dichotomy between computation and understanding is somewhat like dichotomy between hardware and software. What is software, after all? All that we see is hardware and instructions executing. Where is software? All program execution can be explained by hardware. Software is just the convenient name we give to certain behavior of hardware. Software is an emergent property of hardware, just a useful construct, a short cut to enable us to talk about hardware in comprehensible way. Similar is the case of understanding, it is just a convenient way of talking about computation.
For now we have one consolation left. We are "conscious". Computers might compute and computers might understand, but they are not sentient. So, we are at a higher pedestal than them. For now, that is a tenable argument and there is no need to challenge it, because we are busy making neural nets to make computer understand more and more things.
R.I.P. Understanding.


YOTUBERS
ERB
HONESTTRAILERS
NIGAHIGA
SMOSH
KANANGILL
JENNAMARBLES
HOWITSHOULDHAVEENDED
HOWTODRAWREALLYGOOD
TEAMCOCO


{% extends "base.html" %} {% block head %}
Pretend you have just found out about these two packages, and are choosing which one to use. Now, use the web to answer these two questions: Which package has a better community for clients of the package? Which package has better documentation? You will have a few minutes for each package. The researcher will give you a countdown timer for each one. Tell the researcher when you are ready to continue, and the press Next.


|
C++ Actor Framework 0.18
|
Base class for reference counted objects with an atomic reference count. More...
#include <ref_counted.hpp>
Public Member Functions | |
| ref_counted (const ref_counted &) | |
| ref_counted & | operator= (const ref_counted &) |
| void | ref () const noexcept |
| Increases reference count by one. | |
| void | deref () const noexcept |
Decreases reference count by one and calls request_deletion when it drops to zero. | |
| bool | unique () const noexcept |
| Queries whether there is exactly one reference. | |
| size_t | get_reference_count () const noexcept |
Protected Attributes | |
| std::atomic< size_t > | rc_ |
Related Functions | |
(Note that these are not member functions.) | |
| template<class T , class... Ts> | |
| intrusive_cow_ptr< T > | make_copy_on_write (Ts &&... xs) |
Constructs an object of type T in an intrusive_cow_ptr . | |
| template<class T , class... Ts> | |
| intrusive_ptr< T > | make_counted (Ts &&... xs) |
Constructs an object of type T in an intrusive_ptr . | |
| void | intrusive_ptr_add_ref (const ref_counted *p) |
| void | intrusive_ptr_release (const ref_counted *p) |
Base class for reference counted objects with an atomic reference count.
Serves the requirements of intrusive_ptr
.
ref_counted
start with a reference count of 1.
|
related |
Constructs an object of type T
in an intrusive_cow_ptr
.
@relatealso intrusive_cow_ptr


Todo List Manager
every second counts...
Your Plans?
Due Date
Choose your option
Add Task
Things to do
{{todo.text}}
on {{todo.date|date:'mediumDate'}} | {{todo.priority}}
Delete Selected Task


--- title: "Author Bio" type: profiles module: _includes/page-author.html scss: _assets/stylesheets/_page.scss usage: "Author details shown with an avatar, short description, and Twitter follow button." ---
Just another boring, tattooed, time traveling designer from Buffalo. I enjoy eating chicken wings and sketching on an iPad. More about me.


Michael van Gerwen blasts Mervyn King as 'bad for darts' as feud continues
Michael van Gerwen has labelled Mervyn King ‘bad for darts’ after beating the Englishman in a bad-tempered contest at the Players Championship Finals.
Neither were at their best in the quarter-final match, but MVG was able to get over the line with a 10-6 win, averaging just 92.15.
King has been playing through serious back pain throughout the event, and it was clearly bothering him in the contest with the world champion, although MVG felt he was milking it somewhat.
In fact, Van Gerwen thinks that King complains so much during games that he has become bad for the sport.
‘Mervyn didn’t want to make it a game, he was complaining about everything, the wind, the dartboard, but I had the same,’ Van Gerwen told ITV. ‘Merv was the old Merv.
‘People like him are bad for darts. Normally I don’t say that, but if you are that injured on your back, why would you play? Simple.
Advertisement Advertisement
‘Of course, if people keep complaining…we’re all here to do a job, try to win the game with a good performance.
‘The way he keeps making excuses, what Mervyn is like, we all know that, that’s not nice, it doesn’t do the game any favours.’
Van Gerwen may have gone on to win the game, but he says that King’s complaints were causing him to under-perform.
‘People that know me, they know it put me off. I don’t want to win games like this,’ continued the Dutchman.
‘People like him, it’s not good. It wasn’t really a battle, just a battle against myself. I was really annoyed, I’m still annoyed.
‘I want to play nice games, with a great battle. If I lose I lose, if I win I win, but not like that with silly excuses.
‘I have to look at the positives because you always learn, it’s not always easy, I need to keep in mind that I won the game but I want to show everything that I’m capable of.
‘I don’t like games like this.’
Advertisement Advertisement
This is not the first time these two have had a run-in, with Van Gerwen describing King as a ‘disgrace for darts’ after a ProTour match in February.
King played poorly in a 7-3 defeat to the world number one, and MVG accused him of not trying.
‘He was not even trying [to beat me]. A disgrace for darts,’ said Van Gerwen. ‘Things like this should not happen in darts. I always give hundred percent. No one can ever judge me on that.
‘If people want to beat me, then they need to push me. For the rest, I don’t care.’
Mighty Mike referenced the incident again in October ahead of their Grand Prix quarter-final, saying: ‘Yeah but he did [give up]. Prove me otherwise.
‘If people talk about it I don’t mind, and if people say it’s not true, prove me otherwise.’


Decide the loan amount, loan period, and your guarantee value. Calculate your desired monthly Instalment
Only 5 minutes! Don't forget to prepare documents like KTP, Family card, and Salary Slip
The money will be disbursed to your bank with 1 or 2 days
BFI Finance adalah satu perushaan pembiayaam dfndjnfj di indonessia dfdjsjfnjdsnfjsdnfjsdnfjksfns ndfndnfdnf jfndjnfdn dfnjdnikn lmmnmnj ilkmk mnss ddfnkk kmkmkmkm kkm fkf kkmkjiuefbh mnvjf slejfnv dmvsmd nvjndjsn sjnvjsnj lain-lain.Want to send a text-only email but still track opens? Pure plain text can only record opens when someone clicks a link in your email. If someone opens your email without clicking your link, you’ll never know that they really opened it. HTML emails accurately track opens with a line of code inserted into the HTML (that AWeber automatically adds for you). This code tracks the open whether your readers click links or not. If you want the look of plain text with the tracking of HTML, the plain template gives you the best of both.


define([], function () {
Implements the Member concept of the Universal Data Cube data model.
A Member is a (dimension, codeList, code) tuple representing a member of a dimension hierarchy.
define([], function () {
index[dimension][codeList][code] == Member (dimension, codeList, code, key)
var index = {},
An auto-incrementing integer id for generating Member keys.
id = 0;
return function (dimension, codeList, code) {
var dimensionIndex = index[dimension] || (index[dimension] = {}),
codeListIndex = dimensionIndex[codeList] || (dimensionIndex[codeList] = {});
return codeListIndex[code] || (codeListIndex[code] = Object.freeze({
dimension: dimension,
codeList: codeList,
code: code,
There is a single unique integer key for each unique (codeList, code) pair that occurred in the data.
key: String(id++)
Store key as a String, because it will be used primarily as a key for JavaScript objects, which must be a string.
}));
};
});


?MM
MB
|H|
'
?
??:
??
mm
-1
?EM
Kv;;;ÈÈ
?
????
O
1
23456789
10
t
>
I
l
V
WM
The
New
York
?
???1
Ácm
copyright
reserved
Botanical
Garden
iiS?^P5!5.¨PTAN,CAL
GARDEN
01447720
Ludwigia
sedoides
(Humb.
&
Humb.)
Hara
Determined
by
T
*p
¥
Ramamoorfehy
Missouri
Botanical
Garden
mo
ÀÀ7
_
PLANTS
OF
CUBA
N
^
ti3
,
'Wadi*'
.
'W&'f
0^
/?U(Hi4Aa4,
...............tAjBLml
COLLECTED
BY
K<2(^....19.........
¥bee.
REVISION
OF
JUSSIAEA
¥J*
v
(&-
,
Philip
A.
Munz
,
1939
01447720
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


A simple question: Do you know if facebook accept browser addon's? As DICE this do with BBLog?
I can't find something in the rules or terms of facebook.
Why i ask?
I maybe create a addon for that... Facebook's white, i can't see it anymore :-)
Patschi
Helping Hand
I'm not sure, but I think there was/is already a sort of plugin for Facebook.
https://www.google.at/search?q=Better+Facebook
But I never used it :)
If nothing speaks against it, I think it will be allowed.