diff --git a/Readability.js b/Readability.js index 62c76a9..f5c82d0 100644 --- a/Readability.js +++ b/Readability.js @@ -182,6 +182,8 @@ Readability.prototype = { // Readability cannot open relative uris so we convert them to absolute uris. this._fixRelativeUris(articleContent); + this._simplifyNestedElements(articleContent); + if (!this._keepClasses) { // Remove classes. this._cleanClasses(articleContent); @@ -422,6 +424,29 @@ Readability.prototype = { }); }, + _simplifyNestedElements: function(articleContent) { + var node = articleContent; + + while (node) { + if (node.parentNode && ["DIV", "SECTION"].includes(node.tagName) && !(node.id && node.id.startsWith("readability"))) { + if (this._isElementWithoutContent(node)) { + node = this._removeAndGetNext(node); + continue; + } else if (this._hasSingleTagInsideElement(node, "DIV") || this._hasSingleTagInsideElement(node, "SECTION")) { + var child = node.children[0]; + for (var i = 0; i < node.attributes.length; i++) { + child.setAttribute(node.attributes[i].name, node.attributes[i].value); + } + node.parentNode.replaceChild(child, node); + node = child; + continue; + } + } + + node = this._getNextNode(node); + } + }, + /** * Get the article title as an H1. * @@ -970,7 +995,7 @@ Readability.prototype = { return; // Exclude nodes with no ancestor. - var ancestors = this._getNodeAncestors(elementToScore, 3); + var ancestors = this._getNodeAncestors(elementToScore, 5); if (ancestors.length === 0) return; diff --git a/package.json b/package.json index c2a2e83..0838fd6 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "chai": "^2.1.*", "eslint": ">=4.2", "htmltidy2": "^0.3.0", - "js-beautify": "^1.5.5", + "js-beautify": "^1.13.0", "jsdom": "^13.1", "matcha": "^0.6.0", "mocha": "^2.2.*", diff --git a/test/generate-testcase.js b/test/generate-testcase.js index 77584c7..d49c5b1 100644 --- a/test/generate-testcase.js +++ b/test/generate-testcase.js @@ -11,40 +11,41 @@ var htmltidy = require("htmltidy2").tidy; var { Readability, isProbablyReaderable } = require("../index"); var JSDOMParser = require("../JSDOMParser"); -var FFX_UA = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Firefox/38.0"; +var FFX_UA = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:80.0) Gecko/20100101 Firefox/80.0"; -if (process.argv.length < 3) { - console.error("Need at least a destination slug and potentially a URL (if the slug doesn't have source)."); - process.exit(0); - throw "Abort"; -} +var testcaseRoot = path.join(__dirname, "test-pages"); -var slug = process.argv[2]; var argURL = process.argv[3]; // Could be undefined, we'll warn if it is if that is an issue. -var destRoot = path.join(__dirname, "test-pages", slug); - -fs.mkdir(destRoot, function(err) { - if (err) { - var sourceFile = path.join(destRoot, "source.html"); - fs.exists(sourceFile, function(exists) { - if (exists) { - fs.readFile(sourceFile, {encoding: "utf-8"}, function(readFileErr, data) { - if (readFileErr) { - console.error("Source existed but couldn't be read?"); - process.exit(1); - return; - } - onResponseReceived(null, data); - }); - } else { - fetchSource(argURL, onResponseReceived); - } +function generateTestcase(slug) { + var destRoot = path.join(testcaseRoot, slug); + + fs.mkdir(destRoot, function(err) { + if (err) { + var sourceFile = path.join(destRoot, "source.html"); + fs.exists(sourceFile, function(exists) { + if (exists) { + fs.readFile(sourceFile, {encoding: "utf-8"}, function(readFileErr, data) { + if (readFileErr) { + console.error("Source existed but couldn't be read?"); + process.exit(1); + return; + } + onResponseReceived(null, data, destRoot); + }); + } else { + fetchSource(argURL, function(fetchErr, data) { + onResponseReceived(fetchErr, data, destRoot); + }); + } + }); + return; + } + fetchSource(argURL, function(fetchErr, data) { + onResponseReceived(fetchErr, data, destRoot); }); - return; - } - fetchSource(argURL, onResponseReceived); -}); + }); +} function fetchSource(url, callbackFn) { if (!url) { @@ -88,7 +89,7 @@ function sanitizeSource(html, callbackFn) { }, callbackFn); } -function onResponseReceived(error, source) { +function onResponseReceived(error, source, destRoot) { if (error) { console.error("Couldn't tidy source html!"); console.error(error); @@ -159,9 +160,27 @@ function runReadability(source, destPath, metadataDestPath) { console.error("Couldn't write data to expected-metadata.json!"); console.error(metadataWriteErr); } - - process.exit(0); }); }); } +if (process.argv.length < 3) { + console.error("Need at least a destination slug and potentially a URL (if the slug doesn't have source)."); + process.exit(0); + throw "Abort"; +} + +if (process.argv[2] === "all") { + fs.readdir(testcaseRoot, function(err, files) { + if (err) { + console.error("error reading testcaseses"); + return; + } + + files.forEach(function(file) { + generateTestcase(file); + }); + }); +} else { + generateTestcase(process.argv[2]); +} diff --git a/test/test-pages/001/expected-metadata.json b/test/test-pages/001/expected-metadata.json index fc2bdba..4fc8eb8 100644 --- a/test/test-pages/001/expected-metadata.json +++ b/test/test-pages/001/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "Get your Frontend JavaScript Code Covered | Code", "byline": "Nicolas Perriault —", + "dir": null, "excerpt": "Nicolas Perriault's homepage.", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/001/expected.html b/test/test-pages/001/expected.html index 8231c07..ffae064 100644 --- a/test/test-pages/001/expected.html +++ b/test/test-pages/001/expected.html @@ -1,25 +1,23 @@
-

So finally you're testing your frontend JavaScript code? Great! The more you -write tests, the more confident you are with your code… but how much precisely? -That's where code coverage might -help.

+

So finally you're testing your frontend JavaScript code? Great! The more you write tests, the more confident you are with your code… but how much precisely? That's where code coverage might help. +

The idea behind code coverage is to record which parts of your code (functions, statements, conditionals and so on) have been executed by your test suite, to compute metrics out of these data and usually to provide tools for navigating and inspecting them.

Not a lot of frontend developers I know actually test their frontend code, and I can barely imagine how many of them have ever setup code coverage… Mostly because there are not many frontend-oriented tools in this area I guess.

Actually I've only found one which provides an adapter for Mocha and actually works…

-

Drinking game for web devs: -
(1) Think of a noun -
(2) Google "<noun>.js" -
(3) If a library with that name exists - drink

— Shay Friedman (@ironshay) August 22, 2013
-

Blanket.js is an easy to install, easy to configure, -and easy to use JavaScript code coverage library that works both in-browser and -with nodejs.

-

Its use is dead easy, adding Blanket support to your Mocha test suite is just matter of adding this simple line to your HTML test file:

<script src="vendor/blanket.js"
+            

Drinking game for web devs:
(1) Think of a noun
(2) Google "<noun>.js"
(3) If a library with that name exists - drink

— Shay Friedman (@ironshay) August 22, 2013 + +

Blanket.js is an easy to install, easy to configure, and easy to use JavaScript code coverage library that works both in-browser and with nodejs. +

+

Its use is dead easy, adding Blanket support to your Mocha test suite is just matter of adding this simple line to your HTML test file:

+
<script src="vendor/blanket.js"
         data-cover-adapter="vendor/mocha-blanket.js"></script>
 
-

Source files: blanket.js, mocha-blanket.js

-

As an example, let's reuse the silly Cow example we used in a previous episode:

// cow.js
+        

Source files: blanket.js, mocha-blanket.js +

+

As an example, let's reuse the silly Cow example we used in a previous episode:

+
// cow.js
 (function(exports) {
   "use strict";
 
@@ -37,7 +35,8 @@ with nodejs. 

}; })(this);
-

And its test suite, powered by Mocha and Chai:

var expect = chai.expect;
+        

And its test suite, powered by Mocha and Chai:

+
var expect = chai.expect;
 
 describe("Cow", function() {
   describe("constructor", function() {
@@ -60,7 +59,8 @@ describe("Cow", function() {
   });
 });
 
-

Let's create the HTML test file for it, featuring Blanket and its adapter for Mocha:

<!DOCTYPE html>
+        

Let's create the HTML test file for it, featuring Blanket and its adapter for Mocha:

+
<!DOCTYPE html>
 <html>
 <head>
   <meta charset="utf-8">
@@ -88,9 +88,12 @@ describe("Cow", function() {
             
  • The HTML test file must be served over HTTP for the adapter to be loaded.
  • Running the tests now gives us something like this:

    -

    screenshot

    +

    + screenshot +

    As you can see, the report at the bottom highlights that we haven't actually tested the case where an error is raised in case a target name is missing. We've been informed of that, nothing more, nothing less. We simply know we're missing a test here. Isn't this cool? I think so!

    Just remember that code coverage will only bring you numbers and raw information, not actual proofs that the whole of your code logic has been actually covered. If you ask me, the best inputs you can get about your code logic and implementation ever are the ones issued out of pair programming sessions and code reviews — but that's another story.

    -

    So is code coverage silver bullet? No. Is it useful? Definitely. Happy testing!

    +

    So is code coverage silver bullet? No. Is it useful? Definitely. Happy testing! +

    -
    + \ No newline at end of file diff --git a/test/test-pages/002/expected-metadata.json b/test/test-pages/002/expected-metadata.json index 5eb307d..94284f2 100644 --- a/test/test-pages/002/expected-metadata.json +++ b/test/test-pages/002/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "This API is so Fetching!", "byline": "Nikhil Marathe", + "dir": null, "excerpt": "For more than a decade the Web has used XMLHttpRequest (XHR) to achieve asynchronous requests in JavaScript. While very useful, XHR is not a very ...", - "readerable": true, - "siteName": "Mozilla Hacks – the Web developer blog" + "siteName": "Mozilla Hacks – the Web developer blog", + "readerable": true } diff --git a/test/test-pages/002/expected.html b/test/test-pages/002/expected.html index e129084..318260c 100644 --- a/test/test-pages/002/expected.html +++ b/test/test-pages/002/expected.html @@ -14,8 +14,7 @@

    Simple fetching

    The most useful, high-level part of the Fetch API is the fetch() function. In its simplest form it takes a URL and returns a promise that resolves to the response. The response is captured as a Response object.

    -
    -
    fetch("/data.json").then(function(res) {
    +                
    fetch("/data.json").then(function(res) {
       // res instanceof Response == true.
       if (res.ok) {
         res.json().then(function(data) {
    @@ -26,12 +25,11 @@
       }
     }, function(e) {
       console.log("Fetch failed!", e);
    -});
    +});

    Submitting some parameters, it would look like this:

    -
    -
    fetch("http://www.example.org/submit.php", {
    +                
    fetch("http://www.example.org/submit.php", {
       method: "POST",
       headers: {
         "Content-Type": "application/x-www-form-urlencoded"
    @@ -45,33 +43,34 @@
       }
     }, function(e) {
       alert("Error submitting form!");
    -});
    +});
    -

    The fetch() function’s arguments are the same as those passed to the
    Request() constructor, so you may directly pass arbitrarily complex requests to fetch() as discussed below.

    +

    The fetch() function’s arguments are the same as those passed to the
    + Request() constructor, so you may directly pass arbitrarily complex requests to fetch() as discussed below. +

    Headers

    -

    Fetch introduces 3 interfaces. These are Headers, Request and
    Response. They map directly to the underlying HTTP concepts, but have
    certain visibility filters in place for privacy and security reasons, such as
    supporting CORS rules and ensuring cookies aren’t readable by third parties.

    +

    Fetch introduces 3 interfaces. These are Headers, Request and
    + Response. They map directly to the underlying HTTP concepts, but have
    certain visibility filters in place for privacy and security reasons, such as
    supporting CORS rules and ensuring cookies aren’t readable by third parties. +

    The Headers interface is a simple multi-map of names to values:

    -
    -
    var content = "Hello World";
    +                
    var content = "Hello World";
     var reqHeaders = new Headers();
     reqHeaders.append("Content-Type", "text/plain"
     reqHeaders.append("Content-Length", content.length.toString());
    -reqHeaders.append("X-Custom-Header", "ProcessThisImmediately");
    +reqHeaders.append("X-Custom-Header", "ProcessThisImmediately");
    -

    The same can be achieved by passing an array of arrays or a JS object literal
    to the constructor:

    +

    The same can be achieved by passing an array of arrays or a JS object literal
    to the constructor:

    -
    -
    reqHeaders = new Headers({
    +                
    reqHeaders = new Headers({
       "Content-Type": "text/plain",
       "Content-Length": content.length.toString(),
       "X-Custom-Header": "ProcessThisImmediately",
    -});
    +});

    The contents can be queried and retrieved:

    -
    -
    console.log(reqHeaders.has("Content-Type")); // true
    +                
    console.log(reqHeaders.has("Content-Type")); // true
     console.log(reqHeaders.has("Set-Cookie")); // false
     reqHeaders.set("Content-Type", "text/html");
     reqHeaders.append("X-Custom-Header", "AnotherValue");
    @@ -80,72 +79,66 @@ console.log(reqHeaders.get(<
     console.log(reqHeaders.getAll("X-Custom-Header")); // ["ProcessThisImmediately", "AnotherValue"]
      
     reqHeaders.delete("X-Custom-Header");
    -console.log(reqHeaders.getAll("X-Custom-Header")); // []
    +console.log(reqHeaders.getAll("X-Custom-Header")); // []
    -

    Some of these operations are only useful in ServiceWorkers, but they provide
    a much nicer API to Headers.

    -

    Since Headers can be sent in requests, or received in responses, and have various limitations about what information can and should be mutable, Headers objects have a guard property. This is not exposed to the Web, but it affects which mutation operations are allowed on the Headers object.
    Possible values are:

    +

    Some of these operations are only useful in ServiceWorkers, but they provide
    a much nicer API to Headers.

    +

    Since Headers can be sent in requests, or received in responses, and have various limitations about what information can and should be mutable, Headers objects have a guard property. This is not exposed to the Web, but it affects which mutation operations are allowed on the Headers object.
    Possible values are:

    • “none”: default.
    • “request”: guard for a Headers object obtained from a Request (Request.headers).
    • -
    • “request-no-cors”: guard for a Headers object obtained from a Request created
      with mode “no-cors”.
    • +
    • “request-no-cors”: guard for a Headers object obtained from a Request created
      with mode “no-cors”.
    • “response”: naturally, for Headers obtained from Response (Response.headers).
    • -
    • “immutable”: Mostly used for ServiceWorkers, renders a Headers object
      read-only.
    • +
    • “immutable”: Mostly used for ServiceWorkers, renders a Headers object
      read-only.
    -

    The details of how each guard affects the behaviors of the Headers object are
    in the specification. For example, you may not append or set a “request” guarded Headers’ “Content-Length” header. Similarly, inserting “Set-Cookie” into a Response header is not allowed so that ServiceWorkers may not set cookies via synthesized Responses.

    +

    The details of how each guard affects the behaviors of the Headers object are
    in the specification. For example, you may not append or set a “request” guarded Headers’ “Content-Length” header. Similarly, inserting “Set-Cookie” into a Response header is not allowed so that ServiceWorkers may not set cookies via synthesized Responses.

    All of the Headers methods throw TypeError if name is not a valid HTTP Header name. The mutation operations will throw TypeError if there is an immutable guard. Otherwise they fail silently. For example:

    -
    -
    var res = Response.error();
    +                
    var res = Response.error();
     try {
       res.headers.set("Origin", "http://mybank.com");
     } catch(e) {
       console.log("Cannot pretend to be a bank!");
    -}
    +}

    Request

    The Request interface defines a request to fetch a resource over HTTP. URL, method and headers are expected, but the Request also allows specifying a body, a request mode, credentials and cache hints.

    The simplest Request is of course, just a URL, as you may do to GET a resource.

    -
    -
    var req = new Request("/index.html");
    +                
    var req = new Request("/index.html");
     console.log(req.method); // "GET"
    -console.log(req.url); // "http://example.com/index.html"
    +console.log(req.url); // "http://example.com/index.html"
    -

    You may also pass a Request to the Request() constructor to create a copy.
    (This is not the same as calling the clone() method, which is covered in
    the “Reading bodies” section.).

    +

    You may also pass a Request to the Request() constructor to create a copy.
    (This is not the same as calling the clone() method, which is covered in
    the “Reading bodies” section.).

    -
    -
    var copy = new Request(req);
    +                
    var copy = new Request(req);
     console.log(copy.method); // "GET"
    -console.log(copy.url); // "http://example.com/index.html"
    +console.log(copy.url); // "http://example.com/index.html"

    Again, this form is probably only useful in ServiceWorkers.

    -

    The non-URL attributes of the Request can only be set by passing initial
    values as a second argument to the constructor. This argument is a dictionary.

    +

    The non-URL attributes of the Request can only be set by passing initial
    values as a second argument to the constructor. This argument is a dictionary.

    -
    -
    var uploadReq = new Request("/uploadImage", {
    +                
    var uploadReq = new Request("/uploadImage", {
       method: "POST",
       headers: {
         "Content-Type": "image/png",
       },
       body: "image data"
    -});
    +});

    The Request’s mode is used to determine if cross-origin requests lead to valid responses, and which properties on the response are readable. Legal mode values are "same-origin", "no-cors" (default) and "cors".

    -

    The "same-origin" mode is simple, if a request is made to another origin with this mode set, the result is simply an error. You could use this to ensure that
    a request is always being made to your origin.

    +

    The "same-origin" mode is simple, if a request is made to another origin with this mode set, the result is simply an error. You could use this to ensure that
    a request is always being made to your origin.

    -
    -
    var arbitraryUrl = document.getElementById("url-input").value;
    +                
    var arbitraryUrl = document.getElementById("url-input").value;
     fetch(arbitraryUrl, { mode: "same-origin" }).then(function(res) {
       console.log("Response succeeded?", res.ok);
     }, function(e) {
       console.log("Please enter a same-origin URL!");
    -});
    +});

    The "no-cors" mode captures what the web platform does by default for scripts you import from CDNs, images hosted on other domains, and so on. First, it prevents the method from being anything other than “HEAD”, “GET” or “POST”. Second, if any ServiceWorkers intercept these requests, they may not add or override any headers except for these. Third, JavaScript may not access any properties of the resulting Response. This ensures that ServiceWorkers do not affect the semantics of the Web and prevents security and privacy issues that could arise from leaking data across domains.

    -

    "cors" mode is what you’ll usually use to make known cross-origin requests to access various APIs offered by other vendors. These are expected to adhere to
    the CORS protocol. Only a limited set of headers is exposed in the Response, but the body is readable. For example, you could get a list of Flickr’s most interesting photos today like this:

    +

    "cors" mode is what you’ll usually use to make known cross-origin requests to access various APIs offered by other vendors. These are expected to adhere to
    the CORS protocol. Only a limited set of headers is exposed in the Response, but the body is readable. For example, you could get a list of Flickr’s most interesting photos today like this:

    -
    -
    var u = new URLSearchParams();
    +                
    var u = new URLSearchParams();
     u.append('method', 'flickr.interestingness.getList');
     u.append('api_key', '<insert api key here>');
     u.append('format', 'json');
    @@ -162,81 +155,90 @@ apiCall.then(function(respon
       photos.forEach(function(photo) {
         console.log(photo.title);
       });
    -});
    +});
    -

    You may not read out the “Date” header since Flickr does not allow it via
    Access-Control-Expose-Headers.

    +

    You may not read out the “Date” header since Flickr does not allow it via
    + Access-Control-Expose-Headers. +

    -
    -
    response.headers.get("Date"); // null
    +
    response.headers.get("Date"); // null
    -

    The credentials enumeration determines if cookies for the other domain are
    sent to cross-origin requests. This is similar to XHR’s withCredentials
    flag, but tri-valued as "omit" (default), "same-origin" and "include".

    +

    The credentials enumeration determines if cookies for the other domain are
    sent to cross-origin requests. This is similar to XHR’s withCredentials +
    flag, but tri-valued as "omit" (default), "same-origin" and "include". +

    The Request object will also give the ability to offer caching hints to the user-agent. This is currently undergoing some security review. Firefox exposes the attribute, but it has no effect.

    -

    Requests have two read-only attributes that are relevant to ServiceWorkers
    intercepting them. There is the string referrer, which is set by the UA to be
    the referrer of the Request. This may be an empty string. The other is
    context which is a rather large enumeration defining what sort of resource is being fetched. This could be “image” if the request is from an <img>tag in the controlled document, “worker” if it is an attempt to load a worker script, and so on. When used with the fetch() function, it is “fetch”.

    +

    Requests have two read-only attributes that are relevant to ServiceWorkers
    intercepting them. There is the string referrer, which is set by the UA to be
    the referrer of the Request. This may be an empty string. The other is
    + context which is a rather large enumeration defining what sort of resource is being fetched. This could be “image” if the request is from an <img>tag in the controlled document, “worker” if it is an attempt to load a worker script, and so on. When used with the fetch() function, it is “fetch”. +

    Response

    Response instances are returned by calls to fetch(). They can also be created by JS, but this is only useful in ServiceWorkers.

    We have already seen some attributes of Response when we looked at fetch(). The most obvious candidates are status, an integer (default value 200) and statusText (default value “OK”), which correspond to the HTTP status code and reason. The ok attribute is just a shorthand for checking that status is in the range 200-299 inclusive.

    headers is the Response’s Headers object, with guard “response”. The url attribute reflects the URL of the corresponding request.

    -

    Response also has a type, which is “basic”, “cors”, “default”, “error” or
    “opaque”.

    +

    Response also has a type, which is “basic”, “cors”, “default”, “error” or
    “opaque”.

      -
    • "basic": normal, same origin response, with all headers exposed except
      “Set-Cookie” and “Set-Cookie2″.
    • +
    • "basic": normal, same origin response, with all headers exposed except
      “Set-Cookie” and “Set-Cookie2″.
    • "cors": response was received from a valid cross-origin request. Certain headers and the bodymay be accessed.
    • "error": network error. No useful information describing the error is available. The Response’s status is 0, headers are empty and immutable. This is the type for a Response obtained from Response.error().
    • -
    • "opaque": response for “no-cors” request to cross-origin resource. Severely
      - restricted
    • +
    • "opaque": response for “no-cors” request to cross-origin resource. Severely
      restricted
      +

    The “error” type results in the fetch() Promise rejecting with TypeError.

    -

    There are certain attributes that are useful only in a ServiceWorker scope. The
    idiomatic way to return a Response to an intercepted request in ServiceWorkers is:

    +

    There are certain attributes that are useful only in a ServiceWorker scope. The
    idiomatic way to return a Response to an intercepted request in ServiceWorkers is:

    -
    -
    addEventListener('fetch', function(event) {
    +                
    addEventListener('fetch', function(event) {
       event.respondWith(new Response("Response body", {
         headers: { "Content-Type" : "text/plain" }
       });
    -});
    +});

    As you can see, Response has a two argument constructor, where both arguments are optional. The first argument is a body initializer, and the second is a dictionary to set the status, statusText and headers.

    -

    The static method Response.error() simply returns an error response. Similarly, Response.redirect(url, status) returns a Response resulting in
    a redirect to url.

    +

    The static method Response.error() simply returns an error response. Similarly, Response.redirect(url, status) returns a Response resulting in
    a redirect to url.

    Dealing with bodies

    Both Requests and Responses may contain body data. We’ve been glossing over it because of the various data types body may contain, but we will cover it in detail now.

    A body is an instance of any of the following types.

    In addition, Request and Response both offer the following methods to extract their body. These all return a Promise that is eventually resolved with the actual content.

      -
    • arrayBuffer()
    • -
    • blob()
    • -
    • json()
    • -
    • text()
    • -
    • formData()
    • +
    • arrayBuffer() +
    • +
    • blob() +
    • +
    • json() +
    • +
    • text() +
    • +
    • formData() +

    This is a significant improvement over XHR in terms of ease of use of non-text data!

    Request bodies can be set by passing body parameters:

    -
    -
    var form = new FormData(document.getElementById('login-form'));
    +                
    var form = new FormData(document.getElementById('login-form'));
     fetch("/login", {
       method: "POST",
       body: form
    -})
    +})

    Responses take the first argument as the body.

    -
    -
    var res = new Response(new File(["chunk", "chunk"], "archive.zip",
    -                       { type: "application/zip" }));
    +
    var res = new Response(new File(["chunk", "chunk"], "archive.zip",
    +                       { type: "application/zip" }));

    Both Request and Response (and by extension the fetch() function), will try to intelligently determine the content type. Request will also automatically set a “Content-Type” header if none is set in the dictionary.

    Streams and cloning

    It is important to realise that Request and Response bodies can only be read once! Both interfaces have a boolean attribute bodyUsed to determine if it is safe to read or not.

    -
    -
    var res = new Response("one time use");
    +                
    var res = new Response("one time use");
     console.log(res.bodyUsed); // false
     res.text().then(function(v) {
       console.log(res.bodyUsed); // true
    @@ -245,14 +247,13 @@ console.log(res.bodyUsed)text().catch(function(e) {
       console.log("Tried to read already consumed Response");
    -});
    +});

    This decision allows easing the transition to an eventual stream-based Fetch API. The intention is to let applications consume data as it arrives, allowing for JavaScript to deal with larger files like videos, and perform things like compression and editing on the fly.

    Often, you’ll want access to the body multiple times. For example, you can use the upcoming Cache API to store Requests and Responses for offline use, and Cache requires bodies to be available for reading.

    So how do you read out the body multiple times within such constraints? The API provides a clone() method on the two interfaces. This will return a clone of the object, with a ‘new’ body. clone() MUST be called before the body of the corresponding object has been used. That is, clone() first, read later.

    -
    -
    addEventListener('fetch', function(evt) {
    +                
    addEventListener('fetch', function(evt) {
       var sheep = new Response("Dolly");
       console.log(sheep.bodyUsed); // false
       var clone = sheep.clone();
    @@ -265,14 +266,14 @@ res.text().catch(respondWith(cache.add(sheep.clone()).then(function(e) {
         return sheep;
       });
    -});
    +});

    Future improvements

    Along with the transition to streams, Fetch will eventually have the ability to abort running fetch()es and some way to report the progress of a fetch. These are provided by XHR, but are a little tricky to fit in the Promise-based nature of the Fetch API.

    You can contribute to the evolution of this API by participating in discussions on the WHATWG mailing list and in the issues in the Fetch and ServiceWorkerspecifications.

    For a better web!

    -

    The author would like to thank Andrea Marchesini, Anne van Kesteren and Ben
    -Kelly for helping with the specification and implementation.

    +

    The author would like to thank Andrea Marchesini, Anne van Kesteren and Ben
    Kelly for helping with the specification and implementation.
    +

    \ No newline at end of file diff --git a/test/test-pages/003-metadata-preferred/expected-metadata.json b/test/test-pages/003-metadata-preferred/expected-metadata.json index 0e00a86..2803d4a 100644 --- a/test/test-pages/003-metadata-preferred/expected-metadata.json +++ b/test/test-pages/003-metadata-preferred/expected-metadata.json @@ -3,6 +3,6 @@ "byline": "Dublin Core property author", "dir": null, "excerpt": "Dublin Core property description", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/003-metadata-preferred/expected.html b/test/test-pages/003-metadata-preferred/expected.html index dced8c9..943431a 100644 --- a/test/test-pages/003-metadata-preferred/expected.html +++ b/test/test-pages/003-metadata-preferred/expected.html @@ -1,20 +1,6 @@
    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -

    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -

    +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    -
    + \ No newline at end of file diff --git a/test/test-pages/004-metadata-space-separated-properties/expected-metadata.json b/test/test-pages/004-metadata-space-separated-properties/expected-metadata.json index 9256837..e2a30d4 100644 --- a/test/test-pages/004-metadata-space-separated-properties/expected-metadata.json +++ b/test/test-pages/004-metadata-space-separated-properties/expected-metadata.json @@ -3,6 +3,6 @@ "byline": "Creator Name", "dir": null, "excerpt": "Preferred description", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/004-metadata-space-separated-properties/expected.html b/test/test-pages/004-metadata-space-separated-properties/expected.html index dced8c9..943431a 100644 --- a/test/test-pages/004-metadata-space-separated-properties/expected.html +++ b/test/test-pages/004-metadata-space-separated-properties/expected.html @@ -1,20 +1,6 @@
    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -

    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -

    +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    -
    + \ No newline at end of file diff --git a/test/test-pages/aclu/expected-metadata.json b/test/test-pages/aclu/expected-metadata.json index de60f89..23f4fec 100644 --- a/test/test-pages/aclu/expected-metadata.json +++ b/test/test-pages/aclu/expected-metadata.json @@ -3,6 +3,6 @@ "byline": "By Daniel Kahn Gillmor, Senior Staff Technologist, ACLU Speech, Privacy, and Technology Project", "dir": "ltr", "excerpt": "Facebook collects data about people who have never even opted in. But there are ways these non-users can protect themselves.", - "readerable": true, - "siteName": "American Civil Liberties Union" + "siteName": "American Civil Liberties Union", + "readerable": true } diff --git a/test/test-pages/aclu/expected.html b/test/test-pages/aclu/expected.html index 19459ec..5c1171b 100644 --- a/test/test-pages/aclu/expected.html +++ b/test/test-pages/aclu/expected.html @@ -4,12 +4,16 @@

    But Facebook and other massive web companies represent a strong push toward unaccountable centralized social control, which I think makes our society more unequal and more unjust. The Cambridge Analytica scandal is one instance of this long-running problem with what I call the "surveillance economy." I don't want to submit to these power structures, and I don’t want my presence on such platforms to serve as bait that lures other people into the digital panopticon.

    But while I've never "opted in" to Facebook or any of the other big social networks, Facebook still has a detailed profile that can be used to target me. I've never consented to having Facebook collect my data, which can be used to draw very detailed inferences about my life, my habits, and my relationships. As we aim to take Facebook to task for its breach of user trust, we need to think about what its capabilities imply for society overall. After all, if you do #deleteFacebook, you'll find yourself in my shoes: non-consenting, but still subject to Facebook’s globe-spanning surveillance and targeting network.

    There are at least two major categories of information available to Facebook about non-participants like me: information from other Facebook users, and information from sites on the open web.

    -

    Information from other Facebook users

    +

    + Information from other Facebook users +

    When you sign up for Facebook, it encourages you to upload your list of contacts so that the site can "find your friends." Facebook uses this contact information to learn about people, even if those people don't agree to participate. It also links people together based on who they know, even if the shared contact hasn't agreed to this use.

    For example, I received an email from Facebook that lists the people who have all invited me to join Facebook: my aunt, an old co-worker, a friend from elementary school, etc. This email includes names and email addresses — including my own name — and at least one web bug designed to identify me to Facebook’s web servers when I open the email. Facebook records this group of people as my contacts, even though I've never agreed to this kind of data collection.

    Similarly, I'm sure that I'm in some photographs that someone has uploaded to Facebook — and I'm probably tagged in some of them. I've never agreed to this, but Facebook could still be keeping track.

    So even if you decide you need to join Facebook, remember that you might be giving the company information about someone else who didn't agree to be part of its surveillance platform.

    -

    Information from sites on the open Web

    +

    + Information from sites on the open Web +

    Nearly every website that you visit that has a "Like" button is actually encouraging your browser to tell Facebook about your browsing habits. Even if you don't click on the "Like" button, displaying it requires your browser to send a request to Facebook's servers for the "Like" button itself. That request includes information mentioning the name of the page you are visiting and any Facebook-specific cookies your browser might have collected. (See Facebook's own description of this process.) This is called a "third-party request."

    This makes it possible for Facebook to create a detailed picture of your browsing history — even if you've never even visited Facebook directly, let alone signed up for a Facebook account.

    Think about most of the web pages you've visited — how many of them don't have a "Like" button? If you administer a website and you include a "Like" button on every page, you're helping Facebook to build profiles of your visitors, even those who have opted out of the social network. Facebook’s “Share” buttons on other sites — along with other tools — work a bit differently from the “Like” button, but do effectively the same thing.

    @@ -20,26 +24,37 @@

    We use the information we have to improve our advertising and measurement systems so we can show you relevant ads on and off our Services and measure the effectiveness and reach of ads and services.

    This is, in essence, exactly what Cambridge Analytica did.

    -

    Consent

    +

    + Consent +

    Facebook and other tech companies often deflect accusations against excessive data collection by arguing "consent" — that they harvest and use data with the consent of the users involved.

    But even if we accept that clicking through a "Terms of Service" that no one reads can actually constitute true consent, even if we ignore the fact that these terms are overwhelmingly one-sided and non-negotiable, and even if we accept that it's meaningful for people to give consent when sharing data about other people who may have also opted in — what is the recourse for someone who has not opted into these systems at all?

    Are those of us who have explicitly avoided agreeing to the Facebook terms of service simply fair game for an industry-wide surveillance and targeting network?

    -

    Privilege

    +

    + Privilege +

    I don’t mean to critique people who have created a Facebook profile or suggest they deserve whatever they get.

    My ability to avoid Facebook comes from privilege — I have existing social contacts with whom I know how to stay in touch without using Facebook's network. My job does not require that I use Facebook. I can afford the time and expense to communicate with my electoral representatives and political allies via other channels.

    Many people do not have these privileges and are compelled to "opt in" on Facebook's non-negotiable terms.

    Many journalists, organizers, schools, politicians, and others who have good reasons to oppose Facebook's centralized social control feel compelled by Facebook's reach and scale to participate in their practices, even those we know to be harmful. That includes the ACLU.

    Privacy should not be a luxury good, and while I'm happy to encourage people to opt out of these subtle and socially fraught arrangements, I do not argue that anyone who has signed up has somehow relinquished concerns about their privacy. We need to evaluate privacy concerns in their full social contexts. These are not problems that can be resolved on an individual level, because of the interpersonal nature of much of this data and the complexities of the tradeoffs involved.

    -

    Technical countermeasures

    +

    + Technical countermeasures +

    While they may not solve the problem, there are some technical steps people can take to limit the scope of these surveillance practices. For example, some web browsers do not send "third-party cookies" by default, or they scope cookies so that centralized surveillance doesn't get a single view of one user. The most privacy-preserving modern browser is the Tor Browser, which everyone should have installed and available, even if it's not the browser they choose to use every day. It limits the surveillance ability of systems that you have not signed up for to track you as you move around the web.

    -

    You can also modify some browsers — for example, with plug-ins for Firefox and Chrome — so that they do not send third-party requests at all. Firefox is also exploring even more privacy-preserving techniques.

    +

    You can also modify some browsers — for example, with plug-ins for Firefox and Chrome — so that they do not send third-party requests at all. Firefox is also exploring even more privacy-preserving techniques. +

    It can’t be denied, though, that these tools are harder to use than the web browsers most people are accustomed to, and they create barriers to some online activities. (For example, logging in to some sites and accessing some web applications is impossible without third-party cookies.)

    Some website operators take their visitors' privacy more seriously than others, by reducing the amount of third-party requests. For example, it's possible to display "share on Facebook" or "Like" buttons without sending user requests to Facebook in the first place. The ACLU's own website does this because we believe that the right to read with privacy is a fundamental protection for civic discourse.

    If you are responsible for running a website, try browsing it with a third-party-blocking extension turned on. Think about how much information you're requiring your users to send to third parties as a condition for using your site. If you care about being a good steward of your visitors' data, you can re-design your website to reduce this kind of leakage.

    -

    Opting out?

    +

    + Opting out? +

    Some advertisers claim that you can "opt out" of their targeted advertising, and even offer a centralized place meant to help you do so. However, my experience with these tools isn't a positive one. They don't appear to work all of the time. (In a recent experiment I conducted, two advertisers’ opt-out mechanisms failed to take effect.) And while advertisers claim to allow the user to opt out of "interest-based ads," it's not clear that the opt-outs govern data collection itself, rather than just the use of the collected data for displaying ads. Moreover, opting out on their terms requires the use of third-party cookies, thereby enabling another mechanism that other advertisers can then exploit.

    It's also not clear how they function over time: How frequently do I need to take these steps? Do they expire? How often should I check back to make sure I’m still opted out? I'd much prefer an approach requiring me to opt in to surveillance and targeting.

    -

    Fix the surveillance economy, not just Facebook

    +

    + Fix the surveillance economy, not just Facebook +

    These are just a few of the mechanisms that enable online tracking. Facebook is just one culprit in this online "surveillance economy," albeit a massive one — the company owns Instagram, Atlas, WhatsApp, and dozens of other internet and technology companies and services. But it’s not the only player in this space. Google’s business model also relies on this kind of surveillance, and there are dozens of smaller players as well.

    As we work to address the fallout from the current storm around Facebook and Cambridge Analytica, we can't afford to lose sight of these larger mechanisms at play. Cambridge Analytica's failures and mistakes are inherent to Facebook's business model. We need to seriously challenge the social structures that encourage people to opt in to this kind of surveillance. At the same time, we also need to protect those of us who manage to opt out.

    diff --git a/test/test-pages/archive-of-our-own/expected.html b/test/test-pages/archive-of-our-own/expected.html index e53aad9..0205630 100644 --- a/test/test-pages/archive-of-our-own/expected.html +++ b/test/test-pages/archive-of-our-own/expected.html @@ -1,112 +1,112 @@
    -
    -
    -
    -

    Chapter Text

    -

    Izuku was struggling to understand how he had even managed to get here, seated before the archvillain of Japan with only a sense of dread to keep him company. All Might sat concealed in an observation room, of the firm opinion that he could only aggravate the prisoner and he sent Izuku off with a strained smile. A vague haze hovered over Izuku’s memory. It started with a simple conversation gone astray on a long drive home.

    -

    “So, who is All For One? Do we know anything about him beyond what you told me before? He’s been imprisoned for months now.” Izuku remembered asking All Might from the backseat of the car as Detective Tsukauchi leisurely drove along a sprawling highway.

    -

    Playing on the car radio was an aftermath report of a villain attack in downtown Tokyo. Izuku caught the phrase “liquid body” from the female reporter before Detective Tsukauchi changed the channel.

    -

    “Nope. Still nothing. No one really wants to speak to him,” All Might had replied brightly. “He gives off polite airs, but he’s a piece of work.” All Might’s mostly obstructed shoulders in the front seat shrugged. “Not much you can do with someone like him. Everything that comes out is a threat or taunt.” All Might carefully waved his hand in a circular motion towards the side of his head.

    -

    “No one’s even made it through a full interview with him, from what I’ve heard,” Detective Tsukauchi added from behind the wheel. “He plays mind games with them. The prison also has a “no recent events” policy on any discussions with him as well. Just in case he ends up with ideas or has some means of communicating. Given that people only want to ask him about current events, it doesn’t leave much to talk about.”

    -

    “Wait, they still don’t know what Quirks he has?” Izuku asked exasperatedly. “They can’t if there’s still an information block on visits.”

    -

    “Nope. We have no idea what he can do. They can run DNA tests, but it’s not like anyone apart from him even knows how his Quirk works. They could get matches with any number of people, but if they’re not in a database then we can’t cross-reference them anyway. Even if they run an analysis, the data doesn’t mean anything without the ability to interpret it,” All Might gestured with a skeletal finger. “It’s a waste of time after the initial tests were conducted. They weren’t game to MRI him either, given he’s definitely got a Quirk that creates metal components.”

    -

    “No one’s bothered to ask him anything about… anything?” Izuku asked, dumbfounded. “He must be around two-hundred years old and people can’t think of a single non-current affairs thing to ask him?”

    -

    In some ways it was unfathomable that they’d let a potential resource go to waste. On the other hand, said potential resource had blown up a city, murdered numerous people and terrorised Japan for over a century. At the very least.

    -

    “Well, I tried to ask him about Shigaraki, but he didn’t say much of anything really. Some garbage about you being too dependent on me and him letting Shigaraki run wild and how he just wanted to be the ultimate evil,” All Might shrugged again. “He spends too much time talking about nothing.”

    -

    Izuku shifted his head onto his arm. “But, that’s not really nothing, is it?”

    -

    “What do you mean?” Izuku had the feeling that All Might would have been looking at him with the you’re about to do something stupid aren’t you expression that was thankfully becoming less common.

    -

    “Well, he clearly doesn’t know anything about us, All Might, if he thinks that you’re just going to let go of me after not even two years of being taught. Maybe Shigaraki was dependent on adult figures, but I don’t even remember my dad and mum’s been busy working and keeping the house together. I’ve never had a lot of adult supervision before,” Izuku laughed nervously. “I had to find ways to keep myself entertained. If anything, I’m on the disobedient side of the scale.” All Might outright giggled.

    -

    “I’ll say, especially after what happened with Overhaul. I’m surprised your mother let you leave the dorms again after that.”

    -

    “I’m surprised she didn’t withdraw and ground me until I was thirty.”

    -

    “Oh? That strict?” Tsukauchi asked.

    -

    “She has her moments,” Izuku smiled fondly. “Do you think she’d agree to me asking the archvillain of Japan about his Quirk?” Izuku asked, only partially joking. There was an itch at the back of his head, a feeling of something missing that poked and prodded at his senses.

    -

    All Might coughed and sprayed the dash with a fine red mist. “Absolutely not! I forbid it!”

    -

    “That’s exactly why I’m asking her and not you,” Izuku grinned from the backseat.

    -

    “He’s evil!”

    -

    “He’s ancient. You honestly don’t wonder about the sort of things someone with that life experience and Quirk would have run across to end up the way he did?”

    -

    “Nope, he made it perfectly clear that he always wanted to be the supreme evil,” All Might snipped through folded arms.

    -

    “Yeah, and I’ll just take his word for that, won’t I?” Izuku grinned. “If he does nothing but lie, then that’s probably one too, but there’s a grain of truth in there somewhere.”

    -

    “What would you even do? Harass him into telling you his life story?” All Might sighed.

    -

    “Not when I can kill him with kindness. Who knows, it might even be poisonous for him.”

    -

    “You’re explaining this to your mother. Teacher or not, I’m not being on the receiving end of this one.”

    -

    Izuku blinked for a moment. “You’ll let me?”

    -

    “I’m not entirely for it, but any prospective information on what influenced Shigaraki can only be a good thing. If anything goes south we can pull you out pretty easily. Just be aware of who and what you’re dealing with.” Struggling, All Might turned a serious look to Izuku around the side of the seat. “Only if your mother gives the okay.”

    -

    The conversation turned to school for the rest of the way.

    -

    It might have been curiosity or it might have been the nagging sensation that chewed at his brain for the three weeks that he researched the subject of the conversation. All For One was a cryptid. Mystical in more ways than one, he was only a rumour on a network that was two-hundred years old. There were whispers of a shadowy figure who once ruled Japan, intermingled with a string of conspiracies and fragmented events.

    -

    Izuku had even braved the dark web, poking and prodding at some of the seedier elements of the world wide web. The internet had rumours, but the dark web had stories.

    -

    An implied yakuza wrote about his grandfather who lost a fire manipulation Quirk and his sanity without any reason. His grandfather had been institutionalised, crying and repeating “he took it, he took it” until his dying days. No one could console him.

    -

    Another user spoke of a nursing home where a room full of dementia residents inexplicably became docile and no longer used their Quirks on the increasingly disturbed staff. The nursing home erupted into flames just before a court case against them commenced.

    -

    A user with neon pink text spoke of how their great-great-great-great grandmother with a longevity Quirk had simply aged rapidly one day and passed away in her sleep, her face a mask of terror. No cause had ever been found.

    -

    A hacker provided a grainy CCTV recording of a heist and a scanned collection of documents from over a century ago, where there was a flash of light and entire bank vault had been emptied. What separated it from the usual robbery was that it contained a list containing confidential information on the Quirks of the First Generation. Izuku had greedily snavelled up and saved the video and documents to an external hard drive.

    -

    Paging through, Izuku saw someone recount how their Quirkless uncle had developed a warp Quirk and gone from rags to riches under a mysterious benefactor. A decade ago, the uncle had simply disappeared.

    -

    Numerous and terrifying, the stories were scattered nuggets of gold hidden across the web. They’d never last long, vanishing within hours of posting. Izuku bounced from proxy to proxy, fleeing from a series of deletions that seemed to follow Izuku’s aliased postings across snitch.ru, rabbit.az, aconspiracy.xfiles and their compatriots.

    -

    After thirty-two identity changes (all carefully logged in a separate notebook), a large amount of feigning communal interest in a lucky tabloid article on All For One which had been released at the start of the first of the three weeks, Izuku hung up his tinfoil hat and called it a month. He haphazardly tossed a bulging notebook into his bookshelf and lodged his hard drive in a gap containing seven others and went to dinner.

    -

    It took another week to present his research to All Might and Tsukauchi, whose jaws reached the proverbial floor.

    -

    “We never found any of this,” the Detective Tsukauchi exclaimed. “How did you find all of it?”

    -

    “I asked the right people. Turns out criminals have very long and very unforgiving memories,” Izuku explained through sunken eyes. “There’s more than this that could be linked to him, but these ones seem to be the most obvious.”

    -

    “They would do, you can’t be head of the underworld without making an army of enemies,” All Might agreed. “You know, if you can get any more information about these events, I think you’ll give people a lot of peace of mind.”

    -

    “Provided mum agrees to it.”

    -

    “Only if she agrees to it.”

    -

    It took another month to convince his mother, who eventually gave in once All Might provided an extremely comprehensive schedule of how the visitations and any resulting research would be carefully balanced against Izuku’s schoolwork and internship.

    -

    The day of the visit finally arrived, four months after the initial conversation, much to Izuku’s dismay.

    -

    Izuku remembered how he had arrived, with the Detective and All Might escorting him through its sterile, white innards. A list of rules rattled off at the gate, “no current affairs” was chief among them and an assertion that he’d be dragged from the room if need be if Izuku was to breach any of them. No smuggling of communication devices, no weapons, no Quirks, nothing that could compromise the prisoner’s secure status.

    -

    Heavily armoured and drilled guards leading him underground into the deepest bowels of the Tartarus complex.

    -

    Izuku understood the rules, dressed casually in a cotton t-shirt with “Shirt” printed across it in haphazard English and clutching at a carefully screened and utterly blank notebook.

    -

    Across from him, behind reinforced glass, the archvillain of Japan was bound and unmoving.

    -

    “Hello,” Izuku initiated uncertainly. His skin had been crawling the moment he crossed the threshold, a memory of the encounter and escape at the Kamino Ward months ago.

    -

    “Ah, All Might’s disciple,” drawled All For One, “is he too cowardly to come himself? Yet I don’t hear the garments of a hero.” With hardly a word out, All For One had already lunged for the figurative jugular.

    -

    A stray thought of how does he know who I am if he’s blind and isn’t familiar with me? whispered its way through Izuku’s head.

    -

    “Oh, no,” Izuku corrected hastily, almost relieved at the lack of any pretence, “I asked if I could talk to you. This isn’t exactly hero related.”

    -

    “I’m surprised he said yes.” While there was little by way of expression, Izuku could just about sense the contempt dripping from the prisoner’s tone. It wasn’t anything he wasn’t expecting. Kacchan had already said worse to him in earlier years. Water off a duck’s back.

    -

    “Well, he’s not my legal guardian, so I think you should be more surprised that mum said yes. She’s stricter with these things than All Might,” Izuku corrected again. “Mum gave the okay, but that was a stressful discussion.” And there it was, a miniscule twitch from the man opposite. A spasm more than anything else. Interesting. Pinned down as he was, the prisoner oozed irritation.

    -

    “At least your mother is a wise person. I wonder why the student doesn’t heed all of the advice of the teacher.” All For One’s tone didn’t indicate a question, so much as an implicit statement that All Might wasn’t worth listening to in any capacity. Kacchan would have hated the comparison, but the hostility had an almost comfortable familiarity. “He no doubt warned you off speaking to me, overprotective as he is, but here you are.”

    -

    Izuku found himself smiling at the thought of Kacchan’s outrage if he ever found out about the mental comparison as he replied. “I don’t think it’s normal for anyone my age to listen completely to their teachers. We pick and choose and run with what works best for us. He warned me, but I’m still here. Mum warned me as well, but I think she cared more about the time management aspect of it."

    -

    “Is that a recent development?” All For One probed.

    -

    “Not really. My old homeroom teacher told me not to bother applying to U.A.” His mother’s beaming face had carried Izuku through the cheerful and resolute signing of that application form.

    -

    “I see you followed their advice to the letter,” came the snide, dismissive reply.

    -

    Izuku hoisted up his legs and sat cross-legged in his seat. Leaning slightly forward as he did so as to better prop up his notebook.

    -

    “You’re a walking contrarian, aren’t you? All Might told me about his run ins with you. What someone does or doesn’t do really doesn’t matter to you, you’ll just find a way to rationalise it as a negative and go on the attack anyway. What you’re currently doing is drawing attention away from yourself and focusing it on me so you can withhold information.” Izuku flipped open his notebook and put pen to paper. “You’ve got something fairly big to hide and you diverting attention exposes that motivation as existing anyway. The only real questions here are what and why?” Izuku paused in mortification as the man opposite’s lips parted. “I just said that aloud, didn’t I?”

    -

    Of the responses Izuku had expected, it wasn’t laughter. Unrestrained, Izuku would have expected a violent outburst. In this situation, he would have expected another scathing comment. Instead, All For One laughed breathily, leaning into his bonds. Wheezingly he spoke, “I’ll have to change tactics, if that one’s too transparent for you. How refreshing.”

    -

    Doing his best not to glow a blinding red and simultaneously pale at the interest, Izuku carried on. “I add it to the list when you do. I’m not emotionally involved enough to really be impacted by what you’re saying. I know about you in theory, but that’s it. Maybe All Might has a history with you, but I don’t really know enough about you personally to…”

    -

    “Care,” All For One supplied, somewhat subdued as he struggled to breathe. “You’re only here to satisfy your curiosity as to whether or not the stories were true.”

    -

    Izuku nodded, scratching at his notebook with his left hand. “Yes and no, I’m actually here to ask you about how your Quirk works.” For now.

    -

    Another chortle, more restrained that the last.

    -

    "What makes you think others haven’t already asked?” Had All For One been unrestrained, Izuku could imagine the stereotypical scene of the villain confidently leaning back in some overblown chair in a secret lair, drink of choice in hand, if the tone of voice was any indication. Deflections aside, the man easily rose to each comment.

    -

    “Whether or not they asked it’s irrelevant if they can’t read the answers.” Answers didn’t matter if the people involved were too attached to read into the answers. If none of the interviewers had managed a full interview, then it seemed unlikely that any sort of effort was put into understanding the villain.

    -

    “And you think you can? What expertise do you hold above theirs?” Doubt and reprimand weighted the words. Oddly enough, had Izuku been any younger he could have mistaken the man for a disapproving parent rebuking an overly ambitious child. Albeit an extremely evil one.

    -

    Izuku inhaled shortly and went for it. “If there’s something I know, it’s Quirks and how they work. Maybe I don’t know you, but I don’t really need to. Quirks fall under broad categories of function. You can take and give, consent doesn’t seem to be a factor. You either can’t “see” certain types of Quirks or you need to have prior knowledge of it before you take it with what I know about your brother. Despite your nom de guerre, because we both know it’s not your real name, you have a history of giving multiple Quirks and causing brain damage to the receiver. You clearly aren’t impacted by those same restrictions, so it must either alter your brain mapping or adjust functions to allow for simultaneous use and storage. It also must isolate or categories the Quirks you stock, because from the few people who do remember you, you creating certain Quirks is always in the context of giving them to someone else meaning there’s probably an inherent immunity to stop it from tainting your own Quirk with a mutation,” Izuku mumbled, almost to himself. “The only thing really in question about your Quirk is the finer details and whether or not you need to maintain those features or if they’re inherent and your hard limit for holding Quirks.”

    -

    There was silence, for only a moment. “If only my hands were free, I would clap for such a thoughtful assessment. Clearly you’re not all brawn,” All For One positively purred. “Speculate away.” A wide and slightly unhinged smile was directed at Izuku.

    -

    It was all Izuku could do not to wince at the eagerness. An image of a nervous All Might, hidden in the observation room above with the grim-faced prison staff, came to mind.

    -

    “I note that you said thoughtful and not correct,” and Izuku breathed and unsteadily jotted it down in his notebook. “You don’t seem bothered by the guess.”

    -

    “Few people live long enough to question my Quirk, let alone have the talent to guess so thoughtfully at its functions. It seems we share a hobby.” There was something terribly keen in that voice that hadn’t been there before, twisting itself through the compliment.

    -

    “I suppose it helps that you’re playing along out of boredom,” Izuku verbally dodged, unease uncoiling itself from the back of his mind.

    -

    “I was playing along out of boredom,” All For One corrected smoothly. “Now, I’m curious. Admittedly, my prior assumptions of you weren’t generous, but I’ve been too hasty in my assessments before.”

    -

    “I’ll pack up and leave now if that’s the case,” Izuku replied with only half an ear on the conversation as the words on his page began to drastically expand to distract himself from the building anxiety.

    -

    “Sarcasm, so you do have characteristics of a normal teenager. Your willingness to maim yourself has often left me wondering…”

    -

    “You’re deflecting again,” Izuku observed. “I’m not sure if that’s a nervous habit for you or if you’re doing it because I’m close to being right about your Quirk. That being said, I don’t think you know what a normal teenager is if Shigaraki is any indication. He’s about seven years too late for his rebellious phase.”

    -

    “I’m hurt and offended,” came the amused reply.

    -

    “By how Shigaraki ended up or your parenting? You only have yourself to blame for both of them.”

    -

    “How harsh. Shigaraki is a product of society that birthed him. I can’t take credit for all of the hard work,” All For One laid out invitingly. Perhaps someone else would have risen to the bait, but Izuku was already packing his mental bags and heading for the door.

    -

    Clearly the prisoner’s anticipation had registered poorly with someone in the observation room, because a voice rang through the air. “Time’s up Midoriya-kun.”

    -

    “Okay!” Izuku called back and etched out his last thoughtful of words, untangled his legs and rose to his feet.

    -

    “What a shame, my visitations are always so short,” All For One spoke mournfully.

    -

    “Well, you did blow up half a city. They could have just let you suffocate instead. Same time next week, then?” Izuku offered brightly, notebook stuffed into a pocket and was followed out the door by wheezing laughter.

    -

    It was only after he had made it safely back to the communal room where All Might waited did he allow the spring to fade from his step and discard his nervous smile. Shuddering, he turned to All Might whose face was set in a grimace.

    -

    “I won’t say I told you so,” All Might offered, perched on the edge of his couch like a misshapen vulture.

    -

    “He’s… not really what I was expecting. I was expecting someone, more openly evil.” Izuku allowed himself to collapse into the leather of the seat. He shakily reached for the warm tea that had been clearly been prepared the moment Izuku left the cell. “I suppose he does it to lull people into a false sense of security. I didn’t understand how someone with only half a set of expressions could have “villain” written all over them until I met him.”

    -

    “He’s always been like that. He feigns concern and sympathy to lure in society’s outcasts. They’re easy targets,” All Might said through a mouthful of biscuit.

    -

    “Has he ever tried it on any of the One For All successors?”

    -

    “Not really, but you might have accidentally given him the incentive for it. He never had access to any of the One For All wielders while they were young.” All Might snorted, “not that it’ll make a difference with you”.

    -

    “I think he was trying to gauge me for a world view before the wardens ended it. I need more time to work out his response to the stuff on his Quirk.”

    -

    “He’s conversation starved since it’s solitary confinement. If what the people monitoring his brain activity said was true, you’re the most exciting thing to have happened to him in months. He replied after you left, said he was looking forward to it.”

    -

    “That’s pretty sad."

    -

    “It’s even sadder that we’re the only two members of the public who have had anything to do with him. Stain gets a pile of mail from his “fans”, but All For One has nothing,” All Might waved a tea spoon. “That’s what he gets.”

    -

    “Let’s get out of here and tell Detective Tsukauchi how it went.” Izuku gulped down his tea and headed for the exit, with him and All Might reaching it at roughly the same amount of time.

    -

    “At least your mum’s making katsudon for us tonight," was All Might's only optimistic comment.

    -

    Anxiety was still ebbing over Izuku after Tsukauchi had been debriefed in the car.

    -

    “It seems we share a hobby.” Haunted Izuku on the drive home. As if ripping someone’s Quirk from them and leaving them lying traumatised on the ground was just a fun pastime and not an act of grievous bodily harm.

    -

    And he’d be dealing with him again in another week.

    -
    -
    +
    +

    Chapter Text

    +

    Izuku was struggling to understand how he had even managed to get here, seated before the archvillain of Japan with only a sense of dread to keep him company. All Might sat concealed in an observation room, of the firm opinion that he could only aggravate the prisoner and he sent Izuku off with a strained smile. A vague haze hovered over Izuku’s memory. It started with a simple conversation gone astray on a long drive home.

    +

    “So, who is All For One? Do we know anything about him beyond what you told me before? He’s been imprisoned for months now.” Izuku remembered asking All Might from the backseat of the car as Detective Tsukauchi leisurely drove along a sprawling highway.

    +

    Playing on the car radio was an aftermath report of a villain attack in downtown Tokyo. Izuku caught the phrase “liquid body” from the female reporter before Detective Tsukauchi changed the channel.

    +

    “Nope. Still nothing. No one really wants to speak to him,” All Might had replied brightly. “He gives off polite airs, but he’s a piece of work.” All Might’s mostly obstructed shoulders in the front seat shrugged. “Not much you can do with someone like him. Everything that comes out is a threat or taunt.” All Might carefully waved his hand in a circular motion towards the side of his head.

    +

    “No one’s even made it through a full interview with him, from what I’ve heard,” Detective Tsukauchi added from behind the wheel. “He plays mind games with them. The prison also has a “no recent events” policy on any discussions with him as well. Just in case he ends up with ideas or has some means of communicating. Given that people only want to ask him about current events, it doesn’t leave much to talk about.”

    +

    “Wait, they still don’t know what Quirks he has?” Izuku asked exasperatedly. “They can’t if there’s still an information block on visits.”

    +

    “Nope. We have no idea what he can do. They can run DNA tests, but it’s not like anyone apart from him even knows how his Quirk works. They could get matches with any number of people, but if they’re not in a database then we can’t cross-reference them anyway. Even if they run an analysis, the data doesn’t mean anything without the ability to interpret it,” All Might gestured with a skeletal finger. “It’s a waste of time after the initial tests were conducted. They weren’t game to MRI him either, given he’s definitely got a Quirk that creates metal components.”

    +

    “No one’s bothered to ask him anything about… anything?” Izuku asked, dumbfounded. “He must be around two-hundred years old and people can’t think of a single non-current affairs thing to ask him?”

    +

    In some ways it was unfathomable that they’d let a potential resource go to waste. On the other hand, said potential resource had blown up a city, murdered numerous people and terrorised Japan for over a century. At the very least.

    +

    “Well, I tried to ask him about Shigaraki, but he didn’t say much of anything really. Some garbage about you being too dependent on me and him letting Shigaraki run wild and how he just wanted to be the ultimate evil,” All Might shrugged again. “He spends too much time talking about nothing.”

    +

    Izuku shifted his head onto his arm. “But, that’s not really nothing, is it?”

    +

    “What do you mean?” Izuku had the feeling that All Might would have been looking at him with the you’re about to do something stupid aren’t you expression that was thankfully becoming less common.

    +

    “Well, he clearly doesn’t know anything about us, All Might, if he thinks that you’re just going to let go of me after not even two years of being taught. Maybe Shigaraki was dependent on adult figures, but I don’t even remember my dad and mum’s been busy working and keeping the house together. I’ve never had a lot of adult supervision before,” Izuku laughed nervously. “I had to find ways to keep myself entertained. If anything, I’m on the disobedient side of the scale.” All Might outright giggled.

    +

    “I’ll say, especially after what happened with Overhaul. I’m surprised your mother let you leave the dorms again after that.”

    +

    “I’m surprised she didn’t withdraw and ground me until I was thirty.”

    +

    “Oh? That strict?” Tsukauchi asked.

    +

    “She has her moments,” Izuku smiled fondly. “Do you think she’d agree to me asking the archvillain of Japan about his Quirk?” Izuku asked, only partially joking. There was an itch at the back of his head, a feeling of something missing that poked and prodded at his senses.

    +

    All Might coughed and sprayed the dash with a fine red mist. “Absolutely not! I forbid it!”

    +

    “That’s exactly why I’m asking her and not you,” Izuku grinned from the backseat.

    +

    “He’s evil!”

    +

    “He’s ancient. You honestly don’t wonder about the sort of things someone with that life experience and Quirk would have run across to end up the way he did?”

    +

    “Nope, he made it perfectly clear that he always wanted to be the supreme evil,” All Might snipped through folded arms.

    +

    “Yeah, and I’ll just take his word for that, won’t I?” Izuku grinned. “If he does nothing but lie, then that’s probably one too, but there’s a grain of truth in there somewhere.”

    +

    “What would you even do? Harass him into telling you his life story?” All Might sighed.

    +

    “Not when I can kill him with kindness. Who knows, it might even be poisonous for him.”

    +

    “You’re explaining this to your mother. Teacher or not, I’m not being on the receiving end of this one.”

    +

    Izuku blinked for a moment. “You’ll let me?”

    +

    “I’m not entirely for it, but any prospective information on what influenced Shigaraki can only be a good thing. If anything goes south we can pull you out pretty easily. Just be aware of who and what you’re dealing with.” Struggling, All Might turned a serious look to Izuku around the side of the seat. “Only if your mother gives the okay.”

    +

    The conversation turned to school for the rest of the way.

    +

    It might have been curiosity or it might have been the nagging sensation that chewed at his brain for the three weeks that he researched the subject of the conversation. All For One was a cryptid. Mystical in more ways than one, he was only a rumour on a network that was two-hundred years old. There were whispers of a shadowy figure who once ruled Japan, intermingled with a string of conspiracies and fragmented events.

    +

    Izuku had even braved the dark web, poking and prodding at some of the seedier elements of the world wide web. The internet had rumours, but the dark web had stories.
    +

    +

    An implied yakuza wrote about his grandfather who lost a fire manipulation Quirk and his sanity without any reason. His grandfather had been institutionalised, crying and repeating “he took it, he took it” until his dying days. No one could console him.

    +

    Another user spoke of a nursing home where a room full of dementia residents inexplicably became docile and no longer used their Quirks on the increasingly disturbed staff. The nursing home erupted into flames just before a court case against them commenced.

    +

    A user with neon pink text spoke of how their great-great-great-great grandmother with a longevity Quirk had simply aged rapidly one day and passed away in her sleep, her face a mask of terror. No cause had ever been found.

    +

    A hacker provided a grainy CCTV recording of a heist and a scanned collection of documents from over a century ago, where there was a flash of light and entire bank vault had been emptied. What separated it from the usual robbery was that it contained a list containing confidential information on the Quirks of the First Generation. Izuku had greedily snavelled up and saved the video and documents to an external hard drive.

    +

    Paging through, Izuku saw someone recount how their Quirkless uncle had developed a warp Quirk and gone from rags to riches under a mysterious benefactor. A decade ago, the uncle had simply disappeared.

    +

    Numerous and terrifying, the stories were scattered nuggets of gold hidden across the web. They’d never last long, vanishing within hours of posting. Izuku bounced from proxy to proxy, fleeing from a series of deletions that seemed to follow Izuku’s aliased postings across snitch.ru, rabbit.az, aconspiracy.xfiles and their compatriots.

    +

    After thirty-two identity changes (all carefully logged in a separate notebook), a large amount of feigning communal interest in a lucky tabloid article on All For One which had been released at the start of the first of the three weeks, Izuku hung up his tinfoil hat and called it a month. He haphazardly tossed a bulging notebook into his bookshelf and lodged his hard drive in a gap containing seven others and went to dinner.

    +

    It took another week to present his research to All Might and Tsukauchi, whose jaws reached the proverbial floor.

    +

    “We never found any of this,” the Detective Tsukauchi exclaimed. “How did you find all of it?”

    +

    “I asked the right people. Turns out criminals have very long and very unforgiving memories,” Izuku explained through sunken eyes. “There’s more than this that could be linked to him, but these ones seem to be the most obvious.”

    +

    “They would do, you can’t be head of the underworld without making an army of enemies,” All Might agreed. “You know, if you can get any more information about these events, I think you’ll give people a lot of peace of mind.”

    +

    “Provided mum agrees to it.”

    +

    “Only if she agrees to it.”

    +

    It took another month to convince his mother, who eventually gave in once All Might provided an extremely comprehensive schedule of how the visitations and any resulting research would be carefully balanced against Izuku’s schoolwork and internship.

    +

    The day of the visit finally arrived, four months after the initial conversation, much to Izuku’s dismay.

    +

    Izuku remembered how he had arrived, with the Detective and All Might escorting him through its sterile, white innards. A list of rules rattled off at the gate, “no current affairs” was chief among them and an assertion that he’d be dragged from the room if need be if Izuku was to breach any of them. No smuggling of communication devices, no weapons, no Quirks, nothing that could compromise the prisoner’s secure status.

    +

    Heavily armoured and drilled guards leading him underground into the deepest bowels of the Tartarus complex.

    +

    Izuku understood the rules, dressed casually in a cotton t-shirt with “Shirt” printed across it in haphazard English and clutching at a carefully screened and utterly blank notebook.

    +

    Across from him, behind reinforced glass, the archvillain of Japan was bound and unmoving.

    +

    “Hello,” Izuku initiated uncertainly. His skin had been crawling the moment he crossed the threshold, a memory of the encounter and escape at the Kamino Ward months ago.

    +

    “Ah, All Might’s disciple,” drawled All For One, “is he too cowardly to come himself? Yet I don’t hear the garments of a hero.” With hardly a word out, All For One had already lunged for the figurative jugular.

    +

    A stray thought of how does he know who I am if he’s blind and isn’t familiar with me? whispered its way through Izuku’s head.

    +

    “Oh, no,” Izuku corrected hastily, almost relieved at the lack of any pretence, “I asked if I could talk to you. This isn’t exactly hero related.”

    +

    “I’m surprised he said yes.” While there was little by way of expression, Izuku could just about sense the contempt dripping from the prisoner’s tone. It wasn’t anything he wasn’t expecting. Kacchan had already said worse to him in earlier years. Water off a duck’s back.

    +

    “Well, he’s not my legal guardian, so I think you should be more surprised that mum said yes. She’s stricter with these things than All Might,” Izuku corrected again. “Mum gave the okay, but that was a stressful discussion.” And there it was, a miniscule twitch from the man opposite. A spasm more than anything else. Interesting. Pinned down as he was, the prisoner oozed irritation.

    +

    “At least your mother is a wise person. I wonder why the student doesn’t heed all of the advice of the teacher.” All For One’s tone didn’t indicate a question, so much as an implicit statement that All Might wasn’t worth listening to in any capacity. Kacchan would have hated the comparison, but the hostility had an almost comfortable familiarity. “He no doubt warned you off speaking to me, overprotective as he is, but here you are.”

    +

    Izuku found himself smiling at the thought of Kacchan’s outrage if he ever found out about the mental comparison as he replied. “I don’t think it’s normal for anyone my age to listen completely to their teachers. We pick and choose and run with what works best for us. He warned me, but I’m still here. Mum warned me as well, but I think she cared more about the time management aspect of it."

    +

    “Is that a recent development?” All For One probed.

    +

    “Not really. My old homeroom teacher told me not to bother applying to U.A.” His mother’s beaming face had carried Izuku through the cheerful and resolute signing of that application form.

    +

    “I see you followed their advice to the letter,” came the snide, dismissive reply.

    +

    Izuku hoisted up his legs and sat cross-legged in his seat. Leaning slightly forward as he did so as to better prop up his notebook.

    +

    “You’re a walking contrarian, aren’t you? All Might told me about his run ins with you. What someone does or doesn’t do really doesn’t matter to you, you’ll just find a way to rationalise it as a negative and go on the attack anyway. What you’re currently doing is drawing attention away from yourself and focusing it on me so you can withhold information.” Izuku flipped open his notebook and put pen to paper. “You’ve got something fairly big to hide and you diverting attention exposes that motivation as existing anyway. The only real questions here are what and why?” Izuku paused in mortification as the man opposite’s lips parted. “I just said that aloud, didn’t I?”

    +

    Of the responses Izuku had expected, it wasn’t laughter. Unrestrained, Izuku would have expected a violent outburst. In this situation, he would have expected another scathing comment. Instead, All For One laughed breathily, leaning into his bonds. Wheezingly he spoke, “I’ll have to change tactics, if that one’s too transparent for you. How refreshing.”

    +

    Doing his best not to glow a blinding red and simultaneously pale at the interest, Izuku carried on. “I add it to the list when you do. I’m not emotionally involved enough to really be impacted by what you’re saying. I know about you in theory, but that’s it. Maybe All Might has a history with you, but I don’t really know enough about you personally to…”

    +

    “Care,” All For One supplied, somewhat subdued as he struggled to breathe. “You’re only here to satisfy your curiosity as to whether or not the stories were true.”

    +

    Izuku nodded, scratching at his notebook with his left hand. “Yes and no, I’m actually here to ask you about how your Quirk works.” For now. +

    +

    Another chortle, more restrained that the last.

    +

    "What makes you think others haven’t already asked?” Had All For One been unrestrained, Izuku could imagine the stereotypical scene of the villain confidently leaning back in some overblown chair in a secret lair, drink of choice in hand, if the tone of voice was any indication. Deflections aside, the man easily rose to each comment.

    +

    “Whether or not they asked it’s irrelevant if they can’t read the answers.” Answers didn’t matter if the people involved were too attached to read into the answers. If none of the interviewers had managed a full interview, then it seemed unlikely that any sort of effort was put into understanding the villain.

    +

    “And you think you can? What expertise do you hold above theirs?” Doubt and reprimand weighted the words. Oddly enough, had Izuku been any younger he could have mistaken the man for a disapproving parent rebuking an overly ambitious child. Albeit an extremely evil one.

    +

    Izuku inhaled shortly and went for it. “If there’s something I know, it’s Quirks and how they work. Maybe I don’t know you, but I don’t really need to. Quirks fall under broad categories of function. You can take and give, consent doesn’t seem to be a factor. You either can’t “see” certain types of Quirks or you need to have prior knowledge of it before you take it with what I know about your brother. Despite your nom de guerre, because we both know it’s not your real name, you have a history of giving multiple Quirks and causing brain damage to the receiver. You clearly aren’t impacted by those same restrictions, so it must either alter your brain mapping or adjust functions to allow for simultaneous use and storage. It also must isolate or categories the Quirks you stock, because from the few people who do remember you, you creating certain Quirks is always in the context of giving them to someone else meaning there’s probably an inherent immunity to stop it from tainting your own Quirk with a mutation,” Izuku mumbled, almost to himself. “The only thing really in question about your Quirk is the finer details and whether or not you need to maintain those features or if they’re inherent and your hard limit for holding Quirks.”

    +

    There was silence, for only a moment. “If only my hands were free, I would clap for such a thoughtful assessment. Clearly you’re not all brawn,” All For One positively purred. “Speculate away.” A wide and slightly unhinged smile was directed at Izuku.

    +

    It was all Izuku could do not to wince at the eagerness. An image of a nervous All Might, hidden in the observation room above with the grim-faced prison staff, came to mind.

    +

    “I note that you said thoughtful and not correct,” and Izuku breathed and unsteadily jotted it down in his notebook. “You don’t seem bothered by the guess.”

    +

    “Few people live long enough to question my Quirk, let alone have the talent to guess so thoughtfully at its functions. It seems we share a hobby.” There was something terribly keen in that voice that hadn’t been there before, twisting itself through the compliment.

    +

    “I suppose it helps that you’re playing along out of boredom,” Izuku verbally dodged, unease uncoiling itself from the back of his mind.

    +

    “I was playing along out of boredom,” All For One corrected smoothly. “Now, I’m curious. Admittedly, my prior assumptions of you weren’t generous, but I’ve been too hasty in my assessments before.”

    +

    “I’ll pack up and leave now if that’s the case,” Izuku replied with only half an ear on the conversation as the words on his page began to drastically expand to distract himself from the building anxiety.

    +

    “Sarcasm, so you do have characteristics of a normal teenager. Your willingness to maim yourself has often left me wondering…”

    +

    “You’re deflecting again,” Izuku observed. “I’m not sure if that’s a nervous habit for you or if you’re doing it because I’m close to being right about your Quirk. That being said, I don’t think you know what a normal teenager is if Shigaraki is any indication. He’s about seven years too late for his rebellious phase.”

    +

    “I’m hurt and offended,” came the amused reply.

    +

    “By how Shigaraki ended up or your parenting? You only have yourself to blame for both of them.”

    +

    “How harsh. Shigaraki is a product of society that birthed him. I can’t take credit for all of the hard work,” All For One laid out invitingly. Perhaps someone else would have risen to the bait, but Izuku was already packing his mental bags and heading for the door.

    +

    Clearly the prisoner’s anticipation had registered poorly with someone in the observation room, because a voice rang through the air. “Time’s up Midoriya-kun.”

    +

    “Okay!” Izuku called back and etched out his last thoughtful of words, untangled his legs and rose to his feet.

    +

    “What a shame, my visitations are always so short,” All For One spoke mournfully.

    +

    “Well, you did blow up half a city. They could have just let you suffocate instead. Same time next week, then?” Izuku offered brightly, notebook stuffed into a pocket and was followed out the door by wheezing laughter.

    +

    It was only after he had made it safely back to the communal room where All Might waited did he allow the spring to fade from his step and discard his nervous smile. Shuddering, he turned to All Might whose face was set in a grimace.

    +

    “I won’t say I told you so,” All Might offered, perched on the edge of his couch like a misshapen vulture.

    +

    “He’s… not really what I was expecting. I was expecting someone, more openly evil.” Izuku allowed himself to collapse into the leather of the seat. He shakily reached for the warm tea that had been clearly been prepared the moment Izuku left the cell. “I suppose he does it to lull people into a false sense of security. I didn’t understand how someone with only half a set of expressions could have “villain” written all over them until I met him.”

    +

    “He’s always been like that. He feigns concern and sympathy to lure in society’s outcasts. They’re easy targets,” All Might said through a mouthful of biscuit.

    +

    “Has he ever tried it on any of the One For All successors?”

    +

    “Not really, but you might have accidentally given him the incentive for it. He never had access to any of the One For All wielders while they were young.” All Might snorted, “not that it’ll make a difference with you”.

    +

    “I think he was trying to gauge me for a world view before the wardens ended it. I need more time to work out his response to the stuff on his Quirk.”

    +

    “He’s conversation starved since it’s solitary confinement. If what the people monitoring his brain activity said was true, you’re the most exciting thing to have happened to him in months. He replied after you left, said he was looking forward to it.”

    +

    “That’s pretty sad."

    +

    “It’s even sadder that we’re the only two members of the public who have had anything to do with him. Stain gets a pile of mail from his “fans”, but All For One has nothing,” All Might waved a tea spoon. “That’s what he gets.”

    +

    “Let’s get out of here and tell Detective Tsukauchi how it went.” Izuku gulped down his tea and headed for the exit, with him and All Might reaching it at roughly the same amount of time.

    +

    “At least your mum’s making katsudon for us tonight," was All Might's only optimistic comment.

    +

    Anxiety was still ebbing over Izuku after Tsukauchi had been debriefed in the car.

    +

    + “It seems we share a hobby.” Haunted Izuku on the drive home. As if ripping someone’s Quirk from them and leaving them lying traumatised on the ground was just a fun pastime and not an act of grievous bodily harm. +

    +

    And he’d be dealing with him again in another week.

    \ No newline at end of file diff --git a/test/test-pages/ars-1/expected-metadata.json b/test/test-pages/ars-1/expected-metadata.json index 3a234aa..fdee1d5 100644 --- a/test/test-pages/ars-1/expected-metadata.json +++ b/test/test-pages/ars-1/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "Just-released Minecraft exploit makes it easy to crash game servers", - "byline": "by Dan Goodin - Apr 16, 2015 8:02 pm UTC", + "byline": "Dan Goodin - Apr 16, 2015 8:02 pm UTC", + "dir": null, "excerpt": "Two-year-old bug exposes thousands of servers to crippling attack.", - "readerable": true, - "siteName": "Ars Technica" + "siteName": "Ars Technica", + "readerable": true } diff --git a/test/test-pages/ars-1/expected.html b/test/test-pages/ars-1/expected.html index 8918ea3..0622673 100644 --- a/test/test-pages/ars-1/expected.html +++ b/test/test-pages/ars-1/expected.html @@ -1,16 +1,23 @@
    -
    -
    -
    -
    -

    A flaw in the wildly popular online game Minecraft makes it easy for just about anyone to crash the server hosting the game, according to a computer programmer who has released proof-of-concept code that exploits the vulnerability.

    -

    "I thought a lot before writing this post," Pakistan-based developer Ammar Askar wrote in a blog post published Thursday, 21 months, he said, after privately reporting the bug to Minecraft developer Mojang. "On the one hand I don't want to expose thousands of servers to a major vulnerability, yet on the other hand Mojang has failed to act on it."

    -

    The bug resides in the networking internals of the Minecraft protocol. It allows the contents of inventory slots to be exchanged, so that, among other things, items in players' hotbars are displayed automatically after logging in. Minecraft items can also store arbitrary metadata in a file format known as Named Binary Tag (NBT), which allows complex data structures to be kept in hierarchical nests. Askar has released proof-of-concept attack code he said exploits the vulnerability to crash any server hosting the game. Here's how it works.

    -
    -

    The vulnerability stems from the fact that the client is allowed to send the server information about certain slots. This, coupled with the NBT format’s nesting allows us to craft a packet that is incredibly complex for the server to deserialize but trivial for us to generate.

    -

    In my case, I chose to create lists within lists, down to five levels. This is a json representation of what it looks like.

    -
    -
    rekt: {
    +    
    +
    +

    Biz & IT —

    +

    Two-year-old bug exposes thousands of servers to crippling attack.

    +
    +
    +
    + Just-released Minecraft exploit makes it easy to crash game servers +
    +
    +
    +

    A flaw in the wildly popular online game Minecraft makes it easy for just about anyone to crash the server hosting the game, according to a computer programmer who has released proof-of-concept code that exploits the vulnerability.

    +

    "I thought a lot before writing this post," Pakistan-based developer Ammar Askar wrote in a blog post published Thursday, 21 months, he said, after privately reporting the bug to Minecraft developer Mojang. "On the one hand I don't want to expose thousands of servers to a major vulnerability, yet on the other hand Mojang has failed to act on it."

    +

    The bug resides in the networking internals of the Minecraft protocol. It allows the contents of inventory slots to be exchanged, so that, among other things, items in players' hotbars are displayed automatically after logging in. Minecraft items can also store arbitrary metadata in a file format known as Named Binary Tag (NBT), which allows complex data structures to be kept in hierarchical nests. Askar has released proof-of-concept attack code he said exploits the vulnerability to crash any server hosting the game. Here's how it works.

    +
    +

    The vulnerability stems from the fact that the client is allowed to send the server information about certain slots. This, coupled with the NBT format’s nesting allows us to craft a packet that is incredibly complex for the server to deserialize but trivial for us to generate.

    +

    In my case, I chose to create lists within lists, down to five levels. This is a json representation of what it looks like.

    +
    +
    rekt: {
         list: [
             list: [
                 list: [
    @@ -35,15 +42,17 @@
             ...
         ]
         ...
    -}
    -

    The root of the object, rekt, contains 300 lists. Each list has a list with 10 sublists, and each of those sublists has 10 of their own, up until 5 levels of recursion. That’s a total of 10^5 * 300 = 30,000,000 lists.

    -

    And this isn’t even the theoretical maximum for this attack. Just the nbt data for this payload is 26.6 megabytes. But luckily Minecraft implements a way to compress large packets, lucky us! zlib shrinks down our evil data to a mere 39 kilobytes.

    -

    Note: in previous versions of Minecraft, there was no protocol wide compression for big packets. Previously, NBT was sent compressed with gzip and prefixed with a signed short of its length, which reduced our maximum payload size to 2^15 - 1. Now that the length is a varint capable of storing integers up to 2^28, our potential for attack has increased significantly.

    -

    When the server will decompress our data, it’ll have 27 megs in a buffer somewhere in memory, but that isn’t the bit that’ll kill it. When it attempts to parse it into NBT, it’ll create java representations of the objects meaning suddenly, the sever is having to create several million java objects including ArrayLists. This runs the server out of memory and causes tremendous CPU load.

    -

    This vulnerability exists on almost all previous and current Minecraft versions as of 1.8.3, the packets used as attack vectors are the 0x08: Block Placement Packet and 0x10: Creative Inventory Action.

    -

    The fix for this vulnerability isn’t exactly that hard, the client should never really send a data structure as complex as NBT of arbitrary size and if it must, some form of recursion and size limits should be implemented.

    -

    These were the fixes that I recommended to Mojang 2 years ago.

    -
    -

    Ars is asking Mojang for comment and will update this post if company officials respond.

    +}
    +
    +

    The root of the object, rekt, contains 300 lists. Each list has a list with 10 sublists, and each of those sublists has 10 of their own, up until 5 levels of recursion. That’s a total of 10^5 * 300 = 30,000,000 lists.

    +

    And this isn’t even the theoretical maximum for this attack. Just the nbt data for this payload is 26.6 megabytes. But luckily Minecraft implements a way to compress large packets, lucky us! zlib shrinks down our evil data to a mere 39 kilobytes.

    +

    Note: in previous versions of Minecraft, there was no protocol wide compression for big packets. Previously, NBT was sent compressed with gzip and prefixed with a signed short of its length, which reduced our maximum payload size to 2^15 - 1. Now that the length is a varint capable of storing integers up to 2^28, our potential for attack has increased significantly.

    +

    When the server will decompress our data, it’ll have 27 megs in a buffer somewhere in memory, but that isn’t the bit that’ll kill it. When it attempts to parse it into NBT, it’ll create java representations of the objects meaning suddenly, the sever is having to create several million java objects including ArrayLists. This runs the server out of memory and causes tremendous CPU load.

    +

    This vulnerability exists on almost all previous and current Minecraft versions as of 1.8.3, the packets used as attack vectors are the 0x08: Block Placement Packet and 0x10: Creative Inventory Action.

    +

    The fix for this vulnerability isn’t exactly that hard, the client should never really send a data structure as complex as NBT of arbitrary size and if it must, some form of recursion and size limits should be implemented.

    +

    These were the fixes that I recommended to Mojang 2 years ago.

    +
    +

    Ars is asking Mojang for comment and will update this post if company officials respond.

    +
    \ No newline at end of file diff --git a/test/test-pages/ars-1/source.html b/test/test-pages/ars-1/source.html index cd6aed1..27630ef 100644 --- a/test/test-pages/ars-1/source.html +++ b/test/test-pages/ars-1/source.html @@ -1,292 +1,373 @@ - - - - - - - + + + + Just-released Minecraft exploit makes it easy to crash game servers | Ars Technica + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - Just-released Minecraft exploit makes it easy to crash game servers | Ars Technica - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - -
    -
    - -

    ArsTechnica

    - - -
    -
    - -

    - Risk Assessment - / - Security & Hacktivism -

    - -
    -
    -

    Just-released Minecraft exploit makes it easy to crash game servers

    -

    Two-year-old bug exposes thousands of servers to crippling attack.

    - -
    -
    -
    -
    -
    - -
    -
    - - -

    A flaw in the wildly popular online game Minecraft makes it easy for just about anyone to crash the server hosting the game, according to a computer programmer who has released proof-of-concept code that exploits the vulnerability.

    -

    "I thought a lot before writing this post," Pakistan-based developer Ammar Askar wrote in a blog post published Thursday, 21 months, he said, after privately reporting the bug to Minecraft developer Mojang. "On the one hand I don't want to expose thousands of servers to a major vulnerability, yet on the other hand Mojang has failed to act on it."

    -

    The bug resides in the networking internals of the Minecraft protocol. It allows the contents of inventory slots to be exchanged, so that, among other things, items in players' hotbars are displayed automatically after logging in. Minecraft items can also store arbitrary metadata in a file format known as Named Binary Tag (NBT), which allows complex data structures to be kept in hierarchical nests. Askar has released proof-of-concept attack code he said exploits the vulnerability to crash any server hosting the game. Here's how it works.

    -
    -

    The vulnerability stems from the fact that the client is allowed to send the server information about certain slots. This, coupled with the NBT format’s nesting allows us to craft a packet that is incredibly complex for the server to deserialize but trivial for us to generate.

    -

    In my case, I chose to create lists within lists, down to five levels. This is a json representation of what it looks like.

    -
    rekt: {
    +                
    + +
    + +
    +
    +
    +
    +

    + Biz & IT — +

    +

    + Just-released Minecraft exploit makes it easy to crash game servers +

    +

    + Two-year-old bug exposes thousands of servers to crippling attack. +

    + +
    +
    +
    +
    + Just-released Minecraft exploit makes it easy to crash game servers +
    +
    + Kevin +
    +
    +
    + +

    + A flaw in the wildly popular online game Minecraft makes it easy for just about anyone to crash the server hosting the game, according to a computer programmer who has released proof-of-concept code that exploits the vulnerability. +

    +

    + "I thought a lot before writing this post," Pakistan-based developer Ammar Askar wrote in a blog post published Thursday, 21 months, he said, after privately reporting the bug to Minecraft developer Mojang. "On the one hand I don't want to expose thousands of servers to a major vulnerability, yet on the other hand Mojang has failed to act on it." +

    +

    + The bug resides in the networking internals of the Minecraft protocol. It allows the contents of inventory slots to be exchanged, so that, among other things, items in players' hotbars are displayed automatically after logging in. Minecraft items can also store arbitrary metadata in a file format known as Named Binary Tag (NBT), which allows complex data structures to be kept in hierarchical nests. Askar has released proof-of-concept attack code he said exploits the vulnerability to crash any server hosting the game. Here's how it works. +

    +
    +

    + The vulnerability stems from the fact that the client is allowed to send the server information about certain slots. This, coupled with the NBT format’s nesting allows us to craft a packet that is incredibly complex for the server to deserialize but trivial for us to generate. +

    +

    + In my case, I chose to create lists within lists, down to five levels. This is a json representation of what it looks like. +

    +
    +
    rekt: {
         list: [
             list: [
                 list: [
    @@ -311,455 +392,243 @@
             ...
         ]
         ...
    -}
    -

    The root of the object, rekt, contains 300 lists. Each list has a list with 10 sublists, and each of those sublists has 10 of their own, up until 5 levels of recursion. That’s a total of 10^5 * 300 = 30,000,000 lists.

    -

    And this isn’t even the theoretical maximum for this attack. Just the nbt data for this payload is 26.6 megabytes. But luckily Minecraft implements a way to compress large packets, lucky us! zlib shrinks down our evil data to a mere 39 kilobytes.

    -

    Note: in previous versions of Minecraft, there was no protocol wide compression for big packets. Previously, NBT was sent compressed with gzip and prefixed with a signed short of its length, which reduced our maximum payload size to 2^15 - 1. Now that the length is a varint capable of storing integers up to 2^28, our potential for attack has increased significantly.

    -

    When the server will decompress our data, it’ll have 27 megs in a buffer somewhere in memory, but that isn’t the bit that’ll kill it. When it attempts to parse it into NBT, it’ll create java representations of the objects meaning suddenly, the sever is having to create several million java objects including ArrayLists. This runs the server out of memory and causes tremendous CPU load.

    -

    This vulnerability exists on almost all previous and current Minecraft versions as of 1.8.3, the packets used as attack vectors are the 0x08: Block Placement Packet and 0x10: Creative Inventory Action.

    -

    The fix for this vulnerability isn’t exactly that hard, the client should never really send a data structure as complex as NBT of arbitrary size and if it must, some form of recursion and size limits should be implemented.

    -

    These were the fixes that I recommended to Mojang 2 years ago.

    -
    -

    Ars is asking Mojang for comment and will update this post if company officials respond.

    +}
    +
    +

    + The root of the object, rekt, contains 300 lists. Each list has a list with 10 sublists, and each of those sublists has 10 of their own, up until 5 levels of recursion. That’s a total of 10^5 * 300 = 30,000,000 lists. +

    +

    + And this isn’t even the theoretical maximum for this attack. Just the nbt data for this payload is 26.6 megabytes. But luckily Minecraft implements a way to compress large packets, lucky us! zlib shrinks down our evil data to a mere 39 kilobytes. +

    +

    + Note: in previous versions of Minecraft, there was no protocol wide compression for big packets. Previously, NBT was sent compressed with gzip and prefixed with a signed short of its length, which reduced our maximum payload size to 2^15 - 1. Now that the length is a varint capable of storing integers up to 2^28, our potential for attack has increased significantly. +

    +

    + When the server will decompress our data, it’ll have 27 megs in a buffer somewhere in memory, but that isn’t the bit that’ll kill it. When it attempts to parse it into NBT, it’ll create java representations of the objects meaning suddenly, the sever is having to create several million java objects including ArrayLists. This runs the server out of memory and causes tremendous CPU load. +

    +

    + This vulnerability exists on almost all previous and current Minecraft versions as of 1.8.3, the packets used as attack vectors are the 0x08: Block Placement Packet and 0x10: Creative Inventory Action. +

    +

    + The fix for this vulnerability isn’t exactly that hard, the client should never really send a data structure as complex as NBT of arbitrary size and if it must, some form of recursion and size limits should be implemented. +

    +

    + These were the fixes that I recommended to Mojang 2 years ago. +

    +
    +

    + Ars is asking Mojang for comment and will update this post if company officials respond. +

    +
    +
    +
    +
    +
    +
    + + +
    +
    -
    -

    Expand full story

    +
    +
    + + +
    +
    - -
    -
    - - -
    -
    -

    You must to comment.

    +
    + +
    +
    + +
    +
    +

    + You must to comment. +

    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +

    + Channel Ars Technica +

    +
    +
    +
    + -
    -
    + +
    + + +
    + +
    +
    + +
    - - -
    -
    -
      -
    • Share
    • -
    • -
      -
    • -
    • -
    • -
    -
    -
    -
    -
    -
    -
    - Go to the profile of John C. Welch -
    -
    -
    Never miss a story from John C. Welch, when you sign up for Medium. Learn more
    -
    Never miss a story from John C. Welch
    -
    -
    -
    -
    -
    - - - -
    - - - - - - -===========^CCrash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=7.53758) [GFX1-]: Receive IPC close with reason=AbnormalShutdown localhost:mozilla-central itoyxd$ localhost:mozilla-central itoyxd$ localhost:mozilla-central itoyxd$ ./mach run 0:00.20 /Users/itoyxd/evan/dev/mozilla/mozilla-central/obj-firefox/dist/Nightly.app/Contents/MacOS/firefox -no-remote -foreground -profile /Users/itoyxd/evan/dev/mozilla/mozilla-central/obj-firefox/tmp/scratch_user 2017-02-17 16:57:43.743 plugin-container[11969:394160] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x943f, name = 'com.apple.tsm.portname' See /usr/include/servers/bootstrap_defs.h for the error codes. 2017-02-17 16:57:43.743 plugin-container[11969:394160] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x4907, name = 'com.apple.CFPasteboardClient' See /usr/include/servers/bootstrap_defs.h for the error codes. 2017-02-17 16:57:43.743 plugin-container[11969:394160] void __CFPasteboardSetup() : Failed to allocate communication port for com.apple.CFPasteboardClient; this is likely due to sandbox restrictions 2017-02-17 16:57:50.234 plugin-container[11972:394329] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x953f, name = 'com.apple.tsm.portname' See /usr/include/servers/bootstrap_defs.h for the error codes. 2017-02-17 16:57:50.235 plugin-container[11972:394329] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x4b0b, name = 'com.apple.CFPasteboardClient' See /usr/include/servers/bootstrap_defs.h for the error codes. 2017-02-17 16:57:50.235 plugin-container[11972:394329] void __CFPasteboardSetup() : Failed to allocate communication port for com.apple.CFPasteboardClient; this is likely due to sandbox restrictions =========== - - - - - - - Samantha and The Great Big Lie – Medium - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    - +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Samantha and The Great Big Lie

    -

    How to get shanked doing what people say they want

    -
    don’t preach to me
    Mr. integrity
    -

    (EDIT: removed the link to Samantha’s post, because the arments and the grubers and the rest of The Deck Clique got what they wanted: a non-proper person driven off the internet lightly capped with a dusting of transphobia along the way, all totally okay because the ends justify the means, and it’s okay when “good” people do it.)

    -

    First, I need to say something about this article: the reason I’m writing it infuriates me. Worse than installing CS 3 or Acrobat 7 ever did, and the former inspired comparisons to fecophile porn. I’m actually too mad to cuss. Well, not completely, but in this case, I don’t think the people I’m mad at are worth the creativity I try to put into profanity. This is about a brownfield of hypocrisy and viciously deliberate mischaracterization that “shame” cannot even come close to the shame those behind it should feel.

    -

    Now, read this post by Samantha Bielefeld: The Elephant in the Room. First, it is a well-written critical piece that raises a few points in a calm, rational, nonconfrontational fashion, exactly the kind of things the pushers of The Great Big Lie say we need more of, as opposed to the screaming that is the norm in such cases.

    -

    …sorry, I should explain “The Great Big Lie”. There are several, but in this case, our specific instance of “The Great Big Lie” is about criticism. Over and over, you hear from the very people I am not going to be nice to in this that we need “better” criticsm. Instead of rage and anger, volume and vitriol, we need in-depth rational criticism, that isn’t personal or ad hominem. That it should focus on points, not people.

    -

    That, readers, is “The Big Lie”. It is a lie so big that if one ponders the reality of it, as I am going to, one wonders why anyone would believe it. It is a lie and it is one we should stop telling.

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Samantha’s points (I assume you read it, for you are smart people who know the importance of such things) are fairly clear:

    -
      -
    1. With the release of Overcast 2.0, a product Samantha actually likes, Marco Arment moved to a patronage model that will probably be successful for him.
    2. -
    3. Arment’s insistence that “anyone can do this” while technically true, (anyone can in fact, implement this pricing model), also implies that “anyone” can have the kind of success that a developer with Marco’s history, financial status, and deep ties to the Apple News Web is expected to have. This is silly.
    4. -
    5. Marco Arment occupies a fairly unique position in the Apple universe, (gained by hard work and no small talent), and because of that, benefits from a set of privileges that a new developer or even one that has been around for a long time, but isn’t, well, Marco, not only don’t have, but have little chance of attaining anytime soon.
    6. -
    7. Marco has earned his success and is entitled to the benefits and privileges it brings, but he seems rather blind to all of that, and seems to still imagine himself as “two guys in a garage”. This is just not correct.
    8. -
    9. In addition, the benefits and privileges of the above ensure that by releasing Overcast 2 as a free app, with patronage pricing, he has, if not gutted, severely hurt the ability of folks actually selling their apps for an up-front price of not free to continue doing so. This has the effect of accelerating the “race to the bottom” in the podcast listening app segment, which hurts devs who cannot afford to work on a “I don’t really need this money, so whatever you feel like sending is okay” model.
    10. -
    -

    None of this is incorrect. None of this is an ad hominem attack in any way. It is just pointing out that a developer of Arment’s stature and status lives in a very different world than someone in East Frog Balls, Arkansas trying to make a living off of App sales. Our dev in EFB doesn’t have the main sites on the Apple web falling all over themselves to review their app the way that Arment does. They’re not friends with the people being The Loop, Daring Fireball, SixColors, iMore, The Mac Observer, etc., yadda.

    -

    So, our hero, in a fit of well-meaning ignorance writes this piece (posted this morning, 14 Oct. 15) and of course, the response and any criticisms are just as reasonable and thoughtful.

    -

    If you really believe that, you are the most preciously ignorant person in the world, and can I have your seriously charmed life.

    -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +

    + Samantha’s points (I assume you read it, for you are smart people who know the importance of such things) are fairly clear: +

    +
      +
    1. With the release of Overcast 2.0, a product Samantha actually likes, Marco Arment moved to a patronage model that will probably be successful for him. +
    2. +
    3. Arment’s insistence that “anyone can do this” while technically true, (anyone can in fact, implement this pricing model), also implies that “anyone” can have the kind of success that a developer with Marco’s history, financial status, and deep ties to the Apple News Web is expected to have. This is silly. +
    4. +
    5. Marco Arment occupies a fairly unique position in the Apple universe, (gained by hard work and no small talent), and because of that, benefits from a set of privileges that a new developer or even one that has been around for a long time, but isn’t, well, Marco, not only don’t have, but have little chance of attaining anytime soon. +
    6. +
    7. Marco has earned his success and is entitled to the benefits and privileges it brings, but he seems rather blind to all of that, and seems to still imagine himself as “two guys in a garage”. This is just not correct. +
    8. +
    9. In addition, the benefits and privileges of the above ensure that by releasing Overcast 2 as a free app, with patronage pricing, he has, if not gutted, severely hurt the ability of folks actually selling their apps for an up-front price of not free to continue doing so. This has the effect of accelerating the “race to the bottom” in the podcast listening app segment, which hurts devs who cannot afford to work on a “I don’t really need this money, so whatever you feel like sending is okay” model. +
    10. +
    +

    + None of this is incorrect. None of this is an ad hominem attack in any way. It is just pointing out that a developer of Arment’s stature and status lives in a very different world than someone in East Frog Balls, Arkansas trying to make a living off of App sales. Our dev in EFB doesn’t have the main sites on the Apple web falling all over themselves to review their app the way that Arment does. They’re not friends with the people being The Loop, Daring Fireball, SixColors, iMore, The Mac Observer, etc., yadda. +

    +

    + So, our hero, in a fit of well-meaning ignorance writes this piece (posted this morning, 14 Oct. 15) and of course, the response and any criticisms are just as reasonable and thoughtful. +

    +

    + If you really believe that, you are the most preciously ignorant person in the world, and can I have your seriously charmed life. +

    -
    -
    -

    The response, from all quarters, including Marco, someone who is so sensitive to criticism that the word “useless” is enough to shut him down, who blocked a friend of mine for the high crime of pointing out that his review of podcasting mics centered around higher priced gear and ignored folks without the scratch, who might not be ready for such things, is, in a single word, disgusting. Vomitous even.

    -

    It’s an hours-long dogpile that beggars even my imagination, and I can imagine almost anything. Seriously, it’s all there in Samantha’s Twitter Feed. From what I can tell, she’s understandably shocked over it. I however was not. This one comment in her feed made me smile (warning, this wanders a bit…er…LOT. Twitter timelines are not easy to put together):

    -
    I can see why you have some reservations about publishing it, but my gut feeling is that he would take it better than Nilay.
    -

    Oh honey, bless your sweet, ignorant heart. Marco is one of the biggest pushers of The Big Lie, and one of the reasons it is such a lie.

    -

    But it gets better. First, you have the “hey, Marco earned his status!” lot. A valid point, and one Bielefeld explicitly acknowledges, here:

    -
    From his ground floor involvement in Tumblr (for which he is now a millionaire), to the creation and sale of a wildly successful app called Instapaper, he has become a household name in technology minded circles. It is this extensive time spent in the spotlight, the huge following on Twitter, and dedicated listeners of his weekly aired Accidental Tech Podcast, that has granted him the freedom to break from seeking revenue in more traditional manners.
    -

    and here:

    -
    I’m not knocking his success, he has put effort into his line of work, and has built his own life.
    -

    and here:

    -
    He has earned his time in the spotlight, and it’s only natural for him to take advantage of it.
    -

    But still, you get the people telling her something she already acknowledge:

    -
    I don’t think he’s blind. he’s worked to where he has gotten and has had failures like everyone else.
    -

    Thank you for restating something in the article. To the person who wrote it.

    -

    In the original article, Samantha talked about the money Marco makes from his podcast. She based that on the numbers provided by ATP in terms of sponsorship rates and the number of current sponsors the podcast has. Is this going to yield perfect numbers? No. But the numbers you get from it will at least be reasonable, or should be unless the published sponsorship rates are just fantasy, and you’re stupid for taking them seriously.

    -

    At first, she went with a simple formula:

    -
    $4K x 3 per episode = $12K x 52 weeks / 3 hosts splitting it.
    -

    That’s not someone making shit up, right? Rather quickly, someone pointed out that she’d made an error in how she calculated it:

    -
    That’s $4k per ad, no? So more like $12–16k per episode.
    -

    She’d already realized her mistake and fixed it.

    -
    which is actually wrong, and I’m correcting now. $4,000 per sponsor, per episode! So, $210,000 per year.
    -

    Again, this is based on publicly available data the only kind someone not part of ATP or a close friend of Arment has access to. So while her numbers may be wrong, if they are, there’s no way for her to know that. She’s basing her opinion on actual available data. Which is sadly rare.

    -

    This becomes a huge flashpoint. You name a reason to attack her over this, people do. No really. For example, she’s not calculating his income taxes correctly:

    -
    especially since it isn’t his only source of income thus, not an indicator of his marginal inc. tax bracket.
    -
    thus, guessing net income is more haphazard than stating approx. gross income.
    -

    Ye Gods. She’s not doing his taxes for him, her point is invalid?

    -

    Then there’s the people who seem to have not read anything past what other people are telling them:

    -
    Not sure what to make of your Marco piece, to be honest. You mention his fame, whatever, but what’s the main idea here?
    -

    Just how spoon-fed do you have to be? Have you no teeth?

    -

    Of course, Marco jumps in, and predictably, he’s snippy:

    -
    If you’re going to speak in precise absolutes, it’s best to first ensure that you’re correct.
    -

    If you’re going to be like that, it’s best to provide better data. Don’t get snippy when someone is going off the only data available, and is clearly open to revising based on better data.

    -

    Then Marco’s friends/fans get into it:

    -
    I really don’t understand why it’s anyone’s business
    -

    Samantha is trying to qualify for sainthood at this point:

    -
    It isn’t really, it was a way of putting his income in context in regards to his ability to gamble with Overcast.
    -

    Again, she’s trying to drag people back to her actual point, but no one is going to play. The storm has begun. Then we get people who are just spouting nonsense:

    -
    Why is that only relevant for him? It’s a pretty weird metric,especially since his apps aren’t free.
    -

    Wha?? Overcast 2 is absolutely free. Samantha points this out:

    -
    His app is free, that’s what sparked the article to begin with.
    -

    The response is literally a parallel to “How can there be global warming if it snowed today in my town?”

    -
    If it’s free, how have I paid for it? Twice?
    -

    She is still trying:

    -
    You paid $4.99 to unlock functionality in Overcast 1.0 and you chose to support him with no additional functionality in 2.0
    -

    He is having none of it. IT SNOWED! SNOWWWWWWW!

    -
    Yes. That’s not free. Free is when you choose not to make money. And that can be weaponized. But that’s not what Overcast does.
    -

    She however, is relentless:

    -
    No, it’s still free. You can choose to support it, you are required to pay $4.99 for Pocket Casts. Totally different model.
    -

    Dude seems to give up. (Note: allllll the people bagging on her are men. All of them. Mansplaining like hell. And I’d bet every one of them considers themselves a feminist.)

    -

    We get another guy trying to push the narrative she’s punishing him for his success, which is just…it’s stupid, okay? Stupid.

    -
    It also wasn’t my point in writing my piece today, but it seems to be everyone’s focus.
    -

    (UNDERSTATEMENT OF THE YEAR)

    -
    I think the focus should be more on that fact that while it’s difficult, Marco spent years building his audience.
    -
    It doesn’t matter what he makes it how he charges. If the audience be earned is willing to pay for it, awesome.
    -

    She tries, oh lord, she tries:

    -
    To assert that he isn’t doing anything any other dev couldn’t, is wrong. It’s successful because it’s Marco.
    -

    But no, HE KNOWS HER POINT BETTER THAN SHE DOES:

    -
    No, it’s successful because he busted his ass to make it so. It’s like any other business. He grew it.
    -

    Christ. This is like a field of strawmen. Stupid ones. Very stupid ones.

    -

    One guy tries to blame it all on Apple, another in a string of Wha??? moments:

    -
    the appropriate context is Apple’s App Store policies. Other devs aren’t Marco’s responsibility
    -

    Seriously? Dude, are you even trying to talk about what Samantha actually wrote? At this point, Samantha is clearly mystified at the entire thing:

    -
    Why has the conversation suddenly turned to focus on nothing more than ATP sponsorship income?
    -

    Because it’s a nit they can pick and allows them to ignore everything you wrote. That’s the only reason.

    -

    One guy is “confused”:

    -
    I see. He does have clout, so are you saying he’s too modest in how he sees himself as a dev?
    -
    Yes. He can’t be equated to the vast majority of other developers. Like calling Gruber, “just another blogger”.
    -
    Alright, that’s fair. I was just confused by the $ and fame angle at first.
    -

    Samantha’s point centers on the benefits Marco gains via his fame and background. HOW DO YOU NOT MENTION THAT? HOW IS THAT CONFUSING?

    -

    People of course are telling her it’s her fault for mentioning a salient fact at all:

    -
    Why has the conversation suddenly turned to focus on nothing more than ATP sponsorship income?
    -
    Maybe because you went there with your article?
    -
    As a way of rationalizing his ability to gamble with the potential for Overcast to generate income…not the norm at all.
    -

    Of course, had she not brought up those important points, she’d have been bagged on for “not providing proof”. Lose some, lose more. By now, she’s had enough and she just deletes all mention of it. Understandable, but sad she was bullied into doing that.

    -

    Yes, bullied. That’s all this is. Bullying. She didn’t lie, cheat, or exaagerate. If her numbers were wrong, they weren’t wrong in a way she had any ability to do anything about. But there’s blood in the water, and the comments and attacks get worse:

    -
    Because you decided to start a conversation about someone else’s personal shit. You started this war.
    -

    War. THIS. IS. WAR.

    -

    This is a bunch of nerds attacking someone for reasoned, calm, polite criticism of their friend/idol. Samantha is politely pushing back a bit:

    -
    That doesn’t explain why every other part of my article is being pushed aside.
    -

    She’s right. This is all nonsense. This is people ignoring her article completely, just looking for things to attack so it can be dismissed. It’s tribalism at its purest.

    -

    Then some of the other annointed get into it, including Jason Snell in one of the most spectactular displays of “I have special knowledge you can’t be expected to have, therefore you are totally off base and wrong, even though there’s no way for you to know this” I’ve seen in a while. Jason:

    -
    You should never use an ad rate card to estimate ad revenue from any media product ever.
    -
    I learned this when I started working for a magazine — rate cards are mostly fiction, like prices on new cars
    -

    How…exactly…in the name of whatever deity Jason may believe in…is Samantha or anyone not “in the biz” supposed to know this. Also, what exactly does a magazine on paper like Macworld have to do with sponsorships for a podcast? I have done podcasts that were sponsored, and I can retaliate with “we charged what the rate card said we did. Checkmate Elitests!

    -

    Samantha basically abases herself at his feet:

    -
    I understand my mistake, and it’s unfortunate that it has completely diluted the point of my article.
    -

    I think she should have told him where and how to stuff that nonsense, but she’s a nicer person than I am. Also, it’s appropriate that Jason’s twitter avatar has its nose in the air. This is some rank snobbery. It’s disgusting and if anyone pulled that on him, Jason would be very upset. But hey, one cannot criticize The Marco without getting pushback. By “pushback”, I mean “an unrelenting fecal flood”.

    -

    Her only mistake was criticizing one of the Kool Kids. Folks, if you criticize anyone in The Deck Clique, or their friends, expect the same thing, regardless of tone or point.

    -

    Another App Dev, seemingly unable to parse Samantha’s words, needs more explanation:

    -
    so just looking over your mentions, I’m curious what exactly was your main point? Ignoring the podcast income bits.
    -

    Oh wait, he didn’t even read the article. Good on you, Dev Guy, good. on. you. Still, she plays nice with someone who didn’t even read her article:

    -
    That a typical unknown developer can’t depend on patronage to generate revenue, and charging for apps will become a negative.
    -

    Marco comes back of course, and now basically accuses her of lying about other devs talking to her and supporting her point:

    -
    How many actual developers did you hear from, really? Funny how almost nobody wants to give a (real) name on these accusations.
    -

    Really? You’re going to do that? “There’s no name, so I don’t think it’s a real person.” Just…what’s the Joe Welch quote from the McCarthy hearings?

    -
    Let us not assassinate this lad further, Senator. You’ve done enough. Have you no sense of decency, sir? At long last, have you left no sense of decency?
    -

    That is what this is at this point: character assasination because she said something critical of A Popular Person. It’s disgusting. Depressing and disgusting. No one, none of these people have seriously discussed her point, heck, it looks like they barely bothered to read it, if they did at all.

    -

    Marco starts getting really petty with her (no big shock) and Samantha finally starts pushing back:

    -
    Glad to see you be the bigger person and ignore the mindset of so many developers not relating to you, good for you!
    -

    That of course, is what caused Marco to question the validity, if not the existence of her sources. (Funny how anonymous sources are totes okay when they convenience Marco et al, and work for oh, Apple, but when they are inconvenient? Ha! PROVIDE ME PROOF YOU INTEMPERATE WOMAN!)

    -

    Make no mistake, there’s some sexist shit going on here. Every tweet I’ve quoted was authored by a guy.

    -

    Of course, Marco has to play the “I’ve been around longer than you” card with this bon mot:

    -
    Yup, before you existed!
    -

    Really dude? I mean, I’m sorry about the penis, but really?

    -

    Mind you, when the criticism isn’t just bizarrely stupid, Samantha reacts the way Marco and his ilk claim they would to (if they ever got any valid criticism. Which clearly is impossible):

    -
    Not to get into the middle of this, but “income” is not the term you’re looking for. “Revenue” is.
    -
    lol. Noted.
    -
    And I wasn’t intending to be a dick, just a lot of people hear/say “income” when they intend “revenue”, and then discussion …
    -
    … gets derailed by a jedi handwave of “Expenses”. But outside of charitable donation, it is all directly related.
    -
    haha. Thank you for the clarification.
    -

    Note to Marco and the other…whatever they are…that is how one reacts to that kind of criticism. With a bit of humor and self-deprecation. You should try it sometime. For real, not just in your heads or conversations in Irish Pubs in S.F.

    -

    But now, the door has been cracked, and the cheap shots come out:

    -
    @testflight_app: Don’t worry guys, we process @marcoarment’s apps in direct proportion to his megabucks earnings. #fairelephant
    -

    (Note: testflight_app is a parody account. Please do not mess with the actual testflight folks. They are still cool.)

    -

    Or this…conversation:

    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    +

    + The response, from all quarters, including Marco, someone who is so sensitive to criticism that the word “useless” is enough to shut him down, who blocked a friend of mine for the high crime of pointing out that his review of podcasting mics centered around higher priced gear and ignored folks without the scratch, who might not be ready for such things, is, in a single word, disgusting. Vomitous even. +

    +

    + It’s an hours-long dogpile that beggars even my imagination, and I can imagine almost anything. Seriously, it’s all there in Samantha’s Twitter Feed. From what I can tell, she’s understandably shocked over it. I however was not. This one comment in her feed made me smile (warning, this wanders a bit…er…LOT. Twitter timelines are not easy to put together): +

    +
    +

    + I can see why you have some reservations about publishing it, but my gut feeling is that he would take it better than Nilay. +

    +
    +

    + Oh honey, bless your sweet, ignorant heart. Marco is one of the biggest pushers of The Big Lie, and one of the reasons it is such a lie. +

    +

    + But it gets better. First, you have the “hey, Marco earned his status!” lot. A valid point, and one Bielefeld explicitly acknowledges, here: +

    +
    +

    + From his ground floor involvement in Tumblr (for which he is now a millionaire), to the creation and sale of a wildly successful app called Instapaper, he has become a household name in technology minded circles. It is this extensive time spent in the spotlight, the huge following on Twitter, and dedicated listeners of his weekly aired Accidental Tech Podcast, that has granted him the freedom to break from seeking revenue in more traditional manners. +

    +
    +

    + and here: +

    +
    +

    + I’m not knocking his success, he has put effort into his line of work, and has built his own life. +

    +
    +

    + and here: +

    +
    +

    + He has earned his time in the spotlight, and it’s only natural for him to take advantage of it. +

    +
    +

    + But still, you get the people telling her something she already acknowledge: +

    +
    +

    + I don’t think he’s blind. he’s worked to where he has gotten and has had failures like everyone else. +

    +
    +

    + Thank you for restating something in the article. To the person who wrote it. +

    +

    + In the original article, Samantha talked about the money Marco makes from his podcast. She based that on the numbers provided by ATP in terms of sponsorship rates and the number of current sponsors the podcast has. Is this going to yield perfect numbers? No. But the numbers you get from it will at least be reasonable, or should be unless the published sponsorship rates are just fantasy, and you’re stupid for taking them seriously. +

    +

    + At first, she went with a simple formula: +

    +
    +

    + $4K x 3 per episode = $12K x 52 weeks / 3 hosts splitting it. +

    +
    +

    + That’s not someone making shit up, right? Rather quickly, someone pointed out that she’d made an error in how she calculated it: +

    +
    +

    + That’s $4k per ad, no? So more like $12–16k per episode. +

    +
    +

    + She’d already realized her mistake and fixed it. +

    +
    +

    + which is actually wrong, and I’m correcting now. $4,000 per sponsor, per episode! So, $210,000 per year. +

    +
    +

    + Again, this is based on publicly available data the only kind someone not part of ATP or a close friend of Arment has access to. So while her numbers may be wrong, if they are, there’s no way for her to know that. She’s basing her opinion on actual available data. Which is sadly rare. +

    +

    + This becomes a huge flashpoint. You name a reason to attack her over this, people do. No really. For example, she’s not calculating his income taxes correctly: +

    +
    +

    + especially since it isn’t his only source of income thus, not an indicator of his marginal inc. tax bracket. +

    +

    + thus, guessing net income is more haphazard than stating approx. gross income. +

    +
    +

    + Ye Gods. She’s not doing his taxes for him, her point is invalid? +

    +

    + Then there’s the people who seem to have not read anything past what other people are telling them: +

    +
    +

    + Not sure what to make of your Marco piece, to be honest. You mention his fame, whatever, but what’s the main idea here? +

    +
    +

    + Just how spoon-fed do you have to be? Have you no teeth? +

    +

    + Of course, Marco jumps in, and predictably, he’s snippy: +

    +
    +

    + If you’re going to speak in precise absolutes, it’s best to first ensure that you’re correct. +

    +
    +

    + If you’re going to be like that, it’s best to provide better data. Don’t get snippy when someone is going off the only data available, and is clearly open to revising based on better data. +

    +

    + Then Marco’s friends/fans get into it: +

    +
    +

    + I really don’t understand why it’s anyone’s business +

    +
    +

    + Samantha is trying to qualify for sainthood at this point: +

    +
    +

    + It isn’t really, it was a way of putting his income in context in regards to his ability to gamble with Overcast. +

    +
    +

    + Again, she’s trying to drag people back to her actual point, but no one is going to play. The storm has begun. Then we get people who are just spouting nonsense: +

    +
    +

    + Why is that only relevant for him? It’s a pretty weird metric,especially since his apps aren’t free. +

    +
    +

    + Wha?? Overcast 2 is absolutely free. Samantha points this out: +

    +
    +

    + His app is free, that’s what sparked the article to begin with. +

    +
    +

    + The response is literally a parallel to “How can there be global warming if it snowed today in my town?” +

    +
    +

    + If it’s free, how have I paid for it? Twice? +

    +
    +

    + She is still trying: +

    +
    +

    + You paid $4.99 to unlock functionality in Overcast 1.0 and you chose to support him with no additional functionality in 2.0 +

    +
    +

    + He is having none of it. IT SNOWED! SNOWWWWWWW! +

    +
    +

    + Yes. That’s not free. Free is when you choose not to make money. And that can be weaponized. But that’s not what Overcast does. +

    +
    +

    + She however, is relentless: +

    +
    +

    + No, it’s still free. You can choose to support it, you are required to pay $4.99 for Pocket Casts. Totally different model. +

    +
    +

    + Dude seems to give up. (Note: allllll the people bagging on her are men. All of them. Mansplaining like hell. And I’d bet every one of them considers themselves a feminist.) +

    +

    + We get another guy trying to push the narrative she’s punishing him for his success, which is just…it’s stupid, okay? Stupid. +

    +
    +

    + It also wasn’t my point in writing my piece today, but it seems to be everyone’s focus. +

    +
    +

    + (UNDERSTATEMENT OF THE YEAR) +

    +
    +

    + I think the focus should be more on that fact that while it’s difficult, Marco spent years building his audience. +

    +

    + It doesn’t matter what he makes it how he charges. If the audience be earned is willing to pay for it, awesome. +

    +
    +

    + She tries, oh lord, she tries: +

    +
    +

    + To assert that he isn’t doing anything any other dev couldn’t, is wrong. It’s successful because it’s Marco. +

    +
    +

    + But no, HE KNOWS HER POINT BETTER THAN SHE DOES: +

    +
    +

    + No, it’s successful because he busted his ass to make it so. It’s like any other business. He grew it. +

    +
    +

    + Christ. This is like a field of strawmen. Stupid ones. Very stupid ones. +

    +

    + One guy tries to blame it all on Apple, another in a string of Wha??? moments: +

    +
    +

    + the appropriate context is Apple’s App Store policies. Other devs aren’t Marco’s responsibility +

    +
    +

    + Seriously? Dude, are you even trying to talk about what Samantha actually wrote? At this point, Samantha is clearly mystified at the entire thing: +

    +
    +

    + Why has the conversation suddenly turned to focus on nothing more than ATP sponsorship income? +

    +
    +

    + Because it’s a nit they can pick and allows them to ignore everything you wrote. That’s the only reason. +

    +

    + One guy is “confused”: +

    +
    +

    + I see. He does have clout, so are you saying he’s too modest in how he sees himself as a dev? +

    +

    + Yes. He can’t be equated to the vast majority of other developers. Like calling Gruber, “just another blogger”. +

    +

    + Alright, that’s fair. I was just confused by the $ and fame angle at first. +

    +
    +

    + Samantha’s point centers on the benefits Marco gains via his fame and background. HOW DO YOU NOT MENTION THAT? HOW IS THAT CONFUSING? +

    +

    + People of course are telling her it’s her fault for mentioning a salient fact at all: +

    +
    +

    + Why has the conversation suddenly turned to focus on nothing more than ATP sponsorship income? +

    +

    + Maybe because you went there with your article? +

    +

    + As a way of rationalizing his ability to gamble with the potential for Overcast to generate income…not the norm at all. +

    +
    +

    + Of course, had she not brought up those important points, she’d have been bagged on for “not providing proof”. Lose some, lose more. By now, she’s had enough and she just deletes all mention of it. Understandable, but sad she was bullied into doing that. +

    +

    + Yes, bullied. That’s all this is. Bullying. She didn’t lie, cheat, or exaagerate. If her numbers were wrong, they weren’t wrong in a way she had any ability to do anything about. But there’s blood in the water, and the comments and attacks get worse: +

    +
    +

    + Because you decided to start a conversation about someone else’s personal shit. You started this war. +

    +
    +

    + War. THIS. IS. WAR. +

    +

    + This is a bunch of nerds attacking someone for reasoned, calm, polite criticism of their friend/idol. Samantha is politely pushing back a bit: +

    +
    +

    + That doesn’t explain why every other part of my article is being pushed aside. +

    +
    +

    + She’s right. This is all nonsense. This is people ignoring her article completely, just looking for things to attack so it can be dismissed. It’s tribalism at its purest. +

    +

    + Then some of the other annointed get into it, including Jason Snell in one of the most spectactular displays of “I have special knowledge you can’t be expected to have, therefore you are totally off base and wrong, even though there’s no way for you to know this” I’ve seen in a while. Jason: +

    +
    +

    + You should never use an ad rate card to estimate ad revenue from any media product ever. +

    +

    + I learned this when I started working for a magazine — rate cards are mostly fiction, like prices on new cars +

    +
    +

    + How…exactly…in the name of whatever deity Jason may believe in…is Samantha or anyone not “in the biz” supposed to know this. Also, what exactly does a magazine on paper like Macworld have to do with sponsorships for a podcast? I have done podcasts that were sponsored, and I can retaliate with “we charged what the rate card said we did. Checkmate Elitests!” +

    +

    + Samantha basically abases herself at his feet: +

    +
    +

    + I understand my mistake, and it’s unfortunate that it has completely diluted the point of my article. +

    +
    +

    + I think she should have told him where and how to stuff that nonsense, but she’s a nicer person than I am. Also, it’s appropriate that Jason’s twitter avatar has its nose in the air. This is some rank snobbery. It’s disgusting and if anyone pulled that on him, Jason would be very upset. But hey, one cannot criticize The Marco without getting pushback. By “pushback”, I mean “an unrelenting fecal flood”. +

    +

    + Her only mistake was criticizing one of the Kool Kids. Folks, if you criticize anyone in The Deck Clique, or their friends, expect the same thing, regardless of tone or point. +

    +

    + Another App Dev, seemingly unable to parse Samantha’s words, needs more explanation: +

    +
    +

    + so just looking over your mentions, I’m curious what exactly was your main point? Ignoring the podcast income bits. +

    +
    +

    + Oh wait, he didn’t even read the article. Good on you, Dev Guy, good. on. you. Still, she plays nice with someone who didn’t even read her article: +

    +
    +

    + That a typical unknown developer can’t depend on patronage to generate revenue, and charging for apps will become a negative. +

    +
    +

    + Marco comes back of course, and now basically accuses her of lying about other devs talking to her and supporting her point: +

    +
    +

    + How many actual developers did you hear from, really? Funny how almost nobody wants to give a (real) name on these accusations. +

    +
    +

    + Really? You’re going to do that? “There’s no name, so I don’t think it’s a real person.” Just…what’s the Joe Welch quote from the McCarthy hearings? +

    +
    +

    + Let us not assassinate this lad further, Senator. You’ve done enough. Have you no sense of decency, sir? At long last, have you left no sense of decency? +

    +
    +

    + That is what this is at this point: character assasination because she said something critical of A Popular Person. It’s disgusting. Depressing and disgusting. No one, none of these people have seriously discussed her point, heck, it looks like they barely bothered to read it, if they did at all. +

    +

    + Marco starts getting really petty with her (no big shock) and Samantha finally starts pushing back: +

    +
    +

    + Glad to see you be the bigger person and ignore the mindset of so many developers not relating to you, good for you! +

    +
    +

    + That of course, is what caused Marco to question the validity, if not the existence of her sources. (Funny how anonymous sources are totes okay when they convenience Marco et al, and work for oh, Apple, but when they are inconvenient? Ha! PROVIDE ME PROOF YOU INTEMPERATE WOMAN!) +

    +

    + Make no mistake, there’s some sexist shit going on here. Every tweet I’ve quoted was authored by a guy. +

    +

    + Of course, Marco has to play the “I’ve been around longer than you” card with this bon mot: +

    +
    +

    + Yup, before you existed! +

    +
    +

    + Really dude? I mean, I’m sorry about the penis, but really? +

    +

    + Mind you, when the criticism isn’t just bizarrely stupid, Samantha reacts the way Marco and his ilk claim they would to (if they ever got any valid criticism. Which clearly is impossible): +

    +
    +

    + Not to get into the middle of this, but “income” is not the term you’re looking for. “Revenue” is. +

    +

    + lol. Noted. +

    +

    + And I wasn’t intending to be a dick, just a lot of people hear/say “income” when they intend “revenue”, and then discussion … +

    +

    + … gets derailed by a jedi handwave of “Expenses”. But outside of charitable donation, it is all directly related. +

    +

    + haha. Thank you for the clarification. +

    +
    +

    + Note to Marco and the other…whatever they are…that is how one reacts to that kind of criticism. With a bit of humor and self-deprecation. You should try it sometime. For real, not just in your heads or conversations in Irish Pubs in S.F. +

    +

    + But now, the door has been cracked, and the cheap shots come out: +

    +
    +

    + @testflight_app: Don’t worry guys, we process @marcoarment’s apps in direct proportion to his megabucks earnings. #fairelephant +

    +
    +

    + (Note: testflight_app is a parody account. Please do not mess with the actual testflight folks. They are still cool.) +

    +

    + Or this…conversation: +

    +
    +
    +
    +
    +
    + +
    Image for post +
    -
    -

    Good job guys. Good job. Defend the tribe. Attack the other. Frederico attempts to recover from his stunning display of demeaning douchery: ‏@viticci: @s_bielefeld I don’t know if it’s an Italian thing, but counting other people’s money is especially weird for me. IMO, bad move in the post.

    -

    Samantha is clearly sick of his crap: ‏@s_bielefeld: @viticci That’s what I’m referring to, the mistake of ever having mentioned it. So, now, Marco can ignore the bigger issue and go on living.

    -

    Good for her. There’s being patient and being roadkill.

    -

    Samantha does put the call out for her sources to maybe let her use their names:

    -
    From all of you I heard from earlier, anyone care to go on record?
    -

    My good friend, The Angry Drunk points out the obvious problem:

    -
    Nobody’s going to go on record when they count on Marco’s friends for their PR.
    -

    This is true. Again, the sites that are Friends of Marco:

    -

    Daring Fireball

    -

    The Loop

    -

    SixColors

    -

    iMore

    -

    MacStories

    -

    A few others, but I want this post to end one day.

    -

    You piss that crew off, and given how petty rather a few of them have demonstrated they are, good luck on getting any kind of notice from them.

    -

    Of course, the idea this could happen is just craycray:

    -
    @KevinColeman .@Angry_Drunk @s_bielefeld @marcoarment Wow, you guys are veering right into crazy conspiracy theory territory. #JetFuelCantMeltSteelBeams
    -

    Yeah. Because a mature person like Marco would never do anything like that.

    -

    Of course, the real point on this is starting to happen:

    -
    you’re getting a lot of heat now but happy you are writing things that stir up the community. Hope you continue to be a voice!
    -
    I doubt I will.
    -

    See, they’ve done their job. Mess with the bull, you get the horns. Maybe you should find another thing to write about, this isn’t a good place for you. Great job y’all.

    -

    Some people aren’t even pretending. They’re just in full strawman mode:

    -
    @timkeller: Unfair to begrudge a person for leveraging past success, especially when that success is earned. No ‘luck’ involved.
    -
    @s_bielefeld: @timkeller I plainly stated that I don’t hold his doing this against him. Way to twist words.
    -

    I think she’s earned her anger at this point.

    -

    Don’t worry, Marco knows what the real problem is: most devs just suck —

    -
    -
    -
    -
    +
    +
    +

    + Good job guys. Good job. Defend the tribe. Attack the other. Frederico attempts to recover from his stunning display of demeaning douchery: ‏@viticci: @s_bielefeld I don’t know if it’s an Italian thing, but counting other people’s money is especially weird for me. IMO, bad move in the post. +

    +

    + Samantha is clearly sick of his crap: ‏@s_bielefeld: @viticci That’s what I’m referring to, the mistake of ever having mentioned it. So, now, Marco can ignore the bigger issue and go on living. +

    +

    + Good for her. There’s being patient and being roadkill. +

    +

    + Samantha does put the call out for her sources to maybe let her use their names: +

    +
    +

    + From all of you I heard from earlier, anyone care to go on record? +

    +
    +

    + My good friend, The Angry Drunk points out the obvious problem: +

    +
    +

    + Nobody’s going to go on record when they count on Marco’s friends for their PR. +

    +
    +

    + This is true. Again, the sites that are Friends of Marco: +

    +

    + Daring Fireball +

    +

    + The Loop +

    +

    + SixColors +

    +

    + iMore +

    +

    + MacStories +

    +

    + A few others, but I want this post to end one day. +

    +

    + You piss that crew off, and given how petty rather a few of them have demonstrated they are, good luck on getting any kind of notice from them. +

    +

    + Of course, the idea this could happen is just craycray: +

    +
    +

    + @KevinColeman .@Angry_Drunk @s_bielefeld @marcoarment Wow, you guys are veering right into crazy conspiracy theory territory. #JetFuelCantMeltSteelBeams +

    +
    +

    + Yeah. Because a mature person like Marco would never do anything like that. +

    +

    + Of course, the real point on this is starting to happen: +

    +
    +

    + you’re getting a lot of heat now but happy you are writing things that stir up the community. Hope you continue to be a voice! +

    +

    + I doubt I will. +

    +
    +

    + See, they’ve done their job. Mess with the bull, you get the horns. Maybe you should find another thing to write about, this isn’t a good place for you. Great job y’all. +

    +

    + Some people aren’t even pretending. They’re just in full strawman mode: +

    +
    +

    + @timkeller: Unfair to begrudge a person for leveraging past success, especially when that success is earned. No ‘luck’ involved. +

    +

    + @s_bielefeld: @timkeller I plainly stated that I don’t hold his doing this against him. Way to twist words. +

    +
    +

    + I think she’s earned her anger at this point. +

    +

    + Don’t worry, Marco knows what the real problem is: most devs just suck — +

    +
    +
    +
    +
    +
    + +
    Image for post +
    -
    -

    I have a saying that applies in this case: don’t place your head so far up your nethers that you go full Klein Bottle. Marco has gone full Klein Bottle. (To be correct, he went FKB some years ago.)

    -

    There are some bright spots. My favorite is when Building Twenty points out the real elephant in the room:

    -
    @BuildingTwenty: Both @s_bielefeld & I wrote similar critiques of @marcoarment’s pricing model yet the Internet pilloried only the woman. Who’d have guessed?
    -

    Yup.

    -

    Another bright spot are these comments from Ian Betteridge, who has been doing this even longer than Marco:

    -
    You know, any writer who has never made a single factual error in a piece hasn’t ever written anything worth reading.
    -
    I learned my job with the support of people who helped me. Had I suffered an Internet pile on for every error I wouldn’t have bothered.
    -

    To which Samantha understandably replies:

    -
    and it’s honestly something I’m contemplating right now, whether to continue…
    -

    Gee, I can’t imagine why. Why with comments like this from Chris Breen that completely misrepresent Samantha’s point, (who until today, I would have absolutely defended as being better than this, something I am genuinely saddened to be wrong about), why wouldn’t she want to continue doing this?

    -
    If I have this right, some people are outraged that a creator has decided to give away his work.
    -

    No Chris, you don’t have this right. But hey, who has time to find out the real issue and read an article. I’m sure your friends told you everything you need to know.

    -

    Noted Feminist Glenn Fleishman gets a piece of the action too:

    -
    -
    -
    -
    +
    +
    +

    + I have a saying that applies in this case: don’t place your head so far up your nethers that you go full Klein Bottle. Marco has gone full Klein Bottle. (To be correct, he went FKB some years ago.) +

    +

    + There are some bright spots. My favorite is when Building Twenty points out the real elephant in the room: +

    +
    +

    + @BuildingTwenty: Both @s_bielefeld & I wrote similar critiques of @marcoarment’s pricing model yet the Internet pilloried only the woman. Who’d have guessed? +

    +
    +

    + Yup. +

    +

    + Another bright spot are these comments from Ian Betteridge, who has been doing this even longer than Marco: +

    +
    +

    + You know, any writer who has never made a single factual error in a piece hasn’t ever written anything worth reading. +

    +

    + I learned my job with the support of people who helped me. Had I suffered an Internet pile on for every error I wouldn’t have bothered. +

    +
    +

    + To which Samantha understandably replies: +

    +
    +

    + and it’s honestly something I’m contemplating right now, whether to continue… +

    +
    +

    + Gee, I can’t imagine why. Why with comments like this from Chris Breen that completely misrepresent Samantha’s point, (who until today, I would have absolutely defended as being better than this, something I am genuinely saddened to be wrong about), why wouldn’t she want to continue doing this? +

    +
    +

    + If I have this right, some people are outraged that a creator has decided to give away his work. +

    +
    +

    + No Chris, you don’t have this right. But hey, who has time to find out the real issue and read an article. I’m sure your friends told you everything you need to know. +

    +

    + Noted Feminist Glenn Fleishman gets a piece of the action too: +

    +
    +
    +
    +
    +
    + +
    Image for post +
    -
    -

    I’m not actually surprised here. I watched Fleishman berate a friend of mine who has been an engineer for…heck, waaaaay too long on major software products in the most condescending way because she tried to point out that as a very technical woman, “The Magazine” literally had nothing to say to her and maybe he should fix that. “Impertinent” was I believe what he called her, but I may have the specific word wrong. Not the attitude mind you. Great Feminists like Glenn do not like uppity women criticizing Great Feminists who are their Great Allies.

    -

    Great Feminists are often tools.

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Luckily, I hope, the people who get Samantha’s point also started chiming in (and you get 100% of the women commenting here that I’ve seen):

    -
    I don’t think he’s wrong for doing it, he just discusses it as if the market’s a level playing field — it isn’t
    -
    This is a great article with lots of great points about the sustainability of iOS development. Thank you for publishing it.
    -
    Regardless of the numbers and your view of MA, fair points here about confirmation bias in app marketing feasibility http://samanthabielefeld.com/the-elephant-in-the-room …
    -
    thank you for posting this, it covers a lot of things people don’t like to talk about.
    -
    I’m sure you have caught untold amounts of flak over posting this because Marco is blind to his privilege as a developer.
    -
    Catching up on the debate, and agreeing with Harry’s remark. (Enjoyed your article, Samantha, and ‘got’ your point.)
    -
    -
    -
    -
    -
    -
    +
    + +

    + I’m not actually surprised here. I watched Fleishman berate a friend of mine who has been an engineer for…heck, waaaaay too long on major software products in the most condescending way because she tried to point out that as a very technical woman, “The Magazine” literally had nothing to say to her and maybe he should fix that. “Impertinent” was I believe what he called her, but I may have the specific word wrong. Not the attitude mind you. Great Feminists like Glenn do not like uppity women criticizing Great Feminists who are their Great Allies. +

    +

    + Great Feminists are often tools. +

    -
    -
    -

    I would like to say I’m surprised at the reaction to Samantha’s article, but I’m not. In spite of his loud declarations of support for The Big Lie, Marco Arment is as bad at any form of criticism that he hasn’t already approved as a very insecure tween. An example from 2011: http://www.businessinsider.com/marco-arment-2011-9

    -

    Marco is great with criticism as long as it never actually criticizes him. If it does, be prepared a flood of petty, petulant whining that a room full of bored preschoolers on a hot day would be hard-pressed to match.

    -

    Today has been…well, it sucks. It sucks because someone doing what all the Arments of the world claim to want was naive enough to believe what they were told, and found out the hard way just how big a lie The Big Lie is, and how vicious people are when you’re silly enough to believe anything they say about criticism.

    -

    And note again, every single condescending crack, misrepresentation, and strawman had an exclusively male source. Most of them have, at one point or another, loudly trumpted themselves as Feminist Allies, as a friend to women struggling with the sexism and misogyny in tech. Congratulations y’all on being just as bad as the people you claim to oppose.

    -

    Samantha has handled this better than anyone else could have. My respect for her as a person and a writer is off the charts. If she choses to walk away from blogging in the Apple space, believe me I understand. As bad as today was for her, I’ve seen worse. Much worse.

    -

    But I hope she doesn’t. I hope she stays, because she is Doing This Right, and in a corner of the internet that has become naught but an endless circle jerk, a cliquish collection, a churlish, childish cohort interested not in writing or the truth, but in making sure The Right People are elevated, and The Others put down, she is someone worth reading and listening to. The number people who owe her apologies goes around the block, and I don’t think she’ll ever see a one. I’m sure as heck not apologizing for them, I’ll not make their lives easier in the least.

    -

    All of you, all. of. you…Marco, Breen, Snell, Vittici, had a chance to live by your words. You were faced with reasoned, polite, respectful criticism and instead of what you should have done, you all dropped trou and sprayed an epic diarrheal discharge all over someone who had done nothing to deserve it. Me, I earned most of my aggro, Samantha did not earn any of the idiocy I’ve seen today. I hope you’re all proud of yourselves. Someone should be, it won’t be me. Ever.

    -

    So I hope she stays, but if she goes, I understand. For what it’s worth, I don’t think she’s wrong either way.

    -
    +
    + +
    +
    +
    +
    +

    + Luckily, I hope, the people who get Samantha’s point also started chiming in (and you get 100% of the women commenting here that I’ve seen): +

    +
    +

    + I don’t think he’s wrong for doing it, he just discusses it as if the market’s a level playing field — it isn’t +

    +

    + This is a great article with lots of great points about the sustainability of iOS development. Thank you for publishing it. +

    +

    + Regardless of the numbers and your view of MA, fair points here about confirmation bias in app marketing feasibility http://samanthabielefeld.com/the-elephant-in-the-room … +

    +

    + thank you for posting this, it covers a lot of things people don’t like to talk about. +

    +

    + I’m sure you have caught untold amounts of flak over posting this because Marco is blind to his privilege as a developer. +

    +

    + Catching up on the debate, and agreeing with Harry’s remark. (Enjoyed your article, Samantha, and ‘got’ your point.) +

    +
    -
    -
    - - - -
    -
    -
      -
    • Share
    • -
    • -
      -
    • -
    • -
    • -
    +
    -
    -
    -
    -
    - Go to the profile of John C. Welch +
    +
    +
    +
    +
    +
    + +

    + Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch +

    +
    +
    + +

    + Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore +

    +
    +
    + +

    + Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade +

    +
    +
    -
    -
    Never miss a story from John C. Welch, when you sign up for Medium. Learn more
    -
    Never miss a story from John C. Welch
    +
    +
    + + +
    +

    +
    About +

    + Help +

    +

    + Legal +

    +
    +
    +
    +

    + Get the Medium app +

    +
    +
    +
    + A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store +
    +
    + A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store +
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - - - -
    - - - - + + + + + + + + + + + + + + + + + diff --git a/test/test-pages/mercurial/expected.html b/test/test-pages/mercurial/expected.html index f2eb255..81f38fc 100644 --- a/test/test-pages/mercurial/expected.html +++ b/test/test-pages/mercurial/expected.html @@ -1,81 +1,72 @@
    -
    -
    -

    Once you have mastered the art of mutable history in a single repository (see the user guide), you can move up to the next level: shared mutable history. evolve lets you push and pull draft changesets between repositories along with their obsolescence markers. This opens up a number of interesting possibilities.

    -

    The simplest scenario is a single developer working across two computers. Say you’re working on code that must be tested on a remote test server, probably in a rack somewhere, only accessible by SSH, and running an “enterprise-grade” (out-of-date) OS. But you probably prefer to write code locally: everything is setup the way you like it, and you can use your preferred editor, IDE, merge/diff tools, etc.

    -

    Traditionally, your options are limited: either

    -
    -
    -
      -
    • (ab)use your source control system by committing half-working code in order to get it onto the remote test server, or
    • -
    • go behind source control’s back by using rsync (or similar) to transfer your code back-and-forth until it is ready to commit
    • -
    -
    -
    -

    The former is less bad with distributed version control systems like Mercurial, but it’s still far from ideal. (One important version control “best practice” is that every commit should make things just a little bit better, i.e. you should never commit code that is worse than what came before.) The latter, avoiding version control entirely, means that you’re walking a tightrope without a safety net. One accidental rsync in the wrong direction could destroy hours of work.

    -

    Using Mercurial with evolve to share mutable history solves these problems. As with single-repository evolve, you can commit whenever the code is demonstrably better, even if all the tests aren’t passing yet—just hg amend when they are. And you can transfer those half-baked changesets between repositories to try things out on your test server before anything is carved in stone.

    -

    A less common scenario is multiple developers sharing mutable history, typically for code review. We’ll cover this scenario later. First, we will cover single-user sharing.

    -
    -

    - Sharing with a single developer -

    -
    -

    - Publishing and non-publishing repositories -

    -

    The key to shared mutable history is to keep your changesets in draft phase as you pass them around. Recall that by default, hg push promotes changesets from draft to public, and public changesets are immutable. You can change this behaviour by reconfiguring the remote repository so that it is non-publishing. (Short version: set phases.publish to false. Long version follows.)

    -
    -
    -

    - Setting up -

    -

    We’ll work through an example with three local repositories, although in the real world they’d most likely be on three different computers. First, the public repository is where tested, polished changesets live, and it is where you synchronize with the rest of your team.

    -

    We’ll need two clones where work gets done, test-repo and dev-repo:

    -
    -
    -
    $ hg clone public test-repo
    +    
    +

    Once you have mastered the art of mutable history in a single repository (see the user guide), you can move up to the next level: shared mutable history. evolve lets you push and pull draft changesets between repositories along with their obsolescence markers. This opens up a number of interesting possibilities.

    +

    The simplest scenario is a single developer working across two computers. Say you’re working on code that must be tested on a remote test server, probably in a rack somewhere, only accessible by SSH, and running an “enterprise-grade” (out-of-date) OS. But you probably prefer to write code locally: everything is setup the way you like it, and you can use your preferred editor, IDE, merge/diff tools, etc.

    +

    Traditionally, your options are limited: either

    +
    +
    +
      +
    • (ab)use your source control system by committing half-working code in order to get it onto the remote test server, or
    • +
    • go behind source control’s back by using rsync (or similar) to transfer your code back-and-forth until it is ready to commit
    • +
    +
    +
    +

    The former is less bad with distributed version control systems like Mercurial, but it’s still far from ideal. (One important version control “best practice” is that every commit should make things just a little bit better, i.e. you should never commit code that is worse than what came before.) The latter, avoiding version control entirely, means that you’re walking a tightrope without a safety net. One accidental rsync in the wrong direction could destroy hours of work.

    +

    Using Mercurial with evolve to share mutable history solves these problems. As with single-repository evolve, you can commit whenever the code is demonstrably better, even if all the tests aren’t passing yet—just hg amend when they are. And you can transfer those half-baked changesets between repositories to try things out on your test server before anything is carved in stone.

    +

    A less common scenario is multiple developers sharing mutable history, typically for code review. We’ll cover this scenario later. First, we will cover single-user sharing.

    +
    +

    + Sharing with a single developer +

    +
    +

    + Publishing and non-publishing repositories +

    +

    The key to shared mutable history is to keep your changesets in draft phase as you pass them around. Recall that by default, hg push promotes changesets from draft to public, and public changesets are immutable. You can change this behaviour by reconfiguring the remote repository so that it is non-publishing. (Short version: set phases.publish to false. Long version follows.)

    +
    +
    +

    + Setting up +

    +

    We’ll work through an example with three local repositories, although in the real world they’d most likely be on three different computers. First, the public repository is where tested, polished changesets live, and it is where you synchronize with the rest of your team.

    +

    We’ll need two clones where work gets done, test-repo and dev-repo:

    +
    +
    $ hg clone public test-repo
     updating to branch default
     0 files updated, 0 files merged, 0 files removed, 0 files unresolved
     $ hg clone test-repo dev-repo
     updating to branch default
     0 files updated, 0 files merged, 0 files removed, 0 files unresolved
     
    -
    -
    -

    - dev-repo is your local machine, with GUI merge tools and IDEs and everything configured just the way you like it. test-repo is the test server in a rack somewhere behind SSH. So for the most part, we’ll develop in dev-repo, push to test-repo, test and polish there, and push to public.

    -

    The key to shared mutable history is to make the target repository, in this case test-repo, non-publishing. And, of course, we have to enable the evolve extension in both test-repo and dev-repo.

    -

    First, edit the configuration for test-repo:

    -
    -
    -
    $ hg -R test-repo config --edit --local
    -
    -
    -
    -

    and add

    -
    -
    -
    [phases]
    +                
    +

    + dev-repo is your local machine, with GUI merge tools and IDEs and everything configured just the way you like it. test-repo is the test server in a rack somewhere behind SSH. So for the most part, we’ll develop in dev-repo, push to test-repo, test and polish there, and push to public. +

    +

    The key to shared mutable history is to make the target repository, in this case test-repo, non-publishing. And, of course, we have to enable the evolve extension in both test-repo and dev-repo.

    +

    First, edit the configuration for test-repo:

    +
    +
    $ hg -R test-repo config --edit --local
    +
    +
    +

    and add

    +
    +
    [phases]
     publish = false
     
     [extensions]
     evolve =
     
    -
    -
    -

    Then edit the configuration for dev-repo:

    -
    -
    -
    $ hg -R dev-repo config --edit --local
    -
    -
    -
    -

    and add

    -

    Keep in mind that in real life, these repositories would probably be on separate computers, so you’d have to login to each one to configure each repository.

    -

    To start things off, let’s make one public, immutable changeset:

    -
    -
    -
    $ cd test-repo
    +                
    +

    Then edit the configuration for dev-repo:

    +
    +
    $ hg -R dev-repo config --edit --local
    +
    +
    +

    and add

    +

    Keep in mind that in real life, these repositories would probably be on separate computers, so you’d have to login to each one to configure each repository.

    +

    To start things off, let’s make one public, immutable changeset:

    +
    +
    $ cd test-repo
     $ echo 'my new project' > file1
     $ hg add file1
     $ hg commit -m 'create new project'
    @@ -83,97 +74,83 @@ $ hg push
     [...]
     added 1 changesets with 1 changes to 1 files
     
    -
    -
    -

    and pull that into the development repository:

    -
    -
    -
    $ cd ../dev-repo
    +                
    +

    and pull that into the development repository:

    +
    +
    $ cd ../dev-repo
     $ hg pull -u
     [...]
     added 1 changesets with 1 changes to 1 files
     1 files updated, 0 files merged, 0 files removed, 0 files unresolved
     
    -
    -
    -
    -
    -

    - Example 2: Amend again, locally -

    -

    This process can repeat. Perhaps you figure out a more elegant fix to the bug, and want to mutate history so nobody ever knows you had a less-than-perfect idea. We’ll implement it locally in dev-repo and push to test-repo:

    -
    -
    -
    $ echo 'Fix, fix, and fix.' > file1
    +                
    +
    +
    +

    + Example 2: Amend again, locally +

    +

    This process can repeat. Perhaps you figure out a more elegant fix to the bug, and want to mutate history so nobody ever knows you had a less-than-perfect idea. We’ll implement it locally in dev-repo and push to test-repo:

    +
    +
    $ echo 'Fix, fix, and fix.' > file1
     $ hg amend
     $ hg push
     
    -
    -
    -

    This time around, the temporary amend commit is in dev-repo, and it is not transferred to test-repo—the same as before, just in the opposite direction. Figure 4 shows the two repositories after amending in dev-repo and pushing to test-repo.

    -
    -

    [figure SG04: each repo has one temporary amend commit, but they’re different in each one]

    -
    -

    Let’s hop over to test-repo to test the more elegant fix:

    -
    -
    -
    $ cd ../test-repo
    +                
    +

    This time around, the temporary amend commit is in dev-repo, and it is not transferred to test-repo—the same as before, just in the opposite direction. Figure 4 shows the two repositories after amending in dev-repo and pushing to test-repo.

    +
    +

    [figure SG04: each repo has one temporary amend commit, but they’re different in each one]

    +
    +

    Let’s hop over to test-repo to test the more elegant fix:

    +
    +
    $ cd ../test-repo
     $ hg update
     1 files updated, 0 files merged, 0 files removed, 0 files unresolved
     
    -
    -
    -

    This time, all the tests pass, so no further amending is required. This bug fix is finished, so we push it to the public repository:

    -
    -
    -
    $ hg push
    +                
    +

    This time, all the tests pass, so no further amending is required. This bug fix is finished, so we push it to the public repository:

    +
    +
    $ hg push
     [...]
     added 1 changesets with 1 changes to 1 files
     
    -
    -
    -

    Note that only one changeset—the final version, after two amendments—was actually pushed. Again, Mercurial doesn’t transfer hidden changesets on push and pull.

    -

    So the picture in public is much simpler than in either dev-repo or test-repo. Neither of our missteps nor our amendments are publicly visible, just the final, beautifully polished changeset:

    -
    -

    [figure SG05: public repo with rev 0:0dc9, 1:de61, both public]

    -
    -

    There is one important step left to do. Because we pushed from test-repo to public, the pushed changeset is in public phase in those two repositories. But dev-repo has been out-of-the-loop; changeset de61 is still draft there. If we’re not careful, we might mutate history in dev-repo, obsoleting a changeset that is already public. Let’s avoid that situation for now by pushing up to dev-repo:

    -
    -
    -
    $ hg push ../dev-repo
    +                
    +

    Note that only one changeset—the final version, after two amendments—was actually pushed. Again, Mercurial doesn’t transfer hidden changesets on push and pull.

    +

    So the picture in public is much simpler than in either dev-repo or test-repo. Neither of our missteps nor our amendments are publicly visible, just the final, beautifully polished changeset:

    +
    +

    [figure SG05: public repo with rev 0:0dc9, 1:de61, both public]

    +
    +

    There is one important step left to do. Because we pushed from test-repo to public, the pushed changeset is in public phase in those two repositories. But dev-repo has been out-of-the-loop; changeset de61 is still draft there. If we’re not careful, we might mutate history in dev-repo, obsoleting a changeset that is already public. Let’s avoid that situation for now by pushing up to dev-repo:

    +
    +
    $ hg push ../dev-repo
     pushing to ../dev-repo
     searching for changes
     no changes found
     
    -
    -
    -

    Even though no changesets were pushed, Mercurial still pushed obsolescence markers and phase changes to dev-repo.

    -

    A final note: since this fix is now public, it is immutable. It’s no longer possible to amend it:

    -
    -
    -
    $ hg amend -m 'fix bug 37'
    +                
    +

    Even though no changesets were pushed, Mercurial still pushed obsolescence markers and phase changes to dev-repo.

    +

    A final note: since this fix is now public, it is immutable. It’s no longer possible to amend it:

    +
    +
    $ hg amend -m 'fix bug 37'
     abort: cannot amend public changesets
     
    -
    -
    -

    This is, after all, the whole point of Mercurial’s phases: to prevent rewriting history that has already been published.

    +

    This is, after all, the whole point of Mercurial’s phases: to prevent rewriting history that has already been published.

    -
    -

    - Sharing with multiple developers: code review -

    -

    Now that you know how to share your own mutable history across multiple computers, you might be wondering if it makes sense to share mutable history with others. It does, but you have to be careful, stay alert, and communicate with your peers.

    -

    Code review is a good use case for sharing mutable history across multiple developers: Alice commits a draft changeset, submits it for review, and amends her changeset until her reviewer is satisfied. Meanwhile, Bob is also committing draft changesets for review, amending until his reviewer is satisfied. Once a particular changeset passes review, the respective author (Alice or Bob) pushes it to the public (publishing) repository.

    -

    Incidentally, the reviewers here can be anyone: maybe Bob and Alice review each other’s work; maybe the same third party reviews both; or maybe they pick different experts to review their work on different parts of a large codebase. Similarly, it doesn’t matter if reviews are conducted in person, by email, or by carrier pigeon. Code review is outside of the scope of Mercurial, so all we’re looking at here is the mechanics of committing, amending, pushing, and pulling.

    -
    -

    - Setting up -

    -

    To demonstrate, let’s start with the public repository as we left it in the last example, with two immutable changesets (figure 5 above). We’ll clone a review repository from it, and then Alice and Bob will both clone from review.

    -
    -
    -
    $ hg clone public review
    +        
    +
    +

    + Sharing with multiple developers: code review +

    +

    Now that you know how to share your own mutable history across multiple computers, you might be wondering if it makes sense to share mutable history with others. It does, but you have to be careful, stay alert, and communicate with your peers.

    +

    Code review is a good use case for sharing mutable history across multiple developers: Alice commits a draft changeset, submits it for review, and amends her changeset until her reviewer is satisfied. Meanwhile, Bob is also committing draft changesets for review, amending until his reviewer is satisfied. Once a particular changeset passes review, the respective author (Alice or Bob) pushes it to the public (publishing) repository.

    +

    Incidentally, the reviewers here can be anyone: maybe Bob and Alice review each other’s work; maybe the same third party reviews both; or maybe they pick different experts to review their work on different parts of a large codebase. Similarly, it doesn’t matter if reviews are conducted in person, by email, or by carrier pigeon. Code review is outside of the scope of Mercurial, so all we’re looking at here is the mechanics of committing, amending, pushing, and pulling.

    +
    +

    + Setting up +

    +

    To demonstrate, let’s start with the public repository as we left it in the last example, with two immutable changesets (figure 5 above). We’ll clone a review repository from it, and then Alice and Bob will both clone from review.

    +
    +
    $ hg clone public review
     updating to branch default
     1 files updated, 0 files merged, 0 files removed, 0 files unresolved
     $ hg clone review alice
    @@ -183,77 +160,65 @@ $ hg clone review bob
     updating to branch default
     1 files updated, 0 files merged, 0 files removed, 0 files unresolved
     
    -
    -
    -

    We need to configure Alice’s and Bob’s working repositories to enable evolve. First, edit Alice’s configuration with

    -
    -
    -
    $ hg -R alice config --edit --local
    -
    -
    -
    -

    and add

    -

    Then edit Bob’s repository configuration:

    -
    -
    -
    $ hg -R bob config --edit --local
    -
    -
    -
    -

    and add the same text.

    -
    -
    -

    - Example 3: Alice commits and amends a draft fix -

    -

    We’ll follow Alice working on a bug fix. We’re going to use bookmarks to make it easier to understand multiple branch heads in the review repository, so Alice starts off by creating a bookmark and committing her first attempt at a fix:

    -
    -
    -
    $ hg bookmark bug15
    +                
    +

    We need to configure Alice’s and Bob’s working repositories to enable evolve. First, edit Alice’s configuration with

    +
    +
    $ hg -R alice config --edit --local
    +
    +
    +

    and add

    +

    Then edit Bob’s repository configuration:

    +
    +
    $ hg -R bob config --edit --local
    +
    +
    +

    and add the same text.

    +
    +
    +

    + Example 3: Alice commits and amends a draft fix +

    +

    We’ll follow Alice working on a bug fix. We’re going to use bookmarks to make it easier to understand multiple branch heads in the review repository, so Alice starts off by creating a bookmark and committing her first attempt at a fix:

    +
    +
    $ hg bookmark bug15
     $ echo 'fix' > file2
     $ hg commit -A -u alice -m 'fix bug 15 (v1)'
     adding file2
     
    -
    -
    -

    Note the unorthodox “(v1)” in the commit message. We’re just using that to make this tutorial easier to follow; it’s not something we’d recommend in real life.

    -

    Of course Alice wouldn’t commit unless her fix worked to her satisfaction, so it must be time to solicit a code review. She does this by pushing to the review repository:

    -
    -
    -
    $ hg push -B bug15
    +                
    +

    Note the unorthodox “(v1)” in the commit message. We’re just using that to make this tutorial easier to follow; it’s not something we’d recommend in real life.

    +

    Of course Alice wouldn’t commit unless her fix worked to her satisfaction, so it must be time to solicit a code review. She does this by pushing to the review repository:

    +
    +
    $ hg push -B bug15
     [...]
     added 1 changesets with 1 changes to 1 files
     exporting bookmark bug15
     
    -
    -
    -

    (The use of -B is important to ensure that we only push the bookmarked head, and that the bookmark itself is pushed. See this guide to bookmarks, especially the Sharing Bookmarks section, if you’re not familiar with bookmarks.)

    -

    Some time passes, and Alice receives her code review. As a result, Alice revises her fix and submits it for a second review:

    -
    -
    -
    $ echo 'Fix.' > file2
    +                
    +

    (The use of -B is important to ensure that we only push the bookmarked head, and that the bookmark itself is pushed. See this guide to bookmarks, especially the Sharing Bookmarks section, if you’re not familiar with bookmarks.)

    +

    Some time passes, and Alice receives her code review. As a result, Alice revises her fix and submits it for a second review:

    +
    +
    $ echo 'Fix.' > file2
     $ hg amend -m 'fix bug 15 (v2)'
     $ hg push
     [...]
     added 1 changesets with 1 changes to 1 files (+1 heads)
     updating bookmark bug15
     
    -
    -
    -

    Figure 6 shows the state of the review repository at this point.

    -
    -

    [figure SG06: rev 2:fn1e is Alice’s obsolete v1, rev 3:cbdf is her v2; both children of rev 1:de61]

    -
    -

    After a busy morning of bug fixing, Alice stops for lunch. Let’s see what Bob has been up to.

    -
    -
    -

    - Example 4: Bob implements and publishes a new feature -

    -

    Meanwhile, Bob has been working on a new feature. Like Alice, he’ll use a bookmark to track his work, and he’ll push that bookmark to the review repository, so that reviewers know which changesets to review.

    -
    -
    -
    $ cd ../bob
    +                
    +

    Figure 6 shows the state of the review repository at this point.

    +
    +

    [figure SG06: rev 2:fn1e is Alice’s obsolete v1, rev 3:cbdf is her v2; both children of rev 1:de61]

    +
    +

    After a busy morning of bug fixing, Alice stops for lunch. Let’s see what Bob has been up to.

    +
    +
    +

    + Example 4: Bob implements and publishes a new feature +

    +

    Meanwhile, Bob has been working on a new feature. Like Alice, he’ll use a bookmark to track his work, and he’ll push that bookmark to the review repository, so that reviewers know which changesets to review.

    +
    +
    $ cd ../bob
     $ echo 'stuff' > file1
     $ hg bookmark featureX
     $ hg commit -u bob -m 'implement feature X (v1)'          # rev 4:1636
    @@ -262,72 +227,60 @@ $ hg push -B featureX
     added 1 changesets with 1 changes to 1 files (+1 heads)
     exporting bookmark featureX
     
    -
    -
    -

    When Bob receives his code review, he improves his implementation a bit, amends, and submits the resulting changeset for review:

    -
    -
    -
    $ echo 'do stuff' > file1
    +                
    +

    When Bob receives his code review, he improves his implementation a bit, amends, and submits the resulting changeset for review:

    +
    +
    $ echo 'do stuff' > file1
     $ hg amend -m 'implement feature X (v2)'                  # rev 5:0eb7
     $ hg push
     [...]
     added 1 changesets with 1 changes to 1 files (+1 heads)
     updating bookmark featureX
     
    -
    -
    -

    Unfortunately, that still doesn’t pass muster. Bob’s reviewer insists on proper capitalization and punctuation.

    -
    -
    -
    $ echo 'Do stuff.' > file1
    +                
    +

    Unfortunately, that still doesn’t pass muster. Bob’s reviewer insists on proper capitalization and punctuation.

    +
    +
    $ echo 'Do stuff.' > file1
     $ hg amend -m 'implement feature X (v3)'                  # rev 6:540b
     
    -
    -
    -

    On the bright side, the second review said, “Go ahead and publish once you fix that.” So Bob immediately publishes his third attempt:

    -
    -
    -
    $ hg push ../public
    +                
    +

    On the bright side, the second review said, “Go ahead and publish once you fix that.” So Bob immediately publishes his third attempt:

    +
    +
    $ hg push ../public
     [...]
     added 1 changesets with 1 changes to 1 files
     
    -
    -
    -

    It’s not enough just to update public, though! Other people also use the review repository, and right now it doesn’t have Bob’s latest amendment (“v3”, revision 6:540b), nor does it know that the precursor of that changeset (“v2”, revision 5:0eb7) is obsolete. Thus, Bob pushes to review as well:

    -
    -
    -
    $ hg push ../review
    +                
    +

    It’s not enough just to update public, though! Other people also use the review repository, and right now it doesn’t have Bob’s latest amendment (“v3”, revision 6:540b), nor does it know that the precursor of that changeset (“v2”, revision 5:0eb7) is obsolete. Thus, Bob pushes to review as well:

    +
    +
    $ hg push ../review
     [...]
     added 1 changesets with 1 changes to 1 files (+1 heads)
     updating bookmark featureX
     
    -
    -
    -

    Figure 7 shows the result of Bob’s work in both review and public.

    -
    -

    [figure SG07: review includes Alice’s draft work on bug 15, as well as Bob’s v1, v2, and v3 changes for feature X: v1 and v2 obsolete, v3 public. public contains only the final, public implementation of feature X]

    -
    -

    Incidentally, it’s important that Bob push to public before review. If he pushed to review first, then revision 6:540b would still be in draft phase in review, but it would be public in both Bob’s local repository and the public repository. That could lead to confusion at some point, which is easily avoided by pushing first to public.

    -
    -
    -

    - Example 5: Alice integrates and publishes -

    -

    Finally, Alice gets back from lunch and sees that the carrier pigeon with her second review has arrived (or maybe it’s in her email inbox). Alice’s reviewer approved her amended changeset, so she pushes it to public:

    -
    -
    -
    $ hg push ../public
    +                
    +

    Figure 7 shows the result of Bob’s work in both review and public.

    +
    +

    [figure SG07: review includes Alice’s draft work on bug 15, as well as Bob’s v1, v2, and v3 changes for feature X: v1 and v2 obsolete, v3 public. public contains only the final, public implementation of feature X]

    +
    +

    Incidentally, it’s important that Bob push to public before review. If he pushed to review first, then revision 6:540b would still be in draft phase in review, but it would be public in both Bob’s local repository and the public repository. That could lead to confusion at some point, which is easily avoided by pushing first to public.

    +
    +
    +

    + Example 5: Alice integrates and publishes +

    +

    Finally, Alice gets back from lunch and sees that the carrier pigeon with her second review has arrived (or maybe it’s in her email inbox). Alice’s reviewer approved her amended changeset, so she pushes it to public:

    +
    +
    $ hg push ../public
     [...]
     remote has heads on branch 'default' that are not known locally: 540ba8f317e6
     abort: push creates new remote head cbdfbd5a5db2!
     (pull and merge or see "hg help push" for details about pushing new heads)
     
    -
    -
    -

    Oops! Bob has won the race to push first to public. So Alice needs to integrate with Bob: let’s pull his changeset(s) and see what the branch heads are.

    -
    -
    -
    $ hg pull ../public
    +                
    +

    Oops! Bob has won the race to push first to public. So Alice needs to integrate with Bob: let’s pull his changeset(s) and see what the branch heads are.

    +
    +
    $ hg pull ../public
     [...]
     added 1 changesets with 1 changes to 1 files (+1 heads)
     (run 'hg heads' to see heads, 'hg merge' to merge)
    @@ -337,12 +290,10 @@ o  5:540ba8f317e6  (bob)
     | @  4:cbdfbd5a5db2  (alice)
     |/
     
    -
    -
    -

    We’ll assume Alice and Bob are perfectly comfortable with rebasing changesets. (After all, they’re already using mutable history in the form of amend.) So Alice rebases her changeset on top of Bob’s and publishes the result:

    -
    -
    -
    $ hg rebase -d 5
    +                
    +

    We’ll assume Alice and Bob are perfectly comfortable with rebasing changesets. (After all, they’re already using mutable history in the form of amend.) So Alice rebases her changeset on top of Bob’s and publishes the result:

    +
    +
    $ hg rebase -d 5
     $ hg push ../public
     [...]
     added 1 changesets with 1 changes to 1 files
    @@ -351,30 +302,28 @@ $ hg push ../review
     added 1 changesets with 0 changes to 0 files
     updating bookmark bug15
     
    -
    -
    -

    The result, in both review and public repositories, is shown in figure 8.

    -
    -

    [figure SG08: review shows v1 and v2 of Alice’s fix, then v1, v2, v3 of Bob’s feature, finally Alice’s fix rebased onto Bob’s. public just shows the final public version of each changeset]

    -
    +

    The result, in both review and public repositories, is shown in figure 8.

    +
    +

    [figure SG08: review shows v1 and v2 of Alice’s fix, then v1, v2, v3 of Bob’s feature, finally Alice’s fix rebased onto Bob’s. public just shows the final public version of each changeset]

    +
    -
    -

    - Getting into trouble with shared mutable history -

    -

    Mercurial with evolve is a powerful tool, and using powerful tools can have consequences. (You can cut yourself badly with a sharp knife, but every competent chef keeps several around. Ever try to chop onions with a spoon?)

    -

    In the user guide, we saw examples of unstbale changesets, which are the most common type of troubled changeset. (Recall that a non-obsolete changeset with obsolete ancestors is an orphan.)

    -

    Two other types of troubles can happen: divergent and bumped changesets. Both are more likely with shared mutable history, especially mutable history shared by multiple developers.

    -
    -

    - Setting up -

    -

    For these examples, we’re going to use a slightly different workflow: as before, Alice and Bob share a public repository. But this time there is no review repository. Instead, Alice and Bob put on their cowboy hats, throw good practice to the wind, and pull directly from each other’s working repositories.

    -

    So we throw away everything except public and reclone:

    -
    -
    -
    $ rm -rf review alice bob
    +        
    +
    +

    + Getting into trouble with shared mutable history +

    +

    Mercurial with evolve is a powerful tool, and using powerful tools can have consequences. (You can cut yourself badly with a sharp knife, but every competent chef keeps several around. Ever try to chop onions with a spoon?)

    +

    In the user guide, we saw examples of unstbale changesets, which are the most common type of troubled changeset. (Recall that a non-obsolete changeset with obsolete ancestors is an orphan.)

    +

    Two other types of troubles can happen: divergent and bumped changesets. Both are more likely with shared mutable history, especially mutable history shared by multiple developers.

    +
    +

    + Setting up +

    +

    For these examples, we’re going to use a slightly different workflow: as before, Alice and Bob share a public repository. But this time there is no review repository. Instead, Alice and Bob put on their cowboy hats, throw good practice to the wind, and pull directly from each other’s working repositories.

    +

    So we throw away everything except public and reclone:

    +
    +
    $ rm -rf review alice bob
     $ hg clone public alice
     updating to branch default
     2 files updated, 0 files merged, 0 files removed, 0 files unresolved
    @@ -382,125 +331,105 @@ $ hg clone public bob
     updating to branch default
     2 files updated, 0 files merged, 0 files removed, 0 files unresolved
     
    -
    -
    -

    Once again we have to configure their repositories: enable evolve and (since Alice and Bob will be pulling directly from each other) make their repositories non-publishing. Edit Alice’s configuration:

    -
    -
    -
    $ hg -R alice config --edit --local
    -
    -
    -
    -

    and add

    -
    -
    -
    [extensions]
    +                
    +

    Once again we have to configure their repositories: enable evolve and (since Alice and Bob will be pulling directly from each other) make their repositories non-publishing. Edit Alice’s configuration:

    +
    +
    $ hg -R alice config --edit --local
    +
    +
    +

    and add

    +
    +
    [extensions]
     rebase =
     evolve =
     
     [phases]
     publish = false
     
    -
    -
    -

    Then edit Bob’s repository configuration:

    -
    -
    -
    $ hg -R bob config --edit --local
    -
    -
    -
    -

    and add the same text.

    -
    -
    -

    - Example 6: Divergent changesets -

    -

    When an obsolete changeset has two successors, those successors are divergent. One way to get into such a situation is by failing to communicate with your teammates. Let’s see how that might happen.

    -

    First, we’ll have Bob commit a bug fix that could still be improved:

    -
    -
    -
    $ cd bob
    +                
    +

    Then edit Bob’s repository configuration:

    +
    +
    $ hg -R bob config --edit --local
    +
    +
    +

    and add the same text.

    +
    +
    +

    + Example 6: Divergent changesets +

    +

    When an obsolete changeset has two successors, those successors are divergent. One way to get into such a situation is by failing to communicate with your teammates. Let’s see how that might happen.

    +

    First, we’ll have Bob commit a bug fix that could still be improved:

    +
    +
    $ cd bob
     $ echo 'pretty good fix' >> file1
     $ hg commit -u bob -m 'fix bug 24 (v1)'                   # rev 4:2fe6
     
    -
    -
    -

    Since Alice and Bob are now in cowboy mode, Alice pulls Bob’s draft changeset and amends it herself.

    -
    -
    -
    $ cd ../alice
    +                
    +

    Since Alice and Bob are now in cowboy mode, Alice pulls Bob’s draft changeset and amends it herself.

    +
    +
    $ cd ../alice
     $ hg pull -u ../bob
     [...]
     added 1 changesets with 1 changes to 1 files
     $ echo 'better fix (alice)' >> file1
     $ hg amend -u alice -m 'fix bug 24 (v2 by alice)'
     
    -
    -
    -

    But Bob has no idea that Alice just did this. (See how important good communication is?) So he implements a better fix of his own:

    -
    -
    -
    $ cd ../bob
    +                
    +

    But Bob has no idea that Alice just did this. (See how important good communication is?) So he implements a better fix of his own:

    +
    +
    $ cd ../bob
     $ echo 'better fix (bob)' >> file1
     $ hg amend -u bob -m 'fix bug 24 (v2 by bob)'             # rev 6:a360
     
    -
    -
    -

    At this point, the divergence exists, but only in theory: Bob’s original changeset, 4:2fe6, is obsolete and has two successors. But those successors are in different repositories, so the trouble is not visible to anyone yet. It will be as soon as Bob pulls from Alice’s repository (or vice-versa).

    -
    -
    -
    $ hg pull ../alice
    +                
    +

    At this point, the divergence exists, but only in theory: Bob’s original changeset, 4:2fe6, is obsolete and has two successors. But those successors are in different repositories, so the trouble is not visible to anyone yet. It will be as soon as Bob pulls from Alice’s repository (or vice-versa).

    +
    +
    $ hg pull ../alice
     [...]
     added 1 changesets with 1 changes to 2 files (+1 heads)
     (run 'hg heads' to see heads, 'hg merge' to merge)
     2 new divergent changesets
     
    -
    -
    -

    Figure 9 shows the situation in Bob’s repository.

    -
    -

    [figure SG09: Bob’s repo with 2 heads for the 2 divergent changesets, 6:a360 and 7:e3f9; wc is at 6:a360; both are successors of obsolete 4:2fe6, hence divergence]

    -
    -

    Now we need to get out of trouble. As usual, the answer is to evolve history.

    -
    -
    -
    $ HGMERGE=internal:other hg evolve
    +                
    +

    Figure 9 shows the situation in Bob’s repository.

    +
    +

    [figure SG09: Bob’s repo with 2 heads for the 2 divergent changesets, 6:a360 and 7:e3f9; wc is at 6:a360; both are successors of obsolete 4:2fe6, hence divergence]

    +
    +

    Now we need to get out of trouble. As usual, the answer is to evolve history.

    +
    +
    $ HGMERGE=internal:other hg evolve
     merge:[6] fix bug 24 (v2 by bob)
     with: [7] fix bug 24 (v2 by alice)
     base: [4] fix bug 24 (v1)
     0 files updated, 1 files merged, 0 files removed, 0 files unresolved
     
    -
    -
    -

    Figure 10 shows how Bob’s repository looks now.

    -
    -

    [figure SG10: only one visible head, 9:5ad6, successor to hidden 6:a360 and 7:e3f9]

    -
    -

    We carefully dodged a merge conflict by specifying a merge tool (internal:other) that will take Alice’s changes over Bob’s. (You might wonder why Bob wouldn’t prefer his own changes by using internal:local. He’s avoiding a bug in evolve that occurs when evolving divergent changesets using internal:local.)

    -

    # XXX this link does not work .. bug: https://bitbucket.org/marmoute/mutable-history/issue/48/ -

    -

    ** STOP HERE: WORK IN PROGRESS **

    -
    -
    -

    - Phase-divergence: when a rewritten changeset is made public -

    -

    If Alice and Bob are collaborating on some mutable changesets, it’s possible to get into a situation where an otherwise worthwhile changeset cannot be pushed to the public repository; it is phase-divergent with another changeset that was made public first. Let’s demonstrate one way this could happen.

    -

    It starts with Alice committing a bug fix. Right now, we don’t yet know if this bug fix is good enough to push to the public repository, but it’s good enough for Alice to commit.

    -
    -
    -
    $ cd alice
    +                
    +

    Figure 10 shows how Bob’s repository looks now.

    +
    +

    [figure SG10: only one visible head, 9:5ad6, successor to hidden 6:a360 and 7:e3f9]

    +
    +

    We carefully dodged a merge conflict by specifying a merge tool (internal:other) that will take Alice’s changes over Bob’s. (You might wonder why Bob wouldn’t prefer his own changes by using internal:local. He’s avoiding a bug in evolve that occurs when evolving divergent changesets using internal:local.)

    +

    # XXX this link does not work .. bug: https://bitbucket.org/marmoute/mutable-history/issue/48/ +

    +

    ** STOP HERE: WORK IN PROGRESS **

    +
    +
    +

    + Phase-divergence: when a rewritten changeset is made public +

    +

    If Alice and Bob are collaborating on some mutable changesets, it’s possible to get into a situation where an otherwise worthwhile changeset cannot be pushed to the public repository; it is phase-divergent with another changeset that was made public first. Let’s demonstrate one way this could happen.

    +

    It starts with Alice committing a bug fix. Right now, we don’t yet know if this bug fix is good enough to push to the public repository, but it’s good enough for Alice to commit.

    +
    +
    $ cd alice
     $ echo 'fix' > file2
     $ hg commit -A -m 'fix bug 15'
     adding file2
     
    -
    -
    -

    Now Bob has a bad idea: he decides to pull whatever Alice is working on and tweak her bug fix to his taste:

    -
    -
    -
    $ cd ../bob
    +                
    +

    Now Bob has a bad idea: he decides to pull whatever Alice is working on and tweak her bug fix to his taste:

    +
    +
    $ cd ../bob
     $ hg pull -u ../alice
     [...]
     added 1 changesets with 1 changes to 1 files
    @@ -508,50 +437,44 @@ added 1 changesets with 1 changes to 1 files
     $ echo 'Fix.' > file2
     $ hg amend -A -m 'fix bug 15 (amended)'
     
    -
    -
    -

    (Note the lack of communication between Alice and Bob. Failing to communicate with your colleagues is a good way to get into trouble. Nevertheless, evolve can usually sort things out, as we will see.)

    -
    -

    [figure SG06: Bob’s repo with one amendment]

    -
    -

    After some testing, Alice realizes her bug fix is just fine as it is: no need for further polishing and amending, this changeset is ready to publish.

    -
    -
    -
    $ cd ../alice
    +                
    +

    (Note the lack of communication between Alice and Bob. Failing to communicate with your colleagues is a good way to get into trouble. Nevertheless, evolve can usually sort things out, as we will see.)

    +
    +

    [figure SG06: Bob’s repo with one amendment]

    +
    +

    After some testing, Alice realizes her bug fix is just fine as it is: no need for further polishing and amending, this changeset is ready to publish.

    +
    +
    $ cd ../alice
     $ hg push
     [...]
     added 1 changesets with 1 changes to 1 files
     
    -
    -
    -

    This introduces a contradiction: in Bob’s repository, changeset 2:e011 (his copy of Alice’s fix) is obsolete, since Bob amended it. But in Alice’s repository (and the public repository), that changeset is public: it is immutable, carved in stone for all eternity. No changeset can be both obsolete and public, so Bob is in for a surprise the next time he pulls from public:

    -
    -
    -
    $ cd ../bob
    +                
    +

    This introduces a contradiction: in Bob’s repository, changeset 2:e011 (his copy of Alice’s fix) is obsolete, since Bob amended it. But in Alice’s repository (and the public repository), that changeset is public: it is immutable, carved in stone for all eternity. No changeset can be both obsolete and public, so Bob is in for a surprise the next time he pulls from public:

    +
    +
    $ cd ../bob
     $ hg pull -q -u
     1 new phase-divergent changesets
     
    -
    -
    -

    Figure 7 shows what just happened to Bob’s repository: changeset 2:e011 is now public, so it can’t be obsolete. When that changeset was obsolete, it made perfect sense for it to have a successor, namely Bob’s amendment of Alice’s fix (changeset 4:fe88). But it’s illogical for a public changeset to have a successor, so 4:fe88 is troubled: it has become bumped.

    -
    -

    [figure SG07: 2:e011 now public not obsolete, 4:fe88 now bumped]

    -
    -

    As usual when there’s trouble in your repository, the solution is to evolve it:

    -

    Figure 8 illustrates Bob’s repository after evolving away the bumped changeset. Ignoring the obsolete changesets, Bob now has a nice, clean, simple history. His amendment of Alice’s bug fix lives on, as changeset 5:227d—albeit with a software-generated commit message. (Bob should probably amend that changeset to improve the commit message.) But the important thing is that his repository no longer has any troubled changesets, thanks to evolve.

    -
    -

    [figure SG08: 5:227d is new, formerly bumped changeset 4:fe88 now hidden]

    -
    +

    Figure 7 shows what just happened to Bob’s repository: changeset 2:e011 is now public, so it can’t be obsolete. When that changeset was obsolete, it made perfect sense for it to have a successor, namely Bob’s amendment of Alice’s fix (changeset 4:fe88). But it’s illogical for a public changeset to have a successor, so 4:fe88 is troubled: it has become bumped.

    +
    +

    [figure SG07: 2:e011 now public not obsolete, 4:fe88 now bumped]

    +
    +

    As usual when there’s trouble in your repository, the solution is to evolve it:

    +

    Figure 8 illustrates Bob’s repository after evolving away the bumped changeset. Ignoring the obsolete changesets, Bob now has a nice, clean, simple history. His amendment of Alice’s bug fix lives on, as changeset 5:227d—albeit with a software-generated commit message. (Bob should probably amend that changeset to improve the commit message.) But the important thing is that his repository no longer has any troubled changesets, thanks to evolve.

    +
    +

    [figure SG08: 5:227d is new, formerly bumped changeset 4:fe88 now hidden]

    +
    -
    -

    - Conclusion -

    -

    Mutable history is a powerful tool. Like a sharp knife, an experienced user can do wonderful things with it, much more wonderful than with a dull knife (never mind a rusty spoon). At the same time, an inattentive or careless user can do harm to himself or others. Mercurial with evolve goes to great lengths to limit the harm you can do by trying to handle all possible types of “troubled” changesets. Nevertheless, having a first-aid kit nearby does not mean you should stop being careful with sharp knives.

    -

    Mutable history shared across multiple repositories by a single developer is a natural extension of this model. Once you are used to using a single sharp knife on its own, it’s pretty straightforward to chop onions and mushrooms using the same knife, or to alternate between two chopping boards with different knives.

    -

    Mutable history shared by multiple developers is a scary place to go. Imagine a professional kitchen full of expert chefs tossing their favourite knives back and forth, with the occasional axe or chainsaw thrown in to spice things up. If you’re confident that you and your colleagues can do it without losing a limb, go for it. But be sure to practice a lot first before you rely on it!

    -
    +
    +
    +

    + Conclusion +

    +

    Mutable history is a powerful tool. Like a sharp knife, an experienced user can do wonderful things with it, much more wonderful than with a dull knife (never mind a rusty spoon). At the same time, an inattentive or careless user can do harm to himself or others. Mercurial with evolve goes to great lengths to limit the harm you can do by trying to handle all possible types of “troubled” changesets. Nevertheless, having a first-aid kit nearby does not mean you should stop being careful with sharp knives.

    +

    Mutable history shared across multiple repositories by a single developer is a natural extension of this model. Once you are used to using a single sharp knife on its own, it’s pretty straightforward to chop onions and mushrooms using the same knife, or to alternate between two chopping boards with different knives.

    +

    Mutable history shared by multiple developers is a scary place to go. Imagine a professional kitchen full of expert chefs tossing their favourite knives back and forth, with the occasional axe or chainsaw thrown in to spice things up. If you’re confident that you and your colleagues can do it without losing a limb, go for it. But be sure to practice a lot first before you rely on it!

    \ No newline at end of file diff --git a/test/test-pages/metadata-content-missing/expected-metadata.json b/test/test-pages/metadata-content-missing/expected-metadata.json index dd9bd08..2e58915 100644 --- a/test/test-pages/metadata-content-missing/expected-metadata.json +++ b/test/test-pages/metadata-content-missing/expected-metadata.json @@ -3,6 +3,6 @@ "byline": "Creator Name", "dir": null, "excerpt": "Preferred description", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/metadata-content-missing/expected.html b/test/test-pages/metadata-content-missing/expected.html index dced8c9..943431a 100644 --- a/test/test-pages/metadata-content-missing/expected.html +++ b/test/test-pages/metadata-content-missing/expected.html @@ -1,20 +1,6 @@
    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -

    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -

    +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    -
    +
    \ No newline at end of file diff --git a/test/test-pages/missing-paragraphs/expected-metadata.json b/test/test-pages/missing-paragraphs/expected-metadata.json index b707601..4384dc8 100644 --- a/test/test-pages/missing-paragraphs/expected-metadata.json +++ b/test/test-pages/missing-paragraphs/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt", "byline": "Henri Sivonen", + "dir": null, "excerpt": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy\n eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam\n voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet\n clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit\n amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam\n nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,\n sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.\n Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor\n sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed\n diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,\n sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.\n Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor\n sit amet.", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/mozilla-1/expected.html b/test/test-pages/mozilla-1/expected.html index cdd45c1..684ea0c 100644 --- a/test/test-pages/mozilla-1/expected.html +++ b/test/test-pages/mozilla-1/expected.html @@ -1,77 +1,63 @@
    -
    -
    -

    It’s easier than ever to personalize Firefox and make it work the way you do.
    No other browser gives you so much choice and flexibility.

    -
    -

    -
    +
    +

    It’s easier than ever to personalize Firefox and make it work the way you do.
    No other browser gives you so much choice and flexibility.

    +
    +

    -
    -
    -
    -
    -

    Designed to
    be redesigned

    -

    Get fast and easy access to the features you use most in the new menu. Open the “Customize” panel to add, move or remove any button you want. Keep your favorite features — add-ons, private browsing, Sync and more — one quick click away.

    -

    -

    -
    -
    -

    -
    +
    +
    +
    +

    Designed to
    be redesigned

    +

    Get fast and easy access to the features you use most in the new menu. Open the “Customize” panel to add, move or remove any button you want. Keep your favorite features — add-ons, private browsing, Sync and more — one quick click away.

    +

    +

    -
    -
    -
    +
    +

    +
    +
    -
    +
    -
    -

    Themes

    -

    Make Firefox match your style. Choose from thousands of themes and dress up your browser with a single click.

    -

    Try it now -
    Learn more -

    -
    -

    Next

    -

    Preview of the currently selected theme +

    Themes

    +

    Make Firefox match your style. Choose from thousands of themes and dress up your browser with a single click.

    +

    Try it now +
    Learn more

    -
    -
    +

    Next

    +

    Preview of the currently selected theme +

    +
    +
    -
    -

    Add-ons

    -

    Next

    -

    Add-ons are like apps that you install to add features to Firefox. They let you compare prices, check the weather, listen to music, send a tweet and more.

    -
      -
    • Read the latest news & blogs
    • -
    • Manage your downloads
    • -
    • Watch videos & view photos
    • -
    -

    Here are a few of our favorites -
    Learn more -

    -
    -

    +

    Add-ons

    +

    Next

    +

    Add-ons are like apps that you install to add features to Firefox. They let you compare prices, check the weather, listen to music, send a tweet and more.

    +
      +
    • Read the latest news & blogs
    • +
    • Manage your downloads
    • +
    • Watch videos & view photos
    • +
    +

    Here are a few of our favorites +
    Learn more

    - -
    +

    +

    +
    +
    -
    -

    Awesome Bar

    -

    Next

    -

    The Awesome Bar learns as you browse to make your version of Firefox unique. Find and return to your favorite sites without having to remember a URL.

    -

    See what it can do for you -

    -
    -

    Firefox Awesome Bar +

    Awesome Bar

    +

    Next

    +

    The Awesome Bar learns as you browse to make your version of Firefox unique. Find and return to your favorite sites without having to remember a URL.

    +

    See what it can do for you

    - +

    Firefox Awesome Bar +

    +
    -
    -
    \ No newline at end of file diff --git a/test/test-pages/mozilla-2/expected-metadata.json b/test/test-pages/mozilla-2/expected-metadata.json index 3411a41..6cb26d6 100644 --- a/test/test-pages/mozilla-2/expected-metadata.json +++ b/test/test-pages/mozilla-2/expected-metadata.json @@ -3,6 +3,6 @@ "byline": null, "dir": "ltr", "excerpt": "Built for those who build the Web. Introducing the only browser made for developers.", - "readerable": false, - "siteName": "Mozilla" + "siteName": "Mozilla", + "readerable": false } diff --git a/test/test-pages/mozilla-2/expected.html b/test/test-pages/mozilla-2/expected.html index b080f08..a43c058 100644 --- a/test/test-pages/mozilla-2/expected.html +++ b/test/test-pages/mozilla-2/expected.html @@ -6,50 +6,82 @@
    • - Screenshot + + Screenshot +

      WebIDE

      -

      Develop, deploy and debug Firefox OS apps directly in your browser, or on a Firefox OS device, with this tool that replaces App Manager.

      Learn more about WebIDE
    • +

      Develop, deploy and debug Firefox OS apps directly in your browser, or on a Firefox OS device, with this tool that replaces App Manager.

      + Learn more about WebIDE +
    • - Screenshot + + Screenshot +

      Valence

      -

      Develop and debug your apps across multiple browsers and devices with this powerful extension that comes pre-installed with Firefox Developer Edition.

      Learn more about Valence
    • +

      Develop and debug your apps across multiple browsers and devices with this powerful extension that comes pre-installed with Firefox Developer Edition.

      + Learn more about Valence +

    Important: Sync your new profile

    -

    Developer Edition comes with a new profile so you can run it alongside other versions of Firefox. To access your bookmarks, browsing history and more, you need to sync the profile with your existing Firefox Account, or create a new one. Learn more

    -
    - -
    -
    -
    -

    Features and tools

    -
      -
    • - Screenshot -

      Page Inspector

      -

      Examine the HTML and CSS of any Web page and easily modify the structure and layout of a page.

      Learn more about Page Inspector
    • -
    • - Screenshot -

      Web Console

      -

      See logged information associated with a Web page and use Web Console to interact with Web pages using JavaScript.

      Learn more about Web Console
    • -
    • - Screenshot -

      JavaScript Debugger

      -

      Step through JavaScript code and examine or modify its state to help track down bugs.

      Learn more about JavaScript Debugger
    • -
    • - Screenshot -

      Network Monitor

      -

      See all the network requests your browser makes, how long each request takes and details of each request.

      Learn more about Network Monitor
    • -
    • - Screenshot -

      Web Audio Editor

      -

      Inspect and interact with Web Audio API in real time to ensure that all audio nodes are connected in the way you expect.

      Learn more about Web Audio Editor
    • -
    • - Screenshot -

      Style Editor

      -

      View and edit CSS styles associated with a Web page, create new ones and apply existing CSS stylesheets to any page.

      Learn more about Style Editor
    • -
    +

    Developer Edition comes with a new profile so you can run it alongside other versions of Firefox. To access your bookmarks, browsing history and more, you need to sync the profile with your existing Firefox Account, or create a new one. Learn more +

    +
    +
    +

    Features and tools

    +
    + +
    \ No newline at end of file diff --git a/test/test-pages/msn/expected-metadata.json b/test/test-pages/msn/expected-metadata.json index 671fa52..f41f6d4 100644 --- a/test/test-pages/msn/expected-metadata.json +++ b/test/test-pages/msn/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "Nintendo's first iPhone game will launch in December for $10", "byline": "Alex Perry\n \n 1 day ago", + "dir": "ltr", "excerpt": "Nintendo and Apple shocked the world earlier this year by announcing \"Super Mario Run,\" the legendary gaming company's first foray into mobile gaming. ", - "readerable": true, - "siteName": "MSN" + "siteName": "MSN", + "readerable": true } diff --git a/test/test-pages/msn/expected.html b/test/test-pages/msn/expected.html index a3c880b..ceda783 100644 --- a/test/test-pages/msn/expected.html +++ b/test/test-pages/msn/expected.html @@ -3,15 +3,15 @@

    - - <span style="font-size:13px;">Nintendo/Apple</span> - - - © Provided by Business Insider Inc - Nintendo/Apple - - - Nintendo and Apple shocked the world earlier this year by announcing "Super Mario Run," the legendary gaming company's first foray into mobile gaming. It's a Mario game you can play on your phone with just one hand, so what's not to love?

    + + <span style="font-size:13px;">Nintendo/Apple</span> + + + © Provided by Business Insider Inc + Nintendo/Apple + + Nintendo and Apple shocked the world earlier this year by announcing "Super Mario Run," the legendary gaming company's first foray into mobile gaming. It's a Mario game you can play on your phone with just one hand, so what's not to love? +

    Thankfully, now we know when you can get it and for how much: "Super Mario Run" will launch on iPhone and iPad on December 15, for a flat fee of $9.99. You can play a sample of the game modes for free, but unlike most other mobile games that let you download for free but require money to keep playing, or access parts of the game, you can pay $10 to get everything right away.

    In case you haven't heard, "Super Mario Run" is essentially a regular, side-scrolling "Super Mario" game with one key difference: You don't control Mario's movement. He runs automatically and all you do is tap the screen to jump.

    The name and basic idea might sound like one of those endless score attack games like "Temple Run," but that's not the case. "Super Mario Run" is divided into hand-crafted levels with a clear end-point like any other Mario game, meaning you're essentially getting the Mario experience for $10 without needing to control his movement.

    @@ -20,4 +20,4 @@

    -
    +
    \ No newline at end of file diff --git a/test/test-pages/normalize-spaces/expected-metadata.json b/test/test-pages/normalize-spaces/expected-metadata.json index 8c4b4e4..9f365cb 100644 --- a/test/test-pages/normalize-spaces/expected-metadata.json +++ b/test/test-pages/normalize-spaces/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "Normalize space test", "byline": null, + "dir": null, "excerpt": "Lorem\n ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n\ttab here\n incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\n quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\n consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\n cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\n proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", - "readerable": false, - "siteName": null + "siteName": null, + "readerable": false } diff --git a/test/test-pages/nytimes-1/expected-metadata.json b/test/test-pages/nytimes-1/expected-metadata.json index 44214e6..d314f0f 100644 --- a/test/test-pages/nytimes-1/expected-metadata.json +++ b/test/test-pages/nytimes-1/expected-metadata.json @@ -3,6 +3,6 @@ "byline": "Jeffrey Gettleman", "dir": null, "excerpt": "For the first time since the 1990s, the country will be able to trade extensively with the United States.", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/nytimes-1/expected.html b/test/test-pages/nytimes-1/expected.html index 55be330..5b3b845 100644 --- a/test/test-pages/nytimes-1/expected.html +++ b/test/test-pages/nytimes-1/expected.html @@ -1,36 +1,49 @@
    -
    -
    -
    Photo +
    +
    +
    -

    - -
    -
    United Nations peacekeepers at a refugee camp in Sudan on Monday. In exchange for the lifting of United States trade sanctions, Sudan has said it will improve access for aid groups, stop supporting rebels in neighboring South Sudan and cooperate with American intelligence agents. - Credit Ashraf Shazly/Agence France-Presse — Getty Images -
    -
    -

    LONDON — After nearly 20 years of hostile relations, the American government plans to reverse its position on Sudan and lift trade sanctions, Obama administration officials said late Thursday.

    -

    Sudan is one of the poorest, most isolated and most violent countries in Africa, and for years the United States has imposed punitive measures against it in a largely unsuccessful attempt to get the Sudanese government to stop killing its own people.

    -

    On Friday, the Obama administration will announce a new Sudan strategy. For the first time since the 1990s, the nation will be able to trade extensively with the United States, allowing it to buy goods like tractors and spare parts and attract much-needed investment in its collapsing economy.

    -

    In return, Sudan will improve access for aid groups, stop supporting rebels in neighboring South Sudan, cease the bombing of insurgent territory and cooperate with American intelligence agents.

    -

    American officials said Sudan had already shown important progress on a number of these fronts. But to make sure the progress continues, the executive order that President Obama plans to sign on Friday, days before leaving office, will have a six-month review period. If Sudan fails to live up to its commitments, the embargo can be reinstated.

    -

    Analysts said good relations with Sudan could strengthen moderate voices within the country and give the Sudanese government incentives to refrain from the brutal tactics that have defined it for decades.

    -

    In 1997, President Bill Clinton imposed a comprehensive trade embargo against Sudan and blocked the assets of the Sudanese government, which was suspected of sponsoring international terrorism. In the mid-1990s, Osama bin Laden lived in Khartoum, the capital, as a guest of Sudan’s government.

    -

    In 1998, Bin Laden’s agents blew up the United States Embassies in Kenya and Tanzania, killing more than 200 people. In retaliation, Mr. Clinton ordered a cruise missile strike against a pharmaceutical factory in Khartoum.

    -

    Since then, American-Sudanese relations have steadily soured. The conflict in Darfur, a vast desert region of western Sudan, was a low point. After rebels in Darfur staged an uprising in 2003, Sudanese security services and their militia allies slaughtered tens of thousands of civilians, leading to condemnation around the world, genocide charges at the International Criminal Court against Sudan’s president, Omar Hassan al-Bashir, and a new round of American sanctions.

    -

    American officials said Thursday that the American demand that Mr. Bashir be held accountable had not changed. Neither has Sudan’s status as one of the few countries, along with Iran and Syria, that remain on the American government’s list of state sponsors of terrorism.

    -

    Sales of military equipment will still be prohibited, and some Sudanese militia and rebel leaders will still face sanctions.

    -

    But the Obama administration is clearly trying to open a door to Sudan. There is intense discontent across the country, and its economy is imploding. American officials have argued for years that it was time to help Sudan dig itself out of the hole it had created.

    -

    Officials divulged Thursday that the Sudanese government had allowed two visits by American operatives to a restricted border area near Libya, which they cited as evidence of a new spirit of cooperation on counterterrorism efforts.

    -

    In addition to continuing violence in Darfur, several other serious conflicts are raging in southern and central Sudan, along with a civil war in newly independent South Sudan, which Sudan has been suspected of inflaming with covert arms shipments.

    -

    Eric Reeves, one of the leading American academic voices on Sudan, said he was “appalled” that the American government was lifting sanctions.

    -

    He said that Sudan’s military-dominated government continued to commit grave human rights abuses and atrocities, and he noted that just last week Sudanese security services killed more than 10 civilians in Darfur.

    -

    “There is no reason to believe the guys in charge have changed their stripes,” said Mr. Reeves, a senior fellow at the François-Xavier Bagnoud Center for Health and Human Rights at Harvard University. “These guys are the worst of the worst.”

    -

    Obama administration officials said that they had briefed President-elect Donald J. Trump’s transition team, but that they did not know if Mr. Trump would stick with a policy of warmer relations with Sudan.

    -

    They said that Sudan had a long way to go in terms of respecting human rights, but that better relations could help increase American leverage.

    -

    Mr. Reeves said he thought that the American government was being manipulated and that the Obama administration had made a “deal with the devil.”

    -

    Continue reading the main story

    -
    +
    + Photo +
    +

    + + +
    +
    + United Nations peacekeepers at a refugee camp in Sudan on Monday. In exchange for the lifting of United States trade sanctions, Sudan has said it will improve access for aid groups, stop supporting rebels in neighboring South Sudan and cooperate with American intelligence agents. + + Credit Ashraf Shazly/Agence France-Presse — Getty Images +
    +
    +

    LONDON — After nearly 20 years of hostile relations, the American government plans to reverse its position on Sudan and lift trade sanctions, Obama administration officials said late Thursday.

    +

    Sudan is one of the poorest, most isolated and most violent countries in Africa, and for years the United States has imposed punitive measures against it in a largely unsuccessful attempt to get the Sudanese government to stop killing its own people.

    +

    On Friday, the Obama administration will announce a new Sudan strategy. For the first time since the 1990s, the nation will be able to trade extensively with the United States, allowing it to buy goods like tractors and spare parts and attract much-needed investment in its collapsing economy.

    +

    In return, Sudan will improve access for aid groups, stop supporting rebels in neighboring South Sudan, cease the bombing of insurgent territory and cooperate with American intelligence agents.

    +

    American officials said Sudan had already shown important progress on a number of these fronts. But to make sure the progress continues, the executive order that President Obama plans to sign on Friday, days before leaving office, will have a six-month review period. If Sudan fails to live up to its commitments, the embargo can be reinstated.

    +

    Analysts said good relations with Sudan could strengthen moderate voices within the country and give the Sudanese government incentives to refrain from the brutal tactics that have defined it for decades.

    +

    In 1997, President Bill Clinton imposed a comprehensive trade embargo against Sudan and blocked the assets of the Sudanese government, which was suspected of sponsoring international terrorism. In the mid-1990s, Osama bin Laden lived in Khartoum, the capital, as a guest of Sudan’s government.

    +

    In 1998, Bin Laden’s agents blew up the United States Embassies in Kenya and Tanzania, killing more than 200 people. In retaliation, Mr. Clinton ordered a cruise missile strike against a pharmaceutical factory in Khartoum.

    +

    Since then, American-Sudanese relations have steadily soured. The conflict in Darfur, a vast desert region of western Sudan, was a low point. After rebels in Darfur staged an uprising in 2003, Sudanese security services and their militia allies slaughtered tens of thousands of civilians, leading to condemnation around the world, genocide charges at the International Criminal Court against Sudan’s president, Omar Hassan al-Bashir, and a new round of American sanctions.

    +

    American officials said Thursday that the American demand that Mr. Bashir be held accountable had not changed. Neither has Sudan’s status as one of the few countries, along with Iran and Syria, that remain on the American government’s list of state sponsors of terrorism.

    +

    Sales of military equipment will still be prohibited, and some Sudanese militia and rebel leaders will still face sanctions.

    +

    But the Obama administration is clearly trying to open a door to Sudan. There is intense discontent across the country, and its economy is imploding. American officials have argued for years that it was time to help Sudan dig itself out of the hole it had created.

    +

    Officials divulged Thursday that the Sudanese government had allowed two visits by American operatives to a restricted border area near Libya, which they cited as evidence of a new spirit of cooperation on counterterrorism efforts.

    +

    In addition to continuing violence in Darfur, several other serious conflicts are raging in southern and central Sudan, along with a civil war in newly independent South Sudan, which Sudan has been suspected of inflaming with covert arms shipments.

    +

    Eric Reeves, one of the leading American academic voices on Sudan, said he was “appalled” that the American government was lifting sanctions.

    +

    He said that Sudan’s military-dominated government continued to commit grave human rights abuses and atrocities, and he noted that just last week Sudanese security services killed more than 10 civilians in Darfur.

    +

    “There is no reason to believe the guys in charge have changed their stripes,” said Mr. Reeves, a senior fellow at the François-Xavier Bagnoud Center for Health and Human Rights at Harvard University. “These guys are the worst of the worst.”

    +

    Obama administration officials said that they had briefed President-elect Donald J. Trump’s transition team, but that they did not know if Mr. Trump would stick with a policy of warmer relations with Sudan.

    +

    They said that Sudan had a long way to go in terms of respecting human rights, but that better relations could help increase American leverage.

    +

    Mr. Reeves said he thought that the American government was being manipulated and that the Obama administration had made a “deal with the devil.”

    +

    Continue reading the main story +

    +
    + + +
    + +
    \ No newline at end of file diff --git a/test/test-pages/nytimes-2/expected-metadata.json b/test/test-pages/nytimes-2/expected-metadata.json index 610df99..422435e 100644 --- a/test/test-pages/nytimes-2/expected-metadata.json +++ b/test/test-pages/nytimes-2/expected-metadata.json @@ -3,6 +3,6 @@ "byline": "Steven Davidoff Solomon", "dir": null, "excerpt": "The internet giant’s decision to sell its business is plagued with challenges that reveal how unusual deal structures can affect shareholders.", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/nytimes-2/expected.html b/test/test-pages/nytimes-2/expected.html index 776df42..8b8c6de 100644 --- a/test/test-pages/nytimes-2/expected.html +++ b/test/test-pages/nytimes-2/expected.html @@ -1,41 +1,52 @@
    -
    -
    -
    Photo +
    +
    +
    -

    - -
    -
    - Credit Harry Campbell -
    -
    -

    Yahoo’s $4.8 billion sale to Verizon is a complicated beast, showing how different acquisition structures can affect how shareholders are treated.

    -

    First, let’s say what the Yahoo sale is not. It is not a sale of the publicly traded company. Instead, it is a sale of the Yahoo subsidiary and some related assets to Verizon.

    -

    The sale is being done in two steps. The first step will be the transfer of any assets related to Yahoo business to a singular subsidiary. This includes the stock in the business subsidiaries that make up Yahoo that are not already in the single subsidiary, as well as the odd assets like benefit plan rights. This is what is being sold to Verizon. A license of Yahoo’s oldest patents is being held back in the so-called Excalibur portfolio. This will stay with Yahoo, as will Yahoo’s stakes in Alibaba Group and Yahoo Japan.

    -

    It is hard to overestimate how complex an asset sale like this is. Some of the assets are self-contained, but they must be gathered up and transferred. Employees need to be shuffled around and compensation arrangements redone. Many contracts, like the now-infamous one struck with the search engine Mozilla, which may result in a payment of up to a $1 billion, will contain change-of-control provisions that will be set off and have to be addressed. Tax issues always loom large.

    -

    Continue reading the main story

    -
    -
    -
    -
    -

    In the second step, at the closing, Yahoo will sell the stock in the single subsidiary to Verizon. At that point, Yahoo will change its name to something without “Yahoo” in it. My favorite is simply Remain Co., the name Yahoo executives are using. Remain Co. will become a holding company for the Alibaba and Yahoo Japan stock. Included will also be $10 billion in cash, plus the Excalibur patent portfolio and a number of minority investments including Snapchat. Ahh, if only Yahoo had bought Snapchat instead of Tumblr (indeed, if only Yahoo had bought Google or Facebook when it had the chance).

    -

    Because it is a sale of a subsidiary, the $4.8 billion will be paid to Yahoo. Its shareholders will not receive any money unless Yahoo pays it out in a dividend (after paying taxes). Instead, Yahoo shareholders will be left holding shares in the renamed company.

    -

    Verizon’s Yahoo will then be run under the same umbrella as AOL. It is unclear whether there will be a further merger of the two businesses after the acquisition. Plans for Yahoo are still a bit in flux in part because of the abnormal sale process.

    -

    As for Remain Co., it will become a so-called investment company. This is a special designation for a company that holds securities for investment but does not operate a working business. Investment companies are subject to special regulation under the Investment Company Act of 1940. Remain Co. will probably just sit there, returning cash to shareholders and waiting for Alibaba to buy it in a tax-free transaction. (Alibaba says it has no plans to do this, but most people do not believe this).

    -

    The rights of Yahoo shareholders in this sale will be different from those in an ordinary sale, when an entire company is bought.

    -

    Ordinary sales are done in one of two ways: in a merger where the target is merged into a subsidiary of the buyer and the target shareholders receive the cash (or other consideration), or in a tender offer that gives the target shareholders a choice to tender into the offer or not. Then there will be a merger where the target is merged into the buyer’s subsidiary and the target shareholders are forcibly squeezed out, receiving the merger consideration. (if you want to know why you would choose one structure over another, I wrote a good primer in 2009.)

    -

    In either case, shareholders get a say. They either vote on the merger or decide whether to tender into the offer.

    -

    In both cases, there would be appraisal rights if the buyer pays cash. This means that shareholders can object to the deal by not voting for it or not tendering into the offer and instead asking a court to value their shares – this is what happened in Dell’s buyout in 2013.

    -

    The Yahoo deal, however, is not a sale of the public company. It is an asset sale, in which there is only a shareholder vote if there is a sale of “all” or “substantially all” of the assets of the company. Yahoo is not all of the assets or even “substantially all” – the Alibaba shares being left behind in Remain Co. are worth about $28 billion, or six times the value of the cash Verizon is paying for the Yahoo assets it is buying.

    -

    The courts have held that the definition of “substantially all” includes a change of business in a company because of an asset sale where the assets are “qualitatively vital.” And that certainly applies here. So there will be a vote – indeed, Yahoo has no problem with a vote – and shareholders are desperate to sell at this point.

    -

    There will be no appraisal rights, however. Again, in an asset sale, there are no appraisal rights. So anyone who votes against the deal and thinks this is a bum price is out of luck.

    -

    The different standards for voting and appraisal rights apply because the structure of the deal is a quirk of the law in Delaware, where Yahoo is incorporated, that allows lawyers to sometimes work around these issues simply by changing the way a deal is done.

    -

    In Yahoo’s case, this is not deliberate, though. It is simply the most expedient way to get rid of the assets.

    -

    Whether this is the most tax-efficient way is unclear to me as a nontax lawyer (email me if you know). Yahoo is likely to have a tax bill on the sale, possibly a substantial one. And I presume there were legal reasons for not using a Morris Trust structure, in which Yahoo would have been spun off and immediately sold to Verizon so that only Yahoo’s shareholders paid tax on the deal. In truth, the Yahoo assets being sold are only about 10 percent of the value of the company, so the time and logistics for such a sale when Yahoo is a melting ice cube may not have been worth it.

    -

    Finally, if another bidder still wants to acquire Yahoo, it has time. The agreement with Verizon allows Yahoo to terminate the deal and accept a superior offer by paying a $144 million breakup fee to Verizon. And if Yahoo shareholders change their minds and want to stick with Yahoo’s chief executive, Marissa Mayer, and vote down the deal, there is a so-called naked no-vote termination fee of $15 million payable to Verizon to reimburse expenses.

    -

    All in all, this was as hairy a deal as they come. There was the procedural and logistical complications of selling a company when the chief executive wanted to stay. Then there was the fact that this was an asset sale, including all of the challenges that go with it. Throw in all of the tax issues and the fact that this is a public company, and it is likely that the lawyers involved will have nightmares for years to come.

    -

    Continue reading the main story

    -
    +
    + Photo +
    +

    + + +
    +
    + + Credit Harry Campbell +
    +
    +

    Yahoo’s $4.8 billion sale to Verizon is a complicated beast, showing how different acquisition structures can affect how shareholders are treated.

    +

    First, let’s say what the Yahoo sale is not. It is not a sale of the publicly traded company. Instead, it is a sale of the Yahoo subsidiary and some related assets to Verizon.

    +

    The sale is being done in two steps. The first step will be the transfer of any assets related to Yahoo business to a singular subsidiary. This includes the stock in the business subsidiaries that make up Yahoo that are not already in the single subsidiary, as well as the odd assets like benefit plan rights. This is what is being sold to Verizon. A license of Yahoo’s oldest patents is being held back in the so-called Excalibur portfolio. This will stay with Yahoo, as will Yahoo’s stakes in Alibaba Group and Yahoo Japan.

    +

    It is hard to overestimate how complex an asset sale like this is. Some of the assets are self-contained, but they must be gathered up and transferred. Employees need to be shuffled around and compensation arrangements redone. Many contracts, like the now-infamous one struck with the search engine Mozilla, which may result in a payment of up to a $1 billion, will contain change-of-control provisions that will be set off and have to be addressed. Tax issues always loom large.

    +

    Continue reading the main story +

    +
    +
    +

    In the second step, at the closing, Yahoo will sell the stock in the single subsidiary to Verizon. At that point, Yahoo will change its name to something without “Yahoo” in it. My favorite is simply Remain Co., the name Yahoo executives are using. Remain Co. will become a holding company for the Alibaba and Yahoo Japan stock. Included will also be $10 billion in cash, plus the Excalibur patent portfolio and a number of minority investments including Snapchat. Ahh, if only Yahoo had bought Snapchat instead of Tumblr (indeed, if only Yahoo had bought Google or Facebook when it had the chance).

    +

    Because it is a sale of a subsidiary, the $4.8 billion will be paid to Yahoo. Its shareholders will not receive any money unless Yahoo pays it out in a dividend (after paying taxes). Instead, Yahoo shareholders will be left holding shares in the renamed company.

    +

    Verizon’s Yahoo will then be run under the same umbrella as AOL. It is unclear whether there will be a further merger of the two businesses after the acquisition. Plans for Yahoo are still a bit in flux in part because of the abnormal sale process.

    +

    As for Remain Co., it will become a so-called investment company. This is a special designation for a company that holds securities for investment but does not operate a working business. Investment companies are subject to special regulation under the Investment Company Act of 1940. Remain Co. will probably just sit there, returning cash to shareholders and waiting for Alibaba to buy it in a tax-free transaction. (Alibaba says it has no plans to do this, but most people do not believe this).

    +

    The rights of Yahoo shareholders in this sale will be different from those in an ordinary sale, when an entire company is bought.

    +

    Ordinary sales are done in one of two ways: in a merger where the target is merged into a subsidiary of the buyer and the target shareholders receive the cash (or other consideration), or in a tender offer that gives the target shareholders a choice to tender into the offer or not. Then there will be a merger where the target is merged into the buyer’s subsidiary and the target shareholders are forcibly squeezed out, receiving the merger consideration. (if you want to know why you would choose one structure over another, I wrote a good primer in 2009.)

    +

    In either case, shareholders get a say. They either vote on the merger or decide whether to tender into the offer.

    +

    In both cases, there would be appraisal rights if the buyer pays cash. This means that shareholders can object to the deal by not voting for it or not tendering into the offer and instead asking a court to value their shares – this is what happened in Dell’s buyout in 2013.

    +

    The Yahoo deal, however, is not a sale of the public company. It is an asset sale, in which there is only a shareholder vote if there is a sale of “all” or “substantially all” of the assets of the company. Yahoo is not all of the assets or even “substantially all” – the Alibaba shares being left behind in Remain Co. are worth about $28 billion, or six times the value of the cash Verizon is paying for the Yahoo assets it is buying.

    +

    The courts have held that the definition of “substantially all” includes a change of business in a company because of an asset sale where the assets are “qualitatively vital.” And that certainly applies here. So there will be a vote – indeed, Yahoo has no problem with a vote – and shareholders are desperate to sell at this point.

    +

    There will be no appraisal rights, however. Again, in an asset sale, there are no appraisal rights. So anyone who votes against the deal and thinks this is a bum price is out of luck.

    +

    The different standards for voting and appraisal rights apply because the structure of the deal is a quirk of the law in Delaware, where Yahoo is incorporated, that allows lawyers to sometimes work around these issues simply by changing the way a deal is done.

    +

    In Yahoo’s case, this is not deliberate, though. It is simply the most expedient way to get rid of the assets.

    +

    Whether this is the most tax-efficient way is unclear to me as a nontax lawyer (email me if you know). Yahoo is likely to have a tax bill on the sale, possibly a substantial one. And I presume there were legal reasons for not using a Morris Trust structure, in which Yahoo would have been spun off and immediately sold to Verizon so that only Yahoo’s shareholders paid tax on the deal. In truth, the Yahoo assets being sold are only about 10 percent of the value of the company, so the time and logistics for such a sale when Yahoo is a melting ice cube may not have been worth it.

    +

    Finally, if another bidder still wants to acquire Yahoo, it has time. The agreement with Verizon allows Yahoo to terminate the deal and accept a superior offer by paying a $144 million breakup fee to Verizon. And if Yahoo shareholders change their minds and want to stick with Yahoo’s chief executive, Marissa Mayer, and vote down the deal, there is a so-called naked no-vote termination fee of $15 million payable to Verizon to reimburse expenses.

    +

    All in all, this was as hairy a deal as they come. There was the procedural and logistical complications of selling a company when the chief executive wanted to stay. Then there was the fact that this was an asset sale, including all of the challenges that go with it. Throw in all of the tax issues and the fact that this is a public company, and it is likely that the lawyers involved will have nightmares for years to come.

    +

    Continue reading the main story +

    +
    + + +
    + +
    \ No newline at end of file diff --git a/test/test-pages/nytimes-3/expected.html b/test/test-pages/nytimes-3/expected.html index 6b94a92..fdeaa4e 100644 --- a/test/test-pages/nytimes-3/expected.html +++ b/test/test-pages/nytimes-3/expected.html @@ -3,218 +3,168 @@

    New York’s aging below-street infrastructure is tough to maintain, and the corrosive rock salt and “freeze-thaw” cycles of winter make it even worse.

    -
    -
    -

    Image -

    -
    - A Con Edison worker repairing underground cables this month in Flushing, Queens. The likely source of the problem was water and rock salt that had seeped underground.CreditCreditChang W. Lee/The New York Times -
    -
    -
    +
    +

    Image +

    +
    + A Con Edison worker repairing underground cables this month in Flushing, Queens. The likely source of the problem was water and rock salt that had seeped underground.CreditCreditChang W. Lee/The New York Times +
    +
    -
    -

    Corey Kilgannon -

    -
    -
      -
    • - -
    • -
    • -
    • -
    +

    Corey Kilgannon +

    +
      +
    • + +
    • +
    • +
    • +
    -
    -

    - [What you need to know to start the day: Get New York Today in your inbox.] -

    -

    A series of recent manhole fires in the heart of Manhattan forced the evacuation of several theaters and was a stark reminder that the subway is not the only creaky infrastructure beneath the streets of New York City.

    -

    Underground lies a chaotic assemblage of utilities that, much like the subway, are lifelines for the city: a sprawling tangle of water mains, power cables, gas and steam lines, telecom wires and sewers.

    -

    The city has one of the oldest and largest networks of subterranean infrastructure in the world, with some portions dating more than a century and prone to leaks and cracks.

    -

    And winter — from the corrosive rock salt used on streets and sidewalks to “freeze-thaw” cycles that weaken pipes — makes infrastructure problems even worse.

    -
    +

    + [What you need to know to start the day: Get New York Today in your inbox.] +

    +

    A series of recent manhole fires in the heart of Manhattan forced the evacuation of several theaters and was a stark reminder that the subway is not the only creaky infrastructure beneath the streets of New York City.

    +

    Underground lies a chaotic assemblage of utilities that, much like the subway, are lifelines for the city: a sprawling tangle of water mains, power cables, gas and steam lines, telecom wires and sewers.

    +

    The city has one of the oldest and largest networks of subterranean infrastructure in the world, with some portions dating more than a century and prone to leaks and cracks.

    +

    And winter — from the corrosive rock salt used on streets and sidewalks to “freeze-thaw” cycles that weaken pipes — makes infrastructure problems even worse.

    -
    -

    In the late 1800s, many of the city’s overhead utilities were buried to lessen the exposure to winter weather. “People think it’s all protected and safe, but it’s really not,” said Patrick McHugh, vice president of electrical engineering and planning for Con Edison, which maintains about 90,000 miles of underground cable in the city.

    -

    “You have water, sewage, electricity and gas down there, and people don’t appreciate the effort that goes into keeping all that working,” he added.

    -
    +

    In the late 1800s, many of the city’s overhead utilities were buried to lessen the exposure to winter weather. “People think it’s all protected and safe, but it’s really not,” said Patrick McHugh, vice president of electrical engineering and planning for Con Edison, which maintains about 90,000 miles of underground cable in the city.

    +

    “You have water, sewage, electricity and gas down there, and people don’t appreciate the effort that goes into keeping all that working,” he added.

    -
    -
    -

    Image -

    -
    - In the late 1800s, overhead utilities were buried to lessen the exposure to winter weather.CreditKirsten Luce for The New York Times -
    -
    -
    +
    +

    Image +

    +
    + In the late 1800s, overhead utilities were buried to lessen the exposure to winter weather.CreditKirsten Luce for The New York Times +
    +
    -
    - -

    When rock salt melts ice, and the water seeps down manholes and into electrical units, it can set off fires and explosions strong enough to pop a 300-pound manhole cover five stories into the air.

    -

    For days after a storm, Con Edison officials say, they often deal with scores of electrical fires caused by the rock salt eating away at electrical cable insulation. The wet salt can create sparking that burns the insulation, producing both fire and gases that can combust and pop the manhole lids.

    -

    To alleviate the threat, the officials said, the utility switched most of its manhole covers to vented ones that allow gases to escape, “so they cannot form a combustible amount,” Mr. McHugh said.

    -
    + +

    When rock salt melts ice, and the water seeps down manholes and into electrical units, it can set off fires and explosions strong enough to pop a 300-pound manhole cover five stories into the air.

    +

    For days after a storm, Con Edison officials say, they often deal with scores of electrical fires caused by the rock salt eating away at electrical cable insulation. The wet salt can create sparking that burns the insulation, producing both fire and gases that can combust and pop the manhole lids.

    +

    To alleviate the threat, the officials said, the utility switched most of its manhole covers to vented ones that allow gases to escape, “so they cannot form a combustible amount,” Mr. McHugh said.

    -
    -

    “It also lets smoke escape, which can tip off the public to notify the authorities,” he added.

    -

    Winter can also bring an increase in gas-line breakages. Con Edison, which maintains 4,300 miles of gas mains in and around New York City, records about 500 leaks — most of them nonemergencies — in a typical month, but many more in winter.

    -

    Even this past January, which was unseasonably mild, there were 750 leaks, Con Edison officials said.

    -
    +

    “It also lets smoke escape, which can tip off the public to notify the authorities,” he added.

    +

    Winter can also bring an increase in gas-line breakages. Con Edison, which maintains 4,300 miles of gas mains in and around New York City, records about 500 leaks — most of them nonemergencies — in a typical month, but many more in winter.

    +

    Even this past January, which was unseasonably mild, there were 750 leaks, Con Edison officials said.

    -
    -
    -
    -

    Image

    -
    -
    -
    -
    - There are typically between 400 and 600 water main breaks each year in New York City, an official said.CreditMichael Appleton for The New York Times -
    - -
    -
    +
    +
    +

    Image

    +
    +
    + There are typically between 400 and 600 water main breaks each year in New York City, an official said.CreditMichael Appleton for The New York Times +
    + +
    -
    - -

    The extreme temperature swings that many researchers link to climate change are adding to the challenges of winter.

    -

    Officials monitor weather forecasts closely for freeze-thaw cycles, when they put extra repair crews on call.

    -

    During a polar vortex in late January, for instance, single-digit temperatures in the city quickly ballooned into the 50s. The thaw, much welcomed by many New Yorkers, worried Tasos Georgelis, deputy commissioner for water and sewer operations at the Department of Environmental Protection, which operates the city’s water system.

    -

    “When you get a freeze and a thaw, the ground around the water mains expands and contracts, and puts external pressure on the pipes,” Mr. Georgelis said.

    -

    Along the city’s roughly 6,500 miles of water mains, there are typically between 400 and 600 breaks a year, he added. The majority occur in winter, when the cold can make older cast-iron mains brittle.

    -
    + +

    The extreme temperature swings that many researchers link to climate change are adding to the challenges of winter.

    +

    Officials monitor weather forecasts closely for freeze-thaw cycles, when they put extra repair crews on call.

    +

    During a polar vortex in late January, for instance, single-digit temperatures in the city quickly ballooned into the 50s. The thaw, much welcomed by many New Yorkers, worried Tasos Georgelis, deputy commissioner for water and sewer operations at the Department of Environmental Protection, which operates the city’s water system.

    +

    “When you get a freeze and a thaw, the ground around the water mains expands and contracts, and puts external pressure on the pipes,” Mr. Georgelis said.

    +

    Along the city’s roughly 6,500 miles of water mains, there are typically between 400 and 600 breaks a year, he added. The majority occur in winter, when the cold can make older cast-iron mains brittle.

    -
    -

    Environmental Protection officials said the department repaired 75 water-main breaks in January, including one in Lower Manhattan that disrupted rush-hour subway service and another on the West Side that snarled traffic and left nearby buildings without water for hours.

    -

    The city’s 7,500 miles of sewer lines are less affected by cold weather because they are generally buried deeper than other utilities, below the frost line, agency officials said.

    -
    +

    Environmental Protection officials said the department repaired 75 water-main breaks in January, including one in Lower Manhattan that disrupted rush-hour subway service and another on the West Side that snarled traffic and left nearby buildings without water for hours.

    +

    The city’s 7,500 miles of sewer lines are less affected by cold weather because they are generally buried deeper than other utilities, below the frost line, agency officials said.

    -
    -
    -
    -

    Image

    -
    -
    -
    -
    - In 1978, a water main break caused severe flooding in Bushwick, Brooklyn.CreditFred R. Conrad/The New York Times -
    - -
    -
    +
    +
    +

    Image

    +
    +
    + In 1978, a water main break caused severe flooding in Bushwick, Brooklyn.CreditFred R. Conrad/The New York Times +
    + +
    -
    - -

    Upgrading the city’s below-street utilities is a slow, painstaking process, “because you have such a fixed-in-place system,” said Rae Zimmerman, a research professor of planning and public administration at New York University.

    -

    But there is progress. Con Edison officials said they had begun replacing the city’s nearly 1,600 miles of natural gas lines — which were made of either cast iron or unprotected steel — with plastic piping. The plastic is less susceptible to corrosion, cracks and leaks, said the officials, who added that they were swapping about 100 miles of line each year.

    -

    The city is also replacing older, leak-prone water and sewer mains.

    -

    Some pipes that are more than a century old hold up because they were built with a thicker grade of cast iron, according to Environmental Protection Department officials. For less healthy ones, the agency has invested more than $1 billion in the past five years — with an additional $1.4 billion budgeted over the next five years — for upgrades and replacements. New pipes will be made of a more durable, graphite-rich cast iron known as ductile iron.

    -
    + +

    Upgrading the city’s below-street utilities is a slow, painstaking process, “because you have such a fixed-in-place system,” said Rae Zimmerman, a research professor of planning and public administration at New York University.

    +

    But there is progress. Con Edison officials said they had begun replacing the city’s nearly 1,600 miles of natural gas lines — which were made of either cast iron or unprotected steel — with plastic piping. The plastic is less susceptible to corrosion, cracks and leaks, said the officials, who added that they were swapping about 100 miles of line each year.

    +

    The city is also replacing older, leak-prone water and sewer mains.

    +

    Some pipes that are more than a century old hold up because they were built with a thicker grade of cast iron, according to Environmental Protection Department officials. For less healthy ones, the agency has invested more than $1 billion in the past five years — with an additional $1.4 billion budgeted over the next five years — for upgrades and replacements. New pipes will be made of a more durable, graphite-rich cast iron known as ductile iron.

    -
    -
    -
    -

    Image

    -
    -
    -
    -
    - Matt Cruz snowboarded through Manhattan’s Lower East Side after a snowstorm in 2016 left the streets coated in slush and rock salt.CreditHiroko Masuike/The New York Times -
    - -
    -
    +
    +
    +

    Image

    +
    +
    + Matt Cruz snowboarded through Manhattan’s Lower East Side after a snowstorm in 2016 left the streets coated in slush and rock salt.CreditHiroko Masuike/The New York Times +
    + +
    -
    - -

    Of course, winter also poses problems aboveground. Most nonemergency repair and construction work involving concrete is halted because concrete and some types of dirt, used to fill in trenches, freeze in colder temperatures, said Ian Michaels, a spokesman for the city’s Department of Design and Construction.

    -

    Digging by hand is also a challenge in frozen ground, so many excavations that are close to pipes and other utilities are put off, Mr. Michaels said.

    -
    + +

    Of course, winter also poses problems aboveground. Most nonemergency repair and construction work involving concrete is halted because concrete and some types of dirt, used to fill in trenches, freeze in colder temperatures, said Ian Michaels, a spokesman for the city’s Department of Design and Construction.

    +

    Digging by hand is also a challenge in frozen ground, so many excavations that are close to pipes and other utilities are put off, Mr. Michaels said.

    -
    -

    And asphalt is harder to obtain because it must be kept and transported at high temperatures, he added.

    -

    In the extreme cold, city officials will not risk shutting down water mains for construction because spillage into the street could freeze, Mr. Michaels said. He added that stopping the water flow could freeze the private water-service connections that branch off the mains, he said.

    -

    Even the basic task of locating utilities under the street can be complicated because infrastructure has been added piecemeal over the decades.

    -
    +

    And asphalt is harder to obtain because it must be kept and transported at high temperatures, he added.

    +

    In the extreme cold, city officials will not risk shutting down water mains for construction because spillage into the street could freeze, Mr. Michaels said. He added that stopping the water flow could freeze the private water-service connections that branch off the mains, he said.

    +

    Even the basic task of locating utilities under the street can be complicated because infrastructure has been added piecemeal over the decades.

    -
    -
    -
    -

    Image

    -
    -
    -
    -
    - A water main break in Manhattan in 2014. “When you get a freeze and a thaw, the ground around the water mains expands and contracts, and puts external pressure on the pipes,” said Tasos Georgelis of the city's Department of Environmental Protection.CreditÃngel Franco/The New York Times -
    - -
    -
    +
    +
    +

    Image

    +
    +
    + A water main break in Manhattan in 2014. “When you get a freeze and a thaw, the ground around the water mains expands and contracts, and puts external pressure on the pipes,” said Tasos Georgelis of the city's Department of Environmental Protection.CreditÃngel Franco/The New York Times +
    + +
    -
    - -

    Street surfaces are affected by winter weather, too: Last year, the city filled 255,904 potholes.

    -

    And should anyone forget that filling potholes, like snow removal, is a sacred staple of constituent services, transportation officials have compiled the number of potholes the city has filled — more than 1,786,300 — since Mayor Bill de Blasio took office in 2014.

    -

    Potholes form when water and salt seep into cracks, freeze and expand, creating a larger crevice, said Joe Carbone, who works for the Transportation Department, where he is known as the pothole chief.

    -

    Simply put, more freeze-thaw cycles result in more potholes, he said. Currently, the department has 25 crews repairing potholes. During peak pothole-repair season in early March, that number can expand to more than 60.

    -
    + +

    Street surfaces are affected by winter weather, too: Last year, the city filled 255,904 potholes.

    +

    And should anyone forget that filling potholes, like snow removal, is a sacred staple of constituent services, transportation officials have compiled the number of potholes the city has filled — more than 1,786,300 — since Mayor Bill de Blasio took office in 2014.

    +

    Potholes form when water and salt seep into cracks, freeze and expand, creating a larger crevice, said Joe Carbone, who works for the Transportation Department, where he is known as the pothole chief.

    +

    Simply put, more freeze-thaw cycles result in more potholes, he said. Currently, the department has 25 crews repairing potholes. During peak pothole-repair season in early March, that number can expand to more than 60.

    Still, the department is continually resurfacing the city’s more than 6,000 miles of streets and 19,000 lane miles. Each year, agency officials said, it uses more than one million tons of asphalt to repave more than 1,300 lane-miles of street.

    -
    -
    -
    -

    Image

    -
    -
    -
    -
    - Workers learning how to fix water main breaks at a training center in Queens.CreditChang W. Lee/The New York Times -
    - -
    -
    +
    +
    +

    Image

    +
    +
    + Workers learning how to fix water main breaks at a training center in Queens.CreditChang W. Lee/The New York Times +
    + +
    -
    - -

    Of the 400 city laborers who work on water mains, many learn the finer points of leak repair at a training center in Queens, where underground pipes are made to spring leaks for repair drills.

    -

    Workers from the Department of Environmental Protection recently gathered around a muddy hole as a co-worker, Nehemiah Dejesus, scrambled to apply a stainless-steel repair clamp around a cracked segment that was spewing water.

    -

    “Don’t get nervous,” instructed Milton Velez, the agency’s district supervisor for Queens.

    -

    “I’m not,” Mr. Dejesus said as he secured the clamp and stopped the leak. “It’s ‘Showtime at the Apollo.’”

    -
    + +

    Of the 400 city laborers who work on water mains, many learn the finer points of leak repair at a training center in Queens, where underground pipes are made to spring leaks for repair drills.

    +

    Workers from the Department of Environmental Protection recently gathered around a muddy hole as a co-worker, Nehemiah Dejesus, scrambled to apply a stainless-steel repair clamp around a cracked segment that was spewing water.

    +

    “Don’t get nervous,” instructed Milton Velez, the agency’s district supervisor for Queens.

    +

    “I’m not,” Mr. Dejesus said as he secured the clamp and stopped the leak. “It’s ‘Showtime at the Apollo.’”

    -
    -

    Corey Kilgannon is a Metro reporter covering news and human interest stories. His writes the Character Study column in the Sunday Metropolitan section. He was also part of the team that won the 2009 Pulitzer Prize for Breaking News. @coreykilgannon Facebook -

    -
    +

    Corey Kilgannon is a Metro reporter covering news and human interest stories. His writes the Character Study column in the Sunday Metropolitan section. He was also part of the team that won the 2009 Pulitzer Prize for Breaking News. @coreykilgannon Facebook +

    A version of this article appears in print on , on Page A22 of the New York edition with the headline: Under the City’s Streets, A Battle Against Winter. Order Reprints | Today’s Paper | Subscribe

    diff --git a/test/test-pages/nytimes-4/expected.html b/test/test-pages/nytimes-4/expected.html index f782cb8..74d823e 100644 --- a/test/test-pages/nytimes-4/expected.html +++ b/test/test-pages/nytimes-4/expected.html @@ -3,125 +3,97 @@

    Tax cuts, spending increases and higher interest rates could make it harder to respond to future recessions and deal with other needs.

    -
    -
    -

    Image -

    -
    - Interest payments on the federal debt could surpass the Defense Department budget in 2023.CreditCreditJeon Heon-Kyun/EPA, via Shutterstock -
    -
    -
    +
    +

    Image +

    +
    + Interest payments on the federal debt could surpass the Defense Department budget in 2023.CreditCreditJeon Heon-Kyun/EPA, via Shutterstock +
    +
    -
    -

    The federal government could soon pay more in interest on its debt than it spends on the military, Medicaid or children’s programs.

    -

    The run-up in borrowing costs is a one-two punch brought on by the need to finance a fast-growing budget deficit, worsened by tax cuts and steadily rising interest rates that will make the debt more expensive.

    -

    With less money coming in and more going toward interest, political leaders will find it harder to address pressing needs like fixing crumbling roads and bridges or to make emergency moves like pulling the economy out of future recessions.

    -

    Within a decade, more than $900 billion in interest payments will be due annually, easily outpacing spending on myriad other programs. Already the fastest-growing major government expense, the cost of interest is on track to hit $390 billion next year, nearly 50 percent more than in 2017, according to the Congressional Budget Office.

    -
    +

    The federal government could soon pay more in interest on its debt than it spends on the military, Medicaid or children’s programs.

    +

    The run-up in borrowing costs is a one-two punch brought on by the need to finance a fast-growing budget deficit, worsened by tax cuts and steadily rising interest rates that will make the debt more expensive.

    +

    With less money coming in and more going toward interest, political leaders will find it harder to address pressing needs like fixing crumbling roads and bridges or to make emergency moves like pulling the economy out of future recessions.

    +

    Within a decade, more than $900 billion in interest payments will be due annually, easily outpacing spending on myriad other programs. Already the fastest-growing major government expense, the cost of interest is on track to hit $390 billion next year, nearly 50 percent more than in 2017, according to the Congressional Budget Office.

    -
    -

    “It’s very much something to worry about,” said C. Eugene Steuerle, a fellow at the Urban Institute and a co-founder of the Urban-Brookings Tax Policy Center in Washington. “Everything else is getting squeezed.”

    -

    Gradually rising interest rates would have made borrowing more expensive even without additional debt. But the tax cuts passed late last year have created a deeper hole, with the deficit increasing faster than expected. A budget bill approved in February that raised spending by $300 billion over two years will add to the financial pressure.

    -

    The deficit is expected to total nearly $1 trillion next year — the first time it has been that big since 2012, when the economy was still struggling to recover from the financial crisis and interest rates were near zero.

    -
    +

    “It’s very much something to worry about,” said C. Eugene Steuerle, a fellow at the Urban Institute and a co-founder of the Urban-Brookings Tax Policy Center in Washington. “Everything else is getting squeezed.”

    +

    Gradually rising interest rates would have made borrowing more expensive even without additional debt. But the tax cuts passed late last year have created a deeper hole, with the deficit increasing faster than expected. A budget bill approved in February that raised spending by $300 billion over two years will add to the financial pressure.

    +

    The deficit is expected to total nearly $1 trillion next year — the first time it has been that big since 2012, when the economy was still struggling to recover from the financial crisis and interest rates were near zero.

    -
    -

    Deficit hawks have gone silent, even proposing changes that would exacerbate the deficit. House Republicans introduced legislation this month that would make the tax cuts permanent.

    -

    “The issue has just disappeared,” said Senator Mark Warner, a Virginia Democrat. “There’s collective amnesia.”

    -
    +

    Deficit hawks have gone silent, even proposing changes that would exacerbate the deficit. House Republicans introduced legislation this month that would make the tax cuts permanent.

    +

    “The issue has just disappeared,” said Senator Mark Warner, a Virginia Democrat. “There’s collective amnesia.”

    -
    -

    The combination, say economists, marks a journey into mostly uncharted financial territory.

    -

    In the past, government borrowing expanded during recessions and waned in recoveries. That countercyclical policy has been a part of the standard Keynesian toolbox to combat downturns since the Great Depression.

    -

    The deficit is soaring now as the economy booms, meaning the stimulus is pro-cyclical. The risk is that the government would have less room to maneuver if the economy slows.

    -
    +

    The combination, say economists, marks a journey into mostly uncharted financial territory.

    +

    In the past, government borrowing expanded during recessions and waned in recoveries. That countercyclical policy has been a part of the standard Keynesian toolbox to combat downturns since the Great Depression.

    +

    The deficit is soaring now as the economy booms, meaning the stimulus is pro-cyclical. The risk is that the government would have less room to maneuver if the economy slows.

    -
    -

    Aside from wartime or a deep downturn like the 1930s or 2008-9, “this sort of aggressive fiscal stimulus is unprecedented in U.S. history,” said Jeffrey Frankel, an economist at Harvard.

    -

    Pouring gasoline on an already hot economy has resulted in faster growth — the economy expanded at an annualized rate of 4.2 percent in the second quarter. But Mr. Frankel warns that when the economy weakens, the government will find it more difficult to cut taxes or increase spending.

    -

    Lawmakers might, in fact, feel compelled to cut spending as tax revenue falls, further depressing the economy. “There will eventually be another recession, and this increases the chances we will have to slam on the brakes when the car is already going too slowly,” Mr. Frankel said.

    - -
    +

    Aside from wartime or a deep downturn like the 1930s or 2008-9, “this sort of aggressive fiscal stimulus is unprecedented in U.S. history,” said Jeffrey Frankel, an economist at Harvard.

    +

    Pouring gasoline on an already hot economy has resulted in faster growth — the economy expanded at an annualized rate of 4.2 percent in the second quarter. But Mr. Frankel warns that when the economy weakens, the government will find it more difficult to cut taxes or increase spending.

    +

    Lawmakers might, in fact, feel compelled to cut spending as tax revenue falls, further depressing the economy. “There will eventually be another recession, and this increases the chances we will have to slam on the brakes when the car is already going too slowly,” Mr. Frankel said.

    +
    -
    -

    Finding the money to pay investors who hold government debt will crimp other parts of the budget. In a decade, interest on the debt will eat up 13 percent of government spending, up from 6.6 percent in 2017.

    -

    “By 2020, we will spend more on interest than we do on kids, including education, food stamps and aid to families,” said Marc Goldwein, senior policy director at the Committee for a Responsible Federal Budget, a research and advocacy organization.

    -
    +

    Finding the money to pay investors who hold government debt will crimp other parts of the budget. In a decade, interest on the debt will eat up 13 percent of government spending, up from 6.6 percent in 2017.

    +

    “By 2020, we will spend more on interest than we do on kids, including education, food stamps and aid to families,” said Marc Goldwein, senior policy director at the Committee for a Responsible Federal Budget, a research and advocacy organization.

    -
    -

    Interest costs already dwarf spending on many popular programs. For example, grants to students from low-income families for college total roughly $30 billion — about one-tenth of what the government will pay in interest this year. Interest payments will overtake Medicaid in 2020 and the Department of Defense budget in 2023.

    -

    What’s more, the heavy burden of interest payments could make it harder for the government to repair aging infrastructure or take on other big new projects.

    -

    Mr. Trump has called for spending $1 trillion on infrastructure, but Congress has not taken up that idea.

    -
    +

    Interest costs already dwarf spending on many popular programs. For example, grants to students from low-income families for college total roughly $30 billion — about one-tenth of what the government will pay in interest this year. Interest payments will overtake Medicaid in 2020 and the Department of Defense budget in 2023.

    +

    What’s more, the heavy burden of interest payments could make it harder for the government to repair aging infrastructure or take on other big new projects.

    +

    Mr. Trump has called for spending $1 trillion on infrastructure, but Congress has not taken up that idea.

    More about the federal debt and the economy

    -
    - -

    Until recently, ultralow interest rates, set by the Federal Reserve to support the economy, allowed lawmakers to borrow without fretting too much about the cost of that debt.

    -

    But as the economy has strengthened, the Fed has gradually raised rates, starting in December 2015. The central bank is expected to push rates up again on Wednesday, and more increases are in store.

    -

    “When rates went down to record lows, it allowed the government to take on more debt without paying more interest,” Mr. Goldwein said. “That party is ending.”

    -
    + +

    Until recently, ultralow interest rates, set by the Federal Reserve to support the economy, allowed lawmakers to borrow without fretting too much about the cost of that debt.

    +

    But as the economy has strengthened, the Fed has gradually raised rates, starting in December 2015. The central bank is expected to push rates up again on Wednesday, and more increases are in store.

    +

    “When rates went down to record lows, it allowed the government to take on more debt without paying more interest,” Mr. Goldwein said. “That party is ending.”

    Since the beginning of the year, the yield on the 10-year Treasury note has risen by more than half a percentage point, to 3.1 percent. The Congressional Budget Office estimates that the yield will climb to 4.2 percent in 2021. Given that the total public debt of the United States stands at nearly $16 trillion, even a small uptick in rates can cost the government billions.

    -
    -

    There’s no guarantee that these forecasts will prove accurate. If the economy weakens, rates might fall or rise only slightly, reducing interest payments. But rates could also overshoot the budget office forecast.

    -

    Some members of Congress want to set the stage for even more red ink. Republicans in the House want to make last year’s tax cuts permanent, instead of letting some of them expire at the end of 2025. That would reduce federal revenue by an additional $631 billion over 10 years, according to the Tax Policy Center.

    - -
    +

    There’s no guarantee that these forecasts will prove accurate. If the economy weakens, rates might fall or rise only slightly, reducing interest payments. But rates could also overshoot the budget office forecast.

    +

    Some members of Congress want to set the stage for even more red ink. Republicans in the House want to make last year’s tax cuts permanent, instead of letting some of them expire at the end of 2025. That would reduce federal revenue by an additional $631 billion over 10 years, according to the Tax Policy Center.

    +
    -
    -

    Deficit hawks have warned for years that a day of reckoning is coming, exposing the United States to the kind of economic crisis that overtook profligate borrowers in the past like Greece or Argentina.

    -

    But most experts say that isn’t likely because the dollar is the world’s reserve currency. As a result, the United States still has plenty of borrowing capacity left because the Fed can print money with fewer consequences than other central banks.

    -

    And interest rates plunged over the last decade, even as the government turned to the market for trillions each year after the recession. That’s because Treasury bonds are still the favored port of international investors in any economic storm.

    -

    “We exported a financial crisis a decade ago, and the world responded by sending us money,” said William G. Gale, a senior fellow at the Brookings Institution.

    -

    But that privileged position has allowed politicians in both parties to avoid politically painful steps like cutting spending or raising taxes.

    -
    +

    Deficit hawks have warned for years that a day of reckoning is coming, exposing the United States to the kind of economic crisis that overtook profligate borrowers in the past like Greece or Argentina.

    +

    But most experts say that isn’t likely because the dollar is the world’s reserve currency. As a result, the United States still has plenty of borrowing capacity left because the Fed can print money with fewer consequences than other central banks.

    +

    And interest rates plunged over the last decade, even as the government turned to the market for trillions each year after the recession. That’s because Treasury bonds are still the favored port of international investors in any economic storm.

    +

    “We exported a financial crisis a decade ago, and the world responded by sending us money,” said William G. Gale, a senior fellow at the Brookings Institution.

    +

    But that privileged position has allowed politicians in both parties to avoid politically painful steps like cutting spending or raising taxes.

    -
    -

    That doesn’t mean rapidly rising interest costs and a bigger deficit won’t eventually catch up with us.

    -

    Charles Schultze, chairman of the Council of Economic Advisers in the Carter administration, once summed up the danger of deficits with a metaphor. “It’s not so much a question of the wolf at the door, but termites in the woodwork.”

    - -

    Rather than simply splitting along party lines, lawmakers’ attitudes toward the deficit also depend on which party is in power. Republicans pilloried the Obama administration for proposing a large stimulus in the depths of the recession in 2009 and complained about the deficit for years.

    -

    In 2013, Senator Mitch McConnell of Kentucky called the debt and deficit “the transcendent issue of our era.” By 2017, as Senate majority leader, he quickly shepherded the tax cut through Congress.

    -

    Senator James Lankford, an Oklahoma Republican who warned of the deficit’s dangers in the past, nevertheless played down that threat on the Senate floor as the tax billed neared passage.

    -

    “I understand it’s a risk, but I think it’s an appropriate risk to be able to say let’s allow Americans to keep more of their own money to invest in this economy,” he said.

    -

    He also claimed the tax cuts would pay for themselves even as the Congressional Budget Office estimated that they would add $250 billion to the deficit on average from 2019 to 2024.

    -
    +

    That doesn’t mean rapidly rising interest costs and a bigger deficit won’t eventually catch up with us.

    +

    Charles Schultze, chairman of the Council of Economic Advisers in the Carter administration, once summed up the danger of deficits with a metaphor. “It’s not so much a question of the wolf at the door, but termites in the woodwork.”

    + +

    Rather than simply splitting along party lines, lawmakers’ attitudes toward the deficit also depend on which party is in power. Republicans pilloried the Obama administration for proposing a large stimulus in the depths of the recession in 2009 and complained about the deficit for years.

    +

    In 2013, Senator Mitch McConnell of Kentucky called the debt and deficit “the transcendent issue of our era.” By 2017, as Senate majority leader, he quickly shepherded the tax cut through Congress.

    +

    Senator James Lankford, an Oklahoma Republican who warned of the deficit’s dangers in the past, nevertheless played down that threat on the Senate floor as the tax billed neared passage.

    +

    “I understand it’s a risk, but I think it’s an appropriate risk to be able to say let’s allow Americans to keep more of their own money to invest in this economy,” he said.

    +

    He also claimed the tax cuts would pay for themselves even as the Congressional Budget Office estimated that they would add $250 billion to the deficit on average from 2019 to 2024.

    -
    -

    In an interview, Mr. Lankford insisted that the jury was still out on whether the tax cuts would generate additional revenue, citing the strong economic growth recently.

    -

    While the Republican about-face has been much more striking, Democrats have adjusted their position, too.

    -

    Mr. Warner, the Virginia Democrat, called last year’s tax bill “the worst piece of legislation we have passed since I arrived in the Senate.” In 2009, however, when Congress passed an $800 billion stimulus bill backed by the Obama administration, he called it “a responsible mix of tax cuts and investments that will create jobs.”

    -

    The difference, Mr. Warner said, was that the economy was near the precipice then.

    -

    “There was virtual unanimity among economists that we needed a stimulus,” he said. “But a $2 trillion tax cut at the end of a business cycle with borrowed money won’t end well.”

    -
    +

    In an interview, Mr. Lankford insisted that the jury was still out on whether the tax cuts would generate additional revenue, citing the strong economic growth recently.

    +

    While the Republican about-face has been much more striking, Democrats have adjusted their position, too.

    +

    Mr. Warner, the Virginia Democrat, called last year’s tax bill “the worst piece of legislation we have passed since I arrived in the Senate.” In 2009, however, when Congress passed an $800 billion stimulus bill backed by the Obama administration, he called it “a responsible mix of tax cuts and investments that will create jobs.”

    +

    The difference, Mr. Warner said, was that the economy was near the precipice then.

    +

    “There was virtual unanimity among economists that we needed a stimulus,” he said. “But a $2 trillion tax cut at the end of a business cycle with borrowed money won’t end well.”

    -
    -

    Nelson D. Schwartz has covered economics since 2012. Previously, he wrote about Wall Street and banking, and also served as European economic correspondent in Paris. He joined The Times in 2007 as a feature writer for the Sunday Business section. @NelsonSchwartz -

    -
    +

    Nelson D. Schwartz has covered economics since 2012. Previously, he wrote about Wall Street and banking, and also served as European economic correspondent in Paris. He joined The Times in 2007 as a feature writer for the Sunday Business section. @NelsonSchwartz +

    A version of this article appears in print on , on Page A1 of the New York edition with the headline: What May Soon Exceed Cost of U.S. Military? Interest on U.S. Debt . Order Reprints | Today’s Paper | Subscribe

    diff --git a/test/test-pages/qq/expected-metadata.json b/test/test-pages/qq/expected-metadata.json index 191c539..39da015 100644 --- a/test/test-pages/qq/expected-metadata.json +++ b/test/test-pages/qq/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "DeepMind新电脑已可利用记忆自学 人工智能迈上新台阶_科技_腾讯网", "byline": null, + "dir": null, "excerpt": "DeepMind新电脑已可利用记忆自学 人工智能迈上新台阶", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/qq/expected.html b/test/test-pages/qq/expected.html index d8de933..1ff58f7 100644 --- a/test/test-pages/qq/expected.html +++ b/test/test-pages/qq/expected.html @@ -1,35 +1,27 @@
    -
    -
    -
    -

    转播到腾讯微博

    -

    DeepMind新电脑已可利用记忆自学 人工智能迈上新台阶

    -
    -

    TNW中文站 10月14日报道

    -

    谷歌(微博) 在2014年收购的人工智能公司DeepMind开发出一款能够用自己的记忆学习新知识并利用这些知识来回答问题的计算机。

    -

    这款产品具有极其重要的意义,因为这意味着未来的人工智能技术可能不需要人类来教它就能回答人类提出的问题。

    -

    DeepMind表示,这款名为DNC(可微神经计算机)的AI模型可以接受家谱和伦敦地铁网络地图这样的信息,还可以回答与那些数据结构中的不同项目之间的关系有关的复杂问题。

    -

    例如,它可以回答“从邦德街开始,沿着中央线坐一站,环线坐四站,然后转朱比利线坐两站,你会到达哪个站?”这样的问题。

    -

    DeepMind称,DNC还可以帮你规划从沼泽门到皮卡迪利广场的最佳路线。

    -

    同样,它还可以理解和回答某个大家族中的成员之间的关系这样的复杂问题,比如“张三的大舅是谁?”。

    -

    DNC建立在神经网络的概念之上,神经网络可以模拟人类思想活动的方式。这种AI技术很适合与机器习得配套使用。

    -

    DeepMind的AlphaGo AI能够打败围棋冠军也跟这些神经网络有很大关系。但是AlphaGo必须进行训练才行,开发人员向AlphaGo提供了历史对弈中的大约3000万记录。让人工智能技术具备通过记忆学习的能力,就可以让它独自完成更复杂的任务。

    -

    DeepMind希望DNC可以推动计算行业实现更多突破。DeepMind已将其研究结果发表在科学刊物《自然》(Nature)上。(编译/林靖东)

    -

    精彩视频推荐 -

    -
    -
    -
    -
    -
    -

    转播到腾讯微博

    -

    -
    -
    -
    -
    -
    -

    【美国The Next Web作品的中文相关权益归腾讯公司独家所有。未经授权,不得转载、摘编等。】

    +
    +
    +

    转播到腾讯微博

    +

    DeepMind新电脑已可利用记忆自学 人工智能迈上新台阶

    +

    TNW中文站 10月14日报道

    +

    + 谷歌(微博) 在2014年收购的人工智能公司DeepMind开发出一款能够用自己的记忆学习新知识并利用这些知识来回答问题的计算机。 +

    +

    这款产品具有极其重要的意义,因为这意味着未来的人工智能技术可能不需要人类来教它就能回答人类提出的问题。

    +

    DeepMind表示,这款名为DNC(可微神经计算机)的AI模型可以接受家谱和伦敦地铁网络地图这样的信息,还可以回答与那些数据结构中的不同项目之间的关系有关的复杂问题。

    +

    例如,它可以回答“从邦德街开始,沿着中央线坐一站,环线坐四站,然后转朱比利线坐两站,你会到达哪个站?”这样的问题。

    +

    DeepMind称,DNC还可以帮你规划从沼泽门到皮卡迪利广场的最佳路线。

    +

    同样,它还可以理解和回答某个大家族中的成员之间的关系这样的复杂问题,比如“张三的大舅是谁?”。

    +

    DNC建立在神经网络的概念之上,神经网络可以模拟人类思想活动的方式。这种AI技术很适合与机器习得配套使用。

    +

    DeepMind的AlphaGo AI能够打败围棋冠军也跟这些神经网络有很大关系。但是AlphaGo必须进行训练才行,开发人员向AlphaGo提供了历史对弈中的大约3000万记录。让人工智能技术具备通过记忆学习的能力,就可以让它独自完成更复杂的任务。

    +

    DeepMind希望DNC可以推动计算行业实现更多突破。DeepMind已将其研究结果发表在科学刊物《自然》(Nature)上。(编译/林靖东)

    +

    精彩视频推荐 +

    +
    +

    转播到腾讯微博

    +

    +
    +

    【美国The Next Web作品的中文相关权益归腾讯公司独家所有。未经授权,不得转载、摘编等。】

    \ No newline at end of file diff --git a/test/test-pages/quanta-1/expected-metadata.json b/test/test-pages/quanta-1/expected-metadata.json new file mode 100644 index 0000000..f95c779 --- /dev/null +++ b/test/test-pages/quanta-1/expected-metadata.json @@ -0,0 +1,8 @@ +{ + "title": "The Hidden Heroines of Chaos", + "byline": "By Joshua Sokol", + "dir": null, + "excerpt": "Two women programmers played a pivotal role in the birth of chaos theory. Their previously untold story illustrates the changing status of computation in", + "siteName": "Quanta Magazine", + "readerable": true +} diff --git a/test/test-pages/quanta-1/expected.html b/test/test-pages/quanta-1/expected.html new file mode 100644 index 0000000..7b71605 --- /dev/null +++ b/test/test-pages/quanta-1/expected.html @@ -0,0 +1,60 @@ +
    +
    +

    A little over half a century ago, chaos started spilling out of a famous experiment. It came not from a petri dish, a beaker or an astronomical observatory, but from the vacuum tubes and diodes of a Royal McBee LGP-30. This “desk” computer — it was the size of a desk — weighed some 800 pounds and sounded like a passing propeller plane. It was so loud that it even got its own office on the fifth floor in Building 24, a drab structure near the center of the Massachusetts Institute of Technology. Instructions for the computer came from down the hall, from the office of a meteorologist named Edward Norton Lorenz.

    +

    The story of chaos is usually told like this: Using the LGP-30, Lorenz made paradigm-wrecking discoveries. In 1961, having programmed a set of equations into the computer that would simulate future weather, he found that tiny differences in starting values could lead to drastically different outcomes. This sensitivity to initial conditions, later popularized as the butterfly effect, made predicting the far future a fool’s errand. But Lorenz also found that these unpredictable outcomes weren’t quite random, either. When visualized in a certain way, they seemed to prowl around a shape called a strange attractor.

    +

    About a decade later, chaos theory started to catch on in scientific circles. Scientists soon encountered other unpredictable natural systems that looked random even though they weren’t: the rings of Saturn, blooms of marine algae, Earth’s magnetic field, the number of salmon in a fishery. Then chaos went mainstream with the publication of James Gleick’s Chaos: Making a New Science in 1987. Before long, Jeff Goldblum, playing the chaos theorist Ian Malcolm, was pausing, stammering and charming his way through lines about the unpredictability of nature in Jurassic Park.

    +

    All told, it’s a neat narrative. Lorenz, “the father of chaos,” started a scientific revolution on the LGP-30. It is quite literally a textbook case for how the numerical experiments that modern science has come to rely on — in fields ranging from climate science to ecology to astrophysics — can uncover hidden truths about nature.

    +

    But in fact, Lorenz was not the one running the machine. There’s another story, one that has gone untold for half a century. A year and a half ago, an MIT scientist happened across a name he had never heard before and started to investigate. The trail he ended up following took him into the MIT archives, through the stacks of the Library of Congress, and across three states and five decades to find information about the women who, today, would have been listed as co-authors on that seminal paper. And that material, shared with Quanta, provides a fuller, fairer account of the birth of chaos.

    +

    + The Birth of Chaos +

    +

    In the fall of 2017, the geophysicist Daniel Rothman, co-director of MIT’s Lorenz Center, was preparing for an upcoming symposium. The meeting would honor Lorenz, who died in 2008, so Rothman revisited Lorenz’s epochal paper, a masterwork on chaos titled “Deterministic Nonperiodic Flow.” Published in 1963, it has since attracted thousands of citations, and Rothman, having taught this foundational material to class after class, knew it like an old friend. But this time he saw something he hadn’t noticed before. In the paper’s acknowledgments, Lorenz had written, “Special thanks are due to Miss Ellen Fetter for handling the many numerical computations.”

    +

    “Jesus … who is Ellen Fetter?” Rothman recalls thinking at the time. “It’s one of the most important papers in computational physics and, more broadly, in computational science,” he said. And yet he couldn’t find anything about this woman. “Of all the volumes that have been written about Lorenz, the great discovery — nothing.”

    +

    With further online searches, however, Rothman found a wedding announcement from 1963. Ellen Fetter had married John Gille, a physicist, and changed her name. A colleague of Rothman’s then remembered that a graduate student named Sarah Gille had studied at MIT in the 1990s in the very same department as Lorenz and Rothman. Rothman reached out to her, and it turned out that Sarah Gille, now a physical oceanographer at the University of California, San Diego, was Ellen and John’s daughter. Through this connection, Rothman was able to get Ellen Gille, née Fetter, on the phone. And that’s when he learned another name, the name of the woman who had preceded Fetter in the job of programming Lorenz’s first meetings with chaos: Margaret Hamilton.

    +

    When Margaret Hamilton arrived at MIT in the summer of 1959, with a freshly minted math degree from Earlham College, Lorenz had only recently bought and taught himself to use the LGP-30. Hamilton had no prior training in programming either. Then again, neither did anyone else at the time. “He loved that computer,” Hamilton said. “And he made me feel the same way about it.”

    +

    For Hamilton, these were formative years. She recalls being out at a party at three or four a.m., realizing that the LGP-30 wasn’t set to produce results by the next morning, and rushing over with a few friends to start it up. Another time, frustrated by all the things that had to be done to make another run after fixing an error, she devised a way to bypass the computer’s clunky debugging process. To Lorenz’s delight, Hamilton would take the paper tape that fed the machine, roll it out the length of the hallway, and edit the binary code with a sharp pencil. “I’d poke holes for ones, and I’d cover up with Scotch tape the others,” she said. “He just got a kick out of it.”

    +
    +
    +

    There were desks in the computer room, but because of the noise, Lorenz, his secretary, his programmer and his graduate students all shared the other office. The plan was to use the desk computer, then a total novelty, to test competing strategies of weather prediction in a way you couldn’t do with pencil and paper.

    +

    First, though, Lorenz’s team had to do the equivalent of catching the Earth’s atmosphere in a jar. Lorenz idealized the atmosphere in 12 equations that described the motion of gas in a rotating, stratified fluid. Then the team coded them in.

    +

    Sometimes the “weather” inside this simulation would simply repeat like clockwork. But Lorenz found a more interesting and more realistic set of solutions that generated weather that wasn’t periodic. The team set up the computer to slowly print out a graph of how one or two variables — say, the latitude of the strongest westerly winds — changed over time. They would gather around to watch this imaginary weather, even placing little bets on what the program would do next.

    +

    And then one day it did something really strange. This time they had set up the printer not to make a graph, but simply to print out time stamps and the values of a few variables at each time. As Lorenz later recalled, they had re-run a previous weather simulation with what they thought were the same starting values, reading off the earlier numbers from the previous printout. But those weren’t actually the same numbers. The computer was keeping track of numbers to six decimal places, but the printer, to save space on the page, had rounded them to only the first three decimal places.

    +

    After the second run started, Lorenz went to get coffee. The new numbers that emerged from the LGP-30 while he was gone looked at first like the ones from the previous run. This new run had started in a very similar place, after all. But the errors grew exponentially. After about two months of imaginary weather, the two runs looked nothing alike. This system was still deterministic, with no random chance intruding between one moment and the next. Even so, its hair-trigger sensitivity to initial conditions made it unpredictable.

    +

    This meant that in chaotic systems the smallest fluctuations get amplified. Weather predictions fail once they reach some point in the future because we can never measure the initial state of the atmosphere precisely enough. Or, as Lorenz would later present the idea, even a seagull flapping its wings might eventually make a big difference to the weather. (In 1972, the seagull was deposed when a conference organizer, unable to check back about what Lorenz wanted to call an upcoming talk, wrote his own title that switched the metaphor to a butterfly.)

    +
    +
    +

    Many accounts, including the one in Gleick’s book, date the discovery of this butterfly effect to 1961, with the paper following in 1963. But in November 1960, Lorenz described it during the Q&A session following a talk he gave at a conference on numerical weather prediction in Tokyo. After his talk, a question came from a member of the audience: “Did you change the initial condition just slightly and see how much different results were?”

    +

    “As a matter of fact, we tried out that once with the same equation to see what could happen,” Lorenz said. He then started to explain the unexpected result, which he wouldn’t publish for three more years. “He just gives it all away,” Rothman said now. But no one at the time registered it enough to scoop him.

    +

    In the summer of 1961, Hamilton moved on to another project, but not before training her replacement. Two years after Hamilton first stepped on campus, Ellen Fetter showed up at MIT in much the same fashion: a recent graduate of Mount Holyoke with a degree in math, seeking any sort of math-related job in the Boston area, eager and able to learn. She interviewed with a woman who ran the LGP-30 in the nuclear engineering department, who recommended her to Hamilton, who hired her.

    +

    Once Fetter arrived in Building 24, Lorenz gave her a manual and a set of programming problems to practice, and before long she was up to speed. “He carried a lot in his head,” she said. “He would come in with maybe one yellow sheet of paper, a legal piece of paper in his pocket, pull it out, and say, ‘Let’s try this.’”

    +

    The project had progressed meanwhile. The 12 equations produced fickle weather, but even so, that weather seemed to prefer a narrow set of possibilities among all possible states, forming a mysterious cluster which Lorenz wanted to visualize. Finding that difficult, he narrowed his focus even further. From a colleague named Barry Saltzman, he borrowed just three equations that would describe an even simpler nonperiodic system, a beaker of water heated from below and cooled from above.

    +

    Here, again, the LGP-30 chugged its way into chaos. Lorenz identified three properties of the system corresponding roughly to how fast convection was happening in the idealized beaker, how the temperature varied from side to side, and how the temperature varied from top to bottom. The computer tracked these properties moment by moment.

    +

    The properties could also be represented as a point in space. Lorenz and Fetter plotted the motion of this point. They found that over time, the point would trace out a butterfly-shaped fractal structure now called the Lorenz attractor. The trajectory of the point — of the system — would never retrace its own path. And as before, two systems setting out from two minutely different starting points would soon be on totally different tracks. But just as profoundly, wherever you started the system, it would still head over to the attractor and start doing chaotic laps around it.

    +

    The attractor and the system’s sensitivity to initial conditions would eventually be recognized as foundations of chaos theory. Both were published in the landmark 1963 paper. But for a while only meteorologists noticed the result. Meanwhile, Fetter married John Gille and moved with him when he went to Florida State University and then to Colorado. They stayed in touch with Lorenz and saw him at social events. But she didn’t realize how famous he had become.

    +

    Still, the notion of small differences leading to drastically different outcomes stayed in the back of her mind. She remembered the seagull, flapping its wings. “I always had this image that stepping off the curb one way or the other could change the course of any field,” she said.

    +

    + Flight Checks +

    +

    After leaving Lorenz’s group, Hamilton embarked on a different path, achieving a level of fame that rivals or even exceeds that of her first coding mentor. At MIT’s Instrumentation Laboratory, starting in 1965, she headed the onboard flight software team for the Apollo project.

    +

    Her code held up when the stakes were life and death — even when a mis-flipped switch triggered alarms that interrupted the astronaut’s displays right as Apollo 11 approached the surface of the moon. Mission Control had to make a quick choice: land or abort. But trusting the software’s ability to recognize errors, prioritize important tasks, and recover, the astronauts kept going.

    +

    Hamilton, who popularized the term “software engineering,” later led the team that wrote the software for Skylab, the first U.S. space station. She founded her own company in Cambridge in 1976, and in recent years her legacy has been celebrated again and again. She won NASA’s Exceptional Space Act Award in 2003 and received the Presidential Medal of Freedom in 2016. In 2017 she garnered arguably the greatest honor of all: a Margaret Hamilton Lego minifigure.

    +

    Fetter, for her part, continued to program at Florida State after leaving Lorenz’s group at MIT. After a few years, she left her job to raise her children. In the 1970s, she took computer science classes at the University of Colorado, toying with the idea of returning to programming, but she eventually took a tax preparation job instead. By the 1980s, the demographics of programming had shifted. “After I sort of got put off by a couple of job interviews, I said forget it,” she said. “They went with young, techy guys.”

    +

    Chaos only reentered her life through her daughter, Sarah. As an undergraduate at Yale in the 1980s, Sarah Gille sat in on a class about scientific programming. The case they studied? Lorenz’s discoveries on the LGP-30. Later, Sarah studied physical oceanography as a graduate student at MIT, joining the same overarching department as both Lorenz and Rothman, who had arrived a few years earlier. “One of my office mates in the general exam, the qualifying exam for doing research at MIT, was asked: How would you explain chaos theory to your mother?” she said. “I was like, whew, glad I didn’t get that question.”

    +

    + The Changing Value of Computation +

    +

    Today, chaos theory is part of the scientific repertoire. In a study published just last month, researchers concluded that no amount of improvement in data gathering or in the science of weather forecasting will allow meteorologists to produce useful forecasts that stretch more than 15 days out. (Lorenz had suggested a similar two-week cap to weather forecasts in the mid-1960s.)

    +

    But the many retellings of chaos’s birth say little to nothing about how Hamilton and Ellen Gille wrote the specific programs that revealed the signatures of chaos. “This is an all-too-common story in the histories of science and technology,” wrote Jennifer Light, the department head for MIT’s Science, Technology and Society program, in an email to Quanta. To an extent, we can chalk up that omission to the tendency of storytellers to focus on solitary geniuses. But it also stems from tensions that remain unresolved today.

    +

    First, coders in general have seen their contributions to science minimized from the beginning. “It was seen as rote,” said Mar Hicks, a historian at the Illinois Institute of Technology. “The fact that it was associated with machines actually gave it less status, rather than more.” But beyond that, and contributing to it, many programmers in this era were women.

    +

    In addition to Hamilton and the woman who coded in MIT’s nuclear engineering department, Ellen Gille recalls a woman on an LGP-30 doing meteorology next door to Lorenz’s group. Another woman followed Gille in the job of programming for Lorenz. An analysis of official U.S. labor statistics shows that in 1960, women held 27 percent of computing and math-related jobs.

    +

    The percentage has been stuck there for a half-century. In the mid-1980s, the fraction of women pursuing bachelor’s degrees in programming even started to decline. Experts have argued over why. One idea holds that early personal computers were marketed preferentially to boys and men. Then when kids went to college, introductory classes assumed a detailed knowledge of computers going in, which alienated young women who didn’t grow up with a machine at home. Today, women programmers describe a self-perpetuating cycle where white and Asian male managers hire people who look like all the other programmers they know. Outright harassment also remains a problem.

    +

    Hamilton and Gille, however, still speak of Lorenz’s humility and mentorship in glowing terms. Before later chroniclers left them out, Lorenz thanked them in the literature in the same way he thanked Saltzman, who provided the equations Lorenz used to find his attractor. This was common at the time. Gille recalls that in all her scientific programming work, only once did someone include her as a co-author after she contributed computational work to a paper; she said she was “stunned” because of how unusual that was.

    +

    Since then, the standard for giving credit has shifted. “If you went up and down the floors of this building and told the story to my colleagues, every one of them would say that if this were going on today … they’d be a co-author!” Rothman said. “Automatically, they’d be a co-author.”

    +

    Computation in science has become even more indispensable, of course. For recent breakthroughs like the first image of a black hole, the hard part was not figuring out which equations described the system, but how to leverage computers to understand the data.

    +

    Today, many programmers leave science not because their role isn’t appreciated, but because coding is better compensated in industry, said Alyssa Goodman, an astronomer at Harvard University and an expert in computing and data science. “In the 1960s, there was no such thing as a data scientist, there was no such thing as Netflix or Google or whoever, that was going to suck in these people and really, really value them,” she said.

    +

    Still, for coder-scientists in academic systems that measure success by paper citations, things haven’t changed all that much. “If you are a software developer who may never write a paper, you may be essential,” Goodman said. “But you’re not going to be counted that way.”

    +

    + This article was reprinted on Wired.com. +

    +
    +
    \ No newline at end of file diff --git a/test/test-pages/quanta-1/source.html b/test/test-pages/quanta-1/source.html new file mode 100644 index 0000000..dcdf4f7 --- /dev/null +++ b/test/test-pages/quanta-1/source.html @@ -0,0 +1,1208 @@ + + + + + Quanta Magazine + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    + chaos theory +
    +

    + The Hidden Heroines of Chaos +

    + +
    +
    + Two women programmers played a pivotal role in the birth of chaos theory. Their previously untold story illustrates the changing status of computation in science. +
    +
    +
    + + +
    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + Animated line drawing of Margaret Hamilton, Ellen Fetter, and a Lorenz attractor +
    +
    +
    +
    +
    +
    +

    + Ellen Fetter and Margaret Hamilton were responsible for programming the enormous 1960s-era computer that would uncover strange attractors and other hallmarks of chaos theory. +

    +
    +
    +

    + Olena Shmahalo/Quanta Magazine +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +

    + A little over half a century ago, chaos started spilling out of a famous experiment. It came not from a petri dish, a beaker or an astronomical observatory, but from the vacuum tubes and diodes of a Royal McBee LGP-30. This “desk” computer — it was the size of a desk — weighed some 800 pounds and sounded like a passing propeller plane. It was so loud that it even got its own office on the fifth floor in Building 24, a drab structure near the center of the Massachusetts Institute of Technology. Instructions for the computer came from down the hall, from the office of a meteorologist named Edward Norton Lorenz. +

    +
    + +
    +

    + The story of chaos is usually told like this: Using the LGP-30, Lorenz made paradigm-wrecking discoveries. In 1961, having programmed a set of equations into the computer that would simulate future weather, he found that tiny differences in starting values could lead to drastically different outcomes. This sensitivity to initial conditions, later popularized as the butterfly effect, made predicting the far future a fool’s errand. But Lorenz also found that these unpredictable outcomes weren’t quite random, either. When visualized in a certain way, they seemed to prowl around a shape called a strange attractor. +

    +

    + About a decade later, chaos theory started to catch on in scientific circles. Scientists soon encountered other unpredictable natural systems that looked random even though they weren’t: the rings of Saturn, blooms of marine algae, Earth’s magnetic field, the number of salmon in a fishery. Then chaos went mainstream with the publication of James Gleick’s Chaos: Making a New Science in 1987. Before long, Jeff Goldblum, playing the chaos theorist Ian Malcolm, was pausing, stammering and charming his way through lines about the unpredictability of nature in Jurassic Park. +

    +

    + All told, it’s a neat narrative. Lorenz, “the father of chaos,” started a scientific revolution on the LGP-30. It is quite literally a textbook case for how the numerical experiments that modern science has come to rely on — in fields ranging from climate science to ecology to astrophysics — can uncover hidden truths about nature. +

    +

    + But in fact, Lorenz was not the one running the machine. There’s another story, one that has gone untold for half a century. A year and a half ago, an MIT scientist happened across a name he had never heard before and started to investigate. The trail he ended up following took him into the MIT archives, through the stacks of the Library of Congress, and across three states and five decades to find information about the women who, today, would have been listed as co-authors on that seminal paper. And that material, shared with Quanta, provides a fuller, fairer account of the birth of chaos. +

    +

    + The Birth of Chaos +

    +

    + In the fall of 2017, the geophysicist Daniel Rothman, co-director of MIT’s Lorenz Center, was preparing for an upcoming symposium. The meeting would honor Lorenz, who died in 2008, so Rothman revisited Lorenz’s epochal paper, a masterwork on chaos titled “Deterministic Nonperiodic Flow.” Published in 1963, it has since attracted thousands of citations, and Rothman, having taught this foundational material to class after class, knew it like an old friend. But this time he saw something he hadn’t noticed before. In the paper’s acknowledgments, Lorenz had written, “Special thanks are due to Miss Ellen Fetter for handling the many numerical computations.” +

    +

    + “Jesus … who is Ellen Fetter?” Rothman recalls thinking at the time. “It’s one of the most important papers in computational physics and, more broadly, in computational science,” he said. And yet he couldn’t find anything about this woman. “Of all the volumes that have been written about Lorenz, the great discovery — nothing.” +

    +
    + +
    +

    + With further online searches, however, Rothman found a wedding announcement from 1963. Ellen Fetter had married John Gille, a physicist, and changed her name. A colleague of Rothman’s then remembered that a graduate student named Sarah Gille had studied at MIT in the 1990s in the very same department as Lorenz and Rothman. Rothman reached out to her, and it turned out that Sarah Gille, now a physical oceanographer at the University of California, San Diego, was Ellen and John’s daughter. Through this connection, Rothman was able to get Ellen Gille, née Fetter, on the phone. And that’s when he learned another name, the name of the woman who had preceded Fetter in the job of programming Lorenz’s first meetings with chaos: Margaret Hamilton. +

    +

    + When Margaret Hamilton arrived at MIT in the summer of 1959, with a freshly minted math degree from Earlham College, Lorenz had only recently bought and taught himself to use the LGP-30. Hamilton had no prior training in programming either. Then again, neither did anyone else at the time. “He loved that computer,” Hamilton said. “And he made me feel the same way about it.” +

    +

    + For Hamilton, these were formative years. She recalls being out at a party at three or four a.m., realizing that the LGP-30 wasn’t set to produce results by the next morning, and rushing over with a few friends to start it up. Another time, frustrated by all the things that had to be done to make another run after fixing an error, she devised a way to bypass the computer’s clunky debugging process. To Lorenz’s delight, Hamilton would take the paper tape that fed the machine, roll it out the length of the hallway, and edit the binary code with a sharp pencil. “I’d poke holes for ones, and I’d cover up with Scotch tape the others,” she said. “He just got a kick out of it.” +

    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    + Acknowledgements of Ellen Fetter and Margaret Hamilton in Edward Lorenz' 1963 and 1962 papers +
    +
    +
    +
    +
    +
    +

    + Edward Lorenz acknowledged the contributions of Fetter and Hamilton at the end of his papers. +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    + There were desks in the computer room, but because of the noise, Lorenz, his secretary, his programmer and his graduate students all shared the other office. The plan was to use the desk computer, then a total novelty, to test competing strategies of weather prediction in a way you couldn’t do with pencil and paper. +

    +

    + First, though, Lorenz’s team had to do the equivalent of catching the Earth’s atmosphere in a jar. Lorenz idealized the atmosphere in 12 equations that described the motion of gas in a rotating, stratified fluid. Then the team coded them in. +

    +

    + Sometimes the “weather” inside this simulation would simply repeat like clockwork. But Lorenz found a more interesting and more realistic set of solutions that generated weather that wasn’t periodic. The team set up the computer to slowly print out a graph of how one or two variables — say, the latitude of the strongest westerly winds — changed over time. They would gather around to watch this imaginary weather, even placing little bets on what the program would do next. +

    +

    + And then one day it did something really strange. This time they had set up the printer not to make a graph, but simply to print out time stamps and the values of a few variables at each time. As Lorenz later recalled, they had re-run a previous weather simulation with what they thought were the same starting values, reading off the earlier numbers from the previous printout. But those weren’t actually the same numbers. The computer was keeping track of numbers to six decimal places, but the printer, to save space on the page, had rounded them to only the first three decimal places. +

    +

    + After the second run started, Lorenz went to get coffee. The new numbers that emerged from the LGP-30 while he was gone looked at first like the ones from the previous run. This new run had started in a very similar place, after all. But the errors grew exponentially. After about two months of imaginary weather, the two runs looked nothing alike. This system was still deterministic, with no random chance intruding between one moment and the next. Even so, its hair-trigger sensitivity to initial conditions made it unpredictable. +

    +

    + This meant that in chaotic systems the smallest fluctuations get amplified. Weather predictions fail once they reach some point in the future because we can never measure the initial state of the atmosphere precisely enough. Or, as Lorenz would later present the idea, even a seagull flapping its wings might eventually make a big difference to the weather. (In 1972, the seagull was deposed when a conference organizer, unable to check back about what Lorenz wanted to call an upcoming talk, wrote his own title that switched the metaphor to a butterfly.) +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    + "A Brief History of Chaos" Infographic +
    +
    +
    +
    +
    +
    + +
    +

    + 5W Infographics for Quanta Magazine; sources: Wikimedia Commons,
    + Mathematical Association of America, MIT Museum +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    + Many accounts, including the one in Gleick’s book, date the discovery of this butterfly effect to 1961, with the paper following in 1963. But in November 1960, Lorenz described it during the Q&A session following a talk he gave at a conference on numerical weather prediction in Tokyo. After his talk, a question came from a member of the audience: “Did you change the initial condition just slightly and see how much different results were?” +

    +

    + “As a matter of fact, we tried out that once with the same equation to see what could happen,” Lorenz said. He then started to explain the unexpected result, which he wouldn’t publish for three more years. “He just gives it all away,” Rothman said now. But no one at the time registered it enough to scoop him. +

    +

    + In the summer of 1961, Hamilton moved on to another project, but not before training her replacement. Two years after Hamilton first stepped on campus, Ellen Fetter showed up at MIT in much the same fashion: a recent graduate of Mount Holyoke with a degree in math, seeking any sort of math-related job in the Boston area, eager and able to learn. She interviewed with a woman who ran the LGP-30 in the nuclear engineering department, who recommended her to Hamilton, who hired her. +

    +

    + Once Fetter arrived in Building 24, Lorenz gave her a manual and a set of programming problems to practice, and before long she was up to speed. “He carried a lot in his head,” she said. “He would come in with maybe one yellow sheet of paper, a legal piece of paper in his pocket, pull it out, and say, ‘Let’s try this.’” +

    +

    + The project had progressed meanwhile. The 12 equations produced fickle weather, but even so, that weather seemed to prefer a narrow set of possibilities among all possible states, forming a mysterious cluster which Lorenz wanted to visualize. Finding that difficult, he narrowed his focus even further. From a colleague named Barry Saltzman, he borrowed just three equations that would describe an even simpler nonperiodic system, a beaker of water heated from below and cooled from above. +

    +

    + Here, again, the LGP-30 chugged its way into chaos. Lorenz identified three properties of the system corresponding roughly to how fast convection was happening in the idealized beaker, how the temperature varied from side to side, and how the temperature varied from top to bottom. The computer tracked these properties moment by moment. +

    +

    + The properties could also be represented as a point in space. Lorenz and Fetter plotted the motion of this point. They found that over time, the point would trace out a butterfly-shaped fractal structure now called the Lorenz attractor. The trajectory of the point — of the system — would never retrace its own path. And as before, two systems setting out from two minutely different starting points would soon be on totally different tracks. But just as profoundly, wherever you started the system, it would still head over to the attractor and start doing chaotic laps around it. +

    +
    + +
    +

    + The attractor and the system’s sensitivity to initial conditions would eventually be recognized as foundations of chaos theory. Both were published in the landmark 1963 paper. But for a while only meteorologists noticed the result. Meanwhile, Fetter married John Gille and moved with him when he went to Florida State University and then to Colorado. They stayed in touch with Lorenz and saw him at social events. But she didn’t realize how famous he had become. +

    +

    + Still, the notion of small differences leading to drastically different outcomes stayed in the back of her mind. She remembered the seagull, flapping its wings. “I always had this image that stepping off the curb one way or the other could change the course of any field,” she said. +

    +

    + Flight Checks +

    +

    + After leaving Lorenz’s group, Hamilton embarked on a different path, achieving a level of fame that rivals or even exceeds that of her first coding mentor. At MIT’s Instrumentation Laboratory, starting in 1965, she headed the onboard flight software team for the Apollo project. +

    +

    + Her code held up when the stakes were life and death — even when a mis-flipped switch triggered alarms that interrupted the astronaut’s displays right as Apollo 11 approached the surface of the moon. Mission Control had to make a quick choice: land or abort. But trusting the software’s ability to recognize errors, prioritize important tasks, and recover, the astronauts kept going. +

    +

    + Hamilton, who popularized the term “software engineering,” later led the team that wrote the software for Skylab, the first U.S. space station. She founded her own company in Cambridge in 1976, and in recent years her legacy has been celebrated again and again. She won NASA’s Exceptional Space Act Award in 2003 and received the Presidential Medal of Freedom in 2016. In 2017 she garnered arguably the greatest honor of all: a Margaret Hamilton Lego minifigure. +

    +
    + +
    +

    + Fetter, for her part, continued to program at Florida State after leaving Lorenz’s group at MIT. After a few years, she left her job to raise her children. In the 1970s, she took computer science classes at the University of Colorado, toying with the idea of returning to programming, but she eventually took a tax preparation job instead. By the 1980s, the demographics of programming had shifted. “After I sort of got put off by a couple of job interviews, I said forget it,” she said. “They went with young, techy guys.” +

    +

    + Chaos only reentered her life through her daughter, Sarah. As an undergraduate at Yale in the 1980s, Sarah Gille sat in on a class about scientific programming. The case they studied? Lorenz’s discoveries on the LGP-30. Later, Sarah studied physical oceanography as a graduate student at MIT, joining the same overarching department as both Lorenz and Rothman, who had arrived a few years earlier. “One of my office mates in the general exam, the qualifying exam for doing research at MIT, was asked: How would you explain chaos theory to your mother?” she said. “I was like, whew, glad I didn’t get that question.” +

    +

    + The Changing Value of Computation +

    +

    + Today, chaos theory is part of the scientific repertoire. In a study published just last month, researchers concluded that no amount of improvement in data gathering or in the science of weather forecasting will allow meteorologists to produce useful forecasts that stretch more than 15 days out. (Lorenz had suggested a similar two-week cap to weather forecasts in the mid-1960s.) +

    +

    + But the many retellings of chaos’s birth say little to nothing about how Hamilton and Ellen Gille wrote the specific programs that revealed the signatures of chaos. “This is an all-too-common story in the histories of science and technology,” wrote Jennifer Light, the department head for MIT’s Science, Technology and Society program, in an email to Quanta. To an extent, we can chalk up that omission to the tendency of storytellers to focus on solitary geniuses. But it also stems from tensions that remain unresolved today. +

    +

    + First, coders in general have seen their contributions to science minimized from the beginning. “It was seen as rote,” said Mar Hicks, a historian at the Illinois Institute of Technology. “The fact that it was associated with machines actually gave it less status, rather than more.” But beyond that, and contributing to it, many programmers in this era were women. +

    +

    + In addition to Hamilton and the woman who coded in MIT’s nuclear engineering department, Ellen Gille recalls a woman on an LGP-30 doing meteorology next door to Lorenz’s group. Another woman followed Gille in the job of programming for Lorenz. An analysis of official U.S. labor statistics shows that in 1960, women held 27 percent of computing and math-related jobs. +

    +

    + The percentage has been stuck there for a half-century. In the mid-1980s, the fraction of women pursuing bachelor’s degrees in programming even started to decline. Experts have argued over why. One idea holds that early personal computers were marketed preferentially to boys and men. Then when kids went to college, introductory classes assumed a detailed knowledge of computers going in, which alienated young women who didn’t grow up with a machine at home. Today, women programmers describe a self-perpetuating cycle where white and Asian male managers hire people who look like all the other programmers they know. Outright harassment also remains a problem. +

    +

    + Hamilton and Gille, however, still speak of Lorenz’s humility and mentorship in glowing terms. Before later chroniclers left them out, Lorenz thanked them in the literature in the same way he thanked Saltzman, who provided the equations Lorenz used to find his attractor. This was common at the time. Gille recalls that in all her scientific programming work, only once did someone include her as a co-author after she contributed computational work to a paper; she said she was “stunned” because of how unusual that was. +

    +

    + Since then, the standard for giving credit has shifted. “If you went up and down the floors of this building and told the story to my colleagues, every one of them would say that if this were going on today … they’d be a co-author!” Rothman said. “Automatically, they’d be a co-author.” +

    + +

    + Computation in science has become even more indispensable, of course. For recent breakthroughs like the first image of a black hole, the hard part was not figuring out which equations described the system, but how to leverage computers to understand the data. +

    +

    + Today, many programmers leave science not because their role isn’t appreciated, but because coding is better compensated in industry, said Alyssa Goodman, an astronomer at Harvard University and an expert in computing and data science. “In the 1960s, there was no such thing as a data scientist, there was no such thing as Netflix or Google or whoever, that was going to suck in these people and really, really value them,” she said. +

    +

    + Still, for coder-scientists in academic systems that measure success by paper citations, things haven’t changed all that much. “If you are a software developer who may never write a paper, you may be essential,” Goodman said. “But you’re not going to be counted that way.” +

    +

    + This article was reprinted on Wired.com. +

    +
    +
    +
    +
    +
    +
    + +
    + + +
    +

    + Comment on this article +

    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + + + + + + diff --git a/test/test-pages/remove-aria-hidden/expected-metadata.json b/test/test-pages/remove-aria-hidden/expected-metadata.json index 7708c68..0e5e860 100644 --- a/test/test-pages/remove-aria-hidden/expected-metadata.json +++ b/test/test-pages/remove-aria-hidden/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "Remove aria-hidden elements test", "byline": null, + "dir": null, "excerpt": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua.", - "readerable": false, - "siteName": null + "siteName": null, + "readerable": false } diff --git a/test/test-pages/remove-aria-hidden/expected.html b/test/test-pages/remove-aria-hidden/expected.html index 3e0c0e1..b013971 100644 --- a/test/test-pages/remove-aria-hidden/expected.html +++ b/test/test-pages/remove-aria-hidden/expected.html @@ -2,5 +2,5 @@

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

    Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    -
    +
    \ No newline at end of file diff --git a/test/test-pages/remove-extra-brs/expected-metadata.json b/test/test-pages/remove-extra-brs/expected-metadata.json index 288f12c..6ac9c5d 100644 --- a/test/test-pages/remove-extra-brs/expected-metadata.json +++ b/test/test-pages/remove-extra-brs/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "Remove trailing brs test", "byline": null, + "dir": null, "excerpt": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua.", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/remove-extra-paragraphs/expected-metadata.json b/test/test-pages/remove-extra-paragraphs/expected-metadata.json index d697ac2..44619b3 100644 --- a/test/test-pages/remove-extra-paragraphs/expected-metadata.json +++ b/test/test-pages/remove-extra-paragraphs/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "Replace font tags test", "byline": null, + "dir": null, "excerpt": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua.", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/remove-script-tags/expected-metadata.json b/test/test-pages/remove-script-tags/expected-metadata.json index 62a7b55..9b2667b 100644 --- a/test/test-pages/remove-script-tags/expected-metadata.json +++ b/test/test-pages/remove-script-tags/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "Remove script tags test", "byline": null, + "dir": null, "excerpt": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua.", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/reordering-paragraphs/expected-metadata.json b/test/test-pages/reordering-paragraphs/expected-metadata.json index 60492c1..a147536 100644 --- a/test/test-pages/reordering-paragraphs/expected-metadata.json +++ b/test/test-pages/reordering-paragraphs/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "", "byline": null, + "dir": null, "excerpt": "Regarding item# 11111, under sufficiently extreme conditions, quarks may\n become deconfined and exist as free particles. In the course of asymptotic\n freedom, the strong interaction becomes weaker at higher temperatures.\n Eventually, color confinement would be lost and an extremely hot plasma\n of freely moving quarks and gluons would be formed. This theoretical phase\n of matter is called quark-gluon plasma.[81] The exact conditions needed\n to give rise to this state are unknown and have been the subject of a great\n deal of speculation and experimentation.", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/reordering-paragraphs/expected.html b/test/test-pages/reordering-paragraphs/expected.html index cfbe15c..36f5a6b 100644 --- a/test/test-pages/reordering-paragraphs/expected.html +++ b/test/test-pages/reordering-paragraphs/expected.html @@ -1,4 +1,6 @@

    Regarding item# 11111, under sufficiently extreme conditions, quarks may become deconfined and exist as free particles. In the course of asymptotic freedom, the strong interaction becomes weaker at higher temperatures. Eventually, color confinement would be lost and an extremely hot plasma of freely moving quarks and gluons would be formed. This theoretical phase of matter is called quark-gluon plasma.[81] The exact conditions needed to give rise to this state are unknown and have been the subject of a great deal of speculation and experimentation.

    Regarding item# 22222, under sufficiently extreme conditions, quarks may become deconfined and exist as free particles. In the course of asymptotic freedom, the strong interaction becomes weaker at higher temperatures. Eventually, color confinement would be lost and an extremely hot plasma of freely moving quarks and gluons would be formed. This theoretical phase of matter is called quark-gluon plasma.[81] The exact conditions needed to give rise to this state are unknown and have been the subject of a great deal of speculation and experimentation.

    -

    Regarding item# 33333, under sufficiently extreme conditions, quarks may become deconfined and exist as free particles. In the course of asymptotic freedom, the strong interaction becomes weaker at higher temperatures. Eventually, color confinement would be lost and an extremely hot plasma of freely moving quarks and gluons would be formed. This theoretical phase of matter is called quark-gluon plasma.[81] The exact conditions needed to give rise to this state are unknown and have been the subject of a great deal of speculation and experimentation.


    \ No newline at end of file +

    Regarding item# 33333, under sufficiently extreme conditions, quarks may become deconfined and exist as free particles. In the course of asymptotic freedom, the strong interaction becomes weaker at higher temperatures. Eventually, color confinement would be lost and an extremely hot plasma of freely moving quarks and gluons would be formed. This theoretical phase of matter is called quark-gluon plasma.[81] The exact conditions needed to give rise to this state are unknown and have been the subject of a great deal of speculation and experimentation.

    +
    +
    \ No newline at end of file diff --git a/test/test-pages/replace-brs/expected-metadata.json b/test/test-pages/replace-brs/expected-metadata.json index 93e0ffb..7fafa36 100644 --- a/test/test-pages/replace-brs/expected-metadata.json +++ b/test/test-pages/replace-brs/expected-metadata.json @@ -3,6 +3,6 @@ "byline": null, "dir": null, "excerpt": "Lorem ipsumdolor sit", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/replace-brs/expected.html b/test/test-pages/replace-brs/expected.html index 47f5143..13e3d4e 100644 --- a/test/test-pages/replace-brs/expected.html +++ b/test/test-pages/replace-brs/expected.html @@ -1,12 +1,12 @@
    -

    Lorem ipsum
    dolor sit

    -

    amet, consectetur adipisicing elit, sed do eiusmod
    tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
    quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo

    -

    consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
    cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
    proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    +

    Lorem ipsum
    dolor sit

    +

    amet, consectetur adipisicing elit, sed do eiusmod
    tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
    quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo

    +

    consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
    cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
    proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    Tempor

    -

    incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
    quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
    consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse

    -

    cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
    proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    +

    incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
    quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
    consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse

    +

    cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
    proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    \ No newline at end of file diff --git a/test/test-pages/replace-font-tags/expected-metadata.json b/test/test-pages/replace-font-tags/expected-metadata.json index 17f15da..6a4f161 100644 --- a/test/test-pages/replace-font-tags/expected-metadata.json +++ b/test/test-pages/replace-font-tags/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "Replace font tags test", "byline": null, + "dir": null, "excerpt": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\n quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\n consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\n cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\n proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", - "readerable": false, - "siteName": null + "siteName": null, + "readerable": false } diff --git a/test/test-pages/replace-font-tags/expected.html b/test/test-pages/replace-font-tags/expected.html index a0c59bd..54ef28c 100644 --- a/test/test-pages/replace-font-tags/expected.html +++ b/test/test-pages/replace-font-tags/expected.html @@ -1,7 +1,7 @@
    -

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    Foo

    Tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    -
    +
    \ No newline at end of file diff --git a/test/test-pages/rtl-1/expected-metadata.json b/test/test-pages/rtl-1/expected-metadata.json index 4b1b4df..2f1ff53 100644 --- a/test/test-pages/rtl-1/expected-metadata.json +++ b/test/test-pages/rtl-1/expected-metadata.json @@ -1,8 +1,8 @@ { "title": "RTL Test", "byline": null, - "excerpt": "Lorem ipsum dolor sit amet.", "dir": "rtl", - "readerable": true, - "siteName": null + "excerpt": "Lorem ipsum dolor sit amet.", + "siteName": null, + "readerable": true } diff --git a/test/test-pages/rtl-1/expected.html b/test/test-pages/rtl-1/expected.html index 504990b..201026f 100644 --- a/test/test-pages/rtl-1/expected.html +++ b/test/test-pages/rtl-1/expected.html @@ -1,15 +1,9 @@
    -

    - Lorem ipsum dolor sit amet. -

    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -

    -

    - Tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -

    +

    Lorem ipsum dolor sit amet.

    +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    +

    Tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    -
    +
    \ No newline at end of file diff --git a/test/test-pages/rtl-2/expected-metadata.json b/test/test-pages/rtl-2/expected-metadata.json index 4b1b4df..2f1ff53 100644 --- a/test/test-pages/rtl-2/expected-metadata.json +++ b/test/test-pages/rtl-2/expected-metadata.json @@ -1,8 +1,8 @@ { "title": "RTL Test", "byline": null, - "excerpt": "Lorem ipsum dolor sit amet.", "dir": "rtl", - "readerable": true, - "siteName": null + "excerpt": "Lorem ipsum dolor sit amet.", + "siteName": null, + "readerable": true } diff --git a/test/test-pages/rtl-2/expected.html b/test/test-pages/rtl-2/expected.html index 504990b..201026f 100644 --- a/test/test-pages/rtl-2/expected.html +++ b/test/test-pages/rtl-2/expected.html @@ -1,15 +1,9 @@
    -

    - Lorem ipsum dolor sit amet. -

    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -

    -

    - Tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -

    +

    Lorem ipsum dolor sit amet.

    +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    +

    Tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    -
    +
    \ No newline at end of file diff --git a/test/test-pages/rtl-3/expected-metadata.json b/test/test-pages/rtl-3/expected-metadata.json index 4b1b4df..2f1ff53 100644 --- a/test/test-pages/rtl-3/expected-metadata.json +++ b/test/test-pages/rtl-3/expected-metadata.json @@ -1,8 +1,8 @@ { "title": "RTL Test", "byline": null, - "excerpt": "Lorem ipsum dolor sit amet.", "dir": "rtl", - "readerable": true, - "siteName": null + "excerpt": "Lorem ipsum dolor sit amet.", + "siteName": null, + "readerable": true } diff --git a/test/test-pages/rtl-3/expected.html b/test/test-pages/rtl-3/expected.html index a6c5783..f9819ac 100644 --- a/test/test-pages/rtl-3/expected.html +++ b/test/test-pages/rtl-3/expected.html @@ -1,15 +1,9 @@
    -

    - Lorem ipsum dolor sit amet. -

    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -

    -

    - Tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -

    +

    Lorem ipsum dolor sit amet.

    +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    +

    Tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    -
    +
    \ No newline at end of file diff --git a/test/test-pages/rtl-4/expected-metadata.json b/test/test-pages/rtl-4/expected-metadata.json index 3251359..2990212 100644 --- a/test/test-pages/rtl-4/expected-metadata.json +++ b/test/test-pages/rtl-4/expected-metadata.json @@ -1,8 +1,8 @@ { "title": "RTL Test", "byline": null, - "excerpt": "Lorem ipsum dolor sit amet.", "dir": null, - "readerable": true, - "siteName": null + "excerpt": "Lorem ipsum dolor sit amet.", + "siteName": null, + "readerable": true } diff --git a/test/test-pages/rtl-4/expected.html b/test/test-pages/rtl-4/expected.html index 0bb35c0..a5832b4 100644 --- a/test/test-pages/rtl-4/expected.html +++ b/test/test-pages/rtl-4/expected.html @@ -1,15 +1,9 @@
    -

    - Lorem ipsum dolor sit amet. -

    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -

    -

    - Tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -

    +

    Lorem ipsum dolor sit amet.

    +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    +

    Tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    -
    + \ No newline at end of file diff --git a/test/test-pages/salon-1/expected-metadata.json b/test/test-pages/salon-1/expected-metadata.json index 9c287c0..d34a613 100644 --- a/test/test-pages/salon-1/expected-metadata.json +++ b/test/test-pages/salon-1/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "The sharing economy is a lie: Uber, Ayn Rand and the truth about tech and libertarians", "byline": "Joanna Rothkopf", + "dir": null, "excerpt": "Disruptive companies talk a good game about sharing. Uber's really just an under-regulated company making riches", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/salon-1/expected.html b/test/test-pages/salon-1/expected.html index 6f4e7fa..2a08fde 100644 --- a/test/test-pages/salon-1/expected.html +++ b/test/test-pages/salon-1/expected.html @@ -3,40 +3,71 @@

    A number of experts have challenged the idea that the horrific explosion of violence in a Sydney café was “terrorism,” since the attacker was mentally unbalanced and acted alone. But, terror or not, the ordeal was certainly terrifying. Amid the chaos and uncertainty, the city believed itself to be under a coordinated and deadly attack.

    Uber had an interesting, if predictable, response to the panic and mayhem: It raised prices. A lot.

    In case you missed the story, the facts are these: Someone named Man Haron Monis, who was considered mentally unstable and had been investigated for murdering his ex-wife, seized hostages in a café that was located in Sydney’s Central Business District or “CBD.” In the process he put up an Islamic flag – “igniting,” as Reuters reported, “fears of a jihadist attack in the heart of the country’s biggest city.”

    -

    In the midst of the fear, Uber stepped in and tweeted this announcement:  “We are all concerned with events in CBD. Fares have increased to encourage - more drivers to come online & pick up passengers in the area.”

    +

    In the midst of the fear, Uber stepped in and tweeted this announcement:  “We are all concerned with events in CBD. Fares have increased to encourage more drivers to come online & pick up passengers in the area.” +

    As Mashable reports, the company announced that it would charge a minimum of $100 Australian to take passengers from the area immediately surrounding the ongoing crisis, and prices increased by as much as four times the standard amount. A firestorm of criticism quickly erupted – “@Uber_Sydney stop being assholes,” one Twitter response began – and Uber soon found itself offering free rides out of the troubled area instead.

    -

    That opener suggests that Uber, as part of a community under siege, is preparing to respond in a civic manner.

    -

    “… Fares have increased to encourage more drivers to come online & pick up passengers in the area.”

    +

    That opener suggests that Uber, as part of a community under siege, is preparing to respond in a civic manner. +

    +

    “… Fares have increased to encourage more drivers to come online & pick up passengers in the area.” +

    -

    But, despite the expression of shared concern, there is no sense of civitas to be found in the statement that follows. There is only a transaction, executed at what the corporation believes to be market value. Lesson #1 about Uber is, therefore, that in its view there is no heroism, only self-interest. This is Ayn Rand’s brutal, irrational and primitive philosophy in its purest form: altruism is evil, and self-interest is the only true heroism.

    -

    There was once a time when we might have read of “hero cabdrivers” or “hero bus drivers” placing themselves in harm’s way to rescue their fellow citizens. For its part, Uber might have suggested that it would use its network of drivers and its scheduling software to recruit volunteer drivers for a rescue mission.

    -

    Instead, we are told that Uber’s pricing surge was its expression of concern. Uber’s way to address a human crisis is apparently by letting the market govern human behavior, as if there were (in libertarian economist Tyler Cowen’s phrase) “markets in everything” – including the lives of a city’s beleaguered citizens (and its Uber drivers).

    -

    Where would this kind of market-driven practice leave poor or middle-income citizens in a time of crisis? If they can’t afford the “surged” price, apparently it would leave them squarely in the line of fire. And come to think of it, why would Uber drivers value their lives so cheaply, unless they’re underpaid?

    -

    One of the lessons of Sydney is this: Uber’s philosophy, whether consciously expressed or not, is that life belongs to the highest bidder – and therefore, by implication, the highest bidder’s life has the greatest value. Society, on the other hand, may choose to believe that every life has equal value – or that lifesaving services should be available at affordable prices.

    -

    If nothing else, the Sydney experience should prove once and for all that there is no such thing as “the sharing economy.” Uber is a taxi company, albeit an under-regulated one, and nothing more. It’s certainly not a “ride sharing” service, where someone who happens to be going in the same direction is willing to take along an extra passenger and split gas costs. A ride-sharing service wouldn’t find itself “increasing fares to encourage more drivers” to come into Sydney’s terrorized Central Business District.

    -

    A “sharing economy,” by definition, is lateral in structure. It is a peer-to-peer economy. But Uber, as its name suggests, is hierarchical in structure. It monitors and controls its drivers, demanding that they purchase services from it while guiding their movements and determining their level of earnings. And its pricing mechanisms impose unpredictable costs on its customers, extracting greater amounts whenever the data suggests customers can be compelled to pay them.

    -

    This is a top-down economy, not a “shared” one.

    -

    A number of Uber’s fans and supporters defended the company on the grounds that its “surge prices,” including those seen during the Sydney crisis, are determined by an algorithm. But an algorithm can be an ideological statement, and is always a cultural artifact. As human creations, algorithms reflect their creators.

    -

    Uber’s tweet during the Sydney crisis made it sound as if human intervention, rather than algorithmic processes, caused prices to soar that day. But it doesn’t really matter if that surge was manually or algorithmically driven. Either way the prices were Uber’s doing – and its moral choice.

    -

    Uber has been strenuously defending its surge pricing in the wake of accusations (apparently justified) that the company enjoyed windfall profits during Hurricane Sandy. It has now promised the state of New York that it will cap its surge prices (at three times the highest rate on two non-emergency days). But if Uber has its way, it will soon enjoy a monopolistic stranglehold on car service rates in most major markets. And it has demonstrated its willingness to ignore rules and regulations. That means predictable and affordable taxi fares could become a thing of the past.

    -

    In practice, surge pricing could become a new, privatized form of taxation on middle-class taxi customers.

    -

    Even without surge pricing, Uber and its supporters are hiding its full costs. When middle-class workers are underpaid or deprived of benefits and full working rights, as Uber’s reportedly are, the entire middle-class economy suffers. Overall wages and benefits are suppressed for the majority, while the wealthy few are made even richer. The invisible costs of ventures like Uber are extracted over time, far surpassing whatever short-term savings they may occasionally offer.

    -

    Like Walmart, Uber underpays its employees – many of its drivers are employees, in everything but name – and then drains the social safety net to make up the difference. While Uber preaches libertarianism, it practices a form of corporate welfare. It’s reportedly celebrating Obamacare, for example, since the Affordable Care Act allows it to avoid providing health insurance to its workforce. But the ACA’s subsidies, together with Uber’s often woefully insufficient wages, mean that the rest of us are paying its tab instead. And the lack of income security among Uber’s drivers creates another social cost for Americans – in lost tax revenue, and possibly in increased use of social services.

    -

    The company’s war on regulation will also carry a social price. Uber and its supporters don’t seem to understand that regulations exist for a reason. It’s true that nobody likes excessive bureaucracy, but not all regulations are excessive or onerous. And when they are, it’s a flaw in execution rather than principle.

    -

    Regulations were created because they serve a social purpose, ensuring the free and fair exchange of services and resources among all segments of society. Some services, such as transportation, are of such importance that the public has a vested interest in ensuring they will be readily available at reasonably affordable prices. That’s not unreasonable for taxi services, especially given the fact that they profit from publicly maintained roads and bridges.

    -

    Uber has presented itself as a modernized, efficient alternative to government oversight. But it’s an evasion of regulation, not its replacement. As Alexis Madrigalreports, Uber has deliberately ignored city regulators and used customer demand to force its model of inadequate self-governance (my conclusion, not his) onto one city after another.

    -

    Uber presented itself as a refreshing alternative to the over-bureaucratized world of urban transportation. But that’s a false choice. We can streamline sclerotic city regulators, upgrade taxi fleets and even provide users with fancy apps that make it easier to call a cab. The company’s binary presentation – us, or City Hall – frames the debate in artificial terms.

    -

    Uber claims that its driver rating system is a more efficient way to monitor drivers, but that’s an entirely unproven assumption. While taxi drivers have been known to misbehave, the worldwide litany of complaints against Uber drivers – for everything from dirty cars and spider bites to assault with a hammer, fondling and rape– suggest that Uber’s system may not work as well as old-fashioned regulation. It’s certainly not noticeably superior.

    -

    In fact, prosecutors in San Francisco and Los Angeles say Uber has been lying to its customers about the level and quality of its background checks. The company now promises it will do a better job at screening drivers. But it won’t tell us what measures its taking to improve its safety record, and it’s fighting the kind of driver scrutiny that taxicab companies have been required to enforce for many decades.

    -

    Many reports suggest that beleaguered drivers don’t feel much better about the company than victimized passengers do. They tell horror stories about the company’s hiring and management practices. Uber unilaterally slashes drivers’ rates, while claiming they don’t need to unionize. (The Teamsters disagree.)

    -

    The company also pushes sketchy, substandard loans onto its drivers – but hey, what could go wrong?

    -

    Uber has many libertarian defenders. And yet, it deceives the press and threatens to spy on journalists, lies to its own employees, keeps its practices a secret and routinely invades the privacy of civilians – sometimes merely for entertainment. (It has a tool, with the Orwellian name the “God View,” that it can use for monitoring customers’ personal movements.)

    -

    Aren’t those the kinds of things libertarians say they hate about government?

    -

    This isn’t a “gotcha” exercise. It matters. Uber is the poster child for the pro-privatization, anti-regulatory ideology that ascribes magical powers to technology and the private sector. It is deeply a political entity, from its Nietzschean name to its recent hiring of White House veteran David Plouffe. Uber is built around a relatively simple app (which relies on government-created technology), but it’s not really a tech company. Above all else Uber is an ideological campaign, a neoliberal project whose real products are deregulation and the dismantling of the social contract.

    -

    Or maybe, as that tweeter in Sydney suggested, they’re just assholes.

    -

    Either way, it’s important that Uber’s worldview and business practices not be allowed to “disrupt” our economy or our social fabric. People who work hard deserve to make a decent living. Society at large deserves access to safe and affordable transportation. And government, as the collective expression of a democratic society, has a role to play in protecting its citizens.

    -

    And then there’s the matter of our collective psyche. In her book “A Paradise Built in Hell: The Extraordinary Communities that Arise in Disaster,” Rebecca Solnit wrote of the purpose, meaning and deep satisfaction people find when they pull together to help one another in the face of adversity.  But in the world Uber seeks to create, those surges of the spirit would be replaced by surge pricing.

    -

    You don’t need a “God view” to see what happens next. When heroism is reduced to a transaction, the soul of a society is sold cheap.

    +

    But, despite the expression of shared concern, there is no sense of civitas to be found in the statement that follows. There is only a transaction, executed at what the corporation believes to be market value. Lesson #1 about Uber is, therefore, that in its view there is no heroism, only self-interest. This is Ayn Rand’s brutal, irrational and primitive philosophy in its purest form: altruism is evil, and self-interest is the only true heroism. +

    +

    There was once a time when we might have read of “hero cabdrivers” or “hero bus drivers” placing themselves in harm’s way to rescue their fellow citizens. For its part, Uber might have suggested that it would use its network of drivers and its scheduling software to recruit volunteer drivers for a rescue mission. +

    +

    Instead, we are told that Uber’s pricing surge was its expression of concern. Uber’s way to address a human crisis is apparently by letting the market govern human behavior, as if there were (in libertarian economist Tyler Cowen’s phrase) “markets in everything” – including the lives of a city’s beleaguered citizens (and its Uber drivers). +

    +

    Where would this kind of market-driven practice leave poor or middle-income citizens in a time of crisis? If they can’t afford the “surged” price, apparently it would leave them squarely in the line of fire. And come to think of it, why would Uber drivers value their lives so cheaply, unless they’re underpaid? +

    +

    One of the lessons of Sydney is this: Uber’s philosophy, whether consciously expressed or not, is that life belongs to the highest bidder – and therefore, by implication, the highest bidder’s life has the greatest value. Society, on the other hand, may choose to believe that every life has equal value – or that lifesaving services should be available at affordable prices. +

    +

    If nothing else, the Sydney experience should prove once and for all that there is no such thing as “the sharing economy.” Uber is a taxi company, albeit an under-regulated one, and nothing more. It’s certainly not a “ride sharing” service, where someone who happens to be going in the same direction is willing to take along an extra passenger and split gas costs. A ride-sharing service wouldn’t find itself “increasing fares to encourage more drivers” to come into Sydney’s terrorized Central Business District. +

    +

    A “sharing economy,” by definition, is lateral in structure. It is a peer-to-peer economy. But Uber, as its name suggests, is hierarchical in structure. It monitors and controls its drivers, demanding that they purchase services from it while guiding their movements and determining their level of earnings. And its pricing mechanisms impose unpredictable costs on its customers, extracting greater amounts whenever the data suggests customers can be compelled to pay them. +

    +

    This is a top-down economy, not a “shared” one. +

    +

    A number of Uber’s fans and supporters defended the company on the grounds that its “surge prices,” including those seen during the Sydney crisis, are determined by an algorithm. But an algorithm can be an ideological statement, and is always a cultural artifact. As human creations, algorithms reflect their creators. +

    +

    Uber’s tweet during the Sydney crisis made it sound as if human intervention, rather than algorithmic processes, caused prices to soar that day. But it doesn’t really matter if that surge was manually or algorithmically driven. Either way the prices were Uber’s doing – and its moral choice. +

    +

    Uber has been strenuously defending its surge pricing in the wake of accusations (apparently justified) that the company enjoyed windfall profits during Hurricane Sandy. It has now promised the state of New York that it will cap its surge prices (at three times the highest rate on two non-emergency days). But if Uber has its way, it will soon enjoy a monopolistic stranglehold on car service rates in most major markets. And it has demonstrated its willingness to ignore rules and regulations. That means predictable and affordable taxi fares could become a thing of the past. +

    +

    In practice, surge pricing could become a new, privatized form of taxation on middle-class taxi customers. +

    +

    Even without surge pricing, Uber and its supporters are hiding its full costs. When middle-class workers are underpaid or deprived of benefits and full working rights, as Uber’s reportedly are, the entire middle-class economy suffers. Overall wages and benefits are suppressed for the majority, while the wealthy few are made even richer. The invisible costs of ventures like Uber are extracted over time, far surpassing whatever short-term savings they may occasionally offer. +

    +

    Like Walmart, Uber underpays its employees – many of its drivers are employees, in everything but name – and then drains the social safety net to make up the difference. While Uber preaches libertarianism, it practices a form of corporate welfare. It’s reportedly celebrating Obamacare, for example, since the Affordable Care Act allows it to avoid providing health insurance to its workforce. But the ACA’s subsidies, together with Uber’s often woefully insufficient wages, mean that the rest of us are paying its tab instead. And the lack of income security among Uber’s drivers creates another social cost for Americans – in lost tax revenue, and possibly in increased use of social services. +

    +

    The company’s war on regulation will also carry a social price. Uber and its supporters don’t seem to understand that regulations exist for a reason. It’s true that nobody likes excessive bureaucracy, but not all regulations are excessive or onerous. And when they are, it’s a flaw in execution rather than principle. +

    +

    Regulations were created because they serve a social purpose, ensuring the free and fair exchange of services and resources among all segments of society. Some services, such as transportation, are of such importance that the public has a vested interest in ensuring they will be readily available at reasonably affordable prices. That’s not unreasonable for taxi services, especially given the fact that they profit from publicly maintained roads and bridges. +

    +

    Uber has presented itself as a modernized, efficient alternative to government oversight. But it’s an evasion of regulation, not its replacement. As Alexis Madrigalreports, Uber has deliberately ignored city regulators and used customer demand to force its model of inadequate self-governance (my conclusion, not his) onto one city after another. +

    +

    Uber presented itself as a refreshing alternative to the over-bureaucratized world of urban transportation. But that’s a false choice. We can streamline sclerotic city regulators, upgrade taxi fleets and even provide users with fancy apps that make it easier to call a cab. The company’s binary presentation – us, or City Hall – frames the debate in artificial terms. +

    +

    Uber claims that its driver rating system is a more efficient way to monitor drivers, but that’s an entirely unproven assumption. While taxi drivers have been known to misbehave, the worldwide litany of complaints against Uber drivers – for everything from dirty cars and spider bites to assault with a hammer, fondling and rape– suggest that Uber’s system may not work as well as old-fashioned regulation. It’s certainly not noticeably superior. +

    +

    In fact, prosecutors in San Francisco and Los Angeles say Uber has been lying to its customers about the level and quality of its background checks. The company now promises it will do a better job at screening drivers. But it won’t tell us what measures its taking to improve its safety record, and it’s fighting the kind of driver scrutiny that taxicab companies have been required to enforce for many decades. +

    +

    Many reports suggest that beleaguered drivers don’t feel much better about the company than victimized passengers do. They tell horror stories about the company’s hiring and management practices. Uber unilaterally slashes drivers’ rates, while claiming they don’t need to unionize. (The Teamsters disagree.) +

    +

    The company also pushes sketchy, substandard loans onto its drivers – but hey, what could go wrong? +

    +

    Uber has many libertarian defenders. And yet, it deceives the press and threatens to spy on journalists, lies to its own employees, keeps its practices a secret and routinely invades the privacy of civilians – sometimes merely for entertainment. (It has a tool, with the Orwellian name the “God View,” that it can use for monitoring customers’ personal movements.) +

    +

    Aren’t those the kinds of things libertarians say they hate about government? +

    +

    This isn’t a “gotcha” exercise. It matters. Uber is the poster child for the pro-privatization, anti-regulatory ideology that ascribes magical powers to technology and the private sector. It is deeply a political entity, from its Nietzschean name to its recent hiring of White House veteran David Plouffe. Uber is built around a relatively simple app (which relies on government-created technology), but it’s not really a tech company. Above all else Uber is an ideological campaign, a neoliberal project whose real products are deregulation and the dismantling of the social contract. +

    +

    Or maybe, as that tweeter in Sydney suggested, they’re just assholes. +

    +

    Either way, it’s important that Uber’s worldview and business practices not be allowed to “disrupt” our economy or our social fabric. People who work hard deserve to make a decent living. Society at large deserves access to safe and affordable transportation. And government, as the collective expression of a democratic society, has a role to play in protecting its citizens. +

    +

    And then there’s the matter of our collective psyche. In her book “A Paradise Built in Hell: The Extraordinary Communities that Arise in Disaster,” Rebecca Solnit wrote of the purpose, meaning and deep satisfaction people find when they pull together to help one another in the face of adversity.  But in the world Uber seeks to create, those surges of the spirit would be replaced by surge pricing. +

    +

    You don’t need a “God view” to see what happens next. When heroism is reduced to a transaction, the soul of a society is sold cheap. +

    \ No newline at end of file diff --git a/test/test-pages/simplyfound-1/expected-metadata.json b/test/test-pages/simplyfound-1/expected-metadata.json index 8fe66b7..582c47f 100644 --- a/test/test-pages/simplyfound-1/expected-metadata.json +++ b/test/test-pages/simplyfound-1/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "Raspberry Pi 3 - The credit card sized PC that cost only $35 - All-time bestselling computer in UK", "byline": null, + "dir": null, "excerpt": "The Raspberry Pi Foundation started by a handful of volunteers in 2012 when they released the original Raspberry Pi 256MB Model B without knowing what to expect. In a short four-year period they have grown to over sixty full-time employees and ha...", - "readerable": true, - "siteName": "SIMPLYFOUND.COM | BY: JOE WEE" + "siteName": "SIMPLYFOUND.COM | BY: JOE WEE", + "readerable": true } diff --git a/test/test-pages/style-tags-removal/expected-metadata.json b/test/test-pages/style-tags-removal/expected-metadata.json index 18de223..317fcb3 100644 --- a/test/test-pages/style-tags-removal/expected-metadata.json +++ b/test/test-pages/style-tags-removal/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "Style tags removal", "byline": null, + "dir": null, "excerpt": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\n quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\n consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\n cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\n proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", - "readerable": false, - "siteName": null + "siteName": null, + "readerable": false } diff --git a/test/test-pages/svg-parsing/expected-metadata.json b/test/test-pages/svg-parsing/expected-metadata.json index 0d4c409..bd36aa6 100644 --- a/test/test-pages/svg-parsing/expected-metadata.json +++ b/test/test-pages/svg-parsing/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "SVG parsing", "byline": null, + "dir": null, "excerpt": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\ncillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/svg-parsing/expected.html b/test/test-pages/svg-parsing/expected.html index f130e86..0919000 100644 --- a/test/test-pages/svg-parsing/expected.html +++ b/test/test-pages/svg-parsing/expected.html @@ -1,11 +1,16 @@

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    -

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    - - - - - +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    + + + + + + + + + +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    diff --git a/test/test-pages/table-style-attributes/expected-metadata.json b/test/test-pages/table-style-attributes/expected-metadata.json index b0466b9..a823965 100644 --- a/test/test-pages/table-style-attributes/expected-metadata.json +++ b/test/test-pages/table-style-attributes/expected-metadata.json @@ -3,6 +3,6 @@ "byline": null, "dir": null, "excerpt": "linux usability\n ...or, why do I bother. © 2002, 2003\n Jamie Zawinski", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/table-style-attributes/expected.html b/test/test-pages/table-style-attributes/expected.html index 48d1851..acb2512 100644 --- a/test/test-pages/table-style-attributes/expected.html +++ b/test/test-pages/table-style-attributes/expected.html @@ -1,7 +1,7 @@
    -

    linux usability -
    ...or, why do I bother.
    -

    © 2002, 2003 Jamie Zawinski

    +

    + linux usability
    ...or, why do I bother.

    © 2002, 2003 Jamie Zawinski +

    @@ -11,13 +11,15 @@

    Then in January, the jackasses over at Slashdot posted a link to it, calling it a "review" of Linux video software. I guess you could consider it a review, if you were to squint at it just right. But really what it is is a rant about how I had an evening stolen from me by crap software design. It is a flame about the pathetic state of Linux usability in general, and the handful of video players I tried out in particular. It makes no attempt to be balanced or objective or exhaustive. It is a description of my experience. Perhaps your experience was different. Good for you.

    So of course that day I got hundreds of emails about it. Every Linux apologist in the world wanted to make sure I was fully informed of their opinion. The replies were roughly in the following groups:

      -
    • "Right on! I had exactly the same experience! Thank you for putting it into words." (This was about 1/3 of the replies.)
    • -
    • "You're clearly an idiot, Linux is too sophisticated for you, you clearly are incapable of understanding anything, you should go back to kindergarten and/or use a Mac." (Oddly, all of these messages used the word `clearly' repeatedly.)
    • +
    • "Right on! I had exactly the same experience! Thank you for putting it into words." (This was about 1/3 of the replies.) +
    • +
    • "You're clearly an idiot, Linux is too sophisticated for you, you clearly are incapable of understanding anything, you should go back to kindergarten and/or use a Mac." (Oddly, all of these messages used the word `clearly' repeatedly.) +
    • "If you don't like it, fix it yourself."
    • "Netscape sucks! XEmacs sucks! You suck! I never liked you anyway! And you swear too much!"
    • "How dare you criticize someone else's work! You got it for free! You should be on your knees thanking them for wasting your time!"
    • "While you have some valid complaints, I'm going to focus on this one inconsequential error you made in your characterization of one of the many roadblocks you encountered. You suck!"
    • -
    • "It's your fault for using Red Hat! You should be using Debian/Mandrake/Gentoo instead!"
    • +
    • "It's your fault for using Red Hat! You should be using Debian/Mandrake/Gentoo instead!"
    • "Red Hat 7.2 is totally obsolete! It's almost 14 months old! What were you expecting!"
    @@ -35,55 +37,41 @@
    -

    that said...

    +

    + that said... +

    I understand that one can play videos on one's computer. I understand these videos come in many different formats. Every now and then I try to figure out what the Done Thing is, as far as playing movies on one's Linux machine.

      (Really my eventual goal is to be able to create video on Linux, but I figured I'd start small, and see if I could just get playback working before trying something that is undoubtedly ten thousand times harder.)
    -

    I finally found RPMs of mplayer that would consent to install themselves on a Red Hat 7.2 machine, and actually got it to play some videos. Amazing. But it's a total pain in the ass to use due to rampant "themeing." Why do people do this? They map this stupid shaped window with no titlebar (oh, sorry, your choice of a dozen stupidly-shaped windows without titlebars) all of which use fonts that are way too small to read. But, here's the best part, there's no way to raise the window to the top. So if another window ever gets on top of it, well, sorry, you're out of luck. And half of the themes always map the window at the very bottom of the - screen -- conveniently under my panel where I can't reach it.

    +

    I finally found RPMs of mplayer that would consent to install themselves on a Red Hat 7.2 machine, and actually got it to play some videos. Amazing. But it's a total pain in the ass to use due to rampant "themeing." Why do people do this? They map this stupid shaped window with no titlebar (oh, sorry, your choice of a dozen stupidly-shaped windows without titlebars) all of which use fonts that are way too small to read. But, here's the best part, there's no way to raise the window to the top. So if another window ever gets on top of it, well, sorry, you're out of luck. And half of the themes always map the window at the very bottom of the screen -- conveniently under my panel where I can't reach it.

    Resizing the window changes the aspect ratio of the video! Yeah, I'm sure someone has ever wanted that.

    It moves the mouse to the upper left corner of every dialog box it creates! Which is great, because that means that when it gets into this cute little state of popping up a blank dialog that says "Error" five times a second, you can't even move the mouse over to another window to kill the program, you have to log in from another machine.

    Fucking morons.

    -

    So I gave up on that, and tried to install gstreamer. Get this. Their propose ``solution'' for distributing binaries on Red Hat systems? They point you at an RPM that installs apt, the Debian package system! Yeah, that's a good idea, I want to struggle with two competing packaging systems on my machine just to install a single app. Well, I found some -RPMs for Red Hat 7.2, but apparently they expect you to have already rectally inserted Gnome2 on that 7.2 system first. Uh, no. I've seen the horror of Red Hat 8.0, and there's no fucking way I'm putting Gnome2 on any more of my machines for at least another six months, maybe a year.

    -

    Ok, no gstreamer. Let's try Xine. I found -RPMs, and it sucks about the same as mplayer, and in about the same ways, though slightly less bad: it doesn't screw the aspect ratio when you resize the window; and at least its stupidly-shaped window is always forced to be on top. I don't like that either, but it's better than never being on top. It took me ten minutes to figure out where the "Open File" dialog was. It's on the button labeled "://" whose tooltip says "MRL Browser". Then you get to select file names from an oh-so-cute window that I guess is supposed to look like a tty, or maybe an LCD screen. It conveniently centers the file names in the list, and truncates them at about 30 characters. The scrollbar is also composed of "characters": it's an underscore.

    +

    So I gave up on that, and tried to install gstreamer. Get this. Their propose ``solution'' for distributing binaries on Red Hat systems? They point you at an RPM that installs apt, the Debian package system! Yeah, that's a good idea, I want to struggle with two competing packaging systems on my machine just to install a single app. Well, I found some RPMs for Red Hat 7.2, but apparently they expect you to have already rectally inserted Gnome2 on that 7.2 system first. Uh, no. I've seen the horror of Red Hat 8.0, and there's no fucking way I'm putting Gnome2 on any more of my machines for at least another six months, maybe a year.

    +

    Ok, no gstreamer. Let's try Xine. I found RPMs, and it sucks about the same as mplayer, and in about the same ways, though slightly less bad: it doesn't screw the aspect ratio when you resize the window; and at least its stupidly-shaped window is always forced to be on top. I don't like that either, but it's better than never being on top. It took me ten minutes to figure out where the "Open File" dialog was. It's on the button labeled "://" whose tooltip says "MRL Browser". Then you get to select file names from an oh-so-cute window that I guess is supposed to look like a tty, or maybe an LCD screen. It conveniently centers the file names in the list, and truncates them at about 30 characters. The scrollbar is also composed of "characters": it's an underscore.

    What are these fucktards thinking???

    Then I checked out Ogle again, and it hasn't been updated since the last time I tried, six months ago. It's a pretty decent DVD player, if you have the physical DVD. It does on-screen menus, and you can click on them with the mouse. But I don't need a DVD player (I have a hardware DVD player that works just fine.) It can't, as far as I can tell, play anything but actual discs.

    Oh, and even though I have libdvdcss installed (as evidenced by the fact that Ogle actually works) Xine won't play the same disc that Ogle will play. It seems to be claiming that the CSS stuff isn't installed, which it clearly is.

    An idiocy that all of these programs have in common is that, in addition to opening a window for the movie, and a window for the control panel, they also spray a constant spatter of curses crud on the terminal they were started from. I imagine at some point, there was some user who said, ``this program is pretty nice, but you know what it's missing? It's missing a lot of pointless chatter about what plugins and fonts have been loaded!''

    -
    And here's the Random Commentary section: +
    And here's the Random Commentary section:
    Makali wrote: -
      - Whenever a programmer thinks, "Hey, skins, what a cool idea", their - computer's speakers should create some sort of cock-shaped soundwave - and plunge it repeatedly through their skulls. -
    +
      Whenever a programmer thinks, "Hey, skins, what a cool idea", their computer's speakers should create some sort of cock-shaped soundwave and plunge it repeatedly through their skulls.

    I am fully in support of this proposed audio-cock technology.

    Various people wrote:

    -
      - You shouldn't even bother compiling the GUI into mplayer! -
    +
      You shouldn't even bother compiling the GUI into mplayer!

    So I should solve the problem of ``crappy GUI'' by replacing it with ``no GUI at all?'' I should use the program only from the command line, or by memorizing magic keystrokes? Awesome idea.

    Various other people wrote:

    -
      - You didn't try vlc! -
    +
      You didn't try vlc!

    True, I hadn't. Now I have. It has an overly-complicated UI, (the Preferences panel is a festival of overkill) but at least it uses standard menus and buttons, so it doesn't make you want to claw your eyes out immediately. But, it can only play a miniscule number of video formats, so it's mostly useless. *plonk*

    Someone else wrote:

    -
      - Have you considered changing distributions? -
    +
      Have you considered changing distributions?

    Yes, every single time I try something like this, I very seriously consider getting a Mac.

    Really the only thing that's stopping me is that I fear the Emacs situation.

    -

    (By which I mean, ``Lack of a usable version thereof.'' No, running RMSmacs inside a terminal window doesn't qualify. Nor does running an X server on the Mac: if I were going to switch, why in the world would I continue inflicting the X Windows Disaster on myself? Wouldn't getting away from that be the whole - point?)

    -
      (I understand there is an almost-functional Aqua version of - RMSmacs now. I'll probably check it out at some point, but the problem with me switching from XEmacs to RMSmacs is that it would probably result in another - Slashdork post, meaning I'd wake up to another 150+ poorly spelled flames in my inbox... I'm hoping for a Aquafied XEmacs, but I know that's not likely to happen any time soon.)
    -

    By the way, the suggestion to switch Linux distrubutions in order to get a single app to work might sound absurd at first. And that's because it is. But I've been saturated with Unix-peanut-gallery effluvia for so long that it no longer even surprises me when every - question -- no matter how - simple -- results in someone suggesting that you either A) patch your kernel or B) change distros. It's inevitable and inescapable, like Hitler.

    +

    (By which I mean, ``Lack of a usable version thereof.'' No, running RMSmacs inside a terminal window doesn't qualify. Nor does running an X server on the Mac: if I were going to switch, why in the world would I continue inflicting the X Windows Disaster on myself? Wouldn't getting away from that be the whole point?)

    +
      + (I understand there is an almost-functional Aqua version of RMSmacs now. I'll probably check it out at some point, but the problem with me switching from XEmacs to RMSmacs is that it would probably result in another Slashdork post, meaning I'd wake up to another 150+ poorly spelled flames in my inbox... I'm hoping for a Aquafied XEmacs, but I know that's not likely to happen any time soon.) +
    +

    By the way, the suggestion to switch Linux distrubutions in order to get a single app to work might sound absurd at first. And that's because it is. But I've been saturated with Unix-peanut-gallery effluvia for so long that it no longer even surprises me when every question -- no matter how simple -- results in someone suggesting that you either A) patch your kernel or B) change distros. It's inevitable and inescapable, like Hitler.

    -
    -

    [ up ]

    +
    +

    [ up ]

    \ No newline at end of file diff --git a/test/test-pages/telegraph/expected.html b/test/test-pages/telegraph/expected.html index a6d0587..cfa4d1d 100644 --- a/test/test-pages/telegraph/expected.html +++ b/test/test-pages/telegraph/expected.html @@ -1,45 +1,27 @@
    -
    -
    -

    Zimbabwe President Robert Mugabe, his wife Grace and two key figures from her G40 political faction are under house arrest at Mugabe's "Blue House" compound in Harare and are insisting the 93 year-old finishes his presidential term, a source said.

    -

    The G40 figures are cabinet ministers Jonathan Moyo and Saviour Kasukuwere, who fled to the compound after their homes were attacked by troops in Tuesday night's coup, the source, who said he had spoken to people inside the compound, told Reuters.

    -

    Mr Mugabe is resisting mediation by a Catholic priest to allow the former guerrilla a graceful exit after the military takeover.

    -

    The priest, Fidelis Mukonori, is acting as a middle-man between Mr Mugabe and the generals, who seized power in a targeted operation against "criminals" in his entourage, a senior political source told Reuters.

    -

    The source could not provide details of the talks, which appear to be aimed at a smooth and bloodless transition after the departure of Mr Mugabe, who has led Zimbabwe since independence in 1980.

    -

    Mr Mugabe, still seen by many Africans as a liberation hero, is reviled in the West as a despot whose disastrous handling of the economy and willingness to resort to violence to maintain power destroyed one of Africa's most promising states.

    -
    -
    +

    Zimbabwe President Robert Mugabe, his wife Grace and two key figures from her G40 political faction are under house arrest at Mugabe's "Blue House" compound in Harare and are insisting the 93 year-old finishes his presidential term, a source said.

    +

    The G40 figures are cabinet ministers Jonathan Moyo and Saviour Kasukuwere, who fled to the compound after their homes were attacked by troops in Tuesday night's coup, the source, who said he had spoken to people inside the compound, told Reuters.

    +

    Mr Mugabe is resisting mediation by a Catholic priest to allow the former guerrilla a graceful exit after the military takeover.

    +

    The priest, Fidelis Mukonori, is acting as a middle-man between Mr Mugabe and the generals, who seized power in a targeted operation against "criminals" in his entourage, a senior political source told Reuters.

    +

    The source could not provide details of the talks, which appear to be aimed at a smooth and bloodless transition after the departure of Mr Mugabe, who has led Zimbabwe since independence in 1980.

    +

    Mr Mugabe, still seen by many Africans as a liberation hero, is reviled in the West as a despot whose disastrous handling of the economy and willingness to resort to violence to maintain power destroyed one of Africa's most promising states.

    -
    -

    Zimbabwean intelligence reports seen by Reuters suggest that former security chief Emmerson Mnangagwa, who was ousted as vice-president this month, has been mapping out a post-Mugabe vision with the military and opposition for more than a year.

    -
    +

    Zimbabwean intelligence reports seen by Reuters suggest that former security chief Emmerson Mnangagwa, who was ousted as vice-president this month, has been mapping out a post-Mugabe vision with the military and opposition for more than a year.

    -
    -
    -

    Fuelling speculation that Mnangagwa's plan might be rolling into action, opposition leader Morgan Tsvangirai, who has been receiving cancer treatment in Britain and South Africa, returned to Harare late on Wednesday, his spokesman said.

    -

    South Africa said Mr Mugabe had told President Jacob Zuma by telephone on Wednesday that he was confined to his home but was otherwise fine and the military said it was keeping him and his family, including wife Grace, safe.

    -
    -
    +

    Fuelling speculation that Mnangagwa's plan might be rolling into action, opposition leader Morgan Tsvangirai, who has been receiving cancer treatment in Britain and South Africa, returned to Harare late on Wednesday, his spokesman said.

    +

    South Africa said Mr Mugabe had told President Jacob Zuma by telephone on Wednesday that he was confined to his home but was otherwise fine and the military said it was keeping him and his family, including wife Grace, safe.

    -
    -
    -

    Despite the lingering admiration for Mr Mugabe, there is little public affection for 52-year-old Grace, a former government typist who started having an affair with Mr Mugabe in the early 1990s as his first wife, Sally, was dying of kidney disease.

    -

    Dubbed "DisGrace" or "Gucci Grace" on account of her reputed love of shopping, she enjoyed a meteoric rise through the ranks of Mugabe's ruling Zanu-PF in the last two years, culminating in Mnangagwa's removal a week ago - a move seen as clearing the way for her to succeed her husband.

    -
    -
    +

    Despite the lingering admiration for Mr Mugabe, there is little public affection for 52-year-old Grace, a former government typist who started having an affair with Mr Mugabe in the early 1990s as his first wife, Sally, was dying of kidney disease.

    +

    Dubbed "DisGrace" or "Gucci Grace" on account of her reputed love of shopping, she enjoyed a meteoric rise through the ranks of Mugabe's ruling Zanu-PF in the last two years, culminating in Mnangagwa's removal a week ago - a move seen as clearing the way for her to succeed her husband.

    -
    -

    In contrast to the high political drama unfolding behind closed doors, the streets of the capital remained calm, with people going about their daily business, albeit under the watch of soldiers on armoured vehicles at strategic locations.

    -
    +

    In contrast to the high political drama unfolding behind closed doors, the streets of the capital remained calm, with people going about their daily business, albeit under the watch of soldiers on armoured vehicles at strategic locations.

    -
    -

    Whatever the final outcome, the events could signal a once-in-a-generation change for the former British colony, a regional breadbasket reduced to destitution by economic policies Mr Mugabe's critics have long blamed on him.

    -
    +

    Whatever the final outcome, the events could signal a once-in-a-generation change for the former British colony, a regional breadbasket reduced to destitution by economic policies Mr Mugabe's critics have long blamed on him.

    \ No newline at end of file diff --git a/test/test-pages/title-and-h1-discrepancy/expected-metadata.json b/test/test-pages/title-and-h1-discrepancy/expected-metadata.json index a9c072f..8f6d0ca 100644 --- a/test/test-pages/title-and-h1-discrepancy/expected-metadata.json +++ b/test/test-pages/title-and-h1-discrepancy/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "This is a long title with a colon: Hello there", "byline": null, + "dir": null, "excerpt": "Lorem\n ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\n quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\n consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\n cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\n proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", - "readerable": false, - "siteName": null + "siteName": null, + "readerable": false } diff --git a/test/test-pages/title-and-h1-discrepancy/expected.html b/test/test-pages/title-and-h1-discrepancy/expected.html index e395268..c4b9011 100644 --- a/test/test-pages/title-and-h1-discrepancy/expected.html +++ b/test/test-pages/title-and-h1-discrepancy/expected.html @@ -1,21 +1,6 @@ -
    - -

    - Lorem - ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod - incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -

    -

    - Lorem - ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod - incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -

    -
    \ No newline at end of file +
    +
    +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    +

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    +
    +
    \ No newline at end of file diff --git a/test/test-pages/tmz-1/expected-metadata.json b/test/test-pages/tmz-1/expected-metadata.json index e965e70..ff4e798 100644 --- a/test/test-pages/tmz-1/expected-metadata.json +++ b/test/test-pages/tmz-1/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "Lupita Nyong'o's $150K Pearl Oscar Dress -- STOLEN!!!", "byline": null, + "dir": null, "excerpt": "Lupita Nyong'o's now-famous Oscar dress -- adorned in pearls -- was stolen right out of her hotel room ... TMZ has learned. Law enforcement sources tell…", - "readerable": true, - "siteName": "http://www.tmz.com" + "siteName": "http://www.tmz.com", + "readerable": true } diff --git a/test/test-pages/tmz-1/expected.html b/test/test-pages/tmz-1/expected.html index 48f65bd..6cd0b65 100644 --- a/test/test-pages/tmz-1/expected.html +++ b/test/test-pages/tmz-1/expected.html @@ -1,18 +1,25 @@

    -

    Lupita Nyong'o

    -

    $150K Pearl Oscar Dress ... STOLEN!!!!

    +

    Lupita Nyong'o

    +

    $150K Pearl Oscar Dress ... STOLEN!!!!

    2/26/2015 7:11 AM PST BY TMZ STAFF
    -

    EXCLUSIVE

    -

    0225-lupita-nyongo-getty-01Lupita Nyong'o's now-famous Oscar dress -- adorned in pearls -- was stolen right out of her hotel room ... TMZ has learned.

    +

    EXCLUSIVE +

    +

    + 0225-lupita-nyongo-getty-01Lupita Nyong'o's now-famous Oscar dress -- adorned in pearls -- was stolen right out of her hotel room ... TMZ has learned. +

    Law enforcement sources tell TMZ ... the dress was taken out of Lupita's room at The London West Hollywood. The dress is made of pearls ... 6,000 white Akoya pearls. It's valued at $150,000.

    Our sources say Lupita told cops it was taken from her room sometime between 8 AM and 9 PM Wednesday ... while she was gone.  

    We're told there is security footage that cops are looking at that could catch the culprit right in the act. 

    -

    update_graphic_red_bar12:00 PM PT -- Sheriff's deputies were at The London Thursday morning.  We know they were in the manager's office and we're told they have looked at security footage to determine if they can ID the culprit.

    -

    0226-SUB-london-hotel-swipe-tmz-02

    +

    + update_graphic_red_bar12:00 PM PT -- Sheriff's deputies were at The London Thursday morning.  We know they were in the manager's office and we're told they have looked at security footage to determine if they can ID the culprit. +

    +

    + 0226-SUB-london-hotel-swipe-tmz-02 +

    \ No newline at end of file diff --git a/test/test-pages/tumblr/expected-metadata.json b/test/test-pages/tumblr/expected-metadata.json index aac8b72..90aff73 100644 --- a/test/test-pages/tumblr/expected-metadata.json +++ b/test/test-pages/tumblr/expected-metadata.json @@ -3,6 +3,6 @@ "byline": null, "dir": null, "excerpt": "+ Added Granite, Andesite, and Diorite stone blocks, with smooth versions\n+ Added Slime Block\n+ Added Iron Trapdoor\n+ Added Prismarine and Sea Lantern blocks\n+ Added the Ocean Monument\n+ Added Red...", - "readerable": true, - "siteName": "Minecraft Update News" + "siteName": "Minecraft Update News", + "readerable": true } diff --git a/test/test-pages/tumblr/expected.html b/test/test-pages/tumblr/expected.html index 682c93f..8c41035 100644 --- a/test/test-pages/tumblr/expected.html +++ b/test/test-pages/tumblr/expected.html @@ -1,12 +1,8 @@
    -
    -
    -
    -

    Minecraft 1.8 - The Bountiful Update

    -
    -

    + Added Granite, Andesite, and Diorite stone blocks, with smooth versions
    + Added Slime Block
    + Added Iron Trapdoor
    + Added Prismarine and Sea Lantern blocks
    + Added the Ocean Monument
    + Added Red Sandstone
    + Added Banners
    + Added Armor Stands
    + Added Coarse Dirt (dirt where grass won’t grow)
    + Added Guardian mobs, with item drops
    + Added Endermite mob
    + Added Rabbits, with item drops
    + Added Mutton and Cooked Mutton
    + Villagers will harvest crops and plant new ones
    + Mossy Cobblestone and Mossy Stone Bricks are now craftable
    + Chiseled Stone Bricks are now craftable
    + Doors and fences now come in all wood type variants
    + Sponge block has regained its water-absorbing ability and becomes wet
    + Added a spectator game mode (game mode 3)
    + Added one new achievement
    + Added “Customized” world type
    + Added hidden “Debug Mode” world type
    + Worlds can now have a world barrier
    + Added @e target selector for Command Blocks
    + Added /blockdata command
    + Added /clone command
    + Added /execute command
    + Added /fill command
    + Added /particle command
    + Added /testforblocks command
    + Added /title command
    + Added /trigger command
    + Added /worldborder command
    + Added /stats command
    + Containers can be locked in custom maps by using the “Lock” data tag
    + Added logAdminCommands, showDeathMessages, reducedDebugInfo, sendCommandFeedback, and randomTickSpeed game rules
    + Added three new statistics
    + Player skins can now have double layers across the whole model, and left/right arms/legs can be edited independently
    + Added a new player model with smaller arms, and a new player skin called Alex?
    + Added options for configuring what pieces of the skin that are visible
    + Blocks can now have custom visual variations in the resource packs
    + Minecraft Realms now has an activity chart, so you can see who has been online
    + Minecraft Realms now lets you upload your maps
    * Difficulty setting is saved per world, and can be locked if wanted
    * Enchanting has been redone, now costs lapis lazuli in addition to enchantment levels
    * Villager trading has been rebalanced
    * Anvil repairing has been rebalanced
    * Considerable faster client-side performance
    * Max render distance has been increased to 32 chunks (512 blocks)
    * Adventure mode now prevents you from destroying blocks, unless your items have the CanDestroy data tag
    * Resource packs can now also define the shape of blocks and items, and not just their textures
    * Scoreboards have been given a lot of new features
    * Tweaked the F3 debug screen
    * Block ID numbers (such as 1 for stone), are being replaced by ID names (such as minecraft:stone)
    * Server list has been improved
    * A few minor changes to village and temple generation
    * Mob heads for players now show both skin layers
    * Buttons can now be placed on the ceiling
    * Lots and lots of other changes
    * LOTS AND LOTS of other changes
    - Removed Herobrine

    -
    -
    +
    +

    Minecraft 1.8 - The Bountiful Update

    +
    +

    + Added Granite, Andesite, and Diorite stone blocks, with smooth versions
    + Added Slime Block
    + Added Iron Trapdoor
    + Added Prismarine and Sea Lantern blocks
    + Added the Ocean Monument
    + Added Red Sandstone
    + Added Banners
    + Added Armor Stands
    + Added Coarse Dirt (dirt where grass won’t grow)
    + Added Guardian mobs, with item drops
    + Added Endermite mob
    + Added Rabbits, with item drops
    + Added Mutton and Cooked Mutton
    + Villagers will harvest crops and plant new ones
    + Mossy Cobblestone and Mossy Stone Bricks are now craftable
    + Chiseled Stone Bricks are now craftable
    + Doors and fences now come in all wood type variants
    + Sponge block has regained its water-absorbing ability and becomes wet
    + Added a spectator game mode (game mode 3)
    + Added one new achievement
    + Added “Customized” world type
    + Added hidden “Debug Mode” world type
    + Worlds can now have a world barrier
    + Added @e target selector for Command Blocks
    + Added /blockdata command
    + Added /clone command
    + Added /execute command
    + Added /fill command
    + Added /particle command
    + Added /testforblocks command
    + Added /title command
    + Added /trigger command
    + Added /worldborder command
    + Added /stats command
    + Containers can be locked in custom maps by using the “Lock” data tag
    + Added logAdminCommands, showDeathMessages, reducedDebugInfo, sendCommandFeedback, and randomTickSpeed game rules
    + Added three new statistics
    + Player skins can now have double layers across the whole model, and left/right arms/legs can be edited independently
    + Added a new player model with smaller arms, and a new player skin called Alex?
    + Added options for configuring what pieces of the skin that are visible
    + Blocks can now have custom visual variations in the resource packs
    + Minecraft Realms now has an activity chart, so you can see who has been online
    + Minecraft Realms now lets you upload your maps
    * Difficulty setting is saved per world, and can be locked if wanted
    * Enchanting has been redone, now costs lapis lazuli in addition to enchantment levels
    * Villager trading has been rebalanced
    * Anvil repairing has been rebalanced
    * Considerable faster client-side performance
    * Max render distance has been increased to 32 chunks (512 blocks)
    * Adventure mode now prevents you from destroying blocks, unless your items have the CanDestroy data tag
    * Resource packs can now also define the shape of blocks and items, and not just their textures
    * Scoreboards have been given a lot of new features
    * Tweaked the F3 debug screen
    * Block ID numbers (such as 1 for stone), are being replaced by ID names (such as minecraft:stone)
    * Server list has been improved
    * A few minor changes to village and temple generation
    * Mob heads for players now show both skin layers
    * Buttons can now be placed on the ceiling
    * Lots and lots of other changes
    * LOTS AND LOTS of other changes
    - Removed Herobrine

    \ No newline at end of file diff --git a/test/test-pages/videos-1/expected.html b/test/test-pages/videos-1/expected.html index ee5b6c7..5b4cdc8 100644 --- a/test/test-pages/videos-1/expected.html +++ b/test/test-pages/videos-1/expected.html @@ -31,7 +31,8 @@

    - Ingrid Goes West is a twisted and dark comedy — part addiction narrative, part stalker story — and yet it’s set in a world that’s almost pathologically cheery: the glossy, sunny, nourishing, superfood- and superlative-loving universe of Instagram celebrity. But despite Ingrid Goes West’s spot-on take on that world, the best thing about the film is that it refuses to traffic in lazy buzzwords and easy skewering, particularly at the expense of young women. Instead, the movie conveys that behind every Instagram image and meltdown is a real person, with real insecurities, real feelings, and real problems. And it recognizes that living a life performed in public can be its own kind of self-deluding prison.

    + Ingrid Goes West is a twisted and dark comedy — part addiction narrative, part stalker story — and yet it’s set in a world that’s almost pathologically cheery: the glossy, sunny, nourishing, superfood- and superlative-loving universe of Instagram celebrity. But despite Ingrid Goes West’s spot-on take on that world, the best thing about the film is that it refuses to traffic in lazy buzzwords and easy skewering, particularly at the expense of young women. Instead, the movie conveys that behind every Instagram image and meltdown is a real person, with real insecurities, real feelings, and real problems. And it recognizes that living a life performed in public can be its own kind of self-deluding prison. +

    Ingrid Goes West is currently streaming on Hulu and available to digitally rent on YouTube and Google Play.

    18) Lady Macbeth @@ -42,7 +43,8 @@

    - Lady Macbeth is no placid costume drama. Adapted from an 1865 Russian novella by Nikolai Leskov, the movie follows Katherine (the astounding Florence Pugh), a woman in the Lady Macbeth line characterized by a potent cocktail of very few scruples and a lot of determination. She's a chilling avatar for the ways that class and privilege — both obvious and hidden — insulate some people from the consequences of their actions while damning others. Lady Macbeth is also a dazzling directorial debut from William Oldroyd, a thrilling combination of sex, murder, intrigue, and power plays. It’s visually stunning, each frame composed so carefully and deliberately that the wildness and danger roiling just below the surface feels even more frightening. Each scene ratchets up the tension to an explosive, chilling end.

    + Lady Macbeth is no placid costume drama. Adapted from an 1865 Russian novella by Nikolai Leskov, the movie follows Katherine (the astounding Florence Pugh), a woman in the Lady Macbeth line characterized by a potent cocktail of very few scruples and a lot of determination. She's a chilling avatar for the ways that class and privilege — both obvious and hidden — insulate some people from the consequences of their actions while damning others. Lady Macbeth is also a dazzling directorial debut from William Oldroyd, a thrilling combination of sex, murder, intrigue, and power plays. It’s visually stunning, each frame composed so carefully and deliberately that the wildness and danger roiling just below the surface feels even more frightening. Each scene ratchets up the tension to an explosive, chilling end. +

    Lady Macbeth is currently streaming on HBO Go and HBO Now, and it is available to digitally rent on Amazon Prime, Vudu, YouTube, iTunes, and Google Play.

    17) BPM (Beats Per Minute) @@ -53,7 +55,8 @@

    - BPM (Beats Per Minute) is a remarkably tender and stirring story of the Paris chapter of ACT UP, an AIDS activism group, and the young people who found themselves caught in the crosshairs of the AIDS crisis in the early 1990s. The film follows both the group's actions and the individual members’ shifting relationships to one another — enemies becoming friends, friends becoming lovers, lovers becoming caretakers — as well as their struggles with the disease wracking their community. As an account of the period, it’s riveting; as an exploration of life and love set at the urgent intersection of the political and the personal, it’s devastating.

    + BPM (Beats Per Minute) is a remarkably tender and stirring story of the Paris chapter of ACT UP, an AIDS activism group, and the young people who found themselves caught in the crosshairs of the AIDS crisis in the early 1990s. The film follows both the group's actions and the individual members’ shifting relationships to one another — enemies becoming friends, friends becoming lovers, lovers becoming caretakers — as well as their struggles with the disease wracking their community. As an account of the period, it’s riveting; as an exploration of life and love set at the urgent intersection of the political and the personal, it’s devastating. +

    BPM (Beats Per Minute) is currently streaming on Hulu and available to digitally rent on Google Play and YouTube.

    16) The Big Sick @@ -104,7 +107,8 @@

    - Dunkirk, a true cinematic achievement from acclaimed director Christopher Nolan, backs off conventional notions of narrative and chronology as much as possible, while leaning headfirst into everything else that makes a movie a visceral work of art aimed at the senses: the images, the sounds, the scale, the swelling vibrations of it all. You can’t smell the sea spray, but your brain may trick you into thinking you can. Nolan’s camera pushes the edges of the screen as far as it can as Dunkirk engulfs the audience in something that feels like a lot more than a war movie. It’s a symphony for the brave and broken, and it resolves in a major key — but one with an undercurrent of sorrow, and of sober warning. Courage in the face of danger is not just for characters in movies.

    + Dunkirk, a true cinematic achievement from acclaimed director Christopher Nolan, backs off conventional notions of narrative and chronology as much as possible, while leaning headfirst into everything else that makes a movie a visceral work of art aimed at the senses: the images, the sounds, the scale, the swelling vibrations of it all. You can’t smell the sea spray, but your brain may trick you into thinking you can. Nolan’s camera pushes the edges of the screen as far as it can as Dunkirk engulfs the audience in something that feels like a lot more than a war movie. It’s a symphony for the brave and broken, and it resolves in a major key — but one with an undercurrent of sorrow, and of sober warning. Courage in the face of danger is not just for characters in movies. +

    Dunkirk is currently streaming on HBO Go and HBO Now, and available to digitally rent on Google Play and YouTube.

    11) Rat Film @@ -115,7 +119,8 @@

    - Rat Film is about rats, yes — and rat poison experts and rat hunters and people who keep rats as pets. But it’s also about the history of eugenics, dubious science, “redlining,” and segregated housing in Baltimore. All these pieces come together to form one big essay, where the meaning of each vignette only becomes clearer in light of the whole. It’s a fast-paced, no-holds-barred exploration of a damning history, and it accrues meaning as the images, sounds, and text pile up.

    + Rat Film is about rats, yes — and rat poison experts and rat hunters and people who keep rats as pets. But it’s also about the history of eugenics, dubious science, “redlining,” and segregated housing in Baltimore. All these pieces come together to form one big essay, where the meaning of each vignette only becomes clearer in light of the whole. It’s a fast-paced, no-holds-barred exploration of a damning history, and it accrues meaning as the images, sounds, and text pile up. +

    Rat Film is available to digitally rent on YouTube and Google Play.

    10) A Quiet Passion @@ -126,7 +131,8 @@

    - A Quiet Passion is technically a biographical film about Emily Dickinson, but it transcends its genre to become something more like poetry. It’s a perplexing and challenging film, crafted without the traditional guardrails that guide most biographical movies — dates, times, major accomplishments, and so on. Time slips away in the film almost imperceptibly, and the narrative arc doesn’t yield easily to the viewer. Cynthia Nixon plays Emily Dickinson, whose poetry and life is a perfect match for the signature style of director Terence Davies: rich in detail, deeply enigmatic, and weighed down with a kind of sparkling, joy-tinged sorrow. A Quiet Passion is a portrait, both visual and narrative, of the kind of saint most modern people can understand: one who is certain of her uncertainty, and yearning to walk the path on which her passion and longing meet.

    + A Quiet Passion is technically a biographical film about Emily Dickinson, but it transcends its genre to become something more like poetry. It’s a perplexing and challenging film, crafted without the traditional guardrails that guide most biographical movies — dates, times, major accomplishments, and so on. Time slips away in the film almost imperceptibly, and the narrative arc doesn’t yield easily to the viewer. Cynthia Nixon plays Emily Dickinson, whose poetry and life is a perfect match for the signature style of director Terence Davies: rich in detail, deeply enigmatic, and weighed down with a kind of sparkling, joy-tinged sorrow. A Quiet Passion is a portrait, both visual and narrative, of the kind of saint most modern people can understand: one who is certain of her uncertainty, and yearning to walk the path on which her passion and longing meet. +

    A Quiet Passion is currently streaming on Amazon Prime and available to digitally rent or purchase on iTunes, Vudu, Amazon, YouTube, and Google Play.

    9) Columbus @@ -137,7 +143,8 @@

    - Columbus is a stunner of a debut from video essayist turned director Kogonada. Haley Lu Richardson stars as Casey, a young woman living in Columbus, Indiana, who cares for her mother, works at a library, and harbors a passion for architecture. (Columbus is a mecca for modernist architecture scholars and enthusiasts.) When a visiting architecture scholar falls into a coma in Columbus, his estranged son Jin (John Cho) arrives to wait for him and strikes up a friendship with Casey, who starts to show him her favorite buildings. The two begin to unlock something in each other that’s hard to define but life-changing for both. Columbus is beautiful and subtle, letting us feel how the places we build and the people we let near us move and mold us.

    + Columbus is a stunner of a debut from video essayist turned director Kogonada. Haley Lu Richardson stars as Casey, a young woman living in Columbus, Indiana, who cares for her mother, works at a library, and harbors a passion for architecture. (Columbus is a mecca for modernist architecture scholars and enthusiasts.) When a visiting architecture scholar falls into a coma in Columbus, his estranged son Jin (John Cho) arrives to wait for him and strikes up a friendship with Casey, who starts to show him her favorite buildings. The two begin to unlock something in each other that’s hard to define but life-changing for both. Columbus is beautiful and subtle, letting us feel how the places we build and the people we let near us move and mold us. +

    Columbus is currently streaming on Hulu and available to rent on Google Play and YouTube.

    8) The Florida Project @@ -159,7 +166,8 @@

    Luca Guadagnino’s gorgeous film Call Me by Your Name adapts André Aciman’s 2007 novel about a precocious 17-year-old named Elio (Timothée Chalamet), who falls in lust and love with his father’s 24-year-old graduate student Oliver (Armie Hammer). It’s remarkable for how it turns literature into pure cinema, all emotion and image and heady sensation. Set in 1983 in Northern Italy, Call Me by Your Name is less about coming out than coming of age, but it also captures a particular sort of love that’s equal parts passion and torment, a kind of irrational heart fire that opens a gate into something longer-lasting. The film is a lush, heady experience for the body, but it’s also an arousal for the soul.

    - Call Me By Your Name is available to digitally purchase on Amazon, YouTube, and Google Play.

    + Call Me By Your Name is available to digitally purchase on Amazon, YouTube, and Google Play. +

    6) Personal Shopper

    @@ -198,7 +206,8 @@

    - The Work is an outstanding, astonishing accomplishment and a viewing experience that will leave you shaken (but in a good way). At Folsom Prison in California, incarcerated men regularly participate in group therapy, and each year other men from the “outside” apply to participate in an intense four-day period of group therapy alongside Folsom’s inmates. The Work spends almost all of its time inside the room where that therapy happens, observing the strong, visceral, and sometimes violent emotions the men feel as they expose the hurt and raw nerves that have shaped how they encounter the world. Watching is not always easy, but by letting us peek in, the film invites viewers to become part of the experience — as if we, too, are being asked to let go.

    + The Work is an outstanding, astonishing accomplishment and a viewing experience that will leave you shaken (but in a good way). At Folsom Prison in California, incarcerated men regularly participate in group therapy, and each year other men from the “outside” apply to participate in an intense four-day period of group therapy alongside Folsom’s inmates. The Work spends almost all of its time inside the room where that therapy happens, observing the strong, visceral, and sometimes violent emotions the men feel as they expose the hurt and raw nerves that have shaped how they encounter the world. Watching is not always easy, but by letting us peek in, the film invites viewers to become part of the experience — as if we, too, are being asked to let go. +

    The Work is streaming on Topic.com and available to digitally rent on Google Play and YouTube.

    2) Ex Libris @@ -219,7 +228,8 @@

    - Lady Bird topped my list almost instantly, and only rose in my estimation on repeated viewings. For many who saw it (including me), it felt like a movie made not just for but about me. Lady Bird is a masterful, exquisite coming-of-age comedy starring the great Saoirse Ronan as Christine — or “Lady Bird,” as she’s re-christened herself — and it’s as funny, smart, and filled with yearning as its heroine. Writer-director Greta Gerwig made the film as an act of love, not just toward her hometown of Sacramento but also toward girlhood, and toward the feeling of always being on the outside of wherever real life is happening. Lady Bird is the rare movie that manages to be affectionate, entertaining, hilarious, witty, and confident. And one line from it struck me as the guiding principle of many of the year’s best films: “Don’t you think they are the same thing? Love, and attention?”

    + Lady Bird topped my list almost instantly, and only rose in my estimation on repeated viewings. For many who saw it (including me), it felt like a movie made not just for but about me. Lady Bird is a masterful, exquisite coming-of-age comedy starring the great Saoirse Ronan as Christine — or “Lady Bird,” as she’s re-christened herself — and it’s as funny, smart, and filled with yearning as its heroine. Writer-director Greta Gerwig made the film as an act of love, not just toward her hometown of Sacramento but also toward girlhood, and toward the feeling of always being on the outside of wherever real life is happening. Lady Bird is the rare movie that manages to be affectionate, entertaining, hilarious, witty, and confident. And one line from it struck me as the guiding principle of many of the year’s best films: “Don’t you think they are the same thing? Love, and attention?” +

    Lady Bird is currently streaming on Amazon Prime and available to digitally rent on Amazon, Google Play, and YouTube.

    diff --git a/test/test-pages/wapo-1/expected-metadata.json b/test/test-pages/wapo-1/expected-metadata.json index d9f959b..e520fc3 100644 --- a/test/test-pages/wapo-1/expected-metadata.json +++ b/test/test-pages/wapo-1/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "Attack stokes instability fears in North Africa", "byline": "By Erin Cunningham", + "dir": null, "excerpt": "The assault on Tunisia’s most renowned museum, in which gunmen killed at least 19 people, could heighten tensions in a nation that has become deeply divided between pro- and anti-Islamist factions.", - "readerable": true, - "siteName": "Washington Post" + "siteName": "Washington Post", + "readerable": true } diff --git a/test/test-pages/wapo-1/expected.html b/test/test-pages/wapo-1/expected.html index e36d61a..22bf83a 100644 --- a/test/test-pages/wapo-1/expected.html +++ b/test/test-pages/wapo-1/expected.html @@ -5,26 +5,31 @@

    The attackers, clad in military uniforms, stormed the Bardo National Museum on Wednesday afternoon, seizing and gunning down foreign tourists before security forces raided the building to end the siege. The museum is a major tourist draw and is near the heavily guarded national parliament in downtown Tunis.

    Tunisian Prime Minister Habib Essid said that in addition to the slain foreigners — from Italy, Poland, Germany and Spain — a local museum worker and a security official were killed. Two gunmen died, and three others may have escaped, officials said. About 50 other people were wounded, according to local news reports.

    “Our nation is in danger,” Essid declared in a televised address Wednesday evening. He vowed that the country would be “merciless” in defending itself.

    -

    [Read: Why Tunisia, Arab Spring’s sole success story, suffers from Islamist violence]

    +

    [Read: Why Tunisia, Arab Spring’s sole success story, suffers from Islamist violence] +

    Tunisia, a mostly Muslim nation of about 11 million people, was governed for decades by autocrats who imposed secularism. Its sun-drenched Mediterranean beaches drew thousands of bikini-clad tourists, and its governments promoted education and other rights for women. But the country has grappled with rising Islamist militancy since a popular uprising overthrew its dictator four years ago, setting the stage for the Arab Spring revolts across the region.

    Thousands of Tunisians have flocked to join jihadist groups in Syria, including the Islamic State, making the country one of the major sources of foreign fighters in the conflict. Tunisian security forces have also fought increasing gunbattles with jihadists at home.

    Despite this, the country has been hailed as a model of democratic transition as other governments that came to power after the Arab Spring collapsed, often in bloody confrontations. But the attack Wednesday — on a national landmark that showcases Tunisia’s rich heritage — could heighten tensions in a nation that has become deeply divided between pro- and anti-Islamist political factions.

    Many Tunisians accuse the country’s political Islamists, who held power from 2011 to 2013, of having been slow to respond to the growing danger of terrorism. Islamist politicians have acknowledged that they did not realize the threat that would develop when radical Muslims, who had been repressed under authoritarian regimes, won the freedom to preach freely in mosques.

    In Washington, White House press secretary Josh Earnest condemned the attack and said the U.S. government was willing to assist Tunisian authorities in the investigation.

    -

    Gunmen in military uniforms stormed Tunisia's national museum, killing at least 19 people, most of them foreign tourists. (Reuters)

    +

    Gunmen in military uniforms stormed Tunisia's national museum, killing at least 19 people, most of them foreign tourists. (Reuters) +

    “This attack today is meant to threaten authorities, to frighten tourists and to negatively affect the economy,” said Lotfi Azzouz, Tunisia country director for Amnesty International, a London-based rights group.

    Tourism is critical to Tunisia’s economy, accounting for 15 percent of its gross domestic product in 2013, according to the World Travel and Tourism Council, an industry body. The Bardo museum hosts one of the world’s most outstanding collections of Roman mosaics and is popular with tourists and Tunisians alike.

    -

    [Bardo museum houses amazing Roman treasures]

    +

    [Bardo museum houses amazing Roman treasures] +

    The attack is “also aimed at the country’s security and stability during the transition period,” Azzouz said. “And it could have political repercussions — like the curtailing of human rights, or even less government transparency if there’s fear of further attacks.”

    The attack raised concerns that the government, led by secularists, would be pressured to stage a wider crackdown on Islamists of all stripes. Lawmakers are drafting an anti-terrorism bill to give security forces additional tools to fight militants.

    -

    [Read: Tunisia sends most foreign fighters to Islamic State in Syria]

    +

    [Read: Tunisia sends most foreign fighters to Islamic State in Syria] +

    “We must pay attention to what is written” in that law, Azzouz said. “There is worry the government will use the attack to justify some draconian measures.”

    Tunisian Islamists and secular forces have worked together — often reluctantly — to defuse the country’s political crises in the years since the revolt.

    Last fall, Tunisians elected a secular-minded president and parliament dominated by liberal forces after souring on Islamist-led rule. In 2011, voters had elected a government led by the Ennahda party — a movement similar to Egypt’s Islamist Muslim Brotherhood. But a political stalemate developed as the party and others tried to draft the country’s new constitution. The Islamists failed to improve a slumping economy. And Ennahda came under fire for what many Tunisians saw as a failure to crack down on Islamist extremists.

    -

    Map: Flow of foreign fighters to Syria

    +

    Map: Flow of foreign fighters to Syria +

    After the collapse of the authoritarian system in 2011, hard-line Muslims known as Salafists attacked bars and art galleries. Then, in 2012, hundreds of Islamists assaulted the U.S. Embassy in Tunis, shattering windows and hurling gasoline bombs, after the release of a crude online video about the prophet Muhammad. The government outlawed the group behind the attack — Ansar al-Sharia, an al-Qaeda-linked organization — and began a crackdown. But the killing of two leftist politicians in 2013 prompted a fresh political crisis, and Ennahda stepped down, replaced by a technocratic government.

    Tunisia’s current coalition government includes an Ennahda minister in the cabinet. Still, many leftist figures openly oppose collaboration with the movement’s leaders.

    @@ -32,16 +37,22 @@

    The leader of Ennahda, Rachid Ghannouchi, condemned Wednesday’s attack, saying in a statement that it “will not break our people’s will and will not undermine our revolution and our democracy.”

    Security officials are particularly concerned by the collapse of Libya, where various armed groups are vying for influence and jihadist militants have entrenched themselves in major cities. Tunisians worry that extremists can easily get arms and training in the neighboring country.

    In January, Libyan militants loyal to the Islamic State beheaded 21 Christians — 20 of them Egyptian Copts — along the country’s coast. They later seized the Libyan city of Sirte.

    -


    +

    +
    +

    Officials are worried about the number of Tunisian militants who may have joined the jihadists in Libya — with the goal of returning home to fight the Tunis government.

    Ajmi Lourimi, a member of Ennahda’s general secretariat, said he believed the attack would unite Tunisians in the face of terrorism.

    “There is a consensus here that this [attack] is alien to our culture, to our way of life. We want to unify against this danger,” Lourimi said. He said he did not expect a wider government campaign against Islamists.

    “We have nothing to fear,” he said of himself and fellow Ennahda members. “We believe the Interior Ministry should be trained and equipped to fight and counter this militancy.”

    The last major attack on a civilian target in Tunisia was in 2002, when al-Qaeda militants killed more than 20 people in a car bombing outside a synagogue in the city of Djerba.

    Heba Habib contributed to this report.

    -

    Read more:

    -

    Tunisia’s Islamists get a sobering lesson in governing

    -

    Tunisia sends most foreign fighters to Islamic State in Syria

    -

    Tunisia’s Bardo museum is home to amazing Roman treasures

    +

    Read more: +

    +

    Tunisia’s Islamists get a sobering lesson in governing +

    +

    Tunisia sends most foreign fighters to Islamic State in Syria +

    +

    Tunisia’s Bardo museum is home to amazing Roman treasures +

    \ No newline at end of file diff --git a/test/test-pages/wapo-2/expected-metadata.json b/test/test-pages/wapo-2/expected-metadata.json index 2e11d8e..c15022d 100644 --- a/test/test-pages/wapo-2/expected-metadata.json +++ b/test/test-pages/wapo-2/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "Where do strained U.S.-Israeli relations go after Netanyahu’s victory?", "byline": "By Steven Mufson", + "dir": null, "excerpt": "Few foreign leaders have so brazenly stood up to President Obama and the relationship could face its next test this month.", - "readerable": true, - "siteName": "Washington Post" + "siteName": "Washington Post", + "readerable": true } diff --git a/test/test-pages/wapo-2/expected.html b/test/test-pages/wapo-2/expected.html index d8e62cd..8c7e844 100644 --- a/test/test-pages/wapo-2/expected.html +++ b/test/test-pages/wapo-2/expected.html @@ -1,5 +1,8 @@
    -


    Israeli Prime Minister Benjamin Netanyahu reacts as he visits the Western Wall in Jerusalem on March 18 following his party's victory in Israel's general election. (Thomas Coex/AFP/Getty Images)

    +

    + +
    Israeli Prime Minister Benjamin Netanyahu reacts as he visits the Western Wall in Jerusalem on March 18 following his party's victory in Israel's general election. (Thomas Coex/AFP/Getty Images) +

    President Obama told the U.N. General Assembly 18 months ago that he would seek “real breakthroughs on these two issues — Iran’s nuclear program and ­Israeli-Palestinian peace.”

    But Benjamin Netanyahu’s triumph in Tuesday’s parliamentary elections keeps in place an Israeli prime minister who has declared his intention to resist Obama on both of these fronts, guaranteeing two more years of difficult diplomacy between leaders who barely conceal their personal distaste for each other.

    @@ -7,7 +10,8 @@

    “On the way to his election victory, Netanyahu broke a lot of crockery in the relationship,” said Martin Indyk, executive vice president of the Brookings Institution and a former U.S. ambassador to Israel. “It can’t be repaired unless both sides have an interest and desire to do so.”

    Aside from Russian President Vladi­mir Putin, few foreign leaders so brazenly stand up to Obama and even fewer among longtime allies.

    -

    Israeli Prime Minister Benjamin Netanyahu pledged to form a new governing coalition quickly after an upset election victory that was built on a shift to the right. (Reuters)

    +

    Israeli Prime Minister Benjamin Netanyahu pledged to form a new governing coalition quickly after an upset election victory that was built on a shift to the right. (Reuters) +

    In the past, Israeli leaders who risked damaging the country’s most important relationship, that with Washington, tended to pay a price. In 1991, when Prime Minister Yitzhak Shamir opposed the Madrid peace talks, President George H.W. Bush held back loan guarantees to help absorb immigrants from the former Soviet Union. Shamir gave in, but his government soon collapsed.

    But this time, Netanyahu was not hurt by his personal and substantive conflicts with the U.S. president.

    @@ -30,7 +34,7 @@

    “That could be an issue forced onto the agenda about the same time as a potential nuclear deal.”

    -

    +

    Steven Mufson covers the White House. Since joining The Post, he has covered economics, China, foreign policy and energy.

    \ No newline at end of file diff --git a/test/test-pages/webmd-1/expected-metadata.json b/test/test-pages/webmd-1/expected-metadata.json index 7acf14b..83f8107 100644 --- a/test/test-pages/webmd-1/expected-metadata.json +++ b/test/test-pages/webmd-1/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "Babies Who Eat Peanuts Early May Avoid Allergy", "byline": "By Brenda Goodman, MA\n WebMD Health News", + "dir": null, "excerpt": "Life-threatening peanut allergies have mysteriously been on the rise in the past decade, with little hope for a cure. But a groundbreaking new study may offer a way to stem that rise, while another may offer some hope for those who are already allergic.", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/webmd-1/expected.html b/test/test-pages/webmd-1/expected.html index 41cceb6..fb4d57b 100644 --- a/test/test-pages/webmd-1/expected.html +++ b/test/test-pages/webmd-1/expected.html @@ -3,13 +3,13 @@

    Feb. 23, 2015 -- Life-threatening peanut allergies have mysteriously been on the rise in the past decade, with little hope for a cure.

    But a groundbreaking new study may offer a way to stem that rise, while another may offer some hope for those who are already allergic.

    Parents have been told for years to avoid giving foods containing peanuts to babies for fear of triggering an allergy. Now research shows the opposite is true: Feeding babies snacks made with peanuts before their first birthday appears to prevent that from happening.

    -

    The study is published in the New England Journal of Medicine, and it was presented at the annual meeting of the American Academy of Allergy, Asthma and Immunology in Houston. It found that among children at high risk for getting peanut allergies, eating peanut snacks by 11 months of age and continuing to eat them at least three times a week until age 5 cut their chances of becoming allergic by more than 80% compared to kids who avoided peanuts. Those at high risk were already allergic to egg, they had the skin condition eczema, or both.

    +

    The study is published in the New England Journal of Medicine, and it was presented at the annual meeting of the American Academy of Allergy, Asthma and Immunology in Houston. It found that among children at high risk for getting peanut allergies, eating peanut snacks by 11 months of age and continuing to eat them at least three times a week until age 5 cut their chances of becoming allergic by more than 80% compared to kids who avoided peanuts. Those at high risk were already allergic to egg, they had the skin condition eczema, or both.

    Overall, about 3% of kids who ate peanut butter or peanut snacks before their first birthday got an allergy, compared to about 17% of kids who didn’t eat them.

    “I think this study is an astounding and groundbreaking study, really,” says Katie Allen, MD, PhD. She's the director of the Center for Food and Allergy Research at the Murdoch Children’s Research Institute in Melbourne, Australia. Allen was not involved in the research.

    -

    Experts say the research should shift thinking about how kids develop food allergies, and it should change the guidance doctors give to parents.

    -

    Meanwhile, for children and adults who are already allergic to peanuts, another study presented at the same meeting held out hope of a treatment.

    +

    Experts say the research should shift thinking about how kids develop food allergies, and it should change the guidance doctors give to parents.

    +

    Meanwhile, for children and adults who are already allergic to peanuts, another study presented at the same meeting held out hope of a treatment.

    A new skin patch called Viaskin allowed people with peanut allergies to eat tiny amounts of peanuts after they wore it for a year.

    A Change in Guidelines?

    -

    Allergies to peanuts and other foods are on the rise. In the U.S., more than 2% of people react to peanuts, a 400% increase since 1997. And reactions to peanuts and other tree nuts can be especially severe. Nuts are the main reason people get a life-threatening problem called anaphylaxis.

    +

    Allergies to peanuts and other foods are on the rise. In the U.S., more than 2% of people react to peanuts, a 400% increase since 1997. And reactions to peanuts and other tree nuts can be especially severe. Nuts are the main reason people get a life-threatening problem called anaphylaxis.

    \ No newline at end of file diff --git a/test/test-pages/webmd-2/expected-metadata.json b/test/test-pages/webmd-2/expected-metadata.json index ec593fe..4076a08 100644 --- a/test/test-pages/webmd-2/expected-metadata.json +++ b/test/test-pages/webmd-2/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "Superbugs: What They Are and How You Get Them", "byline": "By Kelli Miller\n WebMD Health News", + "dir": null, "excerpt": "Drug-resistant bacteria, dubbed", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/webmd-2/expected.html b/test/test-pages/webmd-2/expected.html index b2d7fa0..18f5d11 100644 --- a/test/test-pages/webmd-2/expected.html +++ b/test/test-pages/webmd-2/expected.html @@ -1,15 +1,15 @@
    -

    April 17, 2015 -- Imagine being sick in the hospital with a bacterial infection and doctors can't stop it from spreading. This so-called "superbug" scenario is not science fiction. It's an urgent, worldwide worry that is prompting swift action.

    +

    April 17, 2015 -- Imagine being sick in the hospital with a bacterial infection and doctors can't stop it from spreading. This so-called "superbug" scenario is not science fiction. It's an urgent, worldwide worry that is prompting swift action.

    Every year, about 2 million people get sick from a superbug, according to the CDC. About 23,000 die. Earlier this year, an outbreak of CRE (carbapenem-resistant enterobacteriaceae) linked to contaminated medical tools sickened 11 people at two Los-Angeles area hospitals. Two people died, and more than 200 others may have been exposed.

    -

    The White House recently released a comprehensive plan outlining steps to combat drug-resistant bacteria. The plan identifies three "urgent" and several "serious" threats. We asked infectious disease experts to explain what some of them are and when to worry.

    +

    The White House recently released a comprehensive plan outlining steps to combat drug-resistant bacteria. The plan identifies three "urgent" and several "serious" threats. We asked infectious disease experts to explain what some of them are and when to worry.

    But First: What's a Superbug?

    -

    It's a term coined by the media to describe bacteria that cannot be killed using multiple antibiotics. "It resonates because it's scary," says Stephen Calderwood, MD, president of the Infectious Diseases Society of America. "But in fairness, there is no real definition."

    +

    It's a term coined by the media to describe bacteria that cannot be killed using multiple antibiotics. "It resonates because it's scary," says Stephen Calderwood, MD, president of the Infectious Diseases Society of America. "But in fairness, there is no real definition."

    Instead, doctors often use phrases like "multidrug-resistant bacteria." That's because a superbug isn't necessarily resistant to all antibiotics. It refers to bacteria that can't be treated using two or more, says Brian K. Coombes, PhD, of McMaster University in Ontario.

    Any species of bacteria can turn into a superbug.

    Misusing antibiotics (such as taking them when you don't need them or not finishing all of your medicine) is the "single leading factor" contributing to this problem, the CDC says. The concern is that eventually doctors will run out of antibiotics to treat them.

    "What the public should know is that the more antibiotics you’ve taken, the higher your superbug risk," says Eric Biondi, MD, who runs a program to decrease unnecessary antibiotic use. "The more encounters you have with the hospital setting, the higher your superbug risk."

    -

    "Superbugs should be a concern to everyone," Coombes says. "Antibiotics are the foundation on which all modern medicine rests. Cancer chemotherapy, organ transplants, surgeries, and childbirth all rely on antibiotics to prevent infections. If you can't treat those, then we lose the medical advances we have made in the last 50 years."

    +

    "Superbugs should be a concern to everyone," Coombes says. "Antibiotics are the foundation on which all modern medicine rests. Cancer chemotherapy, organ transplants, surgeries, and childbirth all rely on antibiotics to prevent infections. If you can't treat those, then we lose the medical advances we have made in the last 50 years."

    Here are some of the growing superbug threats identified in the 2015 White House report.

    \ No newline at end of file diff --git a/test/test-pages/wikia/expected-metadata.json b/test/test-pages/wikia/expected-metadata.json index 62593b5..ac99028 100644 --- a/test/test-pages/wikia/expected-metadata.json +++ b/test/test-pages/wikia/expected-metadata.json @@ -3,6 +3,6 @@ "byline": "James Akinaka", "dir": null, "excerpt": "As a 40th birthday present to the Star Wars Saga and its fans, Lucasfilm could re-release the original versions of the original trilogy films.", - "readerable": true, - "siteName": "Fandom powered by Wikia" + "siteName": "Fandom powered by Wikia", + "readerable": true } diff --git a/test/test-pages/wikia/expected.html b/test/test-pages/wikia/expected.html index aceee79..c705f48 100644 --- a/test/test-pages/wikia/expected.html +++ b/test/test-pages/wikia/expected.html @@ -2,8 +2,7 @@

    Although Lucasfilm is already planning a birthday bash for the Star Wars Saga at Celebration Orlando this April, fans might get another present for the saga’s 40th anniversary. According to fan site MakingStarWars.net, rumors abound that Lucasfilm might re-release the unaltered cuts of the saga’s original trilogy.

    If the rumors are true, this is big news for Star Wars fans. Aside from limited VHS releases, the unaltered cuts of the original trilogy films haven’t been available since they premiered in theaters in the 1970s and ’80s. If Lucasfilm indeed re-releases the films’ original cuts, then this will be the first time in decades that fans can see the films in their original forms. Here’s what makes the unaltered cuts of the original trilogy so special.

    -

    The Star Wars Special Editions Caused Controversy - star wars han solo +

    The Star Wars Special Editions Caused Controversy star wars han solo

    Thanks to the commercial success of Star Wars, George Lucas has revisited and further edited his films for re-releases. The most notable — and controversial — release were the Special Editions of the original trilogy. In 1997, to celebrate the saga’s 20th anniversary, Lucasfilm spent a total of $15 million to remaster A New Hope, The Empire Strikes Back, and Return of the Jedi. The Special Editions had stints in theaters before moving to home media.

    Although most of the Special Editions’ changes were cosmetic, others significantly affected the plot of the films. The most notable example is the “Han shot first” scene in A New Hope. As a result, the Special Editions generated significant controversy among Star Wars fans. Many fans remain skeptical about George Lucas’s decision to finish each original trilogy film “the way it was meant to be.”

    @@ -18,11 +17,9 @@

    Admittedly, the differences between the original trilogy’s unaltered cuts and the Special Editions appeal to more hardcore fans. Casual fans are less likely to care about whether Greedo or Han Solo shot first. Still, given Star Wars’ indelible impact on pop culture, there’s certainly a market for the original trilogy’s unaltered cuts. They might not be for every Star Wars fan, but many of us care about them.

    ILM supervisor John Knoll, who first pitched the story idea for Rogue One, said last year that ILM finished a brand new 4K restoration print of A New Hope. For that reason, it seems likely that Lucasfilm will finally give diehard fans the original film cuts that they’ve clamored for. There’s no word yet whether the unaltered cuts will be released in theaters or on home media. At the very least, however, fans will likely get them after all this time. After all, the Special Editions marked the saga’s 20th anniversary. Star Wars turns 40 years old this year, so there’s no telling what’s in store.

    -
    +

    - - Would you like to be part of the Fandom team? Join our Fan Contributor Program and share your voice on Fandom.com! - + Would you like to be part of the Fandom team? Join our Fan Contributor Program and share your voice on Fandom.com!

    - + \ No newline at end of file diff --git a/test/test-pages/wikipedia-2/expected.html b/test/test-pages/wikipedia-2/expected.html index 98550a2..9cb8568 100644 --- a/test/test-pages/wikipedia-2/expected.html +++ b/test/test-pages/wikipedia-2/expected.html @@ -1,2466 +1,2411 @@
    -
    -

    - Coordinates: 42°S 174°E / 42°S 174°E -

    - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    -

    New Zealand


    +

    + Coordinates: 42°S 174°E / 42°S 174°E +

    + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    +

    New Zealand


    +
    +

    Aotearoa  (Māori) +

    +
    +
    +
    -

    Aotearoa  (Māori) +

    Blue field with the Union Flag in the top right corner, and four red stars with white borders to the right.

    -
    - -
    -
    -

    Blue field with the Union Flag in the top right corner, and four red stars with white borders to the right. +

    Flag

    -
    -

    Flag -

    -
    -
    -
    -

    A quartered shield, flanked by two figures, topped with a crown. -

    -
    -

    Coat of arms -

    -
    -
    -
    - A map of the hemisphere centred on New Zealand, using an orthographic projection. -
    -

    Location of New Zealand, including outlying islands, its territorial claim in the Antarctic, and Tokelau -

    -
    -
    Capital - Wellington
    - 41°17′S 174°27′E / 41.283°S 174.450°E -
    Largest city - Auckland -
    Official languages + +
    +
    - Ethnic groups -
    -

    (2018)

    -
    -
    -
    -
    -
    - Demonym(s) - - New Zealander
    - Kiwi (informal) -
    - Government - - Unitary parliamentary constitutional monarchy -
    -
    -

    • Monarch -

    -
    -
    - Elizabeth II -
    -
    -

    • Governor-General -

    -
    -
    - Patsy Reddy -
    -
    -

    • Prime Minister -

    -
    -
    - Jacinda Ardern -
    Legislature - Parliament
    (House of Representatives)
    - Stages of independence 
    -

    from the United Kingdom -

    -
    -
    - - 7 May 1856
    -
    -

    • Dominion -

    -
    -
    26 September 1907
    - - -
    25 November 1947
    - Area -
    -

    • Total

    -
    268,021 km2 (103,483 sq mi) (75th)
    -

    • Water (%)

    -
    1.6[n 4] -
    - Population -
    -

    • September 2019 estimate

    -
    4,933,210[5] (120th)
    -
    -

    • 2018 census

    -
    -
    4,699,755
    -

    • Density

    -
    18.2/km2 (47.1/sq mi) (203rd)
    - GDP (PPP) - 2018 estimate
    -

    • Total

    -
    $199 billion[6] -
    -

    • Per capita

    -
    $40,266[6] -
    - GDP (nominal) - 2018 estimate
    -

    • Total

    -
    $206 billion[6] -
    -

    • Per capita

    -
    $41,616[6] -
    - Gini (2014) - 33.0[7]
    - medium · 22nd -
    - HDI (2017) - - Increase 0.917[8]
    - very high · 16th -
    Currency - New Zealand dollar ($) (NZD)
    Time zone - UTC+12 (NZST[n 5])
    -

    • Summer (DST)

    -
    - UTC+13 (NZDT[n 6])
    Date format - dd/mm/yyyy
    - yyyy-mm-dd[10] -
    - Driving side - - left -
    - Calling code - - +64 -
    - ISO 3166 code - - NZ -
    - Internet TLD - - .nz -
    -

    - New Zealand (Māori: Aotearoa [aɔˈtɛaɾɔa]) is a sovereign island country in the southwestern Pacific Ocean. The country geographically comprises two main landmasses—the North Island (Te Ika-a-Māui), and the South Island (Te Waipounamu)—and around 600 smaller islands. It has a total land area of 268,000 square kilometres (103,500 sq mi). New Zealand is situated some 2,000 kilometres (1,200 mi) east of Australia across the Tasman Sea and roughly 1,000 kilometres (600 mi) south of the Pacific island areas of New Caledonia, Fiji, and Tonga. Because of its remoteness, it was one of the last lands to be settled by humans. During its long period of isolation, New Zealand developed a distinct biodiversity of animal, fungal, and plant life. The country's varied topography and its sharp mountain peaks, such as the Southern Alps, owe much to the tectonic uplift of land and volcanic eruptions. New Zealand's capital city is Wellington, while its most populous city is Auckland.

    -

    Sometime between 1250 and 1300, Polynesians settled in the islands that later were named New Zealand and developed a distinctive Māori culture. In 1642, Dutch explorer Abel Tasman became the first European to sight New Zealand. In 1840, representatives of the United Kingdom and Māori chiefs signed the Treaty of Waitangi, which declared British sovereignty over the islands. In 1841, New Zealand became a colony within the British Empire and in 1907 it became a dominion; it gained full statutory independence in 1947 and the British monarch remained the head of state. Today, the majority of New Zealand's population of 4.9 million is of European descent; the indigenous Māori are the largest minority, followed by Asians and Pacific Islanders. Reflecting this, New Zealand's culture is mainly derived from Māori and early British settlers, with recent broadening arising from increased immigration. The official languages are English, Māori, and New Zealand Sign Language, with English being very dominant.

    -

    A developed country, New Zealand ranks highly in international comparisons of national performance, such as quality of life, health, education, protection of civil liberties, and economic freedom. New Zealand underwent major economic changes during the 1980s, which transformed it from a protectionist to a liberalised free-trade economy. The service sector dominates the national economy, followed by the industrial sector, and agriculture; international tourism is a significant source of revenue. Nationally, legislative authority is vested in an elected, unicameral Parliament, while executive political power is exercised by the Cabinet, led by the prime minister, currently Jacinda Ardern. Queen Elizabeth II is the country's monarch and is represented by a governor-general, currently Dame Patsy Reddy. In addition, New Zealand is organised into 11 regional councils and 67 territorial authorities for local government purposes. The Realm of New Zealand also includes Tokelau (a dependent territory); the Cook Islands and Niue (self-governing states in free association with New Zealand); and the Ross Dependency, which is New Zealand's territorial claim in Antarctica. New Zealand is a member of the United Nations, Commonwealth of Nations, ANZUS, Organisation for Economic Co-operation and Development, ASEAN Plus Six, Asia-Pacific Economic Cooperation, the Pacific Community and the Pacific Islands Forum.

    -

    - Etymology -

    + + +
    + A map of the hemisphere centred on New Zealand, using an orthographic projection. +
    +

    Location of New Zealand, including outlying islands, its territorial claim in the Antarctic, and Tokelau +

    +
    +
    Capital + Wellington
    + 41°17′S 174°27′E / 41.283°S 174.450°E +
    Largest city + Auckland +
    Official languages +
    + +
    +
    + Ethnic groups +
    +

    (2018)

    +
    +
    +
    + +
    +
    + Demonym(s) + + New Zealander
    + Kiwi (informal) +
    + Government + + Unitary parliamentary constitutional monarchy +
    +
    +

    • Monarch +

    +
    +
    + Elizabeth II +
    +
    +

    • Governor-General +

    +
    +
    + Patsy Reddy +
    +
    +

    • Prime Minister +

    +
    +
    + Jacinda Ardern +
    Legislature + Parliament
    (House of Representatives) +
    + Stages of independence 
    +

    from the United Kingdom +

    +
    +
    + + 7 May 1856
    +
    +

    • Dominion +

    +
    +
    26 September 1907
    + + +
    25 November 1947 +
    + Area +
    +

    • Total

    +
    268,021 km2 (103,483 sq mi) (75th)
    +

    • Water (%)

    +
    1.6[n 4] +
    + Population +
    +

    • September 2019 estimate

    +
    4,933,210[5] (120th)
    +
    +

    • 2018 census

    +
    +
    4,699,755
    +

    • Density

    +
    18.2/km2 (47.1/sq mi) (203rd)
    + GDP (PPP) + 2018 estimate
    +

    • Total

    +
    $199 billion[6] +
    +

    • Per capita

    +
    $40,266[6] +
    + GDP (nominal) + 2018 estimate
    +

    • Total

    +
    $206 billion[6] +
    +

    • Per capita

    +
    $41,616[6] +
    + Gini (2014) + 33.0[7]
    + medium · 22nd +
    + HDI (2017) + + Increase 0.917[8]
    + very high · 16th +
    Currency + New Zealand dollar ($) (NZD) +
    Time zone + UTC+12 (NZST[n 5]) +
    +

    • Summer (DST)

    +
    + UTC+13 (NZDT[n 6]) +
    Date format + dd/mm/yyyy
    + yyyy-mm-dd[10] +
    + Driving side + + left +
    + Calling code + + +64 +
    + ISO 3166 code + + NZ +
    + Internet TLD + + .nz +
    +

    + New Zealand (Māori: Aotearoa [aɔˈtɛaɾɔa]) is a sovereign island country in the southwestern Pacific Ocean. The country geographically comprises two main landmasses—the North Island (Te Ika-a-Māui), and the South Island (Te Waipounamu)—and around 600 smaller islands. It has a total land area of 268,000 square kilometres (103,500 sq mi). New Zealand is situated some 2,000 kilometres (1,200 mi) east of Australia across the Tasman Sea and roughly 1,000 kilometres (600 mi) south of the Pacific island areas of New Caledonia, Fiji, and Tonga. Because of its remoteness, it was one of the last lands to be settled by humans. During its long period of isolation, New Zealand developed a distinct biodiversity of animal, fungal, and plant life. The country's varied topography and its sharp mountain peaks, such as the Southern Alps, owe much to the tectonic uplift of land and volcanic eruptions. New Zealand's capital city is Wellington, while its most populous city is Auckland. +

    +

    Sometime between 1250 and 1300, Polynesians settled in the islands that later were named New Zealand and developed a distinctive Māori culture. In 1642, Dutch explorer Abel Tasman became the first European to sight New Zealand. In 1840, representatives of the United Kingdom and Māori chiefs signed the Treaty of Waitangi, which declared British sovereignty over the islands. In 1841, New Zealand became a colony within the British Empire and in 1907 it became a dominion; it gained full statutory independence in 1947 and the British monarch remained the head of state. Today, the majority of New Zealand's population of 4.9 million is of European descent; the indigenous Māori are the largest minority, followed by Asians and Pacific Islanders. Reflecting this, New Zealand's culture is mainly derived from Māori and early British settlers, with recent broadening arising from increased immigration. The official languages are English, Māori, and New Zealand Sign Language, with English being very dominant.

    +

    A developed country, New Zealand ranks highly in international comparisons of national performance, such as quality of life, health, education, protection of civil liberties, and economic freedom. New Zealand underwent major economic changes during the 1980s, which transformed it from a protectionist to a liberalised free-trade economy. The service sector dominates the national economy, followed by the industrial sector, and agriculture; international tourism is a significant source of revenue. Nationally, legislative authority is vested in an elected, unicameral Parliament, while executive political power is exercised by the Cabinet, led by the prime minister, currently Jacinda Ardern. Queen Elizabeth II is the country's monarch and is represented by a governor-general, currently Dame Patsy Reddy. In addition, New Zealand is organised into 11 regional councils and 67 territorial authorities for local government purposes. The Realm of New Zealand also includes Tokelau (a dependent territory); the Cook Islands and Niue (self-governing states in free association with New Zealand); and the Ross Dependency, which is New Zealand's territorial claim in Antarctica. New Zealand is a member of the United Nations, Commonwealth of Nations, ANZUS, Organisation for Economic Co-operation and Development, ASEAN Plus Six, Asia-Pacific Economic Cooperation, the Pacific Community and the Pacific Islands Forum.

    +

    + Etymology +

    +
    +

    Brown square paper with Dutch writing and a thick red, curved line

    -
    -

    Brown square paper with Dutch writing and a thick red, curved line

    -
    -

    Detail from a 1657 map showing the western coastline of "Nova Zeelandia". (In this map, north is at the bottom.)

    -
    -
    +

    Detail from a 1657 map showing the western coastline of "Nova Zeelandia". (In this map, north is at the bottom.)

    -

    - Dutch explorer Abel Tasman sighted New Zealand in 1642 and named it Staten Land "in honour of the States General" (Dutch parliament). He wrote, "it is possible that this land joins to the Staten Land but it is uncertain",[11] referring to a landmass of the same name at the southern tip of South America, discovered by Jacob Le Maire in 1616.[12][13] In 1645, Dutch cartographers renamed the land Nova Zeelandia after the Dutch province of Zeeland.[14][15] British explorer James Cook subsequently anglicised the name to New Zealand.[16] -

    -

    - Aotearoa (pronounced ; often translated as "land of the long white cloud")[17] is the current Māori name for New Zealand. It is unknown whether Māori had a name for the whole country before the arrival of Europeans, with Aotearoa originally referring to just the North Island.[18] Māori had several traditional names for the two main islands, including Te Ika-a-Māui (the fish of Māui) for the North Island and Te Waipounamu (the waters of greenstone) or Te Waka o Aoraki (the canoe of Aoraki) for the South Island.[19] Early European maps labelled the islands North (North Island), Middle (South Island) and South (Stewart Island / Rakiura).[20] In 1830, mapmakers began to use "North" and "South" on their maps to distinguish the two largest islands and by 1907 this was the accepted norm.[16] The New Zealand Geographic Board discovered in 2009 that the names of the North Island and South Island had never been formalised, and names and alternative names were formalised in 2013. This set the names as North Island or Te Ika-a-Māui, and South Island or Te Waipounamu.[21] For each island, either its English or Māori name can be used, or both can be used together.[21] -

    -

    - History -

    +
    +

    + Dutch explorer Abel Tasman sighted New Zealand in 1642 and named it Staten Land "in honour of the States General" (Dutch parliament). He wrote, "it is possible that this land joins to the Staten Land but it is uncertain",[11] referring to a landmass of the same name at the southern tip of South America, discovered by Jacob Le Maire in 1616.[12][13] In 1645, Dutch cartographers renamed the land Nova Zeelandia after the Dutch province of Zeeland.[14][15] British explorer James Cook subsequently anglicised the name to New Zealand.[16] +

    +

    + Aotearoa (pronounced ; often translated as "land of the long white cloud")[17] is the current Māori name for New Zealand. It is unknown whether Māori had a name for the whole country before the arrival of Europeans, with Aotearoa originally referring to just the North Island.[18] Māori had several traditional names for the two main islands, including Te Ika-a-Māui (the fish of Māui) for the North Island and Te Waipounamu (the waters of greenstone) or Te Waka o Aoraki (the canoe of Aoraki) for the South Island.[19] Early European maps labelled the islands North (North Island), Middle (South Island) and South (Stewart Island / Rakiura).[20] In 1830, mapmakers began to use "North" and "South" on their maps to distinguish the two largest islands and by 1907 this was the accepted norm.[16] The New Zealand Geographic Board discovered in 2009 that the names of the North Island and South Island had never been formalised, and names and alternative names were formalised in 2013. This set the names as North Island or Te Ika-a-Māui, and South Island or Te Waipounamu.[21] For each island, either its English or Māori name can be used, or both can be used together.[21] +

    +

    + History +

    +
    +

    One set of arrows point from Taiwan to Melanesia to Fiji/Samoa and then to the Marquesas Islands. The population then spread, some going south to New Zealand and others going north to Hawai'i. A second set start in southern Asia and end in Melanesia.

    -
    -

    One set of arrows point from Taiwan to Melanesia to Fiji/Samoa and then to the Marquesas Islands. The population then spread, some going south to New Zealand and others going north to Hawai'i. A second set start in southern Asia and end in Melanesia.

    -
    -

    The Māori people are most likely descended from people who emigrated from Taiwan to Melanesia and then travelled east through to the Society Islands. After a pause of 70 to 265 years, a new wave of exploration led to the discovery and settlement of New Zealand.[22] -

    -
    -
    +

    The Māori people are most likely descended from people who emigrated from Taiwan to Melanesia and then travelled east through to the Society Islands. After a pause of 70 to 265 years, a new wave of exploration led to the discovery and settlement of New Zealand.[22] +

    -

    New Zealand was one of the last major landmasses settled by humans. Radiocarbon dating, evidence of deforestation[23] and mitochondrial DNA variability within Māori populations[24] suggest New Zealand was first settled by Eastern Polynesians between 1250 and 1300,[19][25] concluding a long series of voyages through the southern Pacific islands.[26] Over the centuries that followed, these settlers developed a distinct culture now known as Māori. The population was divided into iwi (tribes) and hapū (subtribes) who would sometimes cooperate, sometimes compete and sometimes fight against each other.[27] At some point a group of Māori migrated to Rēkohu, now known as the Chatham Islands, where they developed their distinct Moriori culture.[28][29] The Moriori population was all but wiped out between 1835 and 1862, largely because of Taranaki Māori invasion and enslavement in the 1830s, although European diseases also contributed. In 1862 only 101 survived, and the last known full-blooded Moriori died in 1933.[30] -

    +
    +

    New Zealand was one of the last major landmasses settled by humans. Radiocarbon dating, evidence of deforestation[23] and mitochondrial DNA variability within Māori populations[24] suggest New Zealand was first settled by Eastern Polynesians between 1250 and 1300,[19][25] concluding a long series of voyages through the southern Pacific islands.[26] Over the centuries that followed, these settlers developed a distinct culture now known as Māori. The population was divided into iwi (tribes) and hapū (subtribes) who would sometimes cooperate, sometimes compete and sometimes fight against each other.[27] At some point a group of Māori migrated to Rēkohu, now known as the Chatham Islands, where they developed their distinct Moriori culture.[28][29] The Moriori population was all but wiped out between 1835 and 1862, largely because of Taranaki Māori invasion and enslavement in the 1830s, although European diseases also contributed. In 1862 only 101 survived, and the last known full-blooded Moriori died in 1933.[30] +

    +
    +

    An engraving of a sketched coastline on white background

    -
    -

    An engraving of a sketched coastline on white background

    -
    -

    Map of the New Zealand coastline as Cook charted it on his first visit in 1769–70. The track of the Endeavour is also shown.

    -
    -
    +

    Map of the New Zealand coastline as Cook charted it on his first visit in 1769–70. The track of the Endeavour is also shown.

    -

    The first Europeans known to have reached New Zealand were Dutch explorer Abel Tasman and his crew in 1642.[31] In a hostile encounter, four crew members were killed and at least one Māori was hit by canister shot.[32] Europeans did not revisit New Zealand until 1769 when British explorer James Cook mapped almost the entire coastline.[31] Following Cook, New Zealand was visited by numerous European and North American whaling, sealing and trading ships. They traded European food, metal tools, weapons and other goods for timber, Māori food, artefacts and water.[33] The introduction of the potato and the musket transformed Māori agriculture and warfare. Potatoes provided a reliable food surplus, which enabled longer and more sustained military campaigns.[34] The resulting intertribal Musket Wars encompassed over 600 battles between 1801 and 1840, killing 30,000–40,000 Māori.[35] From the early 19th century, Christian missionaries began to settle New Zealand, eventually converting most of the Māori population.[36] The Māori population declined to around 40% of its pre-contact level during the 19th century; introduced diseases were the major factor.[37] -

    +
    +

    The first Europeans known to have reached New Zealand were Dutch explorer Abel Tasman and his crew in 1642.[31] In a hostile encounter, four crew members were killed and at least one Māori was hit by canister shot.[32] Europeans did not revisit New Zealand until 1769 when British explorer James Cook mapped almost the entire coastline.[31] Following Cook, New Zealand was visited by numerous European and North American whaling, sealing and trading ships. They traded European food, metal tools, weapons and other goods for timber, Māori food, artefacts and water.[33] The introduction of the potato and the musket transformed Māori agriculture and warfare. Potatoes provided a reliable food surplus, which enabled longer and more sustained military campaigns.[34] The resulting intertribal Musket Wars encompassed over 600 battles between 1801 and 1840, killing 30,000–40,000 Māori.[35] From the early 19th century, Christian missionaries began to settle New Zealand, eventually converting most of the Māori population.[36] The Māori population declined to around 40% of its pre-contact level during the 19th century; introduced diseases were the major factor.[37] +

    +
    +

    A torn sheet of paper

    +
    +

    In 1788 Captain Arthur Phillip assumed the position of Governor of the new British colony of New South Wales which according to his commission included New Zealand.[38] The British Government appointed James Busby as British Resident to New Zealand in 1832 following a petition from northern Māori.[39] In 1835, following an announcement of impending French settlement by Charles de Thierry, the nebulous United Tribes of New Zealand sent a Declaration of Independence to King William IV of the United Kingdom asking for protection.[39] Ongoing unrest, the proposed settlement of New Zealand by the New Zealand Company (which had already sent its first ship of surveyors to buy land from Māori) and the dubious legal standing of the Declaration of Independence prompted the Colonial Office to send Captain William Hobson to claim sovereignty for the United Kingdom and negotiate a treaty with the Māori.[40] The Treaty of Waitangi was first signed in the Bay of Islands on 6 February 1840.[41] In response to the New Zealand Company's attempts to establish an independent settlement in Wellington[42] and French settlers purchasing land in Akaroa,[43] Hobson declared British sovereignty over all of New Zealand on 21 May 1840, even though copies of the Treaty were still circulating throughout the country for Māori to sign.[44] With the signing of the Treaty and declaration of sovereignty the number of immigrants, particularly from the United Kingdom, began to increase.[45] +

    +
    +

    Black and white engraving depicting a crowd of people

    +
    +

    New Zealand, still part of the colony of New South Wales, became a separate Colony of New Zealand on 1 July 1841.[46] Armed conflict began between the Colonial government and Māori in 1843 with the Wairau Affray over land and disagreements over sovereignty. These conflicts, mainly in the North Island, saw thousands of Imperial troops and the Royal Navy come to New Zealand and became known as the New Zealand Wars. Following these armed conflicts, large amounts of Māori land was confiscated by the government to meet settler demands.[47] +

    +

    The colony gained a representative government in 1852 and the first Parliament met in 1854.[48] In 1856 the colony effectively became self-governing, gaining responsibility over all domestic matters other than native policy.[48] (Control over native policy was granted in the mid-1860s.[48]) Following concerns that the South Island might form a separate colony, premier Alfred Domett moved a resolution to transfer the capital from Auckland to a locality near Cook Strait.[49] Wellington was chosen for its central location, with Parliament officially sitting there for the first time in 1865.[50] +

    +

    In 1891 the Liberal Party came to power as the first organised political party.[51] The Liberal Government, led by Richard Seddon for most of its period in office,[52] passed many important social and economic measures. In 1893 New Zealand was the first nation in the world to grant all women the right to vote[51] and in 1894 pioneered the adoption of compulsory arbitration between employers and unions.[53] +

    +

    In 1907, at the request of the New Zealand Parliament, King Edward VII proclaimed New Zealand a Dominion within the British Empire,[54] reflecting its self-governing status.[55] In 1947 the country adopted the Statute of Westminster, confirming that the British Parliament could no longer legislate for New Zealand without the consent of New Zealand.[48] +

    +

    Early in the 20th century, New Zealand was involved in world affairs, fighting in the First and Second World Wars[56] and suffering through the Great Depression.[57] The depression led to the election of the First Labour Government and the establishment of a comprehensive welfare state and a protectionist economy.[58] New Zealand experienced increasing prosperity following the Second World War[59] and Māori began to leave their traditional rural life and move to the cities in search of work.[60] A Māori protest movement developed, which criticised Eurocentrism and worked for greater recognition of Māori culture and of the Treaty of Waitangi.[61] In 1975, a Waitangi Tribunal was set up to investigate alleged breaches of the Treaty, and it was enabled to investigate historic grievances in 1985.[41] The government has negotiated settlements of these grievances with many iwi,[62] although Māori claims to the foreshore and seabed have proved controversial in the 2000s.[63][64] +

    +

    + Government and politics +

    +
    -
    -

    A torn sheet of paper

    -
    +

    The Queen wearing her New Zealand insignia +

    -

    In 1788 Captain Arthur Phillip assumed the position of Governor of the new British colony of New South Wales which according to his commission included New Zealand.[38] The British Government appointed James Busby as British Resident to New Zealand in 1832 following a petition from northern Māori.[39] In 1835, following an announcement of impending French settlement by Charles de Thierry, the nebulous United Tribes of New Zealand sent a Declaration of Independence to King William IV of the United Kingdom asking for protection.[39] Ongoing unrest, the proposed settlement of New Zealand by the New Zealand Company (which had already sent its first ship of surveyors to buy land from Māori) and the dubious legal standing of the Declaration of Independence prompted the Colonial Office to send Captain William Hobson to claim sovereignty for the United Kingdom and negotiate a treaty with the Māori.[40] The Treaty of Waitangi was first signed in the Bay of Islands on 6 February 1840.[41] In response to the New Zealand Company's attempts to establish an independent settlement in Wellington[42] and French settlers purchasing land in Akaroa,[43] Hobson declared British sovereignty over all of New Zealand on 21 May 1840, even though copies of the Treaty were still circulating throughout the country for Māori to sign.[44] With the signing of the Treaty and declaration of sovereignty the number of immigrants, particularly from the United Kingdom, began to increase.[45] -

    -
    -

    Black and white engraving depicting a crowd of people

    -
    +

    A smiling woman wearing a black dress +

    -

    New Zealand, still part of the colony of New South Wales, became a separate Colony of New Zealand on 1 July 1841.[46] Armed conflict began between the Colonial government and Māori in 1843 with the Wairau Affray over land and disagreements over sovereignty. These conflicts, mainly in the North Island, saw thousands of Imperial troops and the Royal Navy come to New Zealand and became known as the New Zealand Wars. Following these armed conflicts, large amounts of Māori land was confiscated by the government to meet settler demands.[47] -

    -

    The colony gained a representative government in 1852 and the first Parliament met in 1854.[48] In 1856 the colony effectively became self-governing, gaining responsibility over all domestic matters other than native policy.[48] (Control over native policy was granted in the mid-1860s.[48]) Following concerns that the South Island might form a separate colony, premier Alfred Domett moved a resolution to transfer the capital from Auckland to a locality near Cook Strait.[49] Wellington was chosen for its central location, with Parliament officially sitting there for the first time in 1865.[50] -

    -

    In 1891 the Liberal Party came to power as the first organised political party.[51] The Liberal Government, led by Richard Seddon for most of its period in office,[52] passed many important social and economic measures. In 1893 New Zealand was the first nation in the world to grant all women the right to vote[51] and in 1894 pioneered the adoption of compulsory arbitration between employers and unions.[53] -

    -

    In 1907, at the request of the New Zealand Parliament, King Edward VII proclaimed New Zealand a Dominion within the British Empire,[54] reflecting its self-governing status.[55] In 1947 the country adopted the Statute of Westminster, confirming that the British Parliament could no longer legislate for New Zealand without the consent of New Zealand.[48] -

    -

    Early in the 20th century, New Zealand was involved in world affairs, fighting in the First and Second World Wars[56] and suffering through the Great Depression.[57] The depression led to the election of the First Labour Government and the establishment of a comprehensive welfare state and a protectionist economy.[58] New Zealand experienced increasing prosperity following the Second World War[59] and Māori began to leave their traditional rural life and move to the cities in search of work.[60] A Māori protest movement developed, which criticised Eurocentrism and worked for greater recognition of Māori culture and of the Treaty of Waitangi.[61] In 1975, a Waitangi Tribunal was set up to investigate alleged breaches of the Treaty, and it was enabled to investigate historic grievances in 1985.[41] The government has negotiated settlements of these grievances with many iwi,[62] although Māori claims to the foreshore and seabed have proved controversial in the 2000s.[63][64] -

    -

    - Government and politics -

    +
    +

    New Zealand is a constitutional monarchy with a parliamentary democracy,[65] although its constitution is not codified.[66] Elizabeth II is the Queen of New Zealand[67] and thus the head of state.[68] The Queen is represented by the governor-general, whom she appoints on the advice of the prime minister.[69] The governor-general can exercise the Crown's prerogative powers, such as reviewing cases of injustice and making appointments of ministers, ambassadors and other key public officials,[70] and in rare situations, the reserve powers (e.g. the power to dissolve parliament or refuse the royal assent of a bill into law).[71] The powers of the monarch and the governor-general are limited by constitutional constraints and they cannot normally be exercised without the advice of ministers.[71] +

    +

    The New Zealand Parliament holds legislative power and consists of the Queen and the House of Representatives.[72] It also included an upper house, the Legislative Council, until this was abolished in 1950.[72] The supremacy of parliament over the Crown and other government institutions was established in England by the Bill of Rights 1689 and has been ratified as law in New Zealand.[72] The House of Representatives is democratically elected and a government is formed from the party or coalition with the majority of seats. If no majority is formed, a minority government can be formed if support from other parties during confidence and supply votes is assured.[72] The governor-general appoints ministers under advice from the prime minister, who is by convention the parliamentary leader of the governing party or coalition.[73] Cabinet, formed by ministers and led by the prime minister, is the highest policy-making body in government and responsible for deciding significant government actions.[74] Members of Cabinet make major decisions collectively, and are therefore collectively responsible for the consequences of these decisions.[75] +

    +

    A parliamentary general election must be called no later than three years after the previous election.[76] Almost all general elections between 1853 and 1993 were held under the first-past-the-post voting system.[77] Since the 1996 election, a form of proportional representation called mixed-member proportional (MMP) has been used.[66] Under the MMP system, each person has two votes; one is for a candidate standing in the voter's electorate and the other is for a party. Since the 2014 election, there have been 71 electorates (which include seven Māori electorates in which only Māori can optionally vote),[78] and the remaining 49 of the 120 seats are assigned so that representation in parliament reflects the party vote, with the threshold that a party must win at least one electorate or 5% of the total party vote before it is eligible for a seat.[79] +

    +
    +

    A block of buildings fronted by a large statue.

    +
    +

    Elections since the 1930s have been dominated by two political parties, National and Labour.[77] Between March 2005 and August 2006, New Zealand became the first country in the world in which all the highest offices in the land—head of state, governor-general, prime minister, speaker and chief justice—were occupied simultaneously by women.[80] The current prime minister is Jacinda Ardern, who has been in office since 26 October 2017.[81] She is the country's third female prime minister.[82] +

    +

    + New Zealand's judiciary, headed by the chief justice,[83] includes the Supreme Court, Court of Appeal, the High Court, and subordinate courts.[84] Judges and judicial officers are appointed non-politically and under strict rules regarding tenure to help maintain judicial independence.[66] This theoretically allows the judiciary to interpret the law based solely on the legislation enacted by Parliament without other influences on their decisions.[85] +

    +

    New Zealand is identified as one of the world's most stable and well-governed states.[86] As at 2017, the country was ranked fourth in the strength of its democratic institutions,[87] and first in government transparency and lack of corruption.[88] A 2017 Human Rights Report by the U.S. Department of State noted that the government generally respected the rights of individuals, but voiced concerns regarding the social status of the Māori population.[89] New Zealand ranks highly for civic participation in the political process, with 77% voter turnout during recent elections, compared to an OECD average of 69%.[90] +

    +

    + Foreign relations and military +

    +
    +

    A squad of men kneel in the desert sand while performing a war dance

    +
    +

    Early colonial New Zealand allowed the British Government to determine external trade and be responsible for foreign policy.[91] The 1923 and 1926 Imperial Conferences decided that New Zealand should be allowed to negotiate its own political treaties and the first commercial treaty was ratified in 1928 with Japan. On 3 September 1939 New Zealand allied itself with Britain and declared war on Germany with Prime Minister Michael Joseph Savage proclaiming, "Where she goes, we go; where she stands, we stand."[92] +

    +

    In 1951 the United Kingdom became increasingly focused on its European interests,[93] while New Zealand joined Australia and the United States in the ANZUS security treaty.[94] The influence of the United States on New Zealand weakened following protests over the Vietnam War,[95] the refusal of the United States to admonish France after the sinking of the Rainbow Warrior,[96] disagreements over environmental and agricultural trade issues and New Zealand's nuclear-free policy.[97][98] Despite the United States' suspension of ANZUS obligations the treaty remained in effect between New Zealand and Australia, whose foreign policy has followed a similar historical trend.[99] Close political contact is maintained between the two countries, with free trade agreements and travel arrangements that allow citizens to visit, live and work in both countries without restrictions.[100] In 2013 there were about 650,000 New Zealand citizens living in Australia, which is equivalent to 15% of the resident population of New Zealand.[101] +

    +
    +

    A soldier in a green army uniform faces forwards

    -
    -
    -
    -

    The Queen wearing her New Zealand insignia -

    -
    +

    Anzac Day service at the National War Memorial

    +
    +
    +

    New Zealand has a strong presence among the Pacific Island countries. A large proportion of New Zealand's aid goes to these countries and many Pacific people migrate to New Zealand for employment.[102] Permanent migration is regulated under the 1970 Samoan Quota Scheme and the 2002 Pacific Access Category, which allow up to 1,100 Samoan nationals and up to 750 other Pacific Islanders respectively to become permanent New Zealand residents each year. A seasonal workers scheme for temporary migration was introduced in 2007 and in 2009 about 8,000 Pacific Islanders were employed under it.[103] A regional power,[104] New Zealand is involved in the Pacific Islands Forum, the Pacific Community, Asia-Pacific Economic Cooperation and the Association of Southeast Asian Nations Regional Forum (including the East Asia Summit).[100] New Zealand is a member of the United Nations,[105] the Commonwealth of Nations[106] and the Organisation for Economic Co-operation and Development (OECD),[107] and participates in the Five Power Defence Arrangements.[108] +

    +

    New Zealand's military services—the Defence Force—comprise the New Zealand Army, the Royal New Zealand Air Force and the Royal New Zealand Navy.[109] New Zealand's national defence needs are modest, since a direct attack is unlikely.[110] However, its military has had a global presence. The country fought in both world wars, with notable campaigns in Gallipoli, Crete,[111] El Alamein[112] and Cassino.[113] The Gallipoli campaign played an important part in fostering New Zealand's national identity[114][115] and strengthened the ANZAC tradition it shares with Australia.[116] +

    +

    In addition to Vietnam and the two world wars, New Zealand fought in the Second Boer War,[117] the Korean War,[118] the Malayan Emergency,[119] the Gulf War and the Afghanistan War. It has contributed forces to several regional and global peacekeeping missions, such as those in Cyprus, Somalia, Bosnia and Herzegovina, the Sinai, Angola, Cambodia, the Iran–Iraq border, Bougainville, East Timor, and the Solomon Islands.[120] +

    +

    + Local government and external territories +

    +
    +

    Map with the North, South, Stewart/Rakiura, Tokelau, Cook, Niue, Kermadec, Chatham, Bounty, Antipodes, Snare, Auckland and Campbell Islands highlighted. New Zealand's segment of Antarctica (the Ross Dependency) is also highlighted.

    +
    +

    The early European settlers divided New Zealand into provinces, which had a degree of autonomy.[121] Because of financial pressures and the desire to consolidate railways, education, land sales and other policies, government was centralised and the provinces were abolished in 1876.[122] The provinces are remembered in regional public holidays[123] and sporting rivalries.[124] +

    +

    Since 1876, various councils have administered local areas under legislation determined by the central government.[121][125] In 1989, the government reorganised local government into the current two-tier structure of regional councils and territorial authorities.[126] The 249 municipalities[126] that existed in 1975 have now been consolidated into 67 territorial authorities and 11 regional councils.[127] The regional councils' role is to regulate "the natural environment with particular emphasis on resource management",[126] while territorial authorities are responsible for sewage, water, local roads, building consents and other local matters.[128][129] Five of the territorial councils are unitary authorities and also act as regional councils.[129] The territorial authorities consist of 13 city councils, 53 district councils, and the Chatham Islands Council. While officially the Chatham Islands Council is not a unitary authority, it undertakes many functions of a regional council.[130] +

    +

    The Realm of New Zealand, one of 16 Commonwealth realms,[131] is the entire area over which the Queen of New Zealand is sovereign, and comprises New Zealand, Tokelau, the Ross Dependency, the Cook Islands and Niue.[65] The Cook Islands and Niue are self-governing states in free association with New Zealand.[132][133] The New Zealand Parliament cannot pass legislation for these countries, but with their consent can act on behalf of them in foreign affairs and defence. Tokelau is classified as a non-self-governing territory, but is administered by a council of three elders (one from each Tokelauan atoll).[134] The Ross Dependency is New Zealand's territorial claim in Antarctica, where it operates the Scott Base research facility.[135] New Zealand nationality law treats all parts of the realm equally, so most people born in New Zealand, the Cook Islands, Niue, Tokelau and the Ross Dependency are New Zealand citizens.[136][n 7] +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    -

    A smiling woman wearing a black dress -

    +
      +
    • + v +
    • +
    • + t +
    • +
    • + e +
    • +
    - - - -

    New Zealand is a constitutional monarchy with a parliamentary democracy,[65] although its constitution is not codified.[66] Elizabeth II is the Queen of New Zealand[67] and thus the head of state.[68] The Queen is represented by the governor-general, whom she appoints on the advice of the prime minister.[69] The governor-general can exercise the Crown's prerogative powers, such as reviewing cases of injustice and making appointments of ministers, ambassadors and other key public officials,[70] and in rare situations, the reserve powers (e.g. the power to dissolve parliament or refuse the royal assent of a bill into law).[71] The powers of the monarch and the governor-general are limited by constitutional constraints and they cannot normally be exercised without the advice of ministers.[71] -

    -

    The New Zealand Parliament holds legislative power and consists of the Queen and the House of Representatives.[72] It also included an upper house, the Legislative Council, until this was abolished in 1950.[72] The supremacy of parliament over the Crown and other government institutions was established in England by the Bill of Rights 1689 and has been ratified as law in New Zealand.[72] The House of Representatives is democratically elected and a government is formed from the party or coalition with the majority of seats. If no majority is formed, a minority government can be formed if support from other parties during confidence and supply votes is assured.[72] The governor-general appoints ministers under advice from the prime minister, who is by convention the parliamentary leader of the governing party or coalition.[73] Cabinet, formed by ministers and led by the prime minister, is the highest policy-making body in government and responsible for deciding significant government actions.[74] Members of Cabinet make major decisions collectively, and are therefore collectively responsible for the consequences of these decisions.[75] -

    -

    A parliamentary general election must be called no later than three years after the previous election.[76] Almost all general elections between 1853 and 1993 were held under the first-past-the-post voting system.[77] Since the 1996 election, a form of proportional representation called mixed-member proportional (MMP) has been used.[66] Under the MMP system, each person has two votes; one is for a candidate standing in the voter's electorate and the other is for a party. Since the 2014 election, there have been 71 electorates (which include seven Māori electorates in which only Māori can optionally vote),[78] and the remaining 49 of the 120 seats are assigned so that representation in parliament reflects the party vote, with the threshold that a party must win at least one electorate or 5% of the total party vote before it is eligible for a seat.[79] -

    +

    Administrative divisions of the Realm of New Zealand

    +
    Countries +  New Zealand +     +  Cook Islands + +  Niue +
    + Regions + 11 non-unitary regions 5 unitary regions + Chatham Islands +   + Outlying islands outside any regional authority
    (the Kermadec Islands, Three Kings Islands, and Subantarctic Islands) +
    + Ross Dependency + +  Tokelau + + 15 islands + + 14 villages +
    + Territorial authorities + 13 cities and 53 districts
    Notes Some districts lie in more than one region These combine the regional and the territorial authority levels in one Special territorial authority The outlying Solander Islands form part of the Southland Region + New Zealand's Antarctic territory + + Non-self-governing territory of New Zealand + States in free association with New Zealand
    +

    + Environment +

    +

    + Geography +

    +
    +

    Islands of New Zealand as seen from satellite

    +
    +

    New Zealand is located near the centre of the water hemisphere and is made up of two main islands and a number of smaller islands. The two main islands (the North Island, or Te Ika-a-Māui, and the South Island, or Te Waipounamu) are separated by Cook Strait, 22 kilometres (14 mi) wide at its narrowest point.[138] Besides the North and South Islands, the five largest inhabited islands are Stewart Island (across the Foveaux Strait), Chatham Island, Great Barrier Island (in the Hauraki Gulf),[139] D'Urville Island (in the Marlborough Sounds)[140] and Waiheke Island (about 22 km (14 mi) from central Auckland).[141] +

    +
    -
    -

    A block of buildings fronted by a large statue.

    -
    +

    A large mountain with a lake in the foreground +

    -

    Elections since the 1930s have been dominated by two political parties, National and Labour.[77] Between March 2005 and August 2006, New Zealand became the first country in the world in which all the highest offices in the land—head of state, governor-general, prime minister, speaker and chief justice—were occupied simultaneously by women.[80] The current prime minister is Jacinda Ardern, who has been in office since 26 October 2017.[81] She is the country's third female prime minister.[82] -

    -

    - New Zealand's judiciary, headed by the chief justice,[83] includes the Supreme Court, Court of Appeal, the High Court, and subordinate courts.[84] Judges and judicial officers are appointed non-politically and under strict rules regarding tenure to help maintain judicial independence.[66] This theoretically allows the judiciary to interpret the law based solely on the legislation enacted by Parliament without other influences on their decisions.[85] -

    -

    New Zealand is identified as one of the world's most stable and well-governed states.[86] As at 2017, the country was ranked fourth in the strength of its democratic institutions,[87] and first in government transparency and lack of corruption.[88] A 2017 Human Rights Report by the U.S. Department of State noted that the government generally respected the rights of individuals, but voiced concerns regarding the social status of the Māori population.[89] New Zealand ranks highly for civic participation in the political process, with 77% voter turnout during recent elections, compared to an OECD average of 69%.[90] -

    -

    - Foreign relations and military -

    -
    -

    A squad of men kneel in the desert sand while performing a war dance

    -
    +

    Snow-capped mountain range +

    +

    The Southern Alps stretch for 500 kilometres down the South Island

    -

    Early colonial New Zealand allowed the British Government to determine external trade and be responsible for foreign policy.[91] The 1923 and 1926 Imperial Conferences decided that New Zealand should be allowed to negotiate its own political treaties and the first commercial treaty was ratified in 1928 with Japan. On 3 September 1939 New Zealand allied itself with Britain and declared war on Germany with Prime Minister Michael Joseph Savage proclaiming, "Where she goes, we go; where she stands, we stand."[92] -

    -

    In 1951 the United Kingdom became increasingly focused on its European interests,[93] while New Zealand joined Australia and the United States in the ANZUS security treaty.[94] The influence of the United States on New Zealand weakened following protests over the Vietnam War,[95] the refusal of the United States to admonish France after the sinking of the Rainbow Warrior,[96] disagreements over environmental and agricultural trade issues and New Zealand's nuclear-free policy.[97][98] Despite the United States' suspension of ANZUS obligations the treaty remained in effect between New Zealand and Australia, whose foreign policy has followed a similar historical trend.[99] Close political contact is maintained between the two countries, with free trade agreements and travel arrangements that allow citizens to visit, live and work in both countries without restrictions.[100] In 2013 there were about 650,000 New Zealand citizens living in Australia, which is equivalent to 15% of the resident population of New Zealand.[101] -

    -
    +
    +

    New Zealand is long and narrow (over 1,600 kilometres (990 mi) along its north-north-east axis with a maximum width of 400 kilometres (250 mi)),[142] with about 15,000 km (9,300 mi) of coastline[143] and a total land area of 268,000 square kilometres (103,500 sq mi).[144] Because of its far-flung outlying islands and long coastline, the country has extensive marine resources. Its exclusive economic zone is one of the largest in the world, covering more than 15 times its land area.[145] +

    +

    The South Island is the largest landmass of New Zealand. It is divided along its length by the Southern Alps.[146] There are 18 peaks over 3,000 metres (9,800 ft), the highest of which is Aoraki / Mount Cook at 3,754 metres (12,316 ft).[147] Fiordland's steep mountains and deep fiords record the extensive ice age glaciation of this southwestern corner of the South Island.[148] The North Island is less mountainous but is marked by volcanism.[149] The highly active Taupo Volcanic Zone has formed a large volcanic plateau, punctuated by the North Island's highest mountain, Mount Ruapehu (2,797 metres (9,177 ft)). The plateau also hosts the country's largest lake, Lake Taupo,[150] nestled in the caldera of one of the world's most active supervolcanoes.[151] +

    +

    The country owes its varied topography, and perhaps even its emergence above the waves, to the dynamic boundary it straddles between the Pacific and Indo-Australian Plates.[152] New Zealand is part of Zealandia, a microcontinent nearly half the size of Australia that gradually submerged after breaking away from the Gondwanan supercontinent.[153] About 25 million years ago, a shift in plate tectonic movements began to contort and crumple the region. This is now most evident in the Southern Alps, formed by compression of the crust beside the Alpine Fault. Elsewhere the plate boundary involves the subduction of one plate under the other, producing the Puysegur Trench to the south, the Hikurangi Trench east of the North Island, and the Kermadec and Tonga Trenches[154] further north.[152] +

    +

    New Zealand is part of a region known as Australasia, together with Australia.[155] It also forms the southwestern extremity of the geographic and ethnographic region called Polynesia.[156] The term Oceania is often used to denote the wider region encompassing the Australian continent, New Zealand and various islands in the Pacific Ocean that are not included in the seven-continent model.[157] +

    +
      +
    • Landscapes of New Zealand
    • +
    • +
    • +
    • +
    • +
    • -

      A soldier in a green army uniform faces forwards

      -
      -

      Anzac Day service at the National War Memorial

      -
      +

      +

      -
    -

    New Zealand has a strong presence among the Pacific Island countries. A large proportion of New Zealand's aid goes to these countries and many Pacific people migrate to New Zealand for employment.[102] Permanent migration is regulated under the 1970 Samoan Quota Scheme and the 2002 Pacific Access Category, which allow up to 1,100 Samoan nationals and up to 750 other Pacific Islanders respectively to become permanent New Zealand residents each year. A seasonal workers scheme for temporary migration was introduced in 2007 and in 2009 about 8,000 Pacific Islanders were employed under it.[103] A regional power,[104] New Zealand is involved in the Pacific Islands Forum, the Pacific Community, Asia-Pacific Economic Cooperation and the Association of Southeast Asian Nations Regional Forum (including the East Asia Summit).[100] New Zealand is a member of the United Nations,[105] the Commonwealth of Nations[106] and the Organisation for Economic Co-operation and Development (OECD),[107] and participates in the Five Power Defence Arrangements.[108] -

    -

    New Zealand's military services—the Defence Force—comprise the New Zealand Army, the Royal New Zealand Air Force and the Royal New Zealand Navy.[109] New Zealand's national defence needs are modest, since a direct attack is unlikely.[110] However, its military has had a global presence. The country fought in both world wars, with notable campaigns in Gallipoli, Crete,[111] El Alamein[112] and Cassino.[113] The Gallipoli campaign played an important part in fostering New Zealand's national identity[114][115] and strengthened the ANZAC tradition it shares with Australia.[116] -

    -

    In addition to Vietnam and the two world wars, New Zealand fought in the Second Boer War,[117] the Korean War,[118] the Malayan Emergency,[119] the Gulf War and the Afghanistan War. It has contributed forces to several regional and global peacekeeping missions, such as those in Cyprus, Somalia, Bosnia and Herzegovina, the Sinai, Angola, Cambodia, the Iran–Iraq border, Bougainville, East Timor, and the Solomon Islands.[120] -

    -

    - Local government and external territories -

    -
    + +
  • -

    Map with the North, South, Stewart/Rakiura, Tokelau, Cook, Niue, Kermadec, Chatham, Bounty, Antipodes, Snare, Auckland and Campbell Islands highlighted. New Zealand's segment of Antarctica (the Ross Dependency) is also highlighted.

    +

    +

    +
  • + +

    + Climate +

    +

    New Zealand's climate is predominantly temperate maritime (Köppen: Cfb), with mean annual temperatures ranging from 10 °C (50 °F) in the south to 16 °C (61 °F) in the north.[158] Historical maxima and minima are 42.4 °C (108.32 °F) in Rangiora, Canterbury and −25.6 °C (−14.08 °F) in Ranfurly, Otago.[159] Conditions vary sharply across regions from extremely wet on the West Coast of the South Island to almost semi-arid in Central Otago and the Mackenzie Basin of inland Canterbury and subtropical in Northland.[160] Of the seven largest cities, Christchurch is the driest, receiving on average only 640 millimetres (25 in) of rain per year and Wellington the wettest, receiving almost twice that amount.[161] Auckland, Wellington and Christchurch all receive a yearly average of more than 2,000 hours of sunshine. The southern and southwestern parts of the South Island have a cooler and cloudier climate, with around 1,400–1,600 hours; the northern and northeastern parts of the South Island are the sunniest areas of the country and receive about 2,400–2,500 hours.[162] The general snow season is early June until early October, though cold snaps can occur outside this season.[163] Snowfall is common in the eastern and southern parts of the South Island and mountain areas across the country.[158] +

    +

    The table below lists climate normals for the warmest and coldest months in New Zealand's six largest cities. North Island cities are generally warmest in February. South Island cities are warmest in January.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Average daily maximum and minimum temperatures for the six largest cities of New Zealand[164] +
    Location Jan/Feb (°C) Jan/Feb (°F) July (°C) July (°F)
    + Auckland + 23/16 74/60 14/7 58/45
    + Wellington + 20/13 68/56 11/6 52/42
    + Christchurch + 22/12 72/53 10/0 51/33
    + Hamilton + 24/13 75/56 14/4 57/39
    + Tauranga + 24/15 75/59 14/6 58/42
    + Dunedin + 19/11 66/53 10/3 50/37
    +

    + Biodiversity +

    +
    +

    Kiwi amongst sticks

    +
    +

    The endemic flightless kiwi is a national icon.

    -

    The early European settlers divided New Zealand into provinces, which had a degree of autonomy.[121] Because of financial pressures and the desire to consolidate railways, education, land sales and other policies, government was centralised and the provinces were abolished in 1876.[122] The provinces are remembered in regional public holidays[123] and sporting rivalries.[124] -

    -

    Since 1876, various councils have administered local areas under legislation determined by the central government.[121][125] In 1989, the government reorganised local government into the current two-tier structure of regional councils and territorial authorities.[126] The 249 municipalities[126] that existed in 1975 have now been consolidated into 67 territorial authorities and 11 regional councils.[127] The regional councils' role is to regulate "the natural environment with particular emphasis on resource management",[126] while territorial authorities are responsible for sewage, water, local roads, building consents and other local matters.[128][129] Five of the territorial councils are unitary authorities and also act as regional councils.[129] The territorial authorities consist of 13 city councils, 53 district councils, and the Chatham Islands Council. While officially the Chatham Islands Council is not a unitary authority, it undertakes many functions of a regional council.[130] -

    -

    The Realm of New Zealand, one of 16 Commonwealth realms,[131] is the entire area over which the Queen of New Zealand is sovereign, and comprises New Zealand, Tokelau, the Ross Dependency, the Cook Islands and Niue.[65] The Cook Islands and Niue are self-governing states in free association with New Zealand.[132][133] The New Zealand Parliament cannot pass legislation for these countries, but with their consent can act on behalf of them in foreign affairs and defence. Tokelau is classified as a non-self-governing territory, but is administered by a council of three elders (one from each Tokelauan atoll).[134] The Ross Dependency is New Zealand's territorial claim in Antarctica, where it operates the Scott Base research facility.[135] New Zealand nationality law treats all parts of the realm equally, so most people born in New Zealand, the Cook Islands, Niue, Tokelau and the Ross Dependency are New Zealand citizens.[136][n 7] -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
      -
    • - v -
    • -
    • - t -
    • -
    • - e -
    • -
    -
    -

    Administrative divisions of the Realm of New Zealand

    -
    Countries -  New Zealand -     -  Cook Islands - -  Niue -
    - Regions - 11 non-unitary regions 5 unitary regions - Chatham Islands -   - Outlying islands outside any regional authority
    (the Kermadec Islands, Three Kings Islands, and Subantarctic Islands)
    - Ross Dependency - -  Tokelau - - 15 islands - - 14 villages -
    - Territorial authorities - 13 cities and 53 districts
    Notes Some districts lie in more than one region These combine the regional and the territorial authority levels in one Special territorial authority The outlying Solander Islands form part of the Southland Region - New Zealand's Antarctic territory - - Non-self-governing territory of New Zealand States in free association with New Zealand
    -

    - Environment -

    -

    - Geography -

    +
    +

    New Zealand's geographic isolation for 80 million years[165] and island biogeography has influenced evolution of the country's species of animals, fungi and plants. Physical isolation has caused biological isolation, resulting in a dynamic evolutionary ecology with examples of very distinctive plants and animals as well as populations of widespread species.[166][167] About 82% of New Zealand's indigenous vascular plants are endemic, covering 1,944 species across 65 genera.[168][169] The number of fungi recorded from New Zealand, including lichen-forming species, is not known, nor is the proportion of those fungi which are endemic, but one estimate suggests there are about 2,300 species of lichen-forming fungi in New Zealand[168] and 40% of these are endemic.[170] The two main types of forest are those dominated by broadleaf trees with emergent podocarps, or by southern beech in cooler climates.[171] The remaining vegetation types consist of grasslands, the majority of which are tussock.[172] +

    +

    Before the arrival of humans, an estimated 80% of the land was covered in forest, with only high alpine, wet, infertile and volcanic areas without trees.[173] Massive deforestation occurred after humans arrived, with around half the forest cover lost to fire after Polynesian settlement.[174] Much of the remaining forest fell after European settlement, being logged or cleared to make room for pastoral farming, leaving forest occupying only 23% of the land.[175] +

    +
    +

    An artist's rendition of a Haast's eagle attacking two moa

    -
    -

    Islands of New Zealand as seen from satellite

    -
    +

    The giant Haast's eagle died out when humans hunted its main prey, the moa, to extinction.

    -

    New Zealand is located near the centre of the water hemisphere and is made up of two main islands and a number of smaller islands. The two main islands (the North Island, or Te Ika-a-Māui, and the South Island, or Te Waipounamu) are separated by Cook Strait, 22 kilometres (14 mi) wide at its narrowest point.[138] Besides the North and South Islands, the five largest inhabited islands are Stewart Island (across the Foveaux Strait), Chatham Island, Great Barrier Island (in the Hauraki Gulf),[139] D'Urville Island (in the Marlborough Sounds)[140] and Waiheke Island (about 22 km (14 mi) from central Auckland).[141] -

    +
    +

    The forests were dominated by birds, and the lack of mammalian predators led to some like the kiwi, kakapo, weka and takahē evolving flightlessness.[176] The arrival of humans, associated changes to habitat, and the introduction of rats, ferrets and other mammals led to the extinction of many bird species, including large birds like the moa and Haast's eagle.[177][178] +

    +

    Other indigenous animals are represented by reptiles (tuatara, skinks and geckos), frogs,[179] spiders,[180] insects (weta)[181] and snails.[182] Some, such as the tuatara, are so unique that they have been called living fossils.[183] Three species of bats (one since extinct) were the only sign of native land mammals in New Zealand until the 2006 discovery of bones from a unique, mouse-sized land mammal at least 16 million years old.[184][185] Marine mammals however are abundant, with almost half the world's cetaceans (whales, dolphins, and porpoises) and large numbers of fur seals reported in New Zealand waters.[186] Many seabirds breed in New Zealand, a third of them unique to the country.[187] More penguin species are found in New Zealand than in any other country.[188] +

    +

    Since human arrival, almost half of the country's vertebrate species have become extinct, including at least fifty-one birds, three frogs, three lizards, one freshwater fish, and one bat. Others are endangered or have had their range severely reduced.[177] However, New Zealand conservationists have pioneered several methods to help threatened wildlife recover, including island sanctuaries, pest control, wildlife translocation, fostering, and ecological restoration of islands and other selected areas.[189][190][191][192] +

    +

    + Economy +

    +
    +

    Boats docked in blue-green water. Plate glass skyscrapers rising up in the background.

    +
    +

    New Zealand has an advanced market economy,[193] ranked 16th in the 2018 Human Development Index[8] and third in the 2018 Index of Economic Freedom.[194] It is a high-income economy with a nominal gross domestic product (GDP) per capita of US$36,254.[6] The currency is the New Zealand dollar, informally known as the "Kiwi dollar"; it also circulates in the Cook Islands (see Cook Islands dollar), Niue, Tokelau, and the Pitcairn Islands.[195] +

    +

    Historically, extractive industries have contributed strongly to New Zealand's economy, focussing at different times on sealing, whaling, flax, gold, kauri gum, and native timber.[196] The first shipment of refrigerated meat on the Dunedin in 1882 led to the establishment of meat and dairy exports to Britain, a trade which provided the basis for strong economic growth in New Zealand.[197] High demand for agricultural products from the United Kingdom and the United States helped New Zealanders achieve higher living standards than both Australia and Western Europe in the 1950s and 1960s.[198] In 1973, New Zealand's export market was reduced when the United Kingdom joined the European Economic Community[199] and other compounding factors, such as the 1973 oil and 1979 energy crises, led to a severe economic depression.[200] Living standards in New Zealand fell behind those of Australia and Western Europe, and by 1982 New Zealand had the lowest per-capita income of all the developed nations surveyed by the World Bank.[201] In the mid-1980s New Zealand deregulated its agricultural sector by phasing out subsidies over a three-year period.[202][203] Since 1984, successive governments engaged in major macroeconomic restructuring (known first as Rogernomics and then Ruthanasia), rapidly transforming New Zealand from a protected and highly regulated economy to a liberalised free-trade economy.[204][205] +

    +
    +

    Blue water against a backdrop of snow-capped mountains

    +
    +

    Unemployment peaked above 10% in 1991 and 1992,[207] following the 1987 share market crash, but eventually fell to a record low (since 1986) of 3.7% in 2007 (ranking third from twenty-seven comparable OECD nations).[207] However, the global financial crisis that followed had a major impact on New Zealand, with the GDP shrinking for five consecutive quarters, the longest recession in over thirty years,[208][209] and unemployment rising back to 7% in late 2009.[210] Unemployment rates for different age groups follow similar trends, but are consistently higher among youth. In the December 2014 quarter, the general unemployment rate was around 5.8%, while the unemployment rate for youth aged 15 to 21 was 15.6%.[207] New Zealand has experienced a series of "brain drains" since the 1970s[211] that still continue today.[212] Nearly one quarter of highly skilled workers live overseas, mostly in Australia and Britain, which is the largest proportion from any developed nation.[213] In recent decades, however, a "brain gain" has brought in educated professionals from Europe and less developed countries.[214][215] Today New Zealand's economy benefits from a high level of innovation.[216] +

    +

    + Trade +

    +

    New Zealand is heavily dependent on international trade,[217] particularly in agricultural products.[218] Exports account for 24% of its output,[143] making New Zealand vulnerable to international commodity prices and global economic slowdowns. Food products made up 55% of the value of all the country's exports in 2014; wood was the second largest earner (7%).[219] New Zealand's main trading partners, as at June 2018, are China (NZ$27.8b), Australia ($26.2b), the European Union ($22.9b), the United States ($17.6b), and Japan ($8.4b).[220] On 7 April 2008, New Zealand and China signed the New Zealand–China Free Trade Agreement, the first such agreement China has signed with a developed country.[221] The service sector is the largest sector in the economy, followed by manufacturing and construction and then farming and raw material extraction.[143] Tourism plays a significant role in the economy, contributing $12.9 billion (or 5.6%) to New Zealand's total GDP and supporting 7.5% of the total workforce in 2016.[222] International visitor arrivals are expected to increase at a rate of 5.4% annually up to 2022.[222] +

    +
    +

    A Romney ewe with her two lambs

    -
    -
    -
    -

    A large mountain with a lake in the foreground -

    -
    -
    -
    -
    -

    Snow-capped mountain range -

    -

    The Southern Alps stretch for 500 kilometres down the South Island

    -
    -
    -
    +

    Wool has historically been one of New Zealand's major exports.

    -

    New Zealand is long and narrow (over 1,600 kilometres (990 mi) along its north-north-east axis with a maximum width of 400 kilometres (250 mi)),[142] with about 15,000 km (9,300 mi) of coastline[143] and a total land area of 268,000 square kilometres (103,500 sq mi).[144] Because of its far-flung outlying islands and long coastline, the country has extensive marine resources. Its exclusive economic zone is one of the largest in the world, covering more than 15 times its land area.[145] -

    -

    The South Island is the largest landmass of New Zealand. It is divided along its length by the Southern Alps.[146] There are 18 peaks over 3,000 metres (9,800 ft), the highest of which is Aoraki / Mount Cook at 3,754 metres (12,316 ft).[147] Fiordland's steep mountains and deep fiords record the extensive ice age glaciation of this southwestern corner of the South Island.[148] The North Island is less mountainous but is marked by volcanism.[149] The highly active Taupo Volcanic Zone has formed a large volcanic plateau, punctuated by the North Island's highest mountain, Mount Ruapehu (2,797 metres (9,177 ft)). The plateau also hosts the country's largest lake, Lake Taupo,[150] nestled in the caldera of one of the world's most active supervolcanoes.[151] -

    -

    The country owes its varied topography, and perhaps even its emergence above the waves, to the dynamic boundary it straddles between the Pacific and Indo-Australian Plates.[152] New Zealand is part of Zealandia, a microcontinent nearly half the size of Australia that gradually submerged after breaking away from the Gondwanan supercontinent.[153] About 25 million years ago, a shift in plate tectonic movements began to contort and crumple the region. This is now most evident in the Southern Alps, formed by compression of the crust beside the Alpine Fault. Elsewhere the plate boundary involves the subduction of one plate under the other, producing the Puysegur Trench to the south, the Hikurangi Trench east of the North Island, and the Kermadec and Tonga Trenches[154] further north.[152] -

    -

    New Zealand is part of a region known as Australasia, together with Australia.[155] It also forms the southwestern extremity of the geographic and ethnographic region called Polynesia.[156] The term Oceania is often used to denote the wider region encompassing the Australian continent, New Zealand and various islands in the Pacific Ocean that are not included in the seven-continent model.[157] -

    -
      -
    • Landscapes of New Zealand
    • -
    • -
    • -
    • -
    • -
    • -
      +
      +

      Wool was New Zealand's major agricultural export during the late 19th century.[196] Even as late as the 1960s it made up over a third of all export revenues,[196] but since then its price has steadily dropped relative to other commodities[223] and wool is no longer profitable for many farmers.[224] In contrast dairy farming increased, with the number of dairy cows doubling between 1990 and 2007,[225] to become New Zealand's largest export earner.[226] In the year to June 2018, dairy products accounted for 17.7% ($14.1 billion) of total exports,[220] and the country's largest company, Fonterra, controls almost one-third of the international dairy trade.[227] Other exports in 2017-18 were meat (8.8%), wood and wood products (6.2%), fruit (3.6%), machinery (2.2%) and wine (2.1%).[220] New Zealand's wine industry has followed a similar trend to dairy, the number of vineyards doubling over the same period,[228] overtaking wool exports for the first time in 2007.[229][230] +

      +

      + Infrastructure +

      +
      +

      A mid-size jet airliner in flight. The plane livery is all-black and features a New Zealand silver fern mark.

      +
      +

      In 2015, renewable energy, primarily geothermal and hydroelectric power, generated 40.1% of New Zealand's gross energy supply.[231] Geothermal power alone accounted for 22% of New Zealand's energy in 2015.[231] +

      +

      The provision of water supply and sanitation is generally of good quality. Regional authorities provide water abstraction, treatment and distribution infrastructure to most developed areas.[232][233] +

      +

      + New Zealand's transport network comprises 94,000 kilometres (58,410 mi) of roads, including 199 kilometres (124 mi) of motorways,[234] and 4,128 kilometres (2,565 mi) of railway lines.[143] Most major cities and towns are linked by bus services, although the private car is the predominant mode of transport.[235] The railways were privatised in 1993, but were re-nationalised by the government in stages between 2004 and 2008. The state-owned enterprise KiwiRail now operates the railways, with the exception of commuter services in Auckland and Wellington which are operated by Transdev[236] and Metlink,[237] respectively. Railways run the length of the country, although most lines now carry freight rather than passengers.[238] Most international visitors arrive via air[239] and New Zealand has six international airports, but currently only the Auckland and Christchurch airports connect directly with countries other than Australia or Fiji.[240] +

      +

      The New Zealand Post Office had a monopoly over telecommunications in New Zealand until 1987 when Telecom New Zealand was formed, initially as a state-owned enterprise and then privatised in 1990.[241] Chorus, which was split from Telecom (now Spark) in 2011,[242] still owns the majority of the telecommunications infrastructure, but competition from other providers has increased.[241] A large-scale rollout of gigabit-capable fibre to the premises, branded as Ultra-Fast Broadband, began in 2009 with a target of being available to 87% of the population by 2022.[243] As of 2017, the United Nations International Telecommunication Union ranks New Zealand 13th in the development of information and communications infrastructure.[244] +

      +

      + Demography +

      +
      +

      Stationary population pyramid broken down into 21 age ranges.

      +
      +

      The 2013 New Zealand census enumerated a resident population of 4,242,048, an increase of 5.3% over the 2006 figure.[245][n 8] As of September 2019, the total population has risen to an estimated 4,933,210.[5] +

      +

      New Zealand is a predominantly urban country, with 73.0% of the population living in the seventeen main urban areas (i.e. population 30,000 or greater) and 55.1% living in the four largest cities of Auckland, Christchurch, Wellington, and Hamilton.[247] New Zealand cities generally rank highly on international livability measures. For instance, in 2016 Auckland was ranked the world's third most liveable city and Wellington the twelfth by the Mercer Quality of Living Survey.[248] +

      +

      Life expectancy for New Zealanders in 2012 was 84 years for females, and 80.2 years for males.[249] Life expectancy at birth is forecast to increase from 80 years to 85 years in 2050 and infant mortality is expected to decline.[250] New Zealand's fertility rate of 2.1 is relatively high for a developed country, and natural births account for a significant proportion of population growth. Consequently, the country has a young population compared to most industrialised nations, with 20% of New Zealanders being 14 years old or younger.[143] In 2018 the median age of the New Zealand population was 38.1 years.[251] By 2050 the median age is projected to rise to 43 years and the percentage of people 60 years of age and older to rise from 18% to 29%.[250] In 2008 the leading cause of premature death was cancer, at 29.8%, followed by ischaemic heart disease, 19.7%, and then cerebrovascular disease, 9.2%.[252] As of 2016, total expenditure on health care (including private sector spending) is 9.2% of GDP.[253]
      +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      -

      -

      +
        +
      • + v +
      • +
      • + t +
      • +
      • + e +
      • +
      - - -
    • -
      -

      -

      +

      Largest urban areas in New Zealand

      +
      +

      Statistics New Zealand June 2018 estimate (NZSAC92 boundaries)[254] +

      +
      -
      -
    • - -

      - Climate -

      -

      New Zealand's climate is predominantly temperate maritime (Köppen: Cfb), with mean annual temperatures ranging from 10 °C (50 °F) in the south to 16 °C (61 °F) in the north.[158] Historical maxima and minima are 42.4 °C (108.32 °F) in Rangiora, Canterbury and −25.6 °C (−14.08 °F) in Ranfurly, Otago.[159] Conditions vary sharply across regions from extremely wet on the West Coast of the South Island to almost semi-arid in Central Otago and the Mackenzie Basin of inland Canterbury and subtropical in Northland.[160] Of the seven largest cities, Christchurch is the driest, receiving on average only 640 millimetres (25 in) of rain per year and Wellington the wettest, receiving almost twice that amount.[161] Auckland, Wellington and Christchurch all receive a yearly average of more than 2,000 hours of sunshine. The southern and southwestern parts of the South Island have a cooler and cloudier climate, with around 1,400–1,600 hours; the northern and northeastern parts of the South Island are the sunniest areas of the country and receive about 2,400–2,500 hours.[162] The general snow season is early June until early October, though cold snaps can occur outside this season.[163] Snowfall is common in the eastern and southern parts of the South Island and mountain areas across the country.[158] -

      -

      The table below lists climate normals for the warmest and coldest months in New Zealand's six largest cities. North Island cities are generally warmest in February. South Island cities are warmest in January.

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Average daily maximum and minimum temperatures for the six largest cities of New Zealand[164] -
      Location Jan/Feb (°C) Jan/Feb (°F) July (°C) July (°F)
      - Auckland - 23/16 74/60 14/7 58/45
      - Wellington - 20/13 68/56 11/6 52/42
      - Christchurch - 22/12 72/53 10/0 51/33
      - Hamilton - 24/13 75/56 14/4 57/39
      - Tauranga - 24/15 75/59 14/6 58/42
      - Dunedin - 19/11 66/53 10/3 50/37
      -

      - Biodiversity -

      -
      -
      -

      Kiwi amongst sticks

      -
      -

      The endemic flightless kiwi is a national icon.

      -
      -
      -
      -

      New Zealand's geographic isolation for 80 million years[165] and island biogeography has influenced evolution of the country's species of animals, fungi and plants. Physical isolation has caused biological isolation, resulting in a dynamic evolutionary ecology with examples of very distinctive plants and animals as well as populations of widespread species.[166][167] About 82% of New Zealand's indigenous vascular plants are endemic, covering 1,944 species across 65 genera.[168][169] The number of fungi recorded from New Zealand, including lichen-forming species, is not known, nor is the proportion of those fungi which are endemic, but one estimate suggests there are about 2,300 species of lichen-forming fungi in New Zealand[168] and 40% of these are endemic.[170] The two main types of forest are those dominated by broadleaf trees with emergent podocarps, or by southern beech in cooler climates.[171] The remaining vegetation types consist of grasslands, the majority of which are tussock.[172] -

      -

      Before the arrival of humans, an estimated 80% of the land was covered in forest, with only high alpine, wet, infertile and volcanic areas without trees.[173] Massive deforestation occurred after humans arrived, with around half the forest cover lost to fire after Polynesian settlement.[174] Much of the remaining forest fell after European settlement, being logged or cleared to make room for pastoral farming, leaving forest occupying only 23% of the land.[175] -

      +
      + Rank + + Name + + Region + + Pop. + + Rank + + Name + + Region + + Pop. +
      + Auckland
      + Auckland
      + Wellington
      + Wellington +
      1 + Auckland + + Auckland + 1,628,900 11 + Whangarei + + Northland + 58,800 + Christchurch
      + Christchurch
      + Hamilton
      + Hamilton +
      2 + Wellington + + Wellington + 418,500 12 + New Plymouth + + Taranaki + 58,300
      3 + Christchurch + + Canterbury + 404,500 13 + Invercargill + + Southland + 51,200
      4 + Hamilton + + Waikato + 241,200 14 + Kapiti + + Wellington + 42,700
      5 + Tauranga + + Bay of Plenty + 141,600 15 + Whanganui + + Manawatu-Wanganui + 40,900
      6 + Napier-Hastings + + Hawke's Bay + 134,500 16 + Gisborne + + Gisborne + 37,200
      7 + Dunedin + + Otago + 122,000 17 + Blenheim + + Marlborough + 31,600
      8 + Palmerston North + + Manawatu-Wanganui + 86,600 18 + Pukekohe + + Auckland + 31,400
      9 + Nelson + + Nelson + 67,500 19 + Timaru + + Canterbury + 29,100
      10 + Rotorua + + Bay of Plenty + 59,500 20 + Taupo + + Waikato + 24,700
      +

      + Ethnicity and immigration +

      +
      +

      Pedestrians crossing a wide street which is flanked by storefronts

      -
      -

      An artist's rendition of a Haast's eagle attacking two moa

      -
      -

      The giant Haast's eagle died out when humans hunted its main prey, the moa, to extinction.

      -
      -
      +

      Pedestrians on Queen Street in Auckland, an ethnically diverse city

      -

      The forests were dominated by birds, and the lack of mammalian predators led to some like the kiwi, kakapo, weka and takahē evolving flightlessness.[176] The arrival of humans, associated changes to habitat, and the introduction of rats, ferrets and other mammals led to the extinction of many bird species, including large birds like the moa and Haast's eagle.[177][178] -

      -

      Other indigenous animals are represented by reptiles (tuatara, skinks and geckos), frogs,[179] spiders,[180] insects (weta)[181] and snails.[182] Some, such as the tuatara, are so unique that they have been called living fossils.[183] Three species of bats (one since extinct) were the only sign of native land mammals in New Zealand until the 2006 discovery of bones from a unique, mouse-sized land mammal at least 16 million years old.[184][185] Marine mammals however are abundant, with almost half the world's cetaceans (whales, dolphins, and porpoises) and large numbers of fur seals reported in New Zealand waters.[186] Many seabirds breed in New Zealand, a third of them unique to the country.[187] More penguin species are found in New Zealand than in any other country.[188] -

      -

      Since human arrival, almost half of the country's vertebrate species have become extinct, including at least fifty-one birds, three frogs, three lizards, one freshwater fish, and one bat. Others are endangered or have had their range severely reduced.[177] However, New Zealand conservationists have pioneered several methods to help threatened wildlife recover, including island sanctuaries, pest control, wildlife translocation, fostering, and ecological restoration of islands and other selected areas.[189][190][191][192] -

      -

      - Economy -

      +
      +

      In the 2013 census, 74.0% of New Zealand residents identified ethnically as European, and 14.9% as Māori. Other major ethnic groups include Asian (11.8%) and Pacific peoples (7.4%), two-thirds of whom live in the Auckland Region.[255][n 3] The population has become more diverse in recent decades: in 1961, the census reported that the population of New Zealand was 92% European and 7% Māori, with Asian and Pacific minorities sharing the remaining 1%.[256] +

      +

      While the demonym for a New Zealand citizen is New Zealander, the informal "Kiwi" is commonly used both internationally[257] and by locals.[258] The Māori loanword Pākehā has been used to refer to New Zealanders of European descent, although others reject this appellation.[259][260] The word Pākehā today is increasingly used to refer to all non-Polynesian New Zealanders.[261] +

      +

      The Māori were the first people to reach New Zealand, followed by the early European settlers. Following colonisation, immigrants were predominantly from Britain, Ireland and Australia because of restrictive policies similar to the White Australia policy.[262] There was also significant Dutch, Dalmatian,[263] German, and Italian immigration, together with indirect European immigration through Australia, North America, South America and South Africa.[264][265] Net migration increased after the Second World War; in the 1970s and 1980s policies were relaxed and immigration from Asia was promoted.[265][266] In 2009–10, an annual target of 45,000–50,000 permanent residence approvals was set by the New Zealand Immigration Service—more than one new migrant for every 100 New Zealand residents.[267] Just over 25% of New Zealand's population was born overseas, with the majority (52%) living in the Auckland Region. The United Kingdom remains the largest source of New Zealand's overseas population, with a quarter of all overseas-born New Zealanders born there; other major sources of New Zealand's overseas-born population are China, India, Australia, South Africa, Fiji and Samoa.[268] The number of fee-paying international students increased sharply in the late 1990s, with more than 20,000 studying in public tertiary institutions in 2002.[269] +

      +

      + Language +

      +
      +

      Map of New Zealand showing the percentage of people in each census area unit who speak Māori. Areas of the North Island exhibit the highest Māori proficiency.

      -
      -

      Boats docked in blue-green water. Plate glass skyscrapers rising up in the background.

      -
      +

      Speakers of Māori according to the 2013 census[270]

      +

        Less than 5%

      +

        More than 5%

      +

        More than 10%

      +

        More than 20%

      +

        More than 30%

      +

        More than 40%

      +

        More than 50%

      -

      New Zealand has an advanced market economy,[193] ranked 16th in the 2018 Human Development Index[8] and third in the 2018 Index of Economic Freedom.[194] It is a high-income economy with a nominal gross domestic product (GDP) per capita of US$36,254.[6] The currency is the New Zealand dollar, informally known as the "Kiwi dollar"; it also circulates in the Cook Islands (see Cook Islands dollar), Niue, Tokelau, and the Pitcairn Islands.[195] -

      -

      Historically, extractive industries have contributed strongly to New Zealand's economy, focussing at different times on sealing, whaling, flax, gold, kauri gum, and native timber.[196] The first shipment of refrigerated meat on the Dunedin in 1882 led to the establishment of meat and dairy exports to Britain, a trade which provided the basis for strong economic growth in New Zealand.[197] High demand for agricultural products from the United Kingdom and the United States helped New Zealanders achieve higher living standards than both Australia and Western Europe in the 1950s and 1960s.[198] In 1973, New Zealand's export market was reduced when the United Kingdom joined the European Economic Community[199] and other compounding factors, such as the 1973 oil and 1979 energy crises, led to a severe economic depression.[200] Living standards in New Zealand fell behind those of Australia and Western Europe, and by 1982 New Zealand had the lowest per-capita income of all the developed nations surveyed by the World Bank.[201] In the mid-1980s New Zealand deregulated its agricultural sector by phasing out subsidies over a three-year period.[202][203] Since 1984, successive governments engaged in major macroeconomic restructuring (known first as Rogernomics and then Ruthanasia), rapidly transforming New Zealand from a protected and highly regulated economy to a liberalised free-trade economy.[204][205] -

      +
      +

      English is the predominant language in New Zealand, spoken by 96.1% of the population.[271] New Zealand English is similar to Australian English and many speakers from the Northern Hemisphere are unable to tell the accents apart.[272] The most prominent differences between the New Zealand English dialect and other English dialects are the shifts in the short front vowels: the short-"i" sound (as in "kit") has centralised towards the schwa sound (the "a" in "comma" and "about"); the short-"e" sound (as in "dress") has moved towards the short-"i" sound; and the short-"a" sound (as in "trap") has moved to the short-"e" sound.[273] +

      +

      After the Second World War, Māori were discouraged from speaking their own language (te reo Māori) in schools and workplaces and it existed as a community language only in a few remote areas.[274] It has recently undergone a process of revitalisation,[275] being declared one of New Zealand's official languages in 1987,[276] and is spoken by 3.7% of the population.[271][n 9] There are now Māori language immersion schools and two television channels that broadcast predominantly in Māori.[278] Many places have both their Māori and English names officially recognised.[279] +

      +

      As recorded in the 2013 census,[271] Samoan is the most widely spoken non-official language (2.2%),[n 10] followed by Hindi (1.7%), "Northern Chinese" (including Mandarin, 1.3%) and French (1.2%). 20,235 people (0.5%) reported the ability to use New Zealand Sign Language. It was declared one of New Zealand's official languages in 2006.[280] +

      +

      + Religion +

      +
      +

      Simple white building with two red domed towers

      -
      -

      Blue water against a backdrop of snow-capped mountains

      -
      +

      A Rātana church on a hill near Raetihi. The two-tower construction is characteristic of Rātana buildings.

      -

      Unemployment peaked above 10% in 1991 and 1992,[207] following the 1987 share market crash, but eventually fell to a record low (since 1986) of 3.7% in 2007 (ranking third from twenty-seven comparable OECD nations).[207] However, the global financial crisis that followed had a major impact on New Zealand, with the GDP shrinking for five consecutive quarters, the longest recession in over thirty years,[208][209] and unemployment rising back to 7% in late 2009.[210] Unemployment rates for different age groups follow similar trends, but are consistently higher among youth. In the December 2014 quarter, the general unemployment rate was around 5.8%, while the unemployment rate for youth aged 15 to 21 was 15.6%.[207] New Zealand has experienced a series of "brain drains" since the 1970s[211] that still continue today.[212] Nearly one quarter of highly skilled workers live overseas, mostly in Australia and Britain, which is the largest proportion from any developed nation.[213] In recent decades, however, a "brain gain" has brought in educated professionals from Europe and less developed countries.[214][215] Today New Zealand's economy benefits from a high level of innovation.[216] -

      -

      - Trade -

      -

      New Zealand is heavily dependent on international trade,[217] particularly in agricultural products.[218] Exports account for 24% of its output,[143] making New Zealand vulnerable to international commodity prices and global economic slowdowns. Food products made up 55% of the value of all the country's exports in 2014; wood was the second largest earner (7%).[219] New Zealand's main trading partners, as at June 2018, are China (NZ$27.8b), Australia ($26.2b), the European Union ($22.9b), the United States ($17.6b), and Japan ($8.4b).[220] On 7 April 2008, New Zealand and China signed the New Zealand–China Free Trade Agreement, the first such agreement China has signed with a developed country.[221] The service sector is the largest sector in the economy, followed by manufacturing and construction and then farming and raw material extraction.[143] Tourism plays a significant role in the economy, contributing $12.9 billion (or 5.6%) to New Zealand's total GDP and supporting 7.5% of the total workforce in 2016.[222] International visitor arrivals are expected to increase at a rate of 5.4% annually up to 2022.[222] +

      +

      + Christianity is the predominant religion in New Zealand, although its society is among the most secular in the world.[281][282] In the 2018 census, 51.4% of the population identified with one or more religions, including 38.6% identifying as Christians. Another 48.6% indicated that they had no religion.[n 11] The main Christian denominations are, by number of adherents, Roman Catholicism (10.1%), Anglicanism (6.8%), Presbyterianism (5.5%) and "Christian not further defined" (i.e. people identifying as Christian but not stating the denomination, 6.6%). The Māori-based Ringatū and Rātana religions (1.3%) are also Christian in origin.[284][285] Immigration and demographic change in recent decades has contributed to the growth of minority religions,[286] such as Hinduism (2.6%), Buddhism (1.1%), Islam (1.3%) and Sikhism (0.5%).[284] The Auckland Region exhibited the greatest religious diversity.[284] +

      +

      + Education +

      +

      Primary and secondary schooling is compulsory for children aged 6 to 16, with the majority attending from the age of 5.[287] There are 13 school years and attending state (public) schools is free to New Zealand citizens and permanent residents from a person's 5th birthday to the end of the calendar year following their 19th birthday.[288] New Zealand has an adult literacy rate of 99%,[143] and over half of the population aged 15 to 29 hold a tertiary qualification.[287] There are five types of government-owned tertiary institutions: universities, colleges of education, polytechnics, specialist colleges, and wānanga,[289] in addition to private training establishments.[290] In the adult population 14.2% have a bachelor's degree or higher, 30.4% have some form of secondary qualification as their highest qualification and 22.4% have no formal qualification.[291] The OECD's Programme for International Student Assessment ranks New Zealand's education system as the seventh best in the world, with students performing exceptionally well in reading, mathematics and science.[292] +

      +

      + Culture +

      +
      +

      Tall wooden carving showing Kupe above two tentacled sea creatures

      -
      -

      A Romney ewe with her two lambs

      -
      -

      Wool has historically been one of New Zealand's major exports.

      -
      -
      +

      Late 20th-century house-post depicting the navigator Kupe fighting two sea creatures

      -

      Wool was New Zealand's major agricultural export during the late 19th century.[196] Even as late as the 1960s it made up over a third of all export revenues,[196] but since then its price has steadily dropped relative to other commodities[223] and wool is no longer profitable for many farmers.[224] In contrast dairy farming increased, with the number of dairy cows doubling between 1990 and 2007,[225] to become New Zealand's largest export earner.[226] In the year to June 2018, dairy products accounted for 17.7% ($14.1 billion) of total exports,[220] and the country's largest company, Fonterra, controls almost one-third of the international dairy trade.[227] Other exports in 2017-18 were meat (8.8%), wood and wood products (6.2%), fruit (3.6%), machinery (2.2%) and wine (2.1%).[220] New Zealand's wine industry has followed a similar trend to dairy, the number of vineyards doubling over the same period,[228] overtaking wool exports for the first time in 2007.[229][230] -

      -

      - Infrastructure -

      +
      +

      Early Māori adapted the tropically based east Polynesian culture in line with the challenges associated with a larger and more diverse environment, eventually developing their own distinctive culture. Social organisation was largely communal with families (whānau), subtribes (hapū) and tribes (iwi) ruled by a chief (rangatira), whose position was subject to the community's approval.[293] The British and Irish immigrants brought aspects of their own culture to New Zealand and also influenced Māori culture,[294][295] particularly with the introduction of Christianity.[296] However, Māori still regard their allegiance to tribal groups as a vital part of their identity, and Māori kinship roles resemble those of other Polynesian peoples.[297] More recently American, Australian, Asian and other European cultures have exerted influence on New Zealand. Non-Māori Polynesian cultures are also apparent, with Pasifika, the world's largest Polynesian festival, now an annual event in Auckland.[298] +

      +

      The largely rural life in early New Zealand led to the image of New Zealanders being rugged, industrious problem solvers.[299] Modesty was expected and enforced through the "tall poppy syndrome", where high achievers received harsh criticism.[300] At the time New Zealand was not known as an intellectual country.[301] From the early 20th century until the late 1960s, Māori culture was suppressed by the attempted assimilation of Māori into British New Zealanders.[274] In the 1960s, as tertiary education became more available and cities expanded[302] urban culture began to dominate.[303] However, rural imagery and themes are common in New Zealand's art, literature and media.[304] +

      +

      + New Zealand's national symbols are influenced by natural, historical, and Māori sources. The silver fern is an emblem appearing on army insignia and sporting team uniforms.[305] Certain items of popular culture thought to be unique to New Zealand are called "Kiwiana".[305] +

      +

      + Art +

      +

      As part of the resurgence of Māori culture, the traditional crafts of carving and weaving are now more widely practised and Māori artists are increasing in number and influence.[306] Most Māori carvings feature human figures, generally with three fingers and either a natural-looking, detailed head or a grotesque head.[307] Surface patterns consisting of spirals, ridges, notches and fish scales decorate most carvings.[308] The pre-eminent Māori architecture consisted of carved meeting houses (wharenui) decorated with symbolic carvings and illustrations. These buildings were originally designed to be constantly rebuilt, changing and adapting to different whims or needs.[309] +

      +

      Māori decorated the white wood of buildings, canoes and cenotaphs using red (a mixture of red ochre and shark fat) and black (made from soot) paint and painted pictures of birds, reptiles and other designs on cave walls.[310] Māori tattoos (moko) consisting of coloured soot mixed with gum were cut into the flesh with a bone chisel.[311] Since European arrival paintings and photographs have been dominated by landscapes, originally not as works of art but as factual portrayals of New Zealand.[312] Portraits of Māori were also common, with early painters often portraying them as "noble savages", exotic beauties or friendly natives.[312] The country's isolation delayed the influence of European artistic trends allowing local artists to develop their own distinctive style of regionalism.[313] During the 1960s and 1970s many artists combined traditional Māori and Western techniques, creating unique art forms.[314] New Zealand art and craft has gradually achieved an international audience, with exhibitions in the Venice Biennale in 2001 and the "Paradise Now" exhibition in New York in 2004.[306][315] +

      +
      +

      Refer to caption

      +
      +

      Māori cloaks are made of fine flax fibre and patterned with black, red and white triangles, diamonds and other geometric shapes.[316] Greenstone was fashioned into earrings and necklaces, with the most well-known design being the hei-tiki, a distorted human figure sitting cross-legged with its head tilted to the side.[317] Europeans brought English fashion etiquette to New Zealand, and until the 1950s most people dressed up for social occasions.[318] Standards have since relaxed and New Zealand fashion has received a reputation for being casual, practical and lacklustre.[319][320] However, the local fashion industry has grown significantly since 2000, doubling exports and increasing from a handful to about 50 established labels, with some labels gaining international recognition.[320] +

      +

      + Literature +

      +

      Māori quickly adopted writing as a means of sharing ideas, and many of their oral stories and poems were converted to the written form.[321] Most early English literature was obtained from Britain and it was not until the 1950s when local publishing outlets increased that New Zealand literature started to become widely known.[322] Although still largely influenced by global trends (modernism) and events (the Great Depression), writers in the 1930s began to develop stories increasingly focused on their experiences in New Zealand. During this period literature changed from a journalistic activity to a more academic pursuit.[323] Participation in the world wars gave some New Zealand writers a new perspective on New Zealand culture and with the post-war expansion of universities local literature flourished.[324] Dunedin is a UNESCO City of Literature.[325] +

      +

      + Media and entertainment +

      +

      New Zealand music has been influenced by blues, jazz, country, rock and roll and hip hop, with many of these genres given a unique New Zealand interpretation.[326] Māori developed traditional chants and songs from their ancient Southeast Asian origins, and after centuries of isolation created a unique "monotonous" and "doleful" sound.[327] Flutes and trumpets were used as musical instruments[328] or as signalling devices during war or special occasions.[329] Early settlers brought over their ethnic music, with brass bands and choral music being popular, and musicians began touring New Zealand in the 1860s.[330][331] Pipe bands became widespread during the early 20th century.[332] The New Zealand recording industry began to develop from 1940 onwards and many New Zealand musicians have obtained success in Britain and the United States.[326] Some artists release Māori language songs and the Māori tradition-based art of kapa haka (song and dance) has made a resurgence.[333] The New Zealand Music Awards are held annually by Recorded Music NZ; the awards were first held in 1965 by Reckitt & Colman as the Loxene Golden Disc awards.[334] Recorded Music NZ also publishes the country's official weekly record charts.[335] +

      +
      +

      Hills with inset, round doors. Reflected in water.

      +
      +

      Public radio was introduced in New Zealand in 1922.[337] A state-owned television service began in 1960.[338] Deregulation in the 1980s saw a sudden increase in the numbers of radio and television stations.[339] New Zealand television primarily broadcasts American and British programming, along with a large number of Australian and local shows.[340] The number of New Zealand films significantly increased during the 1970s. In 1978 the New Zealand Film Commission started assisting local film-makers and many films attained a world audience, some receiving international acknowledgement.[339] The highest-grossing New Zealand films are Hunt for the Wilderpeople, Boy, The World's Fastest Indian, Once Were Warriors and Whale Rider.[341] The country's diverse scenery and compact size, plus government incentives,[342] have encouraged some producers to shoot big-budget productions in New Zealand, including Avatar, The Lord of the Rings, The Hobbit, The Chronicles of Narnia, King Kong and The Last Samurai.[343] The New Zealand media industry is dominated by a small number of companies, most of which are foreign-owned, although the state retains ownership of some television and radio stations.[344] Since 1994, Freedom House has consistently ranked New Zealand's press freedom in the top twenty, with the 19th freest media in 2015.[345] +

      +

      + Sports +

      +
      +

      Rugby team wearing all black, facing the camera, knees bent, and facing toward a team wearing white

      +
      +

      Most of the major sporting codes played in New Zealand have British origins.[346] Rugby union is considered the national sport[347] and attracts the most spectators.[348] Golf, netball, tennis and cricket have the highest rates of adult participation, while netball, rugby union and football (soccer) are particularly popular among young people.[348][349] Around 54% of New Zealand adolescents participate in sports for their school.[349] Victorious rugby tours to Australia and the United Kingdom in the late 1880s and the early 1900s played an early role in instilling a national identity.[350] Horseracing was also a popular spectator sport and became part of the "Rugby, Racing and Beer" culture during the 1960s.[351] Māori participation in European sports was particularly evident in rugby and the country's team performs a haka, a traditional Māori challenge, before international matches.[352] New Zealand is known for its extreme sports, adventure tourism[353] and strong mountaineering tradition, as seen in the success of notable New Zealander Sir Edmund Hillary.[354][355] Other outdoor pursuits such as cycling, fishing, swimming, running, tramping, canoeing, hunting, snowsports, surfing and sailing are also popular.[356] The Polynesian sport of waka ama racing has experienced a resurgence of interest in New Zealand since the 1980s.[357] +

      +

      New Zealand has competitive international teams in rugby union, rugby league, netball, cricket, softball, and sailing. New Zealand participated at the Summer Olympics in 1908 and 1912 as a joint team with Australia, before first participating on its own in 1920.[358] The country has ranked highly on a medals-to-population ratio at recent Games.[359][360] The "All Blacks", the national rugby union team, are the most successful in the history of international rugby[361] and the reigning World Cup champions.[362] +

      +

      + Cuisine +

      +
      +

      Raw meat and vegetables

      -
      -

      A mid-size jet airliner in flight. The plane livery is all-black and features a New Zealand silver fern mark.

      -
      +

      Ingredients to be prepared for a hāngi +

      -

      In 2015, renewable energy, primarily geothermal and hydroelectric power, generated 40.1% of New Zealand's gross energy supply.[231] Geothermal power alone accounted for 22% of New Zealand's energy in 2015.[231] -

      -

      The provision of water supply and sanitation is generally of good quality. Regional authorities provide water abstraction, treatment and distribution infrastructure to most developed areas.[232][233] -

      -

      - New Zealand's transport network comprises 94,000 kilometres (58,410 mi) of roads, including 199 kilometres (124 mi) of motorways,[234] and 4,128 kilometres (2,565 mi) of railway lines.[143] Most major cities and towns are linked by bus services, although the private car is the predominant mode of transport.[235] The railways were privatised in 1993, but were re-nationalised by the government in stages between 2004 and 2008. The state-owned enterprise KiwiRail now operates the railways, with the exception of commuter services in Auckland and Wellington which are operated by Transdev[236] and Metlink,[237] respectively. Railways run the length of the country, although most lines now carry freight rather than passengers.[238] Most international visitors arrive via air[239] and New Zealand has six international airports, but currently only the Auckland and Christchurch airports connect directly with countries other than Australia or Fiji.[240] -

      -

      The New Zealand Post Office had a monopoly over telecommunications in New Zealand until 1987 when Telecom New Zealand was formed, initially as a state-owned enterprise and then privatised in 1990.[241] Chorus, which was split from Telecom (now Spark) in 2011,[242] still owns the majority of the telecommunications infrastructure, but competition from other providers has increased.[241] A large-scale rollout of gigabit-capable fibre to the premises, branded as Ultra-Fast Broadband, began in 2009 with a target of being available to 87% of the population by 2022.[243] As of 2017, the United Nations International Telecommunication Union ranks New Zealand 13th in the development of information and communications infrastructure.[244] -

      -

      - Demography -

      -
      -
      -

      Stationary population pyramid broken down into 21 age ranges.

      -
      -
      -

      The 2013 New Zealand census enumerated a resident population of 4,242,048, an increase of 5.3% over the 2006 figure.[245][n 8] As of September 2019, the total population has risen to an estimated 4,933,210.[5] -

      -

      New Zealand is a predominantly urban country, with 73.0% of the population living in the seventeen main urban areas (i.e. population 30,000 or greater) and 55.1% living in the four largest cities of Auckland, Christchurch, Wellington, and Hamilton.[247] New Zealand cities generally rank highly on international livability measures. For instance, in 2016 Auckland was ranked the world's third most liveable city and Wellington the twelfth by the Mercer Quality of Living Survey.[248] -

      -

      Life expectancy for New Zealanders in 2012 was 84 years for females, and 80.2 years for males.[249] Life expectancy at birth is forecast to increase from 80 years to 85 years in 2050 and infant mortality is expected to decline.[250] New Zealand's fertility rate of 2.1 is relatively high for a developed country, and natural births account for a significant proportion of population growth. Consequently, the country has a young population compared to most industrialised nations, with 20% of New Zealanders being 14 years old or younger.[143] In 2018 the median age of the New Zealand population was 38.1 years.[251] By 2050 the median age is projected to rise to 43 years and the percentage of people 60 years of age and older to rise from 18% to 29%.[250] In 2008 the leading cause of premature death was cancer, at 29.8%, followed by ischaemic heart disease, 19.7%, and then cerebrovascular disease, 9.2%.[252] As of 2016, total expenditure on health care (including private sector spending) is 9.2% of GDP.[253]
      -

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      -
      -
        -
      • - v -
      • -
      • - t -
      • -
      • - e -
      • -
      -
      -
      -

      Largest urban areas in New Zealand

      -
      -

      Statistics New Zealand June 2018 estimate (NZSAC92 boundaries)[254] -

      -
      -
      -
      - Rank - - Name - - Region - - Pop. - - Rank - - Name - - Region - - Pop. -
      - Auckland
      - Auckland
      - Wellington
      - Wellington -
      1 - Auckland - - Auckland - 1,628,900 11 - Whangarei - - Northland - 58,800 - Christchurch
      - Christchurch
      - Hamilton
      - Hamilton -
      2 - Wellington - - Wellington - 418,500 12 - New Plymouth - - Taranaki - 58,300
      3 - Christchurch - - Canterbury - 404,500 13 - Invercargill - - Southland - 51,200
      4 - Hamilton - - Waikato - 241,200 14 - Kapiti - - Wellington - 42,700
      5 - Tauranga - - Bay of Plenty - 141,600 15 - Whanganui - - Manawatu-Wanganui - 40,900
      6 - Napier-Hastings - - Hawke's Bay - 134,500 16 - Gisborne - - Gisborne - 37,200
      7 - Dunedin - - Otago - 122,000 17 - Blenheim - - Marlborough - 31,600
      8 - Palmerston North - - Manawatu-Wanganui - 86,600 18 - Pukekohe - - Auckland - 31,400
      9 - Nelson - - Nelson - 67,500 19 - Timaru - - Canterbury - 29,100
      10 - Rotorua - - Bay of Plenty - 59,500 20 - Taupo - - Waikato - 24,700
      -

      - Ethnicity and immigration -

      -
      -
      -

      Pedestrians crossing a wide street which is flanked by storefronts

      -
      -

      Pedestrians on Queen Street in Auckland, an ethnically diverse city

      -
      -
      -
      -

      In the 2013 census, 74.0% of New Zealand residents identified ethnically as European, and 14.9% as Māori. Other major ethnic groups include Asian (11.8%) and Pacific peoples (7.4%), two-thirds of whom live in the Auckland Region.[255][n 3] The population has become more diverse in recent decades: in 1961, the census reported that the population of New Zealand was 92% European and 7% Māori, with Asian and Pacific minorities sharing the remaining 1%.[256] -

      -

      While the demonym for a New Zealand citizen is New Zealander, the informal "Kiwi" is commonly used both internationally[257] and by locals.[258] The Māori loanword Pākehā has been used to refer to New Zealanders of European descent, although others reject this appellation.[259][260] The word Pākehā today is increasingly used to refer to all non-Polynesian New Zealanders.[261] -

      -

      The Māori were the first people to reach New Zealand, followed by the early European settlers. Following colonisation, immigrants were predominantly from Britain, Ireland and Australia because of restrictive policies similar to the White Australia policy.[262] There was also significant Dutch, Dalmatian,[263] German, and Italian immigration, together with indirect European immigration through Australia, North America, South America and South Africa.[264][265] Net migration increased after the Second World War; in the 1970s and 1980s policies were relaxed and immigration from Asia was promoted.[265][266] In 2009–10, an annual target of 45,000–50,000 permanent residence approvals was set by the New Zealand Immigration Service—more than one new migrant for every 100 New Zealand residents.[267] Just over 25% of New Zealand's population was born overseas, with the majority (52%) living in the Auckland Region. The United Kingdom remains the largest source of New Zealand's overseas population, with a quarter of all overseas-born New Zealanders born there; other major sources of New Zealand's overseas-born population are China, India, Australia, South Africa, Fiji and Samoa.[268] The number of fee-paying international students increased sharply in the late 1990s, with more than 20,000 studying in public tertiary institutions in 2002.[269] -

      -

      - Language -

      -
      -
      -

      Map of New Zealand showing the percentage of people in each census area unit who speak Māori. Areas of the North Island exhibit the highest Māori proficiency.

      -
      -

      Speakers of Māori according to the 2013 census[270]

      -

        Less than 5%

      -

        More than 5%

      -

        More than 10%

      -

        More than 20%

      -

        More than 30%

      -

        More than 40%

      -

        More than 50%

      -
      -
      -
      -

      English is the predominant language in New Zealand, spoken by 96.1% of the population.[271] New Zealand English is similar to Australian English and many speakers from the Northern Hemisphere are unable to tell the accents apart.[272] The most prominent differences between the New Zealand English dialect and other English dialects are the shifts in the short front vowels: the short-"i" sound (as in "kit") has centralised towards the schwa sound (the "a" in "comma" and "about"); the short-"e" sound (as in "dress") has moved towards the short-"i" sound; and the short-"a" sound (as in "trap") has moved to the short-"e" sound.[273] -

      -

      After the Second World War, Māori were discouraged from speaking their own language (te reo Māori) in schools and workplaces and it existed as a community language only in a few remote areas.[274] It has recently undergone a process of revitalisation,[275] being declared one of New Zealand's official languages in 1987,[276] and is spoken by 3.7% of the population.[271][n 9] There are now Māori language immersion schools and two television channels that broadcast predominantly in Māori.[278] Many places have both their Māori and English names officially recognised.[279] -

      -

      As recorded in the 2013 census,[271] Samoan is the most widely spoken non-official language (2.2%),[n 10] followed by Hindi (1.7%), "Northern Chinese" (including Mandarin, 1.3%) and French (1.2%). 20,235 people (0.5%) reported the ability to use New Zealand Sign Language. It was declared one of New Zealand's official languages in 2006.[280] -

      -

      - Religion -

      -
      -
      -

      Simple white building with two red domed towers

      -
      -

      A Rātana church on a hill near Raetihi. The two-tower construction is characteristic of Rātana buildings.

      -
      -
      -
      -

      - Christianity is the predominant religion in New Zealand, although its society is among the most secular in the world.[281][282] In the 2018 census, 51.4% of the population identified with one or more religions, including 38.6% identifying as Christians. Another 48.6% indicated that they had no religion.[n 11] The main Christian denominations are, by number of adherents, Roman Catholicism (10.1%), Anglicanism (6.8%), Presbyterianism (5.5%) and "Christian not further defined" (i.e. people identifying as Christian but not stating the denomination, 6.6%). The Māori-based Ringatū and Rātana religions (1.3%) are also Christian in origin.[284][285] Immigration and demographic change in recent decades has contributed to the growth of minority religions,[286] such as Hinduism (2.6%), Buddhism (1.1%), Islam (1.3%) and Sikhism (0.5%).[284] The Auckland Region exhibited the greatest religious diversity.[284] -

      -

      - Education -

      -

      Primary and secondary schooling is compulsory for children aged 6 to 16, with the majority attending from the age of 5.[287] There are 13 school years and attending state (public) schools is free to New Zealand citizens and permanent residents from a person's 5th birthday to the end of the calendar year following their 19th birthday.[288] New Zealand has an adult literacy rate of 99%,[143] and over half of the population aged 15 to 29 hold a tertiary qualification.[287] There are five types of government-owned tertiary institutions: universities, colleges of education, polytechnics, specialist colleges, and wānanga,[289] in addition to private training establishments.[290] In the adult population 14.2% have a bachelor's degree or higher, 30.4% have some form of secondary qualification as their highest qualification and 22.4% have no formal qualification.[291] The OECD's Programme for International Student Assessment ranks New Zealand's education system as the seventh best in the world, with students performing exceptionally well in reading, mathematics and science.[292] -

      -

      - Culture -

      -
      -
      -

      Tall wooden carving showing Kupe above two tentacled sea creatures -

      -
      -

      Late 20th-century house-post depicting the navigator Kupe fighting two sea creatures

      -
      -
      -
      -

      Early Māori adapted the tropically based east Polynesian culture in line with the challenges associated with a larger and more diverse environment, eventually developing their own distinctive culture. Social organisation was largely communal with families (whānau), subtribes (hapū) and tribes (iwi) ruled by a chief (rangatira), whose position was subject to the community's approval.[293] The British and Irish immigrants brought aspects of their own culture to New Zealand and also influenced Māori culture,[294][295] particularly with the introduction of Christianity.[296] However, Māori still regard their allegiance to tribal groups as a vital part of their identity, and Māori kinship roles resemble those of other Polynesian peoples.[297] More recently American, Australian, Asian and other European cultures have exerted influence on New Zealand. Non-Māori Polynesian cultures are also apparent, with Pasifika, the world's largest Polynesian festival, now an annual event in Auckland.[298] -

      -

      The largely rural life in early New Zealand led to the image of New Zealanders being rugged, industrious problem solvers.[299] Modesty was expected and enforced through the "tall poppy syndrome", where high achievers received harsh criticism.[300] At the time New Zealand was not known as an intellectual country.[301] From the early 20th century until the late 1960s, Māori culture was suppressed by the attempted assimilation of Māori into British New Zealanders.[274] In the 1960s, as tertiary education became more available and cities expanded[302] urban culture began to dominate.[303] However, rural imagery and themes are common in New Zealand's art, literature and media.[304] -

      -

      - New Zealand's national symbols are influenced by natural, historical, and Māori sources. The silver fern is an emblem appearing on army insignia and sporting team uniforms.[305] Certain items of popular culture thought to be unique to New Zealand are called "Kiwiana".[305] -

      -

      - Art -

      -

      As part of the resurgence of Māori culture, the traditional crafts of carving and weaving are now more widely practised and Māori artists are increasing in number and influence.[306] Most Māori carvings feature human figures, generally with three fingers and either a natural-looking, detailed head or a grotesque head.[307] Surface patterns consisting of spirals, ridges, notches and fish scales decorate most carvings.[308] The pre-eminent Māori architecture consisted of carved meeting houses (wharenui) decorated with symbolic carvings and illustrations. These buildings were originally designed to be constantly rebuilt, changing and adapting to different whims or needs.[309] -

      -

      Māori decorated the white wood of buildings, canoes and cenotaphs using red (a mixture of red ochre and shark fat) and black (made from soot) paint and painted pictures of birds, reptiles and other designs on cave walls.[310] Māori tattoos (moko) consisting of coloured soot mixed with gum were cut into the flesh with a bone chisel.[311] Since European arrival paintings and photographs have been dominated by landscapes, originally not as works of art but as factual portrayals of New Zealand.[312] Portraits of Māori were also common, with early painters often portraying them as "noble savages", exotic beauties or friendly natives.[312] The country's isolation delayed the influence of European artistic trends allowing local artists to develop their own distinctive style of regionalism.[313] During the 1960s and 1970s many artists combined traditional Māori and Western techniques, creating unique art forms.[314] New Zealand art and craft has gradually achieved an international audience, with exhibitions in the Venice Biennale in 2001 and the "Paradise Now" exhibition in New York in 2004.[306][315] -

      -
      -
      -

      Refer to caption

      -
      -
      -

      Māori cloaks are made of fine flax fibre and patterned with black, red and white triangles, diamonds and other geometric shapes.[316] Greenstone was fashioned into earrings and necklaces, with the most well-known design being the hei-tiki, a distorted human figure sitting cross-legged with its head tilted to the side.[317] Europeans brought English fashion etiquette to New Zealand, and until the 1950s most people dressed up for social occasions.[318] Standards have since relaxed and New Zealand fashion has received a reputation for being casual, practical and lacklustre.[319][320] However, the local fashion industry has grown significantly since 2000, doubling exports and increasing from a handful to about 50 established labels, with some labels gaining international recognition.[320] -

      -

      - Literature -

      -

      Māori quickly adopted writing as a means of sharing ideas, and many of their oral stories and poems were converted to the written form.[321] Most early English literature was obtained from Britain and it was not until the 1950s when local publishing outlets increased that New Zealand literature started to become widely known.[322] Although still largely influenced by global trends (modernism) and events (the Great Depression), writers in the 1930s began to develop stories increasingly focused on their experiences in New Zealand. During this period literature changed from a journalistic activity to a more academic pursuit.[323] Participation in the world wars gave some New Zealand writers a new perspective on New Zealand culture and with the post-war expansion of universities local literature flourished.[324] Dunedin is a UNESCO City of Literature.[325] -

      -

      - Media and entertainment -

      -

      New Zealand music has been influenced by blues, jazz, country, rock and roll and hip hop, with many of these genres given a unique New Zealand interpretation.[326] Māori developed traditional chants and songs from their ancient Southeast Asian origins, and after centuries of isolation created a unique "monotonous" and "doleful" sound.[327] Flutes and trumpets were used as musical instruments[328] or as signalling devices during war or special occasions.[329] Early settlers brought over their ethnic music, with brass bands and choral music being popular, and musicians began touring New Zealand in the 1860s.[330][331] Pipe bands became widespread during the early 20th century.[332] The New Zealand recording industry began to develop from 1940 onwards and many New Zealand musicians have obtained success in Britain and the United States.[326] Some artists release Māori language songs and the Māori tradition-based art of kapa haka (song and dance) has made a resurgence.[333] The New Zealand Music Awards are held annually by Recorded Music NZ; the awards were first held in 1965 by Reckitt & Colman as the Loxene Golden Disc awards.[334] Recorded Music NZ also publishes the country's official weekly record charts.[335] -

      -
      -
      -

      Hills with inset, round doors. Reflected in water.

      -
      -
      -

      Public radio was introduced in New Zealand in 1922.[337] A state-owned television service began in 1960.[338] Deregulation in the 1980s saw a sudden increase in the numbers of radio and television stations.[339] New Zealand television primarily broadcasts American and British programming, along with a large number of Australian and local shows.[340] The number of New Zealand films significantly increased during the 1970s. In 1978 the New Zealand Film Commission started assisting local film-makers and many films attained a world audience, some receiving international acknowledgement.[339] The highest-grossing New Zealand films are Hunt for the Wilderpeople, Boy, The World's Fastest Indian, Once Were Warriors and Whale Rider.[341] The country's diverse scenery and compact size, plus government incentives,[342] have encouraged some producers to shoot big-budget productions in New Zealand, including Avatar, The Lord of the Rings, The Hobbit, The Chronicles of Narnia, King Kong and The Last Samurai.[343] The New Zealand media industry is dominated by a small number of companies, most of which are foreign-owned, although the state retains ownership of some television and radio stations.[344] Since 1994, Freedom House has consistently ranked New Zealand's press freedom in the top twenty, with the 19th freest media in 2015.[345] -

      -

      - Sports -

      -
      -
      -

      Rugby team wearing all black, facing the camera, knees bent, and facing toward a team wearing white

      -
      -
      -

      Most of the major sporting codes played in New Zealand have British origins.[346] Rugby union is considered the national sport[347] and attracts the most spectators.[348] Golf, netball, tennis and cricket have the highest rates of adult participation, while netball, rugby union and football (soccer) are particularly popular among young people.[348][349] Around 54% of New Zealand adolescents participate in sports for their school.[349] Victorious rugby tours to Australia and the United Kingdom in the late 1880s and the early 1900s played an early role in instilling a national identity.[350] Horseracing was also a popular spectator sport and became part of the "Rugby, Racing and Beer" culture during the 1960s.[351] Māori participation in European sports was particularly evident in rugby and the country's team performs a haka, a traditional Māori challenge, before international matches.[352] New Zealand is known for its extreme sports, adventure tourism[353] and strong mountaineering tradition, as seen in the success of notable New Zealander Sir Edmund Hillary.[354][355] Other outdoor pursuits such as cycling, fishing, swimming, running, tramping, canoeing, hunting, snowsports, surfing and sailing are also popular.[356] The Polynesian sport of waka ama racing has experienced a resurgence of interest in New Zealand since the 1980s.[357] -

      -

      New Zealand has competitive international teams in rugby union, rugby league, netball, cricket, softball, and sailing. New Zealand participated at the Summer Olympics in 1908 and 1912 as a joint team with Australia, before first participating on its own in 1920.[358] The country has ranked highly on a medals-to-population ratio at recent Games.[359][360] The "All Blacks", the national rugby union team, are the most successful in the history of international rugby[361] and the reigning World Cup champions.[362] -

      -

      - Cuisine -

      -
      -
      -

      Raw meat and vegetables

      -
      -

      Ingredients to be prepared for a hāngi -

      -
      -
      -
      -

      The national cuisine has been described as Pacific Rim, incorporating the native Māori cuisine and diverse culinary traditions introduced by settlers and immigrants from Europe, Polynesia and Asia.[363] New Zealand yields produce from land and sea—most crops and livestock, such as maize, potatoes and pigs, were gradually introduced by the early European settlers.[364] Distinctive ingredients or dishes include lamb, salmon, kōura (crayfish),[365] dredge oysters, whitebait, pāua (abalone), mussels, scallops, pipis and tuatua (both are types of New Zealand shellfish),[366] kūmara (sweet potato), kiwifruit, tamarillo and pavlova (considered a national dish).[367][363] A hāngi is a traditional Māori method of cooking food using heated rocks buried in a pit oven. After European colonisation, Māori began cooking with pots and ovens and the hāngi was used less frequently, although it is still used for formal occasions such as tangihanga.[368] -

      -

      - See also -

      -
      +

      The national cuisine has been described as Pacific Rim, incorporating the native Māori cuisine and diverse culinary traditions introduced by settlers and immigrants from Europe, Polynesia and Asia.[363] New Zealand yields produce from land and sea—most crops and livestock, such as maize, potatoes and pigs, were gradually introduced by the early European settlers.[364] Distinctive ingredients or dishes include lamb, salmon, kōura (crayfish),[365] dredge oysters, whitebait, pāua (abalone), mussels, scallops, pipis and tuatua (both are types of New Zealand shellfish),[366] kūmara (sweet potato), kiwifruit, tamarillo and pavlova (considered a national dish).[367][363] A hāngi is a traditional Māori method of cooking food using heated rocks buried in a pit oven. After European colonisation, Māori began cooking with pots and ovens and the hāngi was used less frequently, although it is still used for formal occasions such as tangihanga.[368] +

      +

      + See also +

      + +

      + Footnotes +

      +
      +
        +
      1. + ^ "God Save the Queen" is officially a national anthem but is generally used only on regal and viceregal occasions.[1]
      2. -
      3. - List of New Zealand-related topics +
      4. + ^ English is a de facto official language due to its widespread use.[2]
      5. -
    -

    - Footnotes -

    -
    -
      -
    1. - ^ "God Save the Queen" is officially a national anthem but is generally used only on regal and viceregal occasions.[1] -
    2. -
    3. - ^ English is a de facto official language due to its widespread use.[2] -
    4. -
    5. - ^ a b Ethnicity figures add to more than 100% as people could choose more than one ethnic group. -
    6. -
    7. - ^ The proportion of New Zealand's area (excluding estuaries) covered by rivers, lakes and ponds, based on figures from the New Zealand Land Cover Database,[4] is (357526 + 81936) / (26821559 – 92499–26033 – 19216) = 1.6%. If estuarine open water, mangroves, and herbaceous saline vegetation are included, the figure is 2.2%. -
    8. -
    9. - ^ The Chatham Islands have a separate time zone, 45 minutes ahead of the rest of New Zealand. -
    10. -
    11. - ^ Clocks are advanced by an hour from the last Sunday in September until the first Sunday in April.[9] Daylight saving time is also observed in the Chatham Islands, 45 minutes ahead of NZDT. -
    12. -
    13. - ^ A person born on or after 1 January 2006 acquires New Zealand citizenship at birth only if at least one parent is a New Zealand citizen or permanent resident. People born on or before 31 December 2005 acquired citizenship at birth (jus soli).[137] -
    14. -
    15. - ^ The population is increasing at a rate of 1.4–2.0% per year and is projected to rise to 5.01–5.51 million in 2025.[246] -
    16. -
    17. - ^ In 2015, 55% of Māori adults (aged 15 years and over) reported knowledge of te reo Māori. Of these speakers, 64% use Māori at home and 50,000 can speak the language "very well" or "well".[277] -
    18. -
    19. - ^ Of the 86,403 people that replied they spoke Samoan, 51,336 lived in the Auckland Region. -
    20. -
    21. - ^ Religion percentages may not add to 100% as people could claim multiple religions or object to answering the question. -
    22. -
    -
    -

    - Citations -

    -
    -
      -
    1. - ^ "Protocol for using New Zealand's National Anthems". Ministry for Culture and Heritage. Retrieved 17 February 2008. -
    2. -
    3. - ^ New Zealand Government (21 December 2007). International Covenant on Civil and Political Rights Fifth Periodic Report of the Government of New Zealand (PDF) (Report). p. 89. Archived from the original (PDF) on 24 January 2015. Retrieved 18 November 2015. In addition to the Māori language, New Zealand Sign Language is also an official language of New Zealand. The New Zealand Sign Language Act 2006 permits the use of NZSL in legal proceedings, facilitates competency standards for its interpretation and guides government departments in its promotion and use. English, the medium for teaching and learning in most schools, is a de facto official language by virtue of its widespread use. For these reasons, these three languages have special mention in the New Zealand Curriculum. -
    4. -
    5. - ^ "2018 Census population and dwelling counts". Statistics New Zealand. Retrieved 26 September 2019. -
    6. -
    7. - ^ "The New Zealand Land Cover Database". New Zealand Land Cover Database 2. Ministry for the Environment. 1 July 2009. Retrieved 26 April 2011. -
    8. -
    9. - ^ a b "Population clock". Statistics New Zealand. Retrieved 14 April 2016. The population estimate shown is automatically calculated daily at 00:00 UTC and is based on data obtained from the population clock on the date shown in the citation.
    10. -
    11. - ^ a b c d e "New Zealand". International Monetary Fund. Retrieved 9 October 2018. -
    12. -
    13. - ^ "Income inequality". Statistics New Zealand. Retrieved 14 June 2015. -
    14. -
    15. - ^ a b "Human Development Report 2018" (PDF). HDRO (Human Development Report Office) United Nations Development Programme. p. 22. Retrieved 14 September 2018. -
    16. -
    17. - ^ "New Zealand Daylight Time Order 2007 (SR 2007/185)". New Zealand Parliamentary Counsel Office. 6 July 2007. Retrieved 6 March 2017. -
    18. -
    19. - ^ There is no official all-numeric date format for New Zealand, but government recommendations generally follow Australian date and time notation. See "The Govt.nz style guide", New Zealand Government, 9 December 2016, retrieved 7 March 2019 .
    20. -
    21. - ^ Tasman, Abel. "JOURNAL or DESCRIPTION By me Abel Jansz Tasman, Of a Voyage from Batavia for making Discoveries of the Unknown South Land in the year 1642". Project Gutenberg Australia. Retrieved 26 March 2018. -
    22. -
    23. - ^ Wilson, John (March 2009). "European discovery of New Zealand – Tasman's achievement". Te Ara: The Encyclopedia of New Zealand. Retrieved 24 January 2011. -
    24. -
    25. - ^ John Bathgate. "The Pamphlet Collection of Sir Robert Stout:Volume 44. Chapter 1, Discovery and Settlement". NZETC. Retrieved 17 August 2018. He named the country Staaten Land, in honour of the States-General of Holland, in the belief that it was part of the great southern continent. -
    26. -
    27. - ^ Wilson, John (September 2007). "Tasman's achievement". Te Ara: The Encyclopedia of New Zealand. Retrieved 16 February 2008. -
    28. -
    29. - ^ Mackay, Duncan (1986). "The Search For The Southern Land". In Fraser, B (ed.). The New Zealand Book Of Events. Auckland: Reed Methuen. pp. 52–54. -
    30. -
    31. - ^ a b McKinnon, Malcolm (November 2009). "Place names – Naming the country and the main islands". Te Ara: The Encyclopedia of New Zealand. Retrieved 24 January 2011. -
    32. -
    33. - ^ King 2003, p. 41. -
    34. -
    35. - ^ Hay, Maclagan & Gordon 2008, p. 72. -
    36. -
    37. - ^ a b Mein Smith 2005, p. 6. -
    38. -
    39. - ^ Brunner, Thomas (1851). The Great Journey: an expedition to explore the interior of the Middle Island, New Zealand, 1846-8. Royal Geographical Society. -
    40. -
    41. - ^ a b Williamson, Maurice (10 October 2013). "Names of NZ's two main islands formalised" (Press release). New Zealand Government. Retrieved 1 May 2017. -
    42. -
    43. - ^ Wilmshurst, J. M.; Hunt, T. L.; Lipo, C. P.; Anderson, A. J. (2010). "High-precision radiocarbon dating shows recent and rapid initial human colonization of East Polynesia". Proceedings of the National Academy of Sciences. 108 (5): 1815. Bibcode:2011PNAS..108.1815W. doi:10.1073/pnas.1015876108. PMC 3033267. PMID 21187404. -
    44. -
    45. - ^ McGlone, M.; Wilmshurst, J. M. (1999). "Dating initial Maori environmental impact in New Zealand". Quaternary International. 59: 5–16. Bibcode:1999QuInt..59....5M. doi:10.1016/S1040-6182(98)00067-6. -
    46. -
    47. - ^ Murray-McIntosh, Rosalind P.; Scrimshaw, Brian J.; Hatfield, Peter J.; Penny, David (1998). "Testing migration patterns and estimating founding population size in Polynesia by using human mtDNA sequences". Proceedings of the National Academy of Sciences of the United States of America. 95 (15): 9047–52. Bibcode:1998PNAS...95.9047M. doi:10.1073/pnas.95.15.9047. PMC 21200. -
    48. -
    49. - ^ Wilmshurst, J. M.; Anderson, A. J.; Higham, T. F. G.; Worthy, T. H. (2008). "Dating the late prehistoric dispersal of Polynesians to New Zealand using the commensal Pacific rat". Proceedings of the National Academy of Sciences. 105 (22): 7676. Bibcode:2008PNAS..105.7676W. doi:10.1073/pnas.0801507105. PMC 2409139. PMID 18523023. -
    50. -
    51. - ^ Moodley, Y.; Linz, B.; Yamaoka, Y.; Windsor, H.M.; Breurec, S.; Wu, J.-Y.; Maady, A.; Bernhöft, S.; Thiberge, J.-M.; et al. (2009). "The Peopling of the Pacific from a Bacterial Perspective". Science. 323 (5913): 527–530. Bibcode:2009Sci...323..527M. doi:10.1126/science.1166083. PMC 2827536. PMID 19164753. -
    52. -
    53. - ^ Ballara, Angela (1998). Iwi: The Dynamics of Māori Tribal Organisation from c. 1769 to c. 1945 (1st ed.). Wellington: Victoria University Press. ISBN 9780864733283. -
    54. -
    55. - ^ Clark, Ross (1994). "Moriori and Māori: The Linguistic Evidence". In Sutton, Douglas (ed.). The Origins of the First New Zealanders. Auckland: Auckland University Press. pp. 123–135. -
    56. -
    57. - ^ Davis, Denise (September 2007). "The impact of new arrivals". Te Ara: The Encyclopedia of New Zealand. Retrieved 30 April 2010. -
    58. -
    59. - ^ Davis, Denise; Solomon, Māui (March 2009). "'Moriori – The impact of new arrivals'". Te Ara: The Encyclopedia of New Zealand. Retrieved 23 March 2011. -
    60. -
    61. - ^ a b Mein Smith 2005, p. 23. -
    62. -
    63. - ^ Salmond, Anne. Two Worlds: First Meetings Between Maori and Europeans 1642–1772. Auckland: Penguin Books. p. 82. ISBN 0-670-83298-7. -
    64. -
    65. - ^ King 2003, p. 122. -
    66. -
    67. - ^ Fitzpatrick, John (2004). "Food, warfare and the impact of Atlantic capitalism in Aotearo/New Zealand" (PDF). Australasian Political Studies Association Conference: APSA 2004 Conference Papers. Archived from the original (PDF) on 11 May 2011. -
    68. -
    69. - ^ Brailsford, Barry (1972). Arrows of Plague. Wellington: Hick Smith and Sons. p. 35. ISBN 0-456-01060-2. -
    70. -
    71. - ^ Wagstrom, Thor (2005). "Broken Tongues and Foreign Hearts". In Brock, Peggy (ed.). Indigenous Peoples and Religious Change. Boston: Brill Academic Publishers. pp. 71 and 73. ISBN 978-90-04-13899-5. -
    72. -
    73. - ^ Lange, Raeburn (1999). May the people live: a history of Māori health development 1900–1920. Auckland University Press. p. 18. ISBN 978-1-86940-214-3. -
    74. -
    75. - ^ "A Nation sub-divided". Australian Heritage. Heritage Australia Publishing. 2011. Archived from the original on 28 February 2015. Retrieved 27 December 2014. -
    76. -
    77. - ^ a b Rutherford, James (April 2009) [originally published in 1966]. McLintock, Alexander (ed.). Busby, James. An Encyclopaedia of New Zealand. Retrieved 7 January 2011. -
    78. -
    79. - ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. Sir George Gipps. An Encyclopaedia of New Zealand. Retrieved 7 January 2011. -
    80. -
    81. - ^ a b Wilson, John (March 2009). "Government and nation – The origins of nationhood". Te Ara: The Encyclopedia of New Zealand. Retrieved 7 January 2011. -
    82. -
    83. - ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. Settlement from 1840 to 1852. An Encyclopaedia of New Zealand. Retrieved 7 January 2011. -
    84. -
    85. - ^ Foster, Bernard (April 2009) [originally published in 1966]. McLintock, Alexander (ed.). Akaroa, French Settlement At. An Encyclopaedia of New Zealand. Retrieved 7 January 2011. -
    86. -
    87. - ^ Simpson, K (September 2010). "Hobson, William – Biography". In McLintock, Alexander (ed.). Dictionary of New Zealand Biography. An Encyclopaedia of New Zealand. Retrieved 7 January 2011. -
    88. -
    89. - ^ Phillips, Jock (April 2010). "British immigration and the New Zealand Company". Te Ara: The Encyclopedia of New Zealand. Retrieved 7 January 2011. -
    90. -
    91. - ^ "Crown colony era – the Governor-General". Ministry for Culture and Heritage. March 2009. Retrieved 7 January 2011. -
    92. -
    93. - ^ "New Zealand's 19th-century wars – overview". Ministry for Culture and Heritage. April 2009. Retrieved 7 January 2011. -
    94. -
    95. - ^ a b c d Wilson, John (March 2009). "Government and nation – The constitution". Te Ara: The Encyclopedia of New Zealand. Retrieved 2 February 2011. See pages 2 and 3.
    96. -
    97. - ^ Temple, Philip (1980). Wellington Yesterday. John McIndoe. ISBN 0-86868-012-5. -
    98. -
    99. - ^ "Parliament moves to Wellington". Ministry for Culture and Heritage. January 2017. Retrieved 27 April 2017. -
    100. -
    101. - ^ a b Wilson, John (March 2009). "History – Liberal to Labour". Te Ara: The Encyclopedia of New Zealand. Retrieved 27 April 2017. -
    102. -
    103. - ^ Hamer, David. "Seddon, Richard John". Dictionary of New Zealand Biography. Ministry for Culture and Heritage. Retrieved 27 April 2017. -
    104. -
    105. - ^ Boxall, Peter; Haynes, Peter (1997). "Strategy and Trade Union Effectiveness in a Neo-liberal Environment". British Journal of Industrial Relations. 35 (4): 567–591. doi:10.1111/1467-8543.00069. Archived from the original (PDF) on 11 May 2011. -
    106. -
    107. - ^ "Proclamation". The London Gazette. No. 28058. 10 September 1907. p. 6149. -
    108. -
    109. - ^ "Dominion status – Becoming a dominion". Ministry for Culture and Heritage. September 2014. Retrieved 26 April 2017. -
    110. -
    111. - ^ "War and Society". Ministry for Culture and Heritage. Retrieved 7 January 2011. -
    112. -
    113. - ^ Easton, Brian (April 2010). "Economic history – Interwar years and the great depression". Te Ara: The Encyclopedia of New Zealand. Retrieved 7 January 2011. -
    114. -
    115. - ^ Derby, Mark (May 2010). "Strikes and labour disputes – Wars, depression and first Labour government". Te Ara: The Encyclopedia of New Zealand. Retrieved 1 February 2011. -
    116. -
    117. - ^ Easton, Brian (November 2010). "Economic history – Great boom, 1935–1966". Te Ara: The Encyclopedia of New Zealand. Retrieved 1 February 2011. -
    118. -
    119. - ^ Keane, Basil (November 2010). "Te Māori i te ohanga – Māori in the economy – Urbanisation". Te Ara: The Encyclopedia of New Zealand. Retrieved 7 January 2011. -
    120. -
    121. - ^ Royal, Te Ahukaramū (March 2009). "Māori – Urbanisation and renaissance". Te Ara: The Encyclopedia of New Zealand. Retrieved 1 February 2011. -
    122. -
    123. - ^ Healing the past, building a future: A Guide to Treaty of Waitangi Claims and Negotiations with the Crown (PDF). Office of Treaty Settlements. March 2015. ISBN 978-0-478-32436-5. Retrieved 26 April 2017. -
    124. -
    125. - ^ Report on the Crown's Foreshore and Seabed Policy (Report). Ministry of Justice. Retrieved 26 April 2017. -
    126. -
    127. - ^ Barker, Fiona (June 2012). "Debate about the foreshore and seabed". Te Ara: The Encyclopedia of New Zealand. Retrieved 26 April 2017. -
    128. -
    129. - ^ a b "New Zealand's Constitution". The Governor-General of New Zealand. Retrieved 13 January 2010. -
    130. -
    131. - ^ a b c "Factsheet – New Zealand – Political Forces". The Economist. The Economist Group. 15 February 2005. Archived from the original on 14 May 2006. Retrieved 4 August 2009. -
    132. -
    133. - ^ "Royal Titles Act 1974". New Zealand Parliamentary Counsel Office. February 1974. Section 1. Retrieved 8 January 2011. -
    134. -
    135. - ^ "Constitution Act 1986". New Zealand Parliamentary Counsel Office. 1 January 1987. Section 2.1. Retrieved 15 July 2018. The Sovereign in right of New Zealand is the head of State of New Zealand, and shall be known by the royal style and titles proclaimed from time to time. -
    136. -
    137. - ^ "The Role of the Governor-General". The Governor-General of New Zealand. Retrieved 6 July 2017. -
    138. -
    139. - ^ Harris, Bruce (2009). "Replacement of the Royal Prerogative in New Zealand". New Zealand Universities Law Review. 23: 285–314. Archived from the original on 18 July 2011. Retrieved 28 August 2016. -
    140. -
    141. - ^ a b "The Reserve Powers". The Governor-General of New Zealand. Retrieved 8 January 2011. -
    142. -
    143. - ^ a b c d "Parliament Brief: What is Parliament?". New Zealand Parliament. Retrieved 30 November 2016. -
    144. -
    145. - ^ McLean, Gavin (February 2015). "Premiers and prime ministers". Te Ara: The Encyclopedia of New Zealand. Retrieved 30 November 2016. -
    146. -
    147. - ^ Wilson, John (November 2010). "Government and nation – System of government". Te Ara: The Encyclopedia of New Zealand. Retrieved 9 January 2011. -
    148. -
    149. - ^ "Principles of Cabinet decision making". Cabinet Manual. Department of the Prime Minister and Cabinet. 2008. Retrieved 1 December 2016. -
    150. -
    151. - ^ "The electoral cycle". Cabinet Manual. Department of the Prime Minister and Cabinet. 2008. Retrieved 30 April 2017. -
    152. -
    153. - ^ a b "First past the post – the road to MMP". Ministry for Culture and Heritage. September 2009. Retrieved 9 January 2011. -
    154. -
    155. - ^ "Reviewing electorate numbers and boundaries". Electoral Commission. 8 May 2005. Archived from the original on 9 November 2011. Retrieved 7 July 2018. -
    156. -
    157. - ^ "Sainte-Laguë allocation formula". Electoral Commission. 4 February 2013. Retrieved 31 May 2014. -
    158. -
    159. - ^ Paxton, Pamela; Hughes, Melanie M. (2015). Women, Politics, and Power: A Global Perspective. CQ Press. p. 107. ISBN 978-1-48-337701-8. Retrieved 25 July 2017. -
    160. -
    161. - ^ "Jacinda Ardern sworn in as new Prime Minister". New Zealand Herald. 26 October 2017. Retrieved 26 October 2017. -
    162. -
    163. - ^ "Female political leaders have been smashing glass ceilings for ages". Stuff.co.nz. Fairfax NZ. 27 October 2017. Retrieved 19 July 2018. -
    164. -
    165. - ^ "Role of the Chief Justice". Courts of New Zealand. Retrieved 9 June 2018. -
    166. -
    167. - ^ "Structure of the court system". Courts of New Zealand. Retrieved 9 June 2018. -
    168. -
    169. - ^ "The Judiciary". Ministry of Justice. Archived from the original on 24 November 2010. Retrieved 9 January 2011. -
    170. -
    171. - ^ "The Fragile States Index 2016". The Fund for Peace. Archived from the original on 4 February 2017. Retrieved 30 November 2016. -
    172. -
    173. - ^ "Democracy Index 2017" (PDF). Economist Intelligence Unit. 2018. p. 5. Retrieved 9 December 2018. -
    174. -
    175. - ^ "Corruption Perceptions Index 2017". Transparency International. 21 February 2018. Retrieved 9 December 2018. -
    176. -
    177. - ^ "New Zealand". Country Reports on Human Rights Practices for 2017. United States Department of State. Retrieved 9 December 2018. -
    178. -
    179. - ^ "New Zealand". OECD Better Life Index. 2016. Retrieved 30 November 2016. -
    180. -
    181. - ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. External Relations. An Encyclopaedia of New Zealand. Retrieved 7 January 2011. -
    182. -
    183. - ^ "Michael Joseph Savage". Ministry for Culture and Heritage. July 2010. Retrieved 29 January 2011. -
    184. -
    185. - ^ Patman, Robert (2005). "Globalisation, Sovereignty, and the Transformation of New Zealand Foreign Policy" (PDF). Working Paper 21/05. Centre for Strategic Studies, Victoria University of Wellington. p. 8. Archived from the original (PDF) on 25 September 2007. Retrieved 12 March 2007. -
    186. -
    187. - ^ "Department Of External Affairs: Security Treaty between Australia, New Zealand and the United States of America". Australian Government. September 1951. Archived from the original on 29 June 2011. Retrieved 11 January 2011. -
    188. -
    189. - ^ "The Vietnam War". New Zealand History. Ministry for Culture and Heritage. June 2008. Retrieved 11 January 2011. -
    190. -
    191. - ^ "Sinking the Rainbow Warrior – nuclear-free New Zealand". New Zealand History. Ministry for Culture and Heritage. August 2008. Retrieved 11 January 2011. -
    192. -
    193. - ^ "Nuclear-free legislation – nuclear-free New Zealand". New Zealand History. Ministry for Culture and Heritage. August 2008. Retrieved 11 January 2011. -
    194. -
    195. - ^ Lange, David (1990). Nuclear Free: The New Zealand Way. New Zealand: Penguin Books. ISBN 0-14-014519-2. -
    196. -
    197. - ^ "Australia in brief". Australian Department of Foreign Affairs and Trade. Archived from the original on 22 December 2010. Retrieved 11 January 2011. -
    198. -
    199. - ^ a b "New Zealand country brief". Australian Department of Foreign Affairs and Trade. Retrieved 11 January 2011. -
    200. -
    201. - ^ Collett, John (4 September 2013). "Kiwis face hurdles in pursuit of lost funds". Retrieved 4 October 2013. -
    202. -
    203. - ^ Bertram, Geoff (April 2010). "South Pacific economic relations – Aid, remittances and tourism". Te Ara: The Encyclopedia of New Zealand. Retrieved 11 January 2011. -
    204. -
    205. - ^ Howes, Stephen (November 2010). "Making migration work: Lessons from New Zealand". Development Policy Centre. Retrieved 23 March 2011. -
    206. -
    207. - ^ Ayele, Yoseph (28 September 2017). "The Growing Momentum for Global Impact in New Zealand". Edmund Hillary Fellowship. Retrieved 9 July 2019. -
    208. -
    209. - ^ "Member States of the United Nations". United Nations. Retrieved 11 January 2011. -
    210. -
    211. - ^ "New Zealand". The Commonwealth. Retrieved 1 December 2016. -
    212. -
    213. - ^ "Members and partners". Organisation for Economic Co-operation and Development. Retrieved 11 January 2011. -
    214. -
    215. - ^ "The future of the Five Power Defence Arrangements". The Strategist. 8 November 2012. Retrieved 1 December 2016. -
    216. -
    217. - ^ "About Us: Role and Responsibilities". New Zealand Defence Force. Retrieved 11 January 2011. -
    218. -
    219. - ^ Ayson, Robert (2007). "New Zealand Defence and Security Policy,1990–2005". In Alley, Roderic (ed.). New Zealand In World Affairs, Volume IV: 1990–2005. Wellington: Victoria University Press. p. 132. ISBN 978-0-86473-548-5. -
    220. -
    221. - ^ "The Battle for Crete". New Zealand History. Ministry for Culture and Heritage. May 2010. Retrieved 9 January 2011. -
    222. -
    223. - ^ "El Alamein – The North African Campaign". New Zealand History. Ministry for Culture and Heritage. May 2009. Retrieved 9 January 2011. -
    224. -
    225. - ^ Holmes, Richard (September 2010). "World War Two: The Battle of Monte Cassino". Retrieved 9 January 2011. -
    226. -
    227. - ^ "Gallipoli stirred new sense of national identity says Clark". New Zealand Herald. April 2005. Retrieved 9 January 2011. -
    228. -
    229. - ^ Prideaux, Bruce (2007). Ryan, Chris (ed.). Battlefield tourism: history, place and interpretation. Elsevier Science. p. 18. ISBN 978-0-08-045362-0. -
    230. -
    231. - ^ Burke, Arthur. "The Spirit of ANZAC". ANZAC Day Commemoration Committee. Archived from the original on 26 December 2010. Retrieved 11 January 2011. -
    232. -
    233. - ^ "South African War 1899–1902". Ministry for Culture and Heritage. February 2009. Retrieved 11 January 2011. -
    234. -
    235. - ^ "New Zealand in the Korean War". New Zealand History. Ministry for Culture and Heritage. Retrieved 1 December 2016. -
    236. -
    237. - ^ "NZ and the Malayan Emergency". Ministry for Culture and Heritage. August 2010. Retrieved 11 January 2011. -
    238. -
    239. - ^ "New Zealand Defence Force Overseas Operations". New Zealand Defence Force. January 2008. Archived from the original on 25 January 2008. Retrieved 17 February 2008. -
    240. -
    241. - ^ a b "New Zealand's Nine Provinces (1853–76)" (PDF). Friends of the Hocken Collections. University of Otago. March 2000. Retrieved 13 January 2011. -
    242. -
    243. - ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. Provincial Divergencies. An Encyclopaedia of New Zealand. Retrieved 7 January 2011. -
    244. -
    245. - ^ Swarbrick, Nancy (September 2016). "Public holidays". Te Ara: The Encyclopedia of New Zealand. Retrieved 25 June 2017. -
    246. -
    247. - ^ "Overview – regional rugby". Ministry for Culture and Heritage. September 2010. Retrieved 13 January 2011. -
    248. -
    249. - ^ Dollery, Brian; Keogh, Ciaran; Crase, Lin (2007). "Alternatives to Amalgamation in Australian Local Government: Lessons from the New Zealand Experience" (PDF). Sustaining Regions. 6 (1): 50–69. Archived from the original (PDF) on 29 August 2007. -
    250. -
    251. - ^ a b c Sancton, Andrew (2000). Merger mania: the assault on local government. McGill-Queen's University Press. p. 84. ISBN 0-7735-2163-1. -
    252. -
    253. - ^ "Subnational population estimates at 30 June 2010 (boundaries at 1 November 2010)". Statistics New Zealand. 26 October 2010. Archived from the original on 10 June 2011. Retrieved 2 April 2011. -
    254. -
    255. - ^ Smelt & Jui Lin 2009, p. 33. -
    256. -
    257. - ^ a b "Glossary". Department of Internal Affairs. Retrieved 28 August 2016. -
    258. -
    259. - ^ "Chatham Islands Council Act 1995 No 41". New Zealand Parliamentary Counsel Office. 29 July 1995. Retrieved 8 August 2017. -
    260. -
    261. - ^ Gimpel, Diane (2011). Monarchies. ABDO Publishing Company. p. 22. ISBN 978-1-617-14792-0. Retrieved 18 November 2016. -
    262. -
    263. - ^ "System of Government". Government of Niue. Archived from the original on 13 November 2010. Retrieved 13 January 2010. -
    264. -
    265. - ^ "Government – Structure, Personnel". Government of the Cook Islands. Retrieved 13 January 2010. -
    266. -
    267. - ^ "Tokelau Government". Government of Tokelau. Retrieved 16 November 2016. -
    268. -
    269. - ^ "Scott Base". Antarctica New Zealand. Retrieved 13 January 2010. -
    270. -
    271. - ^ "Citizenship Act 1977 No 61". Zealand Parliamentary Counsel Office. 1 December 1977. Retrieved 26 May 2017. -
    272. -
    273. - ^ "Check if you're a New Zealand citizen". Department of Internal Affairs. Retrieved 20 January 2015. -
    274. -
    275. - ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. The Sea Floor. An Encyclopaedia of New Zealand. Retrieved 13 January 2011. -
    276. -
    277. - ^ "Hauraki Gulf islands". Auckland City Council. Archived from the original on 25 December 2010. Retrieved 13 January 2011. -
    278. -
    279. - ^ Hindmarsh (2006). "Discovering D'Urville". Heritage New Zealand. Archived from the original on 11 May 2011. Retrieved 13 January 2011. -
    280. -
    281. - ^ "Distance tables". Auckland Coastguard. Archived from the original on 23 January 2011. Retrieved 2 March 2011. -
    282. -
    283. - ^ McKenzie, D. W. (1987). Heinemann New Zealand atlas. Heinemann Publishers. ISBN 0-7900-0187-X. -
    284. -
    285. - ^ a b c d e f "CIA – The World Factbook". Cia.gov. Retrieved 4 May 2013. -
    286. -
    287. - ^ "Geography". Statistics New Zealand. 1999. Archived from the original on 22 May 2010. Retrieved 21 December 2009. -
    288. -
    289. - ^ Offshore Options: Managing Environmental Effects in New Zealand's Exclusive Economic Zone (PDF). Wellington: Ministry for the Environment. 2005. ISBN 0-478-25916-6. Retrieved 23 June 2017. -
    290. -
    291. - ^ Coates, Glen (2002). The rise and fall of the Southern Alps. Canterbury University Press. p. 15. ISBN 0-908812-93-0. -
    292. -
    293. - ^ Garden 2005, p. 52. -
    294. -
    295. - ^ Grant, David (March 2009). "Southland places – Fiordland's coast". Te Ara: The Encyclopedia of New Zealand. Retrieved 14 January 2011. -
    296. -
    297. - ^ "Central North Island volcanoes". Department of Conservation. Archived from the original on 29 December 2010. Retrieved 14 January 2011. -
    298. -
    299. - ^ Walrond, Carl (March 2009). "Natural environment – Geography and geology". Te Ara: The Encyclopedia of New Zealand. Retrieved 14 January 2010. -
    300. -
    301. - ^ "Taupo". GNS Science. Archived from the original on 24 March 2011. Retrieved 2 April 2011. -
    302. -
    303. - ^ a b Lewis, Keith; Nodder, Scott; Carter, Lionel (March 2009). "Sea floor geology – Active plate boundaries". Te Ara: The Encyclopedia of New Zealand. Retrieved 4 February 2011. -
    304. -
    305. - ^ Wallis, G. P.; Trewick, S. A. (2009). "New Zealand phylogeography: evolution on a small continent". Molecular Ecology. 18 (17): 3548–3580. doi:10.1111/j.1365-294X.2009.04294.x. PMID 19674312. -
    306. -
    307. - ^ Wright, Dawn; Bloomer, Sherman; MacLeod, Christopher; Taylor, Brian; Goodliffe, Andrew (2000). "Bathymetry of the Tonga Trench and Forearc: A Map Series". Marine Geophysical Researches. 21 (5): 489–512. Bibcode:2000MarGR..21..489W. doi:10.1023/A:1026514914220. -
    308. -
    309. - ^ "Australasia". New Zealand Oxford Dictionary. Oxford University Press. 2005. doi:10.1093/acref/9780195584516.001.0001. ISBN 9780195584516. -
    310. -
    311. - ^ Hobbs, Joseph J. (2016). Fundamentals of World Regional Geography. Cengage Learning. p. 367. ISBN 9781305854956. -
    312. -
    313. - ^ Hillstrom, Kevin; Hillstrom, Laurie Collier (2003). Australia, Oceania, and Antarctica: A Continental Overview of Environmental Issues. 3. ABC-CLIO. p. 25. ISBN 9781576076941. …defined here as the continent nation of Australia, New Zealand, and twenty-two other island countries and territories sprinkled over more than 40 million square kilometres of the South Pacific. -
    314. -
    315. - ^ a b Mullan, Brett; Tait, Andrew; Thompson, Craig (March 2009). "Climate – New Zealand's climate". Te Ara: The Encyclopedia of New Zealand. Retrieved 15 January 2011. -
    316. -
    317. - ^ "Summary of New Zealand climate extremes". National Institute of Water and Atmospheric Research. 2004. Retrieved 30 April 2010. -
    318. -
    319. - ^ Walrond, Carl (March 2009). "Natural environment – Climate". Te Ara: The Encyclopedia of New Zealand. Retrieved 15 January 2011. -
    320. -
    321. - ^ "Mean monthly rainfall". National Institute of Water and Atmospheric Research. Archived from the original (XLS) on 3 May 2011. Retrieved 4 February 2011. -
    322. -
    323. - ^ "Mean monthly sunshine hours". National Institute of Water and Atmospheric Research. Archived from the original (XLS) on 15 October 2008. Retrieved 4 February 2011. -
    324. -
    325. - ^ "New Zealand climate and weather". Tourism New Zealand. Retrieved 13 November 2016. -
    326. -
    327. - ^ "Climate data and activities". National Institute of Water and Atmospheric Research. Retrieved 11 February 2016. -
    328. -
    329. - ^ Cooper, R.; Millener, P. (1993). "The New Zealand biota: Historical background and new research". Trends in Ecology & Evolution. 8 (12): 429. doi:10.1016/0169-5347(93)90004-9. -
    330. -
    331. - ^ Trewick SA, Morgan-Richards M. 2014. New Zealand Wild Life. Penguin, New Zealand. - ISBN 9780143568896 -
    332. -
    333. - ^ Lindsey, Terence; Morris, Rod (2000). Collins Field Guide to New Zealand Wildlife. HarperCollins (New Zealand) Limited. p. 14. ISBN 978-1-86950-300-0. -
    334. -
    335. - ^ a b "Frequently asked questions about New Zealand plants". New Zealand Plant Conservation Network. May 2010. Retrieved 15 January 2011. -
    336. -
    337. - ^ De Lange, Peter James; Sawyer, John William David & Rolfe, Jeremy (2006). New Zealand indigenous vascular plant checklist. New Zealand Plant Conservation Network. ISBN 0-473-11306-6. -
    338. -
    339. - ^ Wassilieff, Maggy (March 2009). "Lichens – Lichens in New Zealand". Te Ara: The Encyclopedia of New Zealand. Retrieved 16 January 2011. -
    340. -
    341. - ^ McLintock, Alexander, ed. (April 2010) [originally published in 1966]. Mixed Broadleaf Podocarp and Kauri Forest. An Encyclopaedia of New Zealand. Retrieved 15 January 2011. -
    342. -
    343. - ^ Mark, Alan (March 2009). "Grasslands – Tussock grasslands". Te Ara: The Encyclopedia of New Zealand. Retrieved 17 January 2010. -
    344. -
    345. - ^ "Commentary on Forest Policy in the Asia-Pacific Region (A Review for Indonesia, Malaysia, New Zealand, Papua New Guinea, Philippines, Thailand and Western Samoa)". Forestry Department. 1997. Retrieved 4 February 2011. -
    346. -
    347. - ^ McGlone, M.S. (1989). "The Polynesian settlement of New Zealand in relation to environmental and biotic changes" (PDF). New Zealand Journal of Ecology. 12(S): 115–129. Archived from the original (PDF) on 17 July 2014. -
    348. -
    349. - ^ Taylor, R. and Smith, I. (1997). The state of New Zealand’s environment 1997. Ministry for the Environment, Wellington. -
    350. -
    351. - ^ "New Zealand ecology: Flightless birds". TerraNature. Retrieved 17 January 2011. -
    352. -
    353. - ^ a b Holdaway, Richard (March 2009). "Extinctions – New Zealand extinctions since human arrival". Te Ara: The Encyclopedia of New Zealand. Retrieved 4 February 2011. -
    354. -
    355. - ^ Kirby, Alex (January 2005). "Huge eagles 'dominated NZ skies'". BBC News. Retrieved 4 February 2011. -
    356. -
    357. - ^ "Reptiles and frogs". Department of Conservation. Archived from the original on 29 January 2015. Retrieved 25 June 2017. -
    358. -
    359. - ^ Pollard, Simon (September 2007). "Spiders and other arachnids". Te Ara: The Encyclopedia of New Zealand. Retrieved 25 June 2017. -
    360. -
    361. - ^ "Wētā". Department of Conservation. Retrieved 25 June 2017. -
    362. -
    363. - ^ Ryan, Paddy (March 2009). "Snails and slugs – Flax snails, giant snails and veined slugs". Te Ara: The Encyclopedia of New Zealand. Retrieved 4 February 2011. -
    364. -
    365. - ^ Herrera-Flores, Jorge A.; Stubbs, Thomas L.; Benton, Michael J.; Ruta, Marcello (May 2017). "Macroevolutionary patterns in Rhynchocephalia: is the tuatara (Sphenodon punctatus) a living fossil?". Palaeontology. 60 (3): 319–328. doi:10.1111/pala.12284. -
    366. -
    367. - ^ "Tiny Bones Rewrite Textbooks, first New Zealand land mammal fossil". University of New South Wales. 31 May 2007. Archived from the original on 31 May 2007. -
    368. -
    369. - ^ Worthy, Trevor H.; Tennyson, Alan J. D.; Archer, Michael; Musser, Anne M.; Hand, Suzanne J.; Jones, Craig; Douglas, Barry J.; McNamara, James A.; Beck, Robin M. D. (2006). "Miocene mammal reveals a Mesozoic ghost lineage on insular New Zealand, southwest Pacific". Proceedings of the National Academy of Sciences of the United States of America. 103 (51): 19419–23. Bibcode:2006PNAS..10319419W. doi:10.1073/pnas.0605684103. PMC 1697831. PMID 17159151. -
    370. -
    371. - ^ "Marine Mammals". Department of Conservation. Archived from the original on 8 March 2011. Retrieved 17 January 2011. -
    372. -
    373. - ^ "Sea and shore birds". Department of Conservation. Retrieved 7 March 2011. -
    374. -
    375. - ^ "Penguins". Department of Conservation. Retrieved 7 March 2011. -
    376. -
    377. - ^ Jones, Carl (2002). "Reptiles and Amphibians". In Perrow, Martin; Davy, Anthony (eds.). Handbook of ecological restoration: Principles of Restoration. 2. Cambridge University Press. p. 362. ISBN 0-521-79128-6. -
    378. -
    379. - ^ Towns, D.; Ballantine, W. (1993). "Conservation and restoration of New Zealand Island ecosystems". Trends in Ecology & Evolution. 8 (12): 452. doi:10.1016/0169-5347(93)90009-E. -
    380. -
    381. - ^ Rauzon, Mark (2008). "Island restoration: Exploring the past, anticipating the future" (PDF). Marine Ornithology. 35: 97–107. -
    382. -
    383. - ^ Diamond, Jared (1990). Towns, D; Daugherty, C; Atkinson, I (eds.). New Zealand as an archipelago: An international perspective (PDF). Wellington: Conservation Sciences Publication No. 2. Department of Conservation. pp. 3–8. -
    384. -
    385. - ^ World Economic Outlook. International Monetary Fund. April 2018. p. 63. ISBN 978-1-48434-971-7. Retrieved 21 June 2018. -
    386. -
    387. - ^ "Rankings on Economic Freedom". The Heritage Foundation. 2016. Retrieved 30 November 2016. -
    388. -
    389. - ^ "Currencies of the territories listed in the BS exchange rate lists". Bank of Slovenia. Retrieved 22 January 2011. -
    390. -
    391. - ^ a b c McLintock, Alexander, ed. (November 2009) [originally published in 1966]. Historical evolution and trade patterns. An Encyclopaedia of New Zealand. Retrieved 10 February 2011. -
    392. -
    393. - ^ Stringleman, Hugh; Peden, Robert (October 2009). "Sheep farming – Growth of the frozen meat trade, 1882–2001". Te Ara: The Encyclopedia of New Zealand. Retrieved 6 May 2010. -
    394. -
    395. - ^ Baker, John (February 2010) [1966]. McLintock, Alexander (ed.). Some Indicators of Comparative Living Standards. An Encyclopaedia of New Zealand. Retrieved 30 April 2010. - PDF Table -
    396. -
    397. - ^ Wilson, John (March 2009). "History – The later 20th century". Te Ara: The Encyclopedia of New Zealand. Retrieved 2 February 2011. -
    398. -
    399. - ^ Nixon, Chris; Yeabsley, John (April 2010). "Overseas trade policy – Difficult times – the 1970s and early 1980s". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. -
    400. -
    401. - ^ Evans, N. "Up From Down Under: After a Century of Socialism, Australia and New Zealand are Cutting Back Government and Freeing Their Economies". National Review. 46 (16): 47–51. -
    402. -
    403. - ^ Trade, Food Security, and Human Rights: The Rules for International Trade in Agricultural Products and the Evolving World Food Crisis. Routledge. 2016. p. 125. ISBN 9781317008521. -
    404. -
    405. - ^ Wayne Arnold (2 August 2007). "Surviving Without Subsidies". The New York Times. Retrieved 11 August 2015. ... ever since a liberal but free-market government swept to power in 1984 and essentially canceled handouts to farmers ... They went cold turkey and in the process it was very rough on their farming economy -
    406. -
    407. - ^ Easton, Brian (November 2010). "Economic history – Government and market liberalisation". Te Ara: The Encyclopedia of New Zealand. Retrieved 1 February 2011. -
    408. -
    409. - ^ Hazledine, Tim (1998). Taking New Zealand Seriously: The Economics of Decency (PDF). HarperCollins Publishers. ISBN 1-86950-283-3. Archived from the original (PDF) on 10 May 2011. -
    410. -
    411. - ^ "NZ tops Travellers' Choice Awards". Stuff Travel. May 2008. Retrieved 30 April 2010. -
    412. -
    413. - ^ a b c "Unemployment: the Social Report 2016 – Te pūrongo oranga tangata". Ministry of Social Development. Retrieved 18 August 2017. -
    414. -
    415. - ^ "New Zealand Takes a Pause in Cutting Rates". The New York Times. 10 June 2009. Retrieved 30 April 2010. -
    416. -
    417. - ^ "New Zealand's slump longest ever". BBC News. 26 June 2009. Retrieved 30 April 2010. -
    418. -
    419. - ^ Bascand, Geoff (February 2011). "Household Labour Force Survey: December 2010 quarter – Media Release". Statistics New Zealand. Archived from the original on 29 April 2011. Retrieved 4 February 2011. -
    420. -
    421. - ^ Davenport, Sally (2004). "Panic and panacea: brain drain and science and technology human capital policy". Research Policy. 33 (4): 617–630. doi:10.1016/j.respol.2004.01.006. -
    422. -
    423. - ^ O'Hare, Sean (September 2010). "New Zealand brain-drain worst in world". The Daily Telegraph. United Kingdom. -
    424. -
    425. - ^ Collins, Simon (March 2005). "Quarter of NZ's brightest are gone". New Zealand Herald. -
    426. -
    427. - ^ Winkelmann, Rainer (2000). "The labour market performance of European immigrants in New Zealand in the 1980s and 1990s". The International Migration Review. The Center for Migration Studies of New York. 33 (1): 33–58. doi:10.2307/2676011. JSTOR 2676011. Journal subscription required
    428. -
    429. - ^ Bain 2006, p. 44. -
    430. -
    431. - ^ "GII 2016 Report" (PDF). Global Innovation Index. Retrieved 21 June 2018. -
    432. -
    433. - ^ Groser, Tim (March 2009). "Speech to ASEAN-Australia-New Zealand Free Trade Agreement Seminars". New Zealand Government. Retrieved 30 January 2011. -
    434. -
    435. - ^ "Improving Access to Markets:Agriculture". New Zealand Ministry of Foreign Affairs and Trade. Retrieved 22 January 2011. -
    436. -
    437. - ^ "Standard International Trade Classification R4 – Exports (Annual-Jun)". Statistics New Zealand. April 2015. Retrieved 3 April 2015. -
    438. -
    439. - ^ a b c "Goods and services trade by country: Year ended June 2018 – corrected". Statistics New Zealand. Retrieved 17 February 2019. -
    440. -
    441. - ^ "China and New Zealand sign free trade deal". The New York Times. April 2008. -
    442. -
    443. - ^ a b "Key Tourism Statistics" (PDF). Ministry of Business, Innovation and Employment. 26 April 2017. Retrieved 26 April 2017. -
    444. -
    445. - ^ Easton, Brian (March 2009). "Economy – Agricultural production". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. -
    446. -
    447. - ^ Stringleman, Hugh; Peden, Robert (March 2009). "Sheep farming – Changes from the 20th century". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. -
    448. -
    449. - ^ Stringleman, Hugh; Scrimgeour, Frank (November 2009). "Dairying and dairy products – Dairying in the 2000s". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. -
    450. -
    451. - ^ Stringleman, Hugh; Scrimgeour, Frank (March 2009). "Dairying and dairy products – Dairy exports". Te Ara: The Encyclopedia of New Zealand. Retrieved 4 February 2011. -
    452. -
    453. - ^ Stringleman, Hugh; Scrimgeour, Frank (March 2009). "Dairying and dairy products – Manufacturing and marketing in the 2000s". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. -
    454. -
    455. - ^ Dalley, Bronwyn (March 2009). "Wine – The wine boom, 1980s and beyond". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. -
    456. -
    457. - ^ "Wine in New Zealand". The Economist. 27 March 2008. Retrieved 29 April 2017. -
    458. -
    459. - ^ "Agricultural and forestry exports from New Zealand: Primary sector export values for the year ending June 2010". Ministry of Agriculture and Forestry. 14 January 2011. Archived from the original on 10 May 2011. Retrieved 8 April 2011. -
    460. -
    461. - ^ a b Energy in New Zealand 2016 (PDF) (Report). Ministry of Business, Innovation and Employment. September 2016. p. 47. ISSN 2324-5913. Archived from the original (PDF) on 3 May 2017. -
    462. -
    463. - ^ "Appendix 1: Technical information about drinking water supply in the eight local authorities". Office of the Auditor-General. Retrieved 2 September 2016. -
    464. -
    465. - ^ "Water supply". Greater Wellington Regional Council. Retrieved 2 September 2016. -
    466. -
    467. - ^ "State highway frequently asked questions". NZ Transport Agency. Retrieved 28 April 2017. -
    468. -
    469. - ^ Humphris, Adrian (April 2010). "Public transport – Passenger trends". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. -
    470. -
    471. - ^ Atkinson, Neill (November 2010). "Railways – Rail transformed". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. -
    472. -
    473. - ^ "About Metlink". Retrieved 27 December 2016. -
    474. -
    475. - ^ Atkinson, Neill (April 2010). "Railways – Freight transport". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. -
    476. -
    477. - ^ "International Visitors" (PDF). Ministry of Economic Development. June 2009. Retrieved 30 January 2011. -
    478. -
    479. - ^ "10. Airports". Infrastructure Stocktake: Infrastructure Audit. Ministry of Economic Development. December 2005. Archived from the original on 22 May 2010. Retrieved 30 January 2011. -
    480. -
    481. - ^ a b Wilson, A. C. (March 2010). "Telecommunications - Telecom". Te Ara: The Encyclopedia of New Zealand. Retrieved 11 August 2017. -
    482. -
    483. - ^ "Telecom separation". Ministry of Business, Innovation and Employment. 14 September 2015. Retrieved 11 August 2017. -
    484. -
    485. - ^ "Broadband and mobile programmes - Ministry of Business, Innovation & Employment". www.mbie.govt.nz. -
    486. -
    487. - ^ "2017 Global ICT Development Index". International Telecommunication Union (ITU). 2018. Retrieved 18 September 2018. -
    488. -
    489. - ^ "2013 Census usually resident population counts". Statistics New Zealand. 14 October 2013. Retrieved 20 September 2018. -
    490. -
    491. - ^ "National population projections: 2016(base)–2068" (Press release). Statistics New Zealand. 18 October 2016. Retrieved 20 October 2018. -
    492. -
    493. - ^ "Subnational population estimates at 30 June 2009". Statistics New Zealand. 30 June 2007. Retrieved 30 April 2010. -
    494. -
    495. - ^ "Quality of Living Ranking 2016". London: Mercer. 23 February 2016. Retrieved 28 April 2017. -
    496. -
    497. - ^ "NZ life expectancy among world's best". Stuff.co.nz. Fairfax NZ. Retrieved 6 July 2014. -
    498. -
    499. - ^ a b Department of Economic and Social Affairs Population Division (2009). "World Population Prospects" (PDF). 2008 revision. United Nations. Retrieved 29 August 2009. -
    500. -
    501. - ^ "World Factbook EUROPE : NEW ZEALAND", The World Factbook, 12 July 2018 -
    502. -
    503. - ^ "New Zealand mortality statistics: 1950 to 2010" (PDF). Ministry of Health of New Zealand. 2 March 2011. Retrieved 16 November 2016. -
    504. -
    505. - ^ "Health expenditure and financing". stats.oecd.org. OECD. 2016. Retrieved 8 December 2017. -
    506. -
    507. - ^ "Subnational Population Estimates: At 30 June 2018 (provisional)". Statistics New Zealand. 23 October 2018. Retrieved 23 October 2018. For urban areas, "Subnational population estimates (UA, AU), by age and sex, at 30 June 1996, 2001, 2006-18 (2017 boundaries)". Statistics New Zealand. 23 October 2018. Retrieved 23 October 2018. -
    508. -
    509. - ^ "2013 Census QuickStats about culture and identity – Ethnic groups in New Zealand". Statistics New Zealand. Retrieved 29 August 2014. -
    510. -
    511. - ^ Pool, Ian (May 2011). "Population change - Key population trends". Te Ara: The Encyclopedia of New Zealand. Archived from the original on 18 August 2017. Retrieved 18 August 2017. -
    512. -
    513. - ^ Dalby, Simon (September 1993). "The 'Kiwi disease': geopolitical discourse in Aotearoa/New Zealand and the South Pacific". Political Geography. 12 (5): 437–456. doi:10.1016/0962-6298(93)90012-V. -
    514. -
    515. - ^ Callister, Paul (2004). "Seeking an Ethnic Identity: Is "New Zealander" a Valid Ethnic Category?" (PDF). New Zealand Population Review. 30 (1&2): 5–22. -
    516. -
    517. - ^ Bain 2006, p. 31. -
    518. -
    519. - ^ "Draft Report of a Review of the Official Ethnicity Statistical Standard: Proposals to Address the 'New Zealander' Response Issue" (PDF). Statistics New Zealand. April 2009. Retrieved 18 January 2011. -
    520. -
    521. - ^ Ranford, Jodie. "'Pakeha', Its Origin and Meaning". Māori News. Retrieved 20 February 2008. Originally the Pakeha were the early European settlers, however, today ‘Pakeha’ is used to describe any peoples of non-Maori or non-Polynesian heritage. Pakeha is not an ethnicity but rather a way to differentiate between the historical origins of our settlers, the Polynesians and the Europeans, the Maori and the other -
    522. -
    523. - ^ Socidad Peruana de Medicina Intensiva (SOPEMI) (2000). Trends in international migration: continuous reporting system on migration. Organisation for Economic Co-operation and Development. pp. 276–278. -
    524. -
    525. - ^ Walrond, Carl (21 September 2007). "Dalmatians". Te Ara: The Encyclopedia of New Zealand. Retrieved 30 April 2010. -
    526. -
    527. - ^ "Peoples". Te Ara: The Encyclopedia of New Zealand. 2005. Retrieved 2 June 2017. -
    528. -
    529. - ^ a b Phillips, Jock (11 August 2015). "History of immigration". Te Ara: The Encyclopedia of New Zealand. Retrieved 2 June 2017. -
    530. -
    531. - ^ Brawley, Sean (1993). "'No White Policy in NZ': Fact and Fiction in New Zealand's Asian Immigration Record, 1946-1978" (PDF). New Zealand Journal of History. 27 (1): 33–36. Retrieved 2 June 2017. -
    532. -
    533. - ^ "International Migration Outlook – New Zealand 2009/10" (PDF). New Zealand Department of Labour. 2010. p. 2. ISSN 1179-5085. Archived from the original (PDF) on 11 May 2011. Retrieved 16 April 2011. -
    534. -
    535. - ^ "2013 Census QuickStats about culture and identity – Birthplace and people born overseas". Statistics New Zealand. Retrieved 29 August 2014. -
    536. -
    537. - ^ Butcher, Andrew; McGrath, Terry (2004). "International Students in New Zealand: Needs and Responses" (PDF). International Education Journal. 5 (4). -
    538. -
    539. - ^ 2013 Census QuickStats, Statistics New Zealand, 2013, ISBN 978-0-478-40864-5 -
    540. -
    541. - ^ a b c "2013 Census QuickStats about culture and identity – Languages spoken". Statistics New Zealand. Retrieved 8 September 2016. -
    542. -
    543. - ^ Hay, Maclagan & Gordon 2008, p. 14. -
    544. -
    545. - ^ * Bauer, Laurie; Warren, Paul; Bardsley, Dianne; Kennedy, Marianna; Major, George (2007), "New Zealand English", Journal of the International Phonetic Association, 37 (1): 97–102, doi:10.1017/S0025100306002830 -
    546. -
    547. - ^ a b Phillips, Jock (March 2009). "The New Zealanders – Bicultural New Zealand". Te Ara: The Encyclopedia of New Zealand. Retrieved 21 January 2011. -
    548. -
    549. - ^ Squires, Nick (May 2005). "British influence ebbs as New Zealand takes to talking Māori". The Daily Telegraph. Retrieved 3 May 2017. -
    550. -
    551. - ^ "Waitangi Tribunal claim – Māori Language Week". Ministry for Culture and Heritage. July 2010. Retrieved 19 January 2011. -
    552. -
    553. - ^ "Ngā puna kōrero: Where Māori speak te reo – infographic". Statistics New Zealand. Retrieved 8 September 2016. -
    554. -
    555. - ^ Drinnan, John (8 July 2016). "'Maori' will remain in the name Maori Television". New Zealand Herald. Retrieved 28 August 2016. According to 2015 figures supplied by Maori TV, its two channels broadcast an average of 72 per cent Maori language content - 59 per cent on the main channel and 99 per cent on te reo. -
    556. -
    557. - ^ "Ngāi Tahu Claims Settlement Act 1998". New Zealand Parliamentary Counsel Office. 20 May 2014 [1 October 1998]. Retrieved 10 March 2019. -
    558. -
    559. - ^ New Zealand Sign Language Act 2006 No 18 (as at 30 June 2008), Public Act. New Zealand Parliamentary Counsel Office. Retrieved 29 November 2011. -
    560. -
    561. - ^ Zuckerman, Phil (2006). Martin, Michael (ed.). The Cambridge Companion to Atheism (PDF). Cambridge University Press. pp. 47–66. ISBN 978-0-521-84270-9. Retrieved 8 August 2017. -
    562. -
    563. - ^ Walrond, Carl (May 2012). "Atheism and secularism – Who is secular?". Te Ara: The Encyclopedia of New Zealand. Retrieved 8 August 2017. -
    564. -
    565. - ^ a b c "2013 Census QuickStats about culture and identity – tables". Statistics New Zealand. 15 April 2014. Retrieved 14 April 2018. - Excel download -
    566. -
    567. - ^ Kaa, Hirini (May 2011). "Māori and Christian denominations". Te Ara: The Encyclopedia of New Zealand. Retrieved 20 April 2017. -
    568. -
    569. - ^ Morris, Paul (May 2011). "Diverse religions". Te Ara: The Encyclopedia of New Zealand. Retrieved 20 April 2017. -
    570. -
    571. - ^ a b Dench, Olivia (July 2010). "Education Statistics of New Zealand: 2009". Education Counts. Retrieved 19 January 2011. -
    572. -
    573. - ^ "Education Act 1989 No 80". New Zealand Parliamentary Counsel Office. 1989. Section 3. Retrieved 5 January 2013. -
    574. -
    575. - ^ "Education Act 1989 No 80 (as at 01 February 2011), Public Act. Part 14: Establishment and disestablishment of tertiary institutions, Section 62: Establishment of institutions". Education Act 1989 No 80. New Zealand Parliamentary Counsel Office. 1 February 2011. Retrieved 15 August 2011. -
    576. -
    577. - ^ "Studying in New Zealand: Tertiary education". New Zealand Qualifications Authority. Retrieved 15 August 2011. -
    578. -
    579. - ^ "Educational attainment of the population". Education Counts. 2006. Archived from the original (xls) on 15 October 2008. Retrieved 21 February 2008. -
    580. -
    581. - ^ "What Students Know and Can Do: Student Performance in Reading, Mathematics and Science 2010" (PDF). OECD. Retrieved 21 July 2012.
    582. -
    583. - ^ Kennedy 2007, p. 398. -
    584. -
    585. - ^ Hearn, Terry (March 2009). "English – Importance and influence". Te Ara: The Encyclopedia of New Zealand. Retrieved 21 January 2011. -
    586. -
    587. - ^ "Conclusions – British and Irish immigration". Ministry for Culture and Heritage. March 2007. Retrieved 21 January 2011. -
    588. -
    589. - ^ Stenhouse, John (November 2010). "Religion and society – Māori religion". Te Ara: The Encyclopedia of New Zealand. Retrieved 21 January 2011. -
    590. -
    591. - ^ "Māori Social Structures". Ministry of Justice. March 2001. Retrieved 21 January 2011. -
    592. -
    593. - ^ "Thousands turn out for Pasifika Festival". Radio New Zealand. 25 March 2017. Retrieved 18 August 2017. -
    594. -
    595. - ^ Kennedy 2007, p. 400. -
    596. -
    597. - ^ Kennedy 2007, p. 399. -
    598. -
    599. - ^ Phillips, Jock (March 2009). "The New Zealanders – Post-war New Zealanders". Te Ara: The Encyclopedia of New Zealand. Retrieved 21 January 2011. -
    600. -
    601. - ^ Phillips, Jock (March 2009). "The New Zealanders – Ordinary blokes and extraordinary sheilas". Te Ara: The Encyclopedia of New Zealand. Retrieved 21 January 2011. -
    602. -
    603. - ^ Phillips, Jock (March 2009). "Rural mythologies – The cult of the pioneer". Te Ara: The Encyclopedia of New Zealand. Retrieved 21 January 2011. -
    604. -
    605. - ^ Barker, Fiona (June 2012). "New Zealand identity – Culture and arts". Te Ara: The Encyclopedia of New Zealand. Retrieved 7 December 2016. -
    606. -
    607. - ^ a b Wilson, John (September 2016). "Nation and government – Nationhood and identity". Te Ara: The Encyclopedia of New Zealand. Retrieved 3 December 2016. -
    608. -
    609. - ^ a b Swarbrick, Nancy (June 2010). "Creative life – Visual arts and crafts". Te Ara: The Encyclopedia of New Zealand. Retrieved 4 February 2011. -
    610. -
    611. - ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. Elements of Carving. An Encyclopaedia of New Zealand. Retrieved 15 February 2011. -
    612. -
    613. - ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. Surface Patterns. An Encyclopaedia of New Zealand. Retrieved 15 February 2011. -
    614. -
    615. - ^ McKay, Bill (2004). "Māori architecture: transforming western notions of architecture". Fabrications. 14 (1&2): 1–12. doi:10.1080/10331867.2004.10525189. Archived from the original on 13 May 2011. -
    616. -
    617. - ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. Painted Designs. An Encyclopaedia of New Zealand. Retrieved 15 February 2011. -
    618. -
    619. - ^ McLintock, Alexander, ed. (2009) [1966]. Tattooing. An Encyclopaedia of New Zealand. Retrieved 15 February 2011. -
    620. -
    621. - ^ a b "Beginnings – history of NZ painting". Ministry for Culture and Heritage. December 2010. Retrieved 17 February 2011. -
    622. -
    623. - ^ "A new New Zealand art – history of NZ painting". Ministry for Culture and Heritage. November 2010. Retrieved 16 February 2011. -
    624. -
    625. - ^ "Contemporary Maori art". Ministry for Culture and Heritage. November 2010. Retrieved 16 February 2011. -
    626. -
    627. - ^ Rauer, Julie. "Paradise Lost: Contemporary Pacific Art At The Asia Society". Asia Society and Museum. Retrieved 17 February 2011. -
    628. -
    629. - ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. Textile Designs. An Encyclopaedia of New Zealand. Retrieved 15 February 2011. -
    630. -
    631. - ^ Keane, Basil (March 2009). "Pounamu – jade or greenstone – Implements and adornment". Te Ara: The Encyclopedia of New Zealand. Retrieved 17 February 2011. -
    632. -
    633. - ^ Wilson, John (March 2009). "Society – Food, drink and dress". Te Ara: The Encyclopedia of New Zealand. Retrieved 17 February 2011. -
    634. -
    635. - ^ Swarbrick, Nancy (June 2010). "Creative life – Design and fashion". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. -
    636. -
    637. - ^ a b "Fashion in New Zealand – New Zealand's fashion industry". The Economist. 28 February 2008. Retrieved 6 August 2009. -
    638. -
    639. - ^ Swarbrick, Nancy (June 2010). "Creative life – Writing and publishing". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. -
    640. -
    641. - ^ "The making of New Zealand literature". Ministry for Culture and Heritage. November 2010. Retrieved 22 January 2011. -
    642. -
    643. - ^ "New directions in the 1930s – New Zealand literature". Ministry for Culture and Heritage. August 2008. Retrieved 12 February 2011. -
    644. -
    645. - ^ "The war and beyond – New Zealand literature". Ministry for Culture and Heritage. November 2007. Retrieved 12 February 2011. -
    646. -
    647. - ^ "28 cities join the UNESCO Creative Cities Network". UNESCO. December 2014. Retrieved 7 March 2015. -
    648. -
    649. - ^ a b Swarbrick, Nancy (June 2010). "Creative life – Music". Te Ara: The Encyclopedia of New Zealand. Retrieved 21 January 2011. -
    650. -
    651. - ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. Maori Music. An Encyclopaedia of New Zealand. Retrieved 15 February 2011. -
    652. -
    653. - ^ McLintock, Alexander, ed. (April 2009) [1966]. Musical Instruments. An Encyclopaedia of New Zealand. Retrieved 16 February 2011. -
    654. -
    655. - ^ McLintock, Alexander, ed. (April 2009) [1966]. Instruments Used for Non-musical Purposes. An Encyclopaedia of New Zealand. Retrieved 16 February 2011. -
    656. -
    657. - ^ McLintock, Alexander, ed. (April 2009) [1966]. Music: General History. An Encyclopaedia of New Zealand. Retrieved 15 February 2011. -
    658. -
    659. - ^ McLintock, Alexander, ed. (April 2009) [1966]. Music: Brass Bands. An Encyclopaedia of New Zealand. Retrieved 14 April 2011. -
    660. -
    661. - ^ McLintock, Alexander, ed. (April 2009) [1966]. Music: Pipe Bands. An Encyclopaedia of New Zealand. Retrieved 14 April 2011. -
    662. -
    663. - ^ Swarbrick, Nancy (June 2010). "Creative life – Performing arts". Te Ara: The Encyclopedia of New Zealand. Retrieved 21 January 2011. -
    664. -
    665. - ^ "History – celebrating our music since 1965". Recording Industry Association of New Zealand. 2008. Archived from the original on 14 September 2011. Retrieved 23 January 2012. -
    666. -
    667. - ^ "About RIANZ – Introduction". Recording Industry Association of New Zealand. Archived from the original on 21 December 2011. Retrieved 23 January 2012. -
    668. -
    669. - ^ Downes, Siobhan (1 January 2017). "World famous in New Zealand: Hobbiton Movie Set". Stuff Travel. Retrieved 6 July 2017. -
    670. -
    671. - ^ Brian, Pauling (October 2014). "Radio – The early years, 1921 to 1932". Te Ara: The Encyclopedia of New Zealand. Retrieved 6 July 2017. -
    672. -
    673. - ^ "New Zealand's first official TV broadcast". Ministry for Culture and Heritage. December 2016. Retrieved 6 July 2017. -
    674. -
    675. - ^ a b Swarbrick, Nancy (June 2010). "Creative life – Film and broadcasting". Te Ara: The Encyclopedia of New Zealand. Retrieved 21 January 2011. -
    676. -
    677. - ^ Horrocks, Roger. "A History of Television in New Zealand". NZ On Screen. Retrieved 13 September 2017. -
    678. -
    679. - ^ "Top 10 Highest Grossing New Zealand Movies Ever". Flicks.co.nz. May 2016. Retrieved 11 August 2017. -
    680. -
    681. - ^ Cieply, Michael; Rose, Jeremy (October 2010). "New Zealand Bends and 'Hobbit' Stays". The New York Times. Retrieved 11 August 2017. -
    682. -
    683. - ^ "Production Guide: Locations". Film New Zealand. Archived from the original on 7 November 2010. Retrieved 21 January 2011. -
    684. -
    685. - ^ Myllylahti, Merja (December 2016). JMAD New Zealand Media Ownership Report 2016 (PDF) (Report). Auckland University of Technology. pp. 4–29. Archived from the original (PDF) on 21 May 2017. Retrieved 11 August 2017. -
    686. -
    687. - ^ "Scores and Status Data 1980-2015". Freedom of the Press 2015. Freedom House. Retrieved 23 November 2016. -
    688. -
    689. - ^ Hearn, Terry (March 2009). "English – Popular culture". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2012. -
    690. -
    691. - ^ "Sport, Fitness and Leisure". New Zealand Official Yearbook. Statistics New Zealand. 2000. Archived from the original on 7 June 2011. Retrieved 21 July 2008. Traditionally New Zealanders have excelled in rugby union, which is regarded as the national sport, and track and field athletics. -
    692. -
    693. - ^ a b Phillips, Jock (February 2011). "Sports and leisure – Organised sports". Te Ara: The Encyclopedia of New Zealand. Retrieved 23 March 2011. -
    694. -
    695. - ^ a b "More and more students wear school sports colours". New Zealand Secondary School Sports Council. Retrieved 30 March 2015. -
    696. -
    697. - ^ Crawford, Scott (January 1999). "Rugby and the Forging of National Identity". In Nauright, John (ed.). Sport, Power And Society In New Zealand: Historical And Contemporary Perspectives (PDF). ASSH Studies In Sports History. Archived from the original (PDF) on 19 January 2012. Retrieved 22 January 2011. -
    698. -
    699. - ^ "Rugby, racing and beer". Ministry for Culture and Heritage. August 2010. Retrieved 22 January 2011. -
    700. -
    701. - ^ Derby, Mark (December 2010). "Māori–Pākehā relations – Sports and race". Te Ara: The Encyclopedia of New Zealand. Retrieved 4 February 2011. -
    702. -
    703. - ^ Bain 2006, p. 69. -
    704. -
    705. - ^ Langton, Graham (1996). A history of mountain climbing in New Zealand to 1953 (Thesis). Christchurch: University of Canterbury. p. 28. Retrieved 12 August 2017. -
    706. -
    707. - ^ "World mourns Sir Edmund Hillary". The Age. Melbourne. 11 January 2008. -
    708. -
    709. - ^ "Sport and Recreation Participation Levels" (PDF). Sport and Recreation New Zealand. 2009. Archived from the original (PDF) on 15 January 2015. Retrieved 27 November 2016. -
    710. -
    711. - ^ Barclay-Kerr, Hoturoa (September 2013). "Waka ama – outrigger canoeing". Te Ara: The Encyclopedia of New Zealand. Retrieved 12 August 2017. -
    712. -
    713. - ^ "NZ's first Olympic century". Ministry for Culture and Heritage. August 2016. Retrieved 27 April 2017. -
    714. -
    715. - ^ "London 2012 Olympic Games: Medal strike rate – Final count (revised)". Statistics New Zealand. 14 August 2012. Retrieved 4 December 2013. -
    716. -
    717. - ^ "Rio 2016 Olympic Games: Medals per capita". Statistics New Zealand. 30 August 2016. Retrieved 27 April 2017. -
    718. -
    719. - ^ Kerr, James (14 November 2013). "The All Blacks guide to being successful (off the field)". The Daily Telegraph. London. Retrieved 4 December 2013. -
    720. -
    721. - ^ Fordyce, Tom (23 October 2011). "2011 Rugby World Cup final: New Zealand 8-7 France". BBC Sport. Retrieved 4 December 2013. -
    722. -
    723. - ^ a b "New Zealand Cuisine". New Zealand Tourism Guide. January 2016. Retrieved 4 January 2016. -
    724. -
    725. - ^ Petrie, Hazel (November 2008). "Kai Pākehā – introduced foods". Te Ara: The Encyclopedia of New Zealand. Retrieved 27 June 2017. -
    726. -
    727. - ^ Whaanga, Mere (June 2006). "Mātaitai – shellfish gathering". Te Ara: The Encyclopedia of New Zealand. Retrieved 27 June 2017. -
    728. -
    729. - ^ "Story: Shellfish". Te Ara: The Encyclopedia of New Zealand. Retrieved 29 August 2016. -
    730. -
    731. - ^ Burton, David (September 2013). "Cooking – Cooking methods". Te Ara: The Encyclopedia of New Zealand. Retrieved 11 December 2016. -
    732. -
    733. - ^ Royal, Charles; Kaka-Scott, Jenny (September 2013). "Māori foods – kai Māori". Te Ara: The Encyclopedia of New Zealand. Retrieved 1 September 2016. -
    734. -
    -
    -

    - References -

    -
    -
      -
    • - Alley, Roderic (2008). New Zealand in World Affairs IV 1990–2005. New Zealand: Victoria University Press. ISBN 978-0-864-73548-5. -
    • -
    • - Bain, Carolyn (2006). New Zealand. Lonely Planet. ISBN 1-74104-535-5. -
    • -
    • - Garden, Donald (2005). Stoll, Mark (ed.). Australia, New Zealand, and the Pacific: An Environmental History. Nature and Human Societies. ABC-CLIO/Greenwood. ISBN 978-1-57607-868-6. -
    • -
    • - Hay, Jennifer; Maclagan, Margaret; Gordon, Elizabeth (2008). Dialects of English: New Zealand English. Edinburgh University Press. ISBN 978-0-7486-2529-1. -
    • -
    • - Kennedy, Jeffrey (2007). "Leadership and Culture in New Zealand". In Chhokar, Jagdeep; Brodbeck, Felix; House, Robert (eds.). Culture and Leadership Across the World: The GLOBE Book of In-Depth Studies of 25 Societies. United States: Psychology Press. ISBN 978-0-8058-5997-3. -
    • -
    • - King, Michael (2003). The Penguin History of New Zealand. New Zealand: Penguin Books. ISBN 978-0-14-301867-4. -
    • -
    • - Mein Smith, Philippa (2005). A Concise History of New Zealand. Australia: Cambridge University Press. ISBN 0-521-54228-6. -
    • -
    • - Smelt, Roselynn; Jui Lin, Yong (2009). New Zealand. Cultures of the World (2nd ed.). New York: Marshall Cavendish. ISBN 978-0-7614-3415-3. -
    • -
    -
    -

    - Further reading -

    -

    - External links -

    -
    -
    Government
    -
    -
      -
    • - New Zealand Government portal +
    • + ^ a b Ethnicity figures add to more than 100% as people could choose more than one ethnic group.
    • -
    • - Ministry for Culture and Heritage – includes information on flag, anthems and coat of arms
    • -
    • - Statistics New Zealand +
    • + ^ The proportion of New Zealand's area (excluding estuaries) covered by rivers, lakes and ponds, based on figures from the New Zealand Land Cover Database,[4] is (357526 + 81936) / (26821559 – 92499–26033 – 19216) = 1.6%. If estuarine open water, mangroves, and herbaceous saline vegetation are included, the figure is 2.2%.
    • -
    -
    -
    Travel
    -
    - -
    -
    General Information
    -
    -
      -
    • - New Zealand entry from The World Factbook. Central Intelligence Agency.
    • -
    • - New Zealand at Curlie +
    • + ^ Clocks are advanced by an hour from the last Sunday in September until the first Sunday in April.[9] Daylight saving time is also observed in the Chatham Islands, 45 minutes ahead of NZDT. +
    • +
    • + ^ A person born on or after 1 January 2006 acquires New Zealand citizenship at birth only if at least one parent is a New Zealand citizen or permanent resident. People born on or before 31 December 2005 acquired citizenship at birth (jus soli).[137] +
    • +
    • + ^ The population is increasing at a rate of 1.4–2.0% per year and is projected to rise to 5.01–5.51 million in 2025.[246] +
    • +
    • + ^ In 2015, 55% of Māori adults (aged 15 years and over) reported knowledge of te reo Māori. Of these speakers, 64% use Māori at home and 50,000 can speak the language "very well" or "well".[277] +
    • +
    • + ^ Of the 86,403 people that replied they spoke Samoan, 51,336 lived in the Auckland Region. +
    • +
    • + ^ Religion percentages may not add to 100% as people could claim multiple religions or object to answering the question. +
    • + +
    +

    + Citations +

    +
    +
      +
    1. + ^ "Protocol for using New Zealand's National Anthems". Ministry for Culture and Heritage. Retrieved 17 February 2008. +
    2. +
    3. + ^ New Zealand Government (21 December 2007). International Covenant on Civil and Political Rights Fifth Periodic Report of the Government of New Zealand (PDF) (Report). p. 89. Archived from the original (PDF) on 24 January 2015. Retrieved 18 November 2015. In addition to the Māori language, New Zealand Sign Language is also an official language of New Zealand. The New Zealand Sign Language Act 2006 permits the use of NZSL in legal proceedings, facilitates competency standards for its interpretation and guides government departments in its promotion and use. English, the medium for teaching and learning in most schools, is a de facto official language by virtue of its widespread use. For these reasons, these three languages have special mention in the New Zealand Curriculum. +
    4. +
    5. + ^ "2018 Census population and dwelling counts". Statistics New Zealand. Retrieved 26 September 2019. +
    6. +
    7. + ^ "The New Zealand Land Cover Database". New Zealand Land Cover Database 2. Ministry for the Environment. 1 July 2009. Retrieved 26 April 2011. +
    8. +
    9. + ^ a b "Population clock". Statistics New Zealand. Retrieved 14 April 2016. The population estimate shown is automatically calculated daily at 00:00 UTC and is based on data obtained from the population clock on the date shown in the citation. +
    10. +
    11. + ^ a b c d e "New Zealand". International Monetary Fund. Retrieved 9 October 2018. +
    12. +
    13. + ^ "Income inequality". Statistics New Zealand. Retrieved 14 June 2015. +
    14. +
    15. + ^ a b "Human Development Report 2018" (PDF). HDRO (Human Development Report Office) United Nations Development Programme. p. 22. Retrieved 14 September 2018. +
    16. +
    17. + ^ "New Zealand Daylight Time Order 2007 (SR 2007/185)". New Zealand Parliamentary Counsel Office. 6 July 2007. Retrieved 6 March 2017. +
    18. +
    19. + ^ There is no official all-numeric date format for New Zealand, but government recommendations generally follow Australian date and time notation. See "The Govt.nz style guide", New Zealand Government, 9 December 2016, retrieved 7 March 2019 . +
    20. +
    21. + ^ Tasman, Abel. "JOURNAL or DESCRIPTION By me Abel Jansz Tasman, Of a Voyage from Batavia for making Discoveries of the Unknown South Land in the year 1642". Project Gutenberg Australia. Retrieved 26 March 2018. +
    22. +
    23. + ^ Wilson, John (March 2009). "European discovery of New Zealand – Tasman's achievement". Te Ara: The Encyclopedia of New Zealand. Retrieved 24 January 2011. +
    24. +
    25. + ^ John Bathgate. "The Pamphlet Collection of Sir Robert Stout:Volume 44. Chapter 1, Discovery and Settlement". NZETC. Retrieved 17 August 2018. He named the country Staaten Land, in honour of the States-General of Holland, in the belief that it was part of the great southern continent. +
    26. +
    27. + ^ Wilson, John (September 2007). "Tasman's achievement". Te Ara: The Encyclopedia of New Zealand. Retrieved 16 February 2008. +
    28. +
    29. + ^ Mackay, Duncan (1986). "The Search For The Southern Land". In Fraser, B (ed.). The New Zealand Book Of Events. Auckland: Reed Methuen. pp. 52–54. +
    30. +
    31. + ^ a b McKinnon, Malcolm (November 2009). "Place names – Naming the country and the main islands". Te Ara: The Encyclopedia of New Zealand. Retrieved 24 January 2011. +
    32. +
    33. + ^ King 2003, p. 41. +
    34. +
    35. + ^ Hay, Maclagan & Gordon 2008, p. 72. +
    36. +
    37. + ^ a b Mein Smith 2005, p. 6. +
    38. +
    39. + ^ Brunner, Thomas (1851). The Great Journey: an expedition to explore the interior of the Middle Island, New Zealand, 1846-8. Royal Geographical Society. +
    40. +
    41. + ^ a b Williamson, Maurice (10 October 2013). "Names of NZ's two main islands formalised" (Press release). New Zealand Government. Retrieved 1 May 2017. +
    42. +
    43. + ^ Wilmshurst, J. M.; Hunt, T. L.; Lipo, C. P.; Anderson, A. J. (2010). "High-precision radiocarbon dating shows recent and rapid initial human colonization of East Polynesia". Proceedings of the National Academy of Sciences. 108 (5): 1815. Bibcode:2011PNAS..108.1815W. doi:10.1073/pnas.1015876108. PMC 3033267. PMID 21187404. +
    44. +
    45. + ^ McGlone, M.; Wilmshurst, J. M. (1999). "Dating initial Maori environmental impact in New Zealand". Quaternary International. 59: 5–16. Bibcode:1999QuInt..59....5M. doi:10.1016/S1040-6182(98)00067-6. +
    46. +
    47. + ^ Murray-McIntosh, Rosalind P.; Scrimshaw, Brian J.; Hatfield, Peter J.; Penny, David (1998). "Testing migration patterns and estimating founding population size in Polynesia by using human mtDNA sequences". Proceedings of the National Academy of Sciences of the United States of America. 95 (15): 9047–52. Bibcode:1998PNAS...95.9047M. doi:10.1073/pnas.95.15.9047. PMC 21200. +
    48. +
    49. + ^ Wilmshurst, J. M.; Anderson, A. J.; Higham, T. F. G.; Worthy, T. H. (2008). "Dating the late prehistoric dispersal of Polynesians to New Zealand using the commensal Pacific rat". Proceedings of the National Academy of Sciences. 105 (22): 7676. Bibcode:2008PNAS..105.7676W. doi:10.1073/pnas.0801507105. PMC 2409139. PMID 18523023. +
    50. +
    51. + ^ Moodley, Y.; Linz, B.; Yamaoka, Y.; Windsor, H.M.; Breurec, S.; Wu, J.-Y.; Maady, A.; Bernhöft, S.; Thiberge, J.-M.; et al. (2009). "The Peopling of the Pacific from a Bacterial Perspective". Science. 323 (5913): 527–530. Bibcode:2009Sci...323..527M. doi:10.1126/science.1166083. PMC 2827536. PMID 19164753. +
    52. +
    53. + ^ Ballara, Angela (1998). Iwi: The Dynamics of Māori Tribal Organisation from c. 1769 to c. 1945 (1st ed.). Wellington: Victoria University Press. ISBN 9780864733283. +
    54. +
    55. + ^ Clark, Ross (1994). "Moriori and Māori: The Linguistic Evidence". In Sutton, Douglas (ed.). The Origins of the First New Zealanders. Auckland: Auckland University Press. pp. 123–135. +
    56. +
    57. + ^ Davis, Denise (September 2007). "The impact of new arrivals". Te Ara: The Encyclopedia of New Zealand. Retrieved 30 April 2010. +
    58. +
    59. + ^ Davis, Denise; Solomon, Māui (March 2009). "'Moriori – The impact of new arrivals'". Te Ara: The Encyclopedia of New Zealand. Retrieved 23 March 2011. +
    60. +
    61. + ^ a b Mein Smith 2005, p. 23. +
    62. +
    63. + ^ Salmond, Anne. Two Worlds: First Meetings Between Maori and Europeans 1642–1772. Auckland: Penguin Books. p. 82. ISBN 0-670-83298-7. +
    64. +
    65. + ^ King 2003, p. 122. +
    66. +
    67. + ^ Fitzpatrick, John (2004). "Food, warfare and the impact of Atlantic capitalism in Aotearo/New Zealand" (PDF). Australasian Political Studies Association Conference: APSA 2004 Conference Papers. Archived from the original (PDF) on 11 May 2011. +
    68. +
    69. + ^ Brailsford, Barry (1972). Arrows of Plague. Wellington: Hick Smith and Sons. p. 35. ISBN 0-456-01060-2. +
    70. +
    71. + ^ Wagstrom, Thor (2005). "Broken Tongues and Foreign Hearts". In Brock, Peggy (ed.). Indigenous Peoples and Religious Change. Boston: Brill Academic Publishers. pp. 71 and 73. ISBN 978-90-04-13899-5. +
    72. +
    73. + ^ Lange, Raeburn (1999). May the people live: a history of Māori health development 1900–1920. Auckland University Press. p. 18. ISBN 978-1-86940-214-3. +
    74. +
    75. + ^ "A Nation sub-divided". Australian Heritage. Heritage Australia Publishing. 2011. Archived from the original on 28 February 2015. Retrieved 27 December 2014. +
    76. +
    77. + ^ a b Rutherford, James (April 2009) [originally published in 1966]. McLintock, Alexander (ed.). Busby, James. An Encyclopaedia of New Zealand. Retrieved 7 January 2011. +
    78. +
    79. + ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. Sir George Gipps. An Encyclopaedia of New Zealand. Retrieved 7 January 2011. +
    80. +
    81. + ^ a b Wilson, John (March 2009). "Government and nation – The origins of nationhood". Te Ara: The Encyclopedia of New Zealand. Retrieved 7 January 2011. +
    82. +
    83. + ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. Settlement from 1840 to 1852. An Encyclopaedia of New Zealand. Retrieved 7 January 2011. +
    84. +
    85. + ^ Foster, Bernard (April 2009) [originally published in 1966]. McLintock, Alexander (ed.). Akaroa, French Settlement At. An Encyclopaedia of New Zealand. Retrieved 7 January 2011. +
    86. +
    87. + ^ Simpson, K (September 2010). "Hobson, William – Biography". In McLintock, Alexander (ed.). Dictionary of New Zealand Biography. An Encyclopaedia of New Zealand. Retrieved 7 January 2011. +
    88. +
    89. + ^ Phillips, Jock (April 2010). "British immigration and the New Zealand Company". Te Ara: The Encyclopedia of New Zealand. Retrieved 7 January 2011. +
    90. +
    91. + ^ "Crown colony era – the Governor-General". Ministry for Culture and Heritage. March 2009. Retrieved 7 January 2011. +
    92. +
    93. + ^ "New Zealand's 19th-century wars – overview". Ministry for Culture and Heritage. April 2009. Retrieved 7 January 2011. +
    94. +
    95. + ^ a b c d Wilson, John (March 2009). "Government and nation – The constitution". Te Ara: The Encyclopedia of New Zealand. Retrieved 2 February 2011. See pages 2 and 3. +
    96. +
    97. + ^ Temple, Philip (1980). Wellington Yesterday. John McIndoe. ISBN 0-86868-012-5. +
    98. +
    99. + ^ "Parliament moves to Wellington". Ministry for Culture and Heritage. January 2017. Retrieved 27 April 2017. +
    100. +
    101. + ^ a b Wilson, John (March 2009). "History – Liberal to Labour". Te Ara: The Encyclopedia of New Zealand. Retrieved 27 April 2017. +
    102. +
    103. + ^ Hamer, David. "Seddon, Richard John". Dictionary of New Zealand Biography. Ministry for Culture and Heritage. Retrieved 27 April 2017. +
    104. +
    105. + ^ Boxall, Peter; Haynes, Peter (1997). "Strategy and Trade Union Effectiveness in a Neo-liberal Environment". British Journal of Industrial Relations. 35 (4): 567–591. doi:10.1111/1467-8543.00069. Archived from the original (PDF) on 11 May 2011. +
    106. +
    107. + ^ "Proclamation". The London Gazette. No. 28058. 10 September 1907. p. 6149. +
    108. +
    109. + ^ "Dominion status – Becoming a dominion". Ministry for Culture and Heritage. September 2014. Retrieved 26 April 2017. +
    110. +
    111. + ^ "War and Society". Ministry for Culture and Heritage. Retrieved 7 January 2011. +
    112. +
    113. + ^ Easton, Brian (April 2010). "Economic history – Interwar years and the great depression". Te Ara: The Encyclopedia of New Zealand. Retrieved 7 January 2011. +
    114. +
    115. + ^ Derby, Mark (May 2010). "Strikes and labour disputes – Wars, depression and first Labour government". Te Ara: The Encyclopedia of New Zealand. Retrieved 1 February 2011. +
    116. +
    117. + ^ Easton, Brian (November 2010). "Economic history – Great boom, 1935–1966". Te Ara: The Encyclopedia of New Zealand. Retrieved 1 February 2011. +
    118. +
    119. + ^ Keane, Basil (November 2010). "Te Māori i te ohanga – Māori in the economy – Urbanisation". Te Ara: The Encyclopedia of New Zealand. Retrieved 7 January 2011. +
    120. +
    121. + ^ Royal, Te Ahukaramū (March 2009). "Māori – Urbanisation and renaissance". Te Ara: The Encyclopedia of New Zealand. Retrieved 1 February 2011. +
    122. +
    123. + ^ Healing the past, building a future: A Guide to Treaty of Waitangi Claims and Negotiations with the Crown (PDF). Office of Treaty Settlements. March 2015. ISBN 978-0-478-32436-5. Retrieved 26 April 2017. +
    124. +
    125. + ^ Report on the Crown's Foreshore and Seabed Policy (Report). Ministry of Justice. Retrieved 26 April 2017. +
    126. +
    127. + ^ Barker, Fiona (June 2012). "Debate about the foreshore and seabed". Te Ara: The Encyclopedia of New Zealand. Retrieved 26 April 2017. +
    128. +
    129. + ^ a b "New Zealand's Constitution". The Governor-General of New Zealand. Retrieved 13 January 2010. +
    130. +
    131. + ^ a b c "Factsheet – New Zealand – Political Forces". The Economist. The Economist Group. 15 February 2005. Archived from the original on 14 May 2006. Retrieved 4 August 2009. +
    132. +
    133. + ^ "Royal Titles Act 1974". New Zealand Parliamentary Counsel Office. February 1974. Section 1. Retrieved 8 January 2011. +
    134. +
    135. + ^ "Constitution Act 1986". New Zealand Parliamentary Counsel Office. 1 January 1987. Section 2.1. Retrieved 15 July 2018. The Sovereign in right of New Zealand is the head of State of New Zealand, and shall be known by the royal style and titles proclaimed from time to time. +
    136. +
    137. + ^ "The Role of the Governor-General". The Governor-General of New Zealand. Retrieved 6 July 2017. +
    138. +
    139. + ^ Harris, Bruce (2009). "Replacement of the Royal Prerogative in New Zealand". New Zealand Universities Law Review. 23: 285–314. Archived from the original on 18 July 2011. Retrieved 28 August 2016. +
    140. +
    141. + ^ a b "The Reserve Powers". The Governor-General of New Zealand. Retrieved 8 January 2011. +
    142. +
    143. + ^ a b c d "Parliament Brief: What is Parliament?". New Zealand Parliament. Retrieved 30 November 2016. +
    144. +
    145. + ^ McLean, Gavin (February 2015). "Premiers and prime ministers". Te Ara: The Encyclopedia of New Zealand. Retrieved 30 November 2016. +
    146. +
    147. + ^ Wilson, John (November 2010). "Government and nation – System of government". Te Ara: The Encyclopedia of New Zealand. Retrieved 9 January 2011. +
    148. +
    149. + ^ "Principles of Cabinet decision making". Cabinet Manual. Department of the Prime Minister and Cabinet. 2008. Retrieved 1 December 2016. +
    150. +
    151. + ^ "The electoral cycle". Cabinet Manual. Department of the Prime Minister and Cabinet. 2008. Retrieved 30 April 2017. +
    152. +
    153. + ^ a b "First past the post – the road to MMP". Ministry for Culture and Heritage. September 2009. Retrieved 9 January 2011. +
    154. +
    155. + ^ "Reviewing electorate numbers and boundaries". Electoral Commission. 8 May 2005. Archived from the original on 9 November 2011. Retrieved 7 July 2018. +
    156. +
    157. + ^ "Sainte-Laguë allocation formula". Electoral Commission. 4 February 2013. Retrieved 31 May 2014. +
    158. +
    159. + ^ Paxton, Pamela; Hughes, Melanie M. (2015). Women, Politics, and Power: A Global Perspective. CQ Press. p. 107. ISBN 978-1-48-337701-8. Retrieved 25 July 2017. +
    160. +
    161. + ^ "Jacinda Ardern sworn in as new Prime Minister". New Zealand Herald. 26 October 2017. Retrieved 26 October 2017. +
    162. +
    163. + ^ "Female political leaders have been smashing glass ceilings for ages". Stuff.co.nz. Fairfax NZ. 27 October 2017. Retrieved 19 July 2018. +
    164. +
    165. + ^ "Role of the Chief Justice". Courts of New Zealand. Retrieved 9 June 2018. +
    166. +
    167. + ^ "Structure of the court system". Courts of New Zealand. Retrieved 9 June 2018. +
    168. +
    169. + ^ "The Judiciary". Ministry of Justice. Archived from the original on 24 November 2010. Retrieved 9 January 2011. +
    170. +
    171. + ^ "The Fragile States Index 2016". The Fund for Peace. Archived from the original on 4 February 2017. Retrieved 30 November 2016. +
    172. +
    173. + ^ "Democracy Index 2017" (PDF). Economist Intelligence Unit. 2018. p. 5. Retrieved 9 December 2018. +
    174. +
    175. + ^ "Corruption Perceptions Index 2017". Transparency International. 21 February 2018. Retrieved 9 December 2018. +
    176. +
    177. + ^ "New Zealand". Country Reports on Human Rights Practices for 2017. United States Department of State. Retrieved 9 December 2018. +
    178. +
    179. + ^ "New Zealand". OECD Better Life Index. 2016. Retrieved 30 November 2016. +
    180. +
    181. + ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. External Relations. An Encyclopaedia of New Zealand. Retrieved 7 January 2011. +
    182. +
    183. + ^ "Michael Joseph Savage". Ministry for Culture and Heritage. July 2010. Retrieved 29 January 2011. +
    184. +
    185. + ^ Patman, Robert (2005). "Globalisation, Sovereignty, and the Transformation of New Zealand Foreign Policy" (PDF). Working Paper 21/05. Centre for Strategic Studies, Victoria University of Wellington. p. 8. Archived from the original (PDF) on 25 September 2007. Retrieved 12 March 2007. +
    186. +
    187. + ^ "Department Of External Affairs: Security Treaty between Australia, New Zealand and the United States of America". Australian Government. September 1951. Archived from the original on 29 June 2011. Retrieved 11 January 2011. +
    188. +
    189. + ^ "The Vietnam War". New Zealand History. Ministry for Culture and Heritage. June 2008. Retrieved 11 January 2011. +
    190. +
    191. + ^ "Sinking the Rainbow Warrior – nuclear-free New Zealand". New Zealand History. Ministry for Culture and Heritage. August 2008. Retrieved 11 January 2011. +
    192. +
    193. + ^ "Nuclear-free legislation – nuclear-free New Zealand". New Zealand History. Ministry for Culture and Heritage. August 2008. Retrieved 11 January 2011. +
    194. +
    195. + ^ Lange, David (1990). Nuclear Free: The New Zealand Way. New Zealand: Penguin Books. ISBN 0-14-014519-2. +
    196. +
    197. + ^ "Australia in brief". Australian Department of Foreign Affairs and Trade. Archived from the original on 22 December 2010. Retrieved 11 January 2011. +
    198. +
    199. + ^ a b "New Zealand country brief". Australian Department of Foreign Affairs and Trade. Retrieved 11 January 2011. +
    200. +
    201. + ^ Collett, John (4 September 2013). "Kiwis face hurdles in pursuit of lost funds". Retrieved 4 October 2013. +
    202. +
    203. + ^ Bertram, Geoff (April 2010). "South Pacific economic relations – Aid, remittances and tourism". Te Ara: The Encyclopedia of New Zealand. Retrieved 11 January 2011. +
    204. +
    205. + ^ Howes, Stephen (November 2010). "Making migration work: Lessons from New Zealand". Development Policy Centre. Retrieved 23 March 2011. +
    206. +
    207. + ^ Ayele, Yoseph (28 September 2017). "The Growing Momentum for Global Impact in New Zealand". Edmund Hillary Fellowship. Retrieved 9 July 2019. +
    208. +
    209. + ^ "Member States of the United Nations". United Nations. Retrieved 11 January 2011. +
    210. +
    211. + ^ "New Zealand". The Commonwealth. Retrieved 1 December 2016. +
    212. +
    213. + ^ "Members and partners". Organisation for Economic Co-operation and Development. Retrieved 11 January 2011. +
    214. +
    215. + ^ "The future of the Five Power Defence Arrangements". The Strategist. 8 November 2012. Retrieved 1 December 2016. +
    216. +
    217. + ^ "About Us: Role and Responsibilities". New Zealand Defence Force. Retrieved 11 January 2011. +
    218. +
    219. + ^ Ayson, Robert (2007). "New Zealand Defence and Security Policy,1990–2005". In Alley, Roderic (ed.). New Zealand In World Affairs, Volume IV: 1990–2005. Wellington: Victoria University Press. p. 132. ISBN 978-0-86473-548-5. +
    220. +
    221. + ^ "The Battle for Crete". New Zealand History. Ministry for Culture and Heritage. May 2010. Retrieved 9 January 2011. +
    222. +
    223. + ^ "El Alamein – The North African Campaign". New Zealand History. Ministry for Culture and Heritage. May 2009. Retrieved 9 January 2011. +
    224. +
    225. + ^ Holmes, Richard (September 2010). "World War Two: The Battle of Monte Cassino". Retrieved 9 January 2011. +
    226. +
    227. + ^ "Gallipoli stirred new sense of national identity says Clark". New Zealand Herald. April 2005. Retrieved 9 January 2011. +
    228. +
    229. + ^ Prideaux, Bruce (2007). Ryan, Chris (ed.). Battlefield tourism: history, place and interpretation. Elsevier Science. p. 18. ISBN 978-0-08-045362-0. +
    230. +
    231. + ^ Burke, Arthur. "The Spirit of ANZAC". ANZAC Day Commemoration Committee. Archived from the original on 26 December 2010. Retrieved 11 January 2011. +
    232. +
    233. + ^ "South African War 1899–1902". Ministry for Culture and Heritage. February 2009. Retrieved 11 January 2011. +
    234. +
    235. + ^ "New Zealand in the Korean War". New Zealand History. Ministry for Culture and Heritage. Retrieved 1 December 2016. +
    236. +
    237. + ^ "NZ and the Malayan Emergency". Ministry for Culture and Heritage. August 2010. Retrieved 11 January 2011. +
    238. +
    239. + ^ "New Zealand Defence Force Overseas Operations". New Zealand Defence Force. January 2008. Archived from the original on 25 January 2008. Retrieved 17 February 2008. +
    240. +
    241. + ^ a b "New Zealand's Nine Provinces (1853–76)" (PDF). Friends of the Hocken Collections. University of Otago. March 2000. Retrieved 13 January 2011. +
    242. +
    243. + ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. Provincial Divergencies. An Encyclopaedia of New Zealand. Retrieved 7 January 2011. +
    244. +
    245. + ^ Swarbrick, Nancy (September 2016). "Public holidays". Te Ara: The Encyclopedia of New Zealand. Retrieved 25 June 2017. +
    246. +
    247. + ^ "Overview – regional rugby". Ministry for Culture and Heritage. September 2010. Retrieved 13 January 2011. +
    248. +
    249. + ^ Dollery, Brian; Keogh, Ciaran; Crase, Lin (2007). "Alternatives to Amalgamation in Australian Local Government: Lessons from the New Zealand Experience" (PDF). Sustaining Regions. 6 (1): 50–69. Archived from the original (PDF) on 29 August 2007. +
    250. +
    251. + ^ a b c Sancton, Andrew (2000). Merger mania: the assault on local government. McGill-Queen's University Press. p. 84. ISBN 0-7735-2163-1. +
    252. +
    253. + ^ "Subnational population estimates at 30 June 2010 (boundaries at 1 November 2010)". Statistics New Zealand. 26 October 2010. Archived from the original on 10 June 2011. Retrieved 2 April 2011. +
    254. +
    255. + ^ Smelt & Jui Lin 2009, p. 33. +
    256. +
    257. + ^ a b "Glossary". Department of Internal Affairs. Retrieved 28 August 2016. +
    258. +
    259. + ^ "Chatham Islands Council Act 1995 No 41". New Zealand Parliamentary Counsel Office. 29 July 1995. Retrieved 8 August 2017. +
    260. +
    261. + ^ Gimpel, Diane (2011). Monarchies. ABDO Publishing Company. p. 22. ISBN 978-1-617-14792-0. Retrieved 18 November 2016.
    262. +
    263. + ^ "System of Government". Government of Niue. Archived from the original on 13 November 2010. Retrieved 13 January 2010. +
    264. +
    265. + ^ "Government – Structure, Personnel". Government of the Cook Islands. Retrieved 13 January 2010. +
    266. +
    267. + ^ "Tokelau Government". Government of Tokelau. Retrieved 16 November 2016. +
    268. +
    269. + ^ "Scott Base". Antarctica New Zealand. Retrieved 13 January 2010. +
    270. +
    271. + ^ "Citizenship Act 1977 No 61". Zealand Parliamentary Counsel Office. 1 December 1977. Retrieved 26 May 2017. +
    272. +
    273. + ^ "Check if you're a New Zealand citizen". Department of Internal Affairs. Retrieved 20 January 2015. +
    274. +
    275. + ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. The Sea Floor. An Encyclopaedia of New Zealand. Retrieved 13 January 2011. +
    276. +
    277. + ^ "Hauraki Gulf islands". Auckland City Council. Archived from the original on 25 December 2010. Retrieved 13 January 2011. +
    278. +
    279. + ^ Hindmarsh (2006). "Discovering D'Urville". Heritage New Zealand. Archived from the original on 11 May 2011. Retrieved 13 January 2011. +
    280. +
    281. + ^ "Distance tables". Auckland Coastguard. Archived from the original on 23 January 2011. Retrieved 2 March 2011. +
    282. +
    283. + ^ McKenzie, D. W. (1987). Heinemann New Zealand atlas. Heinemann Publishers. ISBN 0-7900-0187-X. +
    284. +
    285. + ^ a b c d e f "CIA – The World Factbook". Cia.gov. Retrieved 4 May 2013. +
    286. +
    287. + ^ "Geography". Statistics New Zealand. 1999. Archived from the original on 22 May 2010. Retrieved 21 December 2009. +
    288. +
    289. + ^ Offshore Options: Managing Environmental Effects in New Zealand's Exclusive Economic Zone (PDF). Wellington: Ministry for the Environment. 2005. ISBN 0-478-25916-6. Retrieved 23 June 2017. +
    290. +
    291. + ^ Coates, Glen (2002). The rise and fall of the Southern Alps. Canterbury University Press. p. 15. ISBN 0-908812-93-0. +
    292. +
    293. + ^ Garden 2005, p. 52. +
    294. +
    295. + ^ Grant, David (March 2009). "Southland places – Fiordland's coast". Te Ara: The Encyclopedia of New Zealand. Retrieved 14 January 2011. +
    296. +
    297. + ^ "Central North Island volcanoes". Department of Conservation. Archived from the original on 29 December 2010. Retrieved 14 January 2011. +
    298. +
    299. + ^ Walrond, Carl (March 2009). "Natural environment – Geography and geology". Te Ara: The Encyclopedia of New Zealand. Retrieved 14 January 2010. +
    300. +
    301. + ^ "Taupo". GNS Science. Archived from the original on 24 March 2011. Retrieved 2 April 2011. +
    302. +
    303. + ^ a b Lewis, Keith; Nodder, Scott; Carter, Lionel (March 2009). "Sea floor geology – Active plate boundaries". Te Ara: The Encyclopedia of New Zealand. Retrieved 4 February 2011. +
    304. +
    305. + ^ Wallis, G. P.; Trewick, S. A. (2009). "New Zealand phylogeography: evolution on a small continent". Molecular Ecology. 18 (17): 3548–3580. doi:10.1111/j.1365-294X.2009.04294.x. PMID 19674312. +
    306. +
    307. + ^ Wright, Dawn; Bloomer, Sherman; MacLeod, Christopher; Taylor, Brian; Goodliffe, Andrew (2000). "Bathymetry of the Tonga Trench and Forearc: A Map Series". Marine Geophysical Researches. 21 (5): 489–512. Bibcode:2000MarGR..21..489W. doi:10.1023/A:1026514914220. +
    308. +
    309. + ^ "Australasia". New Zealand Oxford Dictionary. Oxford University Press. 2005. doi:10.1093/acref/9780195584516.001.0001. ISBN 9780195584516. +
    310. +
    311. + ^ Hobbs, Joseph J. (2016). Fundamentals of World Regional Geography. Cengage Learning. p. 367. ISBN 9781305854956. +
    312. +
    313. + ^ Hillstrom, Kevin; Hillstrom, Laurie Collier (2003). Australia, Oceania, and Antarctica: A Continental Overview of Environmental Issues. 3. ABC-CLIO. p. 25. ISBN 9781576076941. …defined here as the continent nation of Australia, New Zealand, and twenty-two other island countries and territories sprinkled over more than 40 million square kilometres of the South Pacific. +
    314. +
    315. + ^ a b Mullan, Brett; Tait, Andrew; Thompson, Craig (March 2009). "Climate – New Zealand's climate". Te Ara: The Encyclopedia of New Zealand. Retrieved 15 January 2011. +
    316. +
    317. + ^ "Summary of New Zealand climate extremes". National Institute of Water and Atmospheric Research. 2004. Retrieved 30 April 2010. +
    318. +
    319. + ^ Walrond, Carl (March 2009). "Natural environment – Climate". Te Ara: The Encyclopedia of New Zealand. Retrieved 15 January 2011. +
    320. +
    321. + ^ "Mean monthly rainfall". National Institute of Water and Atmospheric Research. Archived from the original (XLS) on 3 May 2011. Retrieved 4 February 2011. +
    322. +
    323. + ^ "Mean monthly sunshine hours". National Institute of Water and Atmospheric Research. Archived from the original (XLS) on 15 October 2008. Retrieved 4 February 2011. +
    324. +
    325. + ^ "New Zealand climate and weather". Tourism New Zealand. Retrieved 13 November 2016. +
    326. +
    327. + ^ "Climate data and activities". National Institute of Water and Atmospheric Research. Retrieved 11 February 2016. +
    328. +
    329. + ^ Cooper, R.; Millener, P. (1993). "The New Zealand biota: Historical background and new research". Trends in Ecology & Evolution. 8 (12): 429. doi:10.1016/0169-5347(93)90004-9. +
    330. +
    331. + ^ Trewick SA, Morgan-Richards M. 2014. New Zealand Wild Life. Penguin, New Zealand. + ISBN 9780143568896 +
    332. +
    333. + ^ Lindsey, Terence; Morris, Rod (2000). Collins Field Guide to New Zealand Wildlife. HarperCollins (New Zealand) Limited. p. 14. ISBN 978-1-86950-300-0. +
    334. +
    335. + ^ a b "Frequently asked questions about New Zealand plants". New Zealand Plant Conservation Network. May 2010. Retrieved 15 January 2011. +
    336. +
    337. + ^ De Lange, Peter James; Sawyer, John William David & Rolfe, Jeremy (2006). New Zealand indigenous vascular plant checklist. New Zealand Plant Conservation Network. ISBN 0-473-11306-6. +
    338. +
    339. + ^ Wassilieff, Maggy (March 2009). "Lichens – Lichens in New Zealand". Te Ara: The Encyclopedia of New Zealand. Retrieved 16 January 2011. +
    340. +
    341. + ^ McLintock, Alexander, ed. (April 2010) [originally published in 1966]. Mixed Broadleaf Podocarp and Kauri Forest. An Encyclopaedia of New Zealand. Retrieved 15 January 2011. +
    342. +
    343. + ^ Mark, Alan (March 2009). "Grasslands – Tussock grasslands". Te Ara: The Encyclopedia of New Zealand. Retrieved 17 January 2010. +
    344. +
    345. + ^ "Commentary on Forest Policy in the Asia-Pacific Region (A Review for Indonesia, Malaysia, New Zealand, Papua New Guinea, Philippines, Thailand and Western Samoa)". Forestry Department. 1997. Retrieved 4 February 2011. +
    346. +
    347. + ^ McGlone, M.S. (1989). "The Polynesian settlement of New Zealand in relation to environmental and biotic changes" (PDF). New Zealand Journal of Ecology. 12(S): 115–129. Archived from the original (PDF) on 17 July 2014. +
    348. +
    349. + ^ Taylor, R. and Smith, I. (1997). The state of New Zealand’s environment 1997. Ministry for the Environment, Wellington. +
    350. +
    351. + ^ "New Zealand ecology: Flightless birds". TerraNature. Retrieved 17 January 2011. +
    352. +
    353. + ^ a b Holdaway, Richard (March 2009). "Extinctions – New Zealand extinctions since human arrival". Te Ara: The Encyclopedia of New Zealand. Retrieved 4 February 2011. +
    354. +
    355. + ^ Kirby, Alex (January 2005). "Huge eagles 'dominated NZ skies'". BBC News. Retrieved 4 February 2011. +
    356. +
    357. + ^ "Reptiles and frogs". Department of Conservation. Archived from the original on 29 January 2015. Retrieved 25 June 2017. +
    358. +
    359. + ^ Pollard, Simon (September 2007). "Spiders and other arachnids". Te Ara: The Encyclopedia of New Zealand. Retrieved 25 June 2017. +
    360. +
    361. + ^ "Wētā". Department of Conservation. Retrieved 25 June 2017. +
    362. +
    363. + ^ Ryan, Paddy (March 2009). "Snails and slugs – Flax snails, giant snails and veined slugs". Te Ara: The Encyclopedia of New Zealand. Retrieved 4 February 2011. +
    364. +
    365. + ^ Herrera-Flores, Jorge A.; Stubbs, Thomas L.; Benton, Michael J.; Ruta, Marcello (May 2017). "Macroevolutionary patterns in Rhynchocephalia: is the tuatara (Sphenodon punctatus) a living fossil?". Palaeontology. 60 (3): 319–328. doi:10.1111/pala.12284. +
    366. +
    367. + ^ "Tiny Bones Rewrite Textbooks, first New Zealand land mammal fossil". University of New South Wales. 31 May 2007. Archived from the original on 31 May 2007. +
    368. +
    369. + ^ Worthy, Trevor H.; Tennyson, Alan J. D.; Archer, Michael; Musser, Anne M.; Hand, Suzanne J.; Jones, Craig; Douglas, Barry J.; McNamara, James A.; Beck, Robin M. D. (2006). "Miocene mammal reveals a Mesozoic ghost lineage on insular New Zealand, southwest Pacific". Proceedings of the National Academy of Sciences of the United States of America. 103 (51): 19419–23. Bibcode:2006PNAS..10319419W. doi:10.1073/pnas.0605684103. PMC 1697831. PMID 17159151. +
    370. +
    371. + ^ "Marine Mammals". Department of Conservation. Archived from the original on 8 March 2011. Retrieved 17 January 2011. +
    372. +
    373. + ^ "Sea and shore birds". Department of Conservation. Retrieved 7 March 2011. +
    374. +
    375. + ^ "Penguins". Department of Conservation. Retrieved 7 March 2011. +
    376. +
    377. + ^ Jones, Carl (2002). "Reptiles and Amphibians". In Perrow, Martin; Davy, Anthony (eds.). Handbook of ecological restoration: Principles of Restoration. 2. Cambridge University Press. p. 362. ISBN 0-521-79128-6. +
    378. +
    379. + ^ Towns, D.; Ballantine, W. (1993). "Conservation and restoration of New Zealand Island ecosystems". Trends in Ecology & Evolution. 8 (12): 452. doi:10.1016/0169-5347(93)90009-E. +
    380. +
    381. + ^ Rauzon, Mark (2008). "Island restoration: Exploring the past, anticipating the future" (PDF). Marine Ornithology. 35: 97–107. +
    382. +
    383. + ^ Diamond, Jared (1990). Towns, D; Daugherty, C; Atkinson, I (eds.). New Zealand as an archipelago: An international perspective (PDF). Wellington: Conservation Sciences Publication No. 2. Department of Conservation. pp. 3–8. +
    384. +
    385. + ^ World Economic Outlook. International Monetary Fund. April 2018. p. 63. ISBN 978-1-48434-971-7. Retrieved 21 June 2018. +
    386. +
    387. + ^ "Rankings on Economic Freedom". The Heritage Foundation. 2016. Retrieved 30 November 2016. +
    388. +
    389. + ^ "Currencies of the territories listed in the BS exchange rate lists". Bank of Slovenia. Retrieved 22 January 2011. +
    390. +
    391. + ^ a b c McLintock, Alexander, ed. (November 2009) [originally published in 1966]. Historical evolution and trade patterns. An Encyclopaedia of New Zealand. Retrieved 10 February 2011. +
    392. +
    393. + ^ Stringleman, Hugh; Peden, Robert (October 2009). "Sheep farming – Growth of the frozen meat trade, 1882–2001". Te Ara: The Encyclopedia of New Zealand. Retrieved 6 May 2010. +
    394. +
    395. + ^ Baker, John (February 2010) [1966]. McLintock, Alexander (ed.). Some Indicators of Comparative Living Standards. An Encyclopaedia of New Zealand. Retrieved 30 April 2010. + PDF Table +
    396. +
    397. + ^ Wilson, John (March 2009). "History – The later 20th century". Te Ara: The Encyclopedia of New Zealand. Retrieved 2 February 2011. +
    398. +
    399. + ^ Nixon, Chris; Yeabsley, John (April 2010). "Overseas trade policy – Difficult times – the 1970s and early 1980s". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. +
    400. +
    401. + ^ Evans, N. "Up From Down Under: After a Century of Socialism, Australia and New Zealand are Cutting Back Government and Freeing Their Economies". National Review. 46 (16): 47–51. +
    402. +
    403. + ^ Trade, Food Security, and Human Rights: The Rules for International Trade in Agricultural Products and the Evolving World Food Crisis. Routledge. 2016. p. 125. ISBN 9781317008521. +
    404. +
    405. + ^ Wayne Arnold (2 August 2007). "Surviving Without Subsidies". The New York Times. Retrieved 11 August 2015. ... ever since a liberal but free-market government swept to power in 1984 and essentially canceled handouts to farmers ... They went cold turkey and in the process it was very rough on their farming economy +
    406. +
    407. + ^ Easton, Brian (November 2010). "Economic history – Government and market liberalisation". Te Ara: The Encyclopedia of New Zealand. Retrieved 1 February 2011. +
    408. +
    409. + ^ Hazledine, Tim (1998). Taking New Zealand Seriously: The Economics of Decency (PDF). HarperCollins Publishers. ISBN 1-86950-283-3. Archived from the original (PDF) on 10 May 2011. +
    410. +
    411. + ^ "NZ tops Travellers' Choice Awards". Stuff Travel. May 2008. Retrieved 30 April 2010. +
    412. +
    413. + ^ a b c "Unemployment: the Social Report 2016 – Te pūrongo oranga tangata". Ministry of Social Development. Retrieved 18 August 2017. +
    414. +
    415. + ^ "New Zealand Takes a Pause in Cutting Rates". The New York Times. 10 June 2009. Retrieved 30 April 2010. +
    416. +
    417. + ^ "New Zealand's slump longest ever". BBC News. 26 June 2009. Retrieved 30 April 2010. +
    418. +
    419. + ^ Bascand, Geoff (February 2011). "Household Labour Force Survey: December 2010 quarter – Media Release". Statistics New Zealand. Archived from the original on 29 April 2011. Retrieved 4 February 2011. +
    420. +
    421. + ^ Davenport, Sally (2004). "Panic and panacea: brain drain and science and technology human capital policy". Research Policy. 33 (4): 617–630. doi:10.1016/j.respol.2004.01.006. +
    422. +
    423. + ^ O'Hare, Sean (September 2010). "New Zealand brain-drain worst in world". The Daily Telegraph. United Kingdom. +
    424. +
    425. + ^ Collins, Simon (March 2005). "Quarter of NZ's brightest are gone". New Zealand Herald. +
    426. +
    427. + ^ Winkelmann, Rainer (2000). "The labour market performance of European immigrants in New Zealand in the 1980s and 1990s". The International Migration Review. The Center for Migration Studies of New York. 33 (1): 33–58. doi:10.2307/2676011. JSTOR 2676011. Journal subscription required +
    428. +
    429. + ^ Bain 2006, p. 44. +
    430. +
    431. + ^ "GII 2016 Report" (PDF). Global Innovation Index. Retrieved 21 June 2018. +
    432. +
    433. + ^ Groser, Tim (March 2009). "Speech to ASEAN-Australia-New Zealand Free Trade Agreement Seminars". New Zealand Government. Retrieved 30 January 2011. +
    434. +
    435. + ^ "Improving Access to Markets:Agriculture". New Zealand Ministry of Foreign Affairs and Trade. Retrieved 22 January 2011. +
    436. +
    437. + ^ "Standard International Trade Classification R4 – Exports (Annual-Jun)". Statistics New Zealand. April 2015. Retrieved 3 April 2015. +
    438. +
    439. + ^ a b c "Goods and services trade by country: Year ended June 2018 – corrected". Statistics New Zealand. Retrieved 17 February 2019. +
    440. +
    441. + ^ "China and New Zealand sign free trade deal". The New York Times. April 2008. +
    442. +
    443. + ^ a b "Key Tourism Statistics" (PDF). Ministry of Business, Innovation and Employment. 26 April 2017. Retrieved 26 April 2017. +
    444. +
    445. + ^ Easton, Brian (March 2009). "Economy – Agricultural production". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. +
    446. +
    447. + ^ Stringleman, Hugh; Peden, Robert (March 2009). "Sheep farming – Changes from the 20th century". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. +
    448. +
    449. + ^ Stringleman, Hugh; Scrimgeour, Frank (November 2009). "Dairying and dairy products – Dairying in the 2000s". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. +
    450. +
    451. + ^ Stringleman, Hugh; Scrimgeour, Frank (March 2009). "Dairying and dairy products – Dairy exports". Te Ara: The Encyclopedia of New Zealand. Retrieved 4 February 2011. +
    452. +
    453. + ^ Stringleman, Hugh; Scrimgeour, Frank (March 2009). "Dairying and dairy products – Manufacturing and marketing in the 2000s". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. +
    454. +
    455. + ^ Dalley, Bronwyn (March 2009). "Wine – The wine boom, 1980s and beyond". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. +
    456. +
    457. + ^ "Wine in New Zealand". The Economist. 27 March 2008. Retrieved 29 April 2017. +
    458. +
    459. + ^ "Agricultural and forestry exports from New Zealand: Primary sector export values for the year ending June 2010". Ministry of Agriculture and Forestry. 14 January 2011. Archived from the original on 10 May 2011. Retrieved 8 April 2011. +
    460. +
    461. + ^ a b Energy in New Zealand 2016 (PDF) (Report). Ministry of Business, Innovation and Employment. September 2016. p. 47. ISSN 2324-5913. Archived from the original (PDF) on 3 May 2017. +
    462. +
    463. + ^ "Appendix 1: Technical information about drinking water supply in the eight local authorities". Office of the Auditor-General. Retrieved 2 September 2016. +
    464. +
    465. + ^ "Water supply". Greater Wellington Regional Council. Retrieved 2 September 2016. +
    466. +
    467. + ^ "State highway frequently asked questions". NZ Transport Agency. Retrieved 28 April 2017. +
    468. +
    469. + ^ Humphris, Adrian (April 2010). "Public transport – Passenger trends". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. +
    470. +
    471. + ^ Atkinson, Neill (November 2010). "Railways – Rail transformed". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. +
    472. +
    473. + ^ "About Metlink". Retrieved 27 December 2016. +
    474. +
    475. + ^ Atkinson, Neill (April 2010). "Railways – Freight transport". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. +
    476. +
    477. + ^ "International Visitors" (PDF). Ministry of Economic Development. June 2009. Retrieved 30 January 2011. +
    478. +
    479. + ^ "10. Airports". Infrastructure Stocktake: Infrastructure Audit. Ministry of Economic Development. December 2005. Archived from the original on 22 May 2010. Retrieved 30 January 2011. +
    480. +
    481. + ^ a b Wilson, A. C. (March 2010). "Telecommunications - Telecom". Te Ara: The Encyclopedia of New Zealand. Retrieved 11 August 2017. +
    482. +
    483. + ^ "Telecom separation". Ministry of Business, Innovation and Employment. 14 September 2015. Retrieved 11 August 2017. +
    484. +
    485. + ^ "Broadband and mobile programmes - Ministry of Business, Innovation & Employment". www.mbie.govt.nz. +
    486. +
    487. + ^ "2017 Global ICT Development Index". International Telecommunication Union (ITU). 2018. Retrieved 18 September 2018. +
    488. +
    489. + ^ "2013 Census usually resident population counts". Statistics New Zealand. 14 October 2013. Retrieved 20 September 2018. +
    490. +
    491. + ^ "National population projections: 2016(base)–2068" (Press release). Statistics New Zealand. 18 October 2016. Retrieved 20 October 2018. +
    492. +
    493. + ^ "Subnational population estimates at 30 June 2009". Statistics New Zealand. 30 June 2007. Retrieved 30 April 2010. +
    494. +
    495. + ^ "Quality of Living Ranking 2016". London: Mercer. 23 February 2016. Retrieved 28 April 2017. +
    496. +
    497. + ^ "NZ life expectancy among world's best". Stuff.co.nz. Fairfax NZ. Retrieved 6 July 2014. +
    498. +
    499. + ^ a b Department of Economic and Social Affairs Population Division (2009). "World Population Prospects" (PDF). 2008 revision. United Nations. Retrieved 29 August 2009. +
    500. +
    501. + ^ "World Factbook EUROPE : NEW ZEALAND", The World Factbook, 12 July 2018 +
    502. +
    503. + ^ "New Zealand mortality statistics: 1950 to 2010" (PDF). Ministry of Health of New Zealand. 2 March 2011. Retrieved 16 November 2016. +
    504. +
    505. + ^ "Health expenditure and financing". stats.oecd.org. OECD. 2016. Retrieved 8 December 2017. +
    506. +
    507. + ^ "Subnational Population Estimates: At 30 June 2018 (provisional)". Statistics New Zealand. 23 October 2018. Retrieved 23 October 2018. For urban areas, "Subnational population estimates (UA, AU), by age and sex, at 30 June 1996, 2001, 2006-18 (2017 boundaries)". Statistics New Zealand. 23 October 2018. Retrieved 23 October 2018. +
    508. +
    509. + ^ "2013 Census QuickStats about culture and identity – Ethnic groups in New Zealand". Statistics New Zealand. Retrieved 29 August 2014. +
    510. +
    511. + ^ Pool, Ian (May 2011). "Population change - Key population trends". Te Ara: The Encyclopedia of New Zealand. Archived from the original on 18 August 2017. Retrieved 18 August 2017. +
    512. +
    513. + ^ Dalby, Simon (September 1993). "The 'Kiwi disease': geopolitical discourse in Aotearoa/New Zealand and the South Pacific". Political Geography. 12 (5): 437–456. doi:10.1016/0962-6298(93)90012-V. +
    514. +
    515. + ^ Callister, Paul (2004). "Seeking an Ethnic Identity: Is "New Zealander" a Valid Ethnic Category?" (PDF). New Zealand Population Review. 30 (1&2): 5–22. +
    516. +
    517. + ^ Bain 2006, p. 31. +
    518. +
    519. + ^ "Draft Report of a Review of the Official Ethnicity Statistical Standard: Proposals to Address the 'New Zealander' Response Issue" (PDF). Statistics New Zealand. April 2009. Retrieved 18 January 2011. +
    520. +
    521. + ^ Ranford, Jodie. "'Pakeha', Its Origin and Meaning". Māori News. Retrieved 20 February 2008. Originally the Pakeha were the early European settlers, however, today ‘Pakeha’ is used to describe any peoples of non-Maori or non-Polynesian heritage. Pakeha is not an ethnicity but rather a way to differentiate between the historical origins of our settlers, the Polynesians and the Europeans, the Maori and the other +
    522. +
    523. + ^ Socidad Peruana de Medicina Intensiva (SOPEMI) (2000). Trends in international migration: continuous reporting system on migration. Organisation for Economic Co-operation and Development. pp. 276–278. +
    524. +
    525. + ^ Walrond, Carl (21 September 2007). "Dalmatians". Te Ara: The Encyclopedia of New Zealand. Retrieved 30 April 2010. +
    526. +
    527. + ^ "Peoples". Te Ara: The Encyclopedia of New Zealand. 2005. Retrieved 2 June 2017. +
    528. +
    529. + ^ a b Phillips, Jock (11 August 2015). "History of immigration". Te Ara: The Encyclopedia of New Zealand. Retrieved 2 June 2017. +
    530. +
    531. + ^ Brawley, Sean (1993). "'No White Policy in NZ': Fact and Fiction in New Zealand's Asian Immigration Record, 1946-1978" (PDF). New Zealand Journal of History. 27 (1): 33–36. Retrieved 2 June 2017. +
    532. +
    533. + ^ "International Migration Outlook – New Zealand 2009/10" (PDF). New Zealand Department of Labour. 2010. p. 2. ISSN 1179-5085. Archived from the original (PDF) on 11 May 2011. Retrieved 16 April 2011. +
    534. +
    535. + ^ "2013 Census QuickStats about culture and identity – Birthplace and people born overseas". Statistics New Zealand. Retrieved 29 August 2014. +
    536. +
    537. + ^ Butcher, Andrew; McGrath, Terry (2004). "International Students in New Zealand: Needs and Responses" (PDF). International Education Journal. 5 (4). +
    538. +
    539. + ^ 2013 Census QuickStats, Statistics New Zealand, 2013, ISBN 978-0-478-40864-5 +
    540. +
    541. + ^ a b c "2013 Census QuickStats about culture and identity – Languages spoken". Statistics New Zealand. Retrieved 8 September 2016. +
    542. +
    543. + ^ Hay, Maclagan & Gordon 2008, p. 14. +
    544. +
    545. + ^ * Bauer, Laurie; Warren, Paul; Bardsley, Dianne; Kennedy, Marianna; Major, George (2007), "New Zealand English", Journal of the International Phonetic Association, 37 (1): 97–102, doi:10.1017/S0025100306002830 +
    546. +
    547. + ^ a b Phillips, Jock (March 2009). "The New Zealanders – Bicultural New Zealand". Te Ara: The Encyclopedia of New Zealand. Retrieved 21 January 2011. +
    548. +
    549. + ^ Squires, Nick (May 2005). "British influence ebbs as New Zealand takes to talking Māori". The Daily Telegraph. Retrieved 3 May 2017. +
    550. +
    551. + ^ "Waitangi Tribunal claim – Māori Language Week". Ministry for Culture and Heritage. July 2010. Retrieved 19 January 2011. +
    552. +
    553. + ^ "Ngā puna kōrero: Where Māori speak te reo – infographic". Statistics New Zealand. Retrieved 8 September 2016. +
    554. +
    555. + ^ Drinnan, John (8 July 2016). "'Maori' will remain in the name Maori Television". New Zealand Herald. Retrieved 28 August 2016. According to 2015 figures supplied by Maori TV, its two channels broadcast an average of 72 per cent Maori language content - 59 per cent on the main channel and 99 per cent on te reo. +
    556. +
    557. + ^ "Ngāi Tahu Claims Settlement Act 1998". New Zealand Parliamentary Counsel Office. 20 May 2014 [1 October 1998]. Retrieved 10 March 2019. +
    558. +
    559. + ^ New Zealand Sign Language Act 2006 No 18 (as at 30 June 2008), Public Act. New Zealand Parliamentary Counsel Office. Retrieved 29 November 2011. +
    560. +
    561. + ^ Zuckerman, Phil (2006). Martin, Michael (ed.). The Cambridge Companion to Atheism (PDF). Cambridge University Press. pp. 47–66. ISBN 978-0-521-84270-9. Retrieved 8 August 2017. +
    562. +
    563. + ^ Walrond, Carl (May 2012). "Atheism and secularism – Who is secular?". Te Ara: The Encyclopedia of New Zealand. Retrieved 8 August 2017. +
    564. +
    565. + ^ a b c "2013 Census QuickStats about culture and identity – tables". Statistics New Zealand. 15 April 2014. Retrieved 14 April 2018. + Excel download +
    566. +
    567. + ^ Kaa, Hirini (May 2011). "Māori and Christian denominations". Te Ara: The Encyclopedia of New Zealand. Retrieved 20 April 2017. +
    568. +
    569. + ^ Morris, Paul (May 2011). "Diverse religions". Te Ara: The Encyclopedia of New Zealand. Retrieved 20 April 2017. +
    570. +
    571. + ^ a b Dench, Olivia (July 2010). "Education Statistics of New Zealand: 2009". Education Counts. Retrieved 19 January 2011. +
    572. +
    573. + ^ "Education Act 1989 No 80". New Zealand Parliamentary Counsel Office. 1989. Section 3. Retrieved 5 January 2013. +
    574. +
    575. + ^ "Education Act 1989 No 80 (as at 01 February 2011), Public Act. Part 14: Establishment and disestablishment of tertiary institutions, Section 62: Establishment of institutions". Education Act 1989 No 80. New Zealand Parliamentary Counsel Office. 1 February 2011. Retrieved 15 August 2011. +
    576. +
    577. + ^ "Studying in New Zealand: Tertiary education". New Zealand Qualifications Authority. Retrieved 15 August 2011. +
    578. +
    579. + ^ "Educational attainment of the population". Education Counts. 2006. Archived from the original (xls) on 15 October 2008. Retrieved 21 February 2008. +
    580. +
    581. + ^ "What Students Know and Can Do: Student Performance in Reading, Mathematics and Science 2010" (PDF). OECD. Retrieved 21 July 2012. +
    582. +
    583. + ^ Kennedy 2007, p. 398. +
    584. +
    585. + ^ Hearn, Terry (March 2009). "English – Importance and influence". Te Ara: The Encyclopedia of New Zealand. Retrieved 21 January 2011. +
    586. +
    587. + ^ "Conclusions – British and Irish immigration". Ministry for Culture and Heritage. March 2007. Retrieved 21 January 2011. +
    588. +
    589. + ^ Stenhouse, John (November 2010). "Religion and society – Māori religion". Te Ara: The Encyclopedia of New Zealand. Retrieved 21 January 2011. +
    590. +
    591. + ^ "Māori Social Structures". Ministry of Justice. March 2001. Retrieved 21 January 2011. +
    592. +
    593. + ^ "Thousands turn out for Pasifika Festival". Radio New Zealand. 25 March 2017. Retrieved 18 August 2017. +
    594. +
    595. + ^ Kennedy 2007, p. 400. +
    596. +
    597. + ^ Kennedy 2007, p. 399. +
    598. +
    599. + ^ Phillips, Jock (March 2009). "The New Zealanders – Post-war New Zealanders". Te Ara: The Encyclopedia of New Zealand. Retrieved 21 January 2011. +
    600. +
    601. + ^ Phillips, Jock (March 2009). "The New Zealanders – Ordinary blokes and extraordinary sheilas". Te Ara: The Encyclopedia of New Zealand. Retrieved 21 January 2011. +
    602. +
    603. + ^ Phillips, Jock (March 2009). "Rural mythologies – The cult of the pioneer". Te Ara: The Encyclopedia of New Zealand. Retrieved 21 January 2011. +
    604. +
    605. + ^ Barker, Fiona (June 2012). "New Zealand identity – Culture and arts". Te Ara: The Encyclopedia of New Zealand. Retrieved 7 December 2016. +
    606. +
    607. + ^ a b Wilson, John (September 2016). "Nation and government – Nationhood and identity". Te Ara: The Encyclopedia of New Zealand. Retrieved 3 December 2016. +
    608. +
    609. + ^ a b Swarbrick, Nancy (June 2010). "Creative life – Visual arts and crafts". Te Ara: The Encyclopedia of New Zealand. Retrieved 4 February 2011. +
    610. +
    611. + ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. Elements of Carving. An Encyclopaedia of New Zealand. Retrieved 15 February 2011. +
    612. +
    613. + ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. Surface Patterns. An Encyclopaedia of New Zealand. Retrieved 15 February 2011. +
    614. +
    615. + ^ McKay, Bill (2004). "Māori architecture: transforming western notions of architecture". Fabrications. 14 (1&2): 1–12. doi:10.1080/10331867.2004.10525189. Archived from the original on 13 May 2011. +
    616. +
    617. + ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. Painted Designs. An Encyclopaedia of New Zealand. Retrieved 15 February 2011. +
    618. +
    619. + ^ McLintock, Alexander, ed. (2009) [1966]. Tattooing. An Encyclopaedia of New Zealand. Retrieved 15 February 2011. +
    620. +
    621. + ^ a b "Beginnings – history of NZ painting". Ministry for Culture and Heritage. December 2010. Retrieved 17 February 2011. +
    622. +
    623. + ^ "A new New Zealand art – history of NZ painting". Ministry for Culture and Heritage. November 2010. Retrieved 16 February 2011. +
    624. +
    625. + ^ "Contemporary Maori art". Ministry for Culture and Heritage. November 2010. Retrieved 16 February 2011. +
    626. +
    627. + ^ Rauer, Julie. "Paradise Lost: Contemporary Pacific Art At The Asia Society". Asia Society and Museum. Retrieved 17 February 2011. +
    628. +
    629. + ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. Textile Designs. An Encyclopaedia of New Zealand. Retrieved 15 February 2011. +
    630. +
    631. + ^ Keane, Basil (March 2009). "Pounamu – jade or greenstone – Implements and adornment". Te Ara: The Encyclopedia of New Zealand. Retrieved 17 February 2011. +
    632. +
    633. + ^ Wilson, John (March 2009). "Society – Food, drink and dress". Te Ara: The Encyclopedia of New Zealand. Retrieved 17 February 2011. +
    634. +
    635. + ^ Swarbrick, Nancy (June 2010). "Creative life – Design and fashion". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. +
    636. +
    637. + ^ a b "Fashion in New Zealand – New Zealand's fashion industry". The Economist. 28 February 2008. Retrieved 6 August 2009. +
    638. +
    639. + ^ Swarbrick, Nancy (June 2010). "Creative life – Writing and publishing". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2011. +
    640. +
    641. + ^ "The making of New Zealand literature". Ministry for Culture and Heritage. November 2010. Retrieved 22 January 2011. +
    642. +
    643. + ^ "New directions in the 1930s – New Zealand literature". Ministry for Culture and Heritage. August 2008. Retrieved 12 February 2011. +
    644. +
    645. + ^ "The war and beyond – New Zealand literature". Ministry for Culture and Heritage. November 2007. Retrieved 12 February 2011. +
    646. +
    647. + ^ "28 cities join the UNESCO Creative Cities Network". UNESCO. December 2014. Retrieved 7 March 2015. +
    648. +
    649. + ^ a b Swarbrick, Nancy (June 2010). "Creative life – Music". Te Ara: The Encyclopedia of New Zealand. Retrieved 21 January 2011. +
    650. +
    651. + ^ McLintock, Alexander, ed. (April 2009) [originally published in 1966]. Maori Music. An Encyclopaedia of New Zealand. Retrieved 15 February 2011. +
    652. +
    653. + ^ McLintock, Alexander, ed. (April 2009) [1966]. Musical Instruments. An Encyclopaedia of New Zealand. Retrieved 16 February 2011. +
    654. +
    655. + ^ McLintock, Alexander, ed. (April 2009) [1966]. Instruments Used for Non-musical Purposes. An Encyclopaedia of New Zealand. Retrieved 16 February 2011. +
    656. +
    657. + ^ McLintock, Alexander, ed. (April 2009) [1966]. Music: General History. An Encyclopaedia of New Zealand. Retrieved 15 February 2011. +
    658. +
    659. + ^ McLintock, Alexander, ed. (April 2009) [1966]. Music: Brass Bands. An Encyclopaedia of New Zealand. Retrieved 14 April 2011. +
    660. +
    661. + ^ McLintock, Alexander, ed. (April 2009) [1966]. Music: Pipe Bands. An Encyclopaedia of New Zealand. Retrieved 14 April 2011. +
    662. +
    663. + ^ Swarbrick, Nancy (June 2010). "Creative life – Performing arts". Te Ara: The Encyclopedia of New Zealand. Retrieved 21 January 2011. +
    664. +
    665. + ^ "History – celebrating our music since 1965". Recording Industry Association of New Zealand. 2008. Archived from the original on 14 September 2011. Retrieved 23 January 2012. +
    666. +
    667. + ^ "About RIANZ – Introduction". Recording Industry Association of New Zealand. Archived from the original on 21 December 2011. Retrieved 23 January 2012. +
    668. +
    669. + ^ Downes, Siobhan (1 January 2017). "World famous in New Zealand: Hobbiton Movie Set". Stuff Travel. Retrieved 6 July 2017. +
    670. +
    671. + ^ Brian, Pauling (October 2014). "Radio – The early years, 1921 to 1932". Te Ara: The Encyclopedia of New Zealand. Retrieved 6 July 2017. +
    672. +
    673. + ^ "New Zealand's first official TV broadcast". Ministry for Culture and Heritage. December 2016. Retrieved 6 July 2017. +
    674. +
    675. + ^ a b Swarbrick, Nancy (June 2010). "Creative life – Film and broadcasting". Te Ara: The Encyclopedia of New Zealand. Retrieved 21 January 2011. +
    676. +
    677. + ^ Horrocks, Roger. "A History of Television in New Zealand". NZ On Screen. Retrieved 13 September 2017. +
    678. +
    679. + ^ "Top 10 Highest Grossing New Zealand Movies Ever". Flicks.co.nz. May 2016. Retrieved 11 August 2017. +
    680. +
    681. + ^ Cieply, Michael; Rose, Jeremy (October 2010). "New Zealand Bends and 'Hobbit' Stays". The New York Times. Retrieved 11 August 2017. +
    682. +
    683. + ^ "Production Guide: Locations". Film New Zealand. Archived from the original on 7 November 2010. Retrieved 21 January 2011. +
    684. +
    685. + ^ Myllylahti, Merja (December 2016). JMAD New Zealand Media Ownership Report 2016 (PDF) (Report). Auckland University of Technology. pp. 4–29. Archived from the original (PDF) on 21 May 2017. Retrieved 11 August 2017. +
    686. +
    687. + ^ "Scores and Status Data 1980-2015". Freedom of the Press 2015. Freedom House. Retrieved 23 November 2016. +
    688. +
    689. + ^ Hearn, Terry (March 2009). "English – Popular culture". Te Ara: The Encyclopedia of New Zealand. Retrieved 22 January 2012. +
    690. +
    691. + ^ "Sport, Fitness and Leisure". New Zealand Official Yearbook. Statistics New Zealand. 2000. Archived from the original on 7 June 2011. Retrieved 21 July 2008. Traditionally New Zealanders have excelled in rugby union, which is regarded as the national sport, and track and field athletics. +
    692. +
    693. + ^ a b Phillips, Jock (February 2011). "Sports and leisure – Organised sports". Te Ara: The Encyclopedia of New Zealand. Retrieved 23 March 2011. +
    694. +
    695. + ^ a b "More and more students wear school sports colours". New Zealand Secondary School Sports Council. Retrieved 30 March 2015. +
    696. +
    697. + ^ Crawford, Scott (January 1999). "Rugby and the Forging of National Identity". In Nauright, John (ed.). Sport, Power And Society In New Zealand: Historical And Contemporary Perspectives (PDF). ASSH Studies In Sports History. Archived from the original (PDF) on 19 January 2012. Retrieved 22 January 2011. +
    698. +
    699. + ^ "Rugby, racing and beer". Ministry for Culture and Heritage. August 2010. Retrieved 22 January 2011. +
    700. +
    701. + ^ Derby, Mark (December 2010). "Māori–Pākehā relations – Sports and race". Te Ara: The Encyclopedia of New Zealand. Retrieved 4 February 2011. +
    702. +
    703. + ^ Bain 2006, p. 69. +
    704. +
    705. + ^ Langton, Graham (1996). A history of mountain climbing in New Zealand to 1953 (Thesis). Christchurch: University of Canterbury. p. 28. Retrieved 12 August 2017. +
    706. +
    707. + ^ "World mourns Sir Edmund Hillary". The Age. Melbourne. 11 January 2008. +
    708. +
    709. + ^ "Sport and Recreation Participation Levels" (PDF). Sport and Recreation New Zealand. 2009. Archived from the original (PDF) on 15 January 2015. Retrieved 27 November 2016. +
    710. +
    711. + ^ Barclay-Kerr, Hoturoa (September 2013). "Waka ama – outrigger canoeing". Te Ara: The Encyclopedia of New Zealand. Retrieved 12 August 2017. +
    712. +
    713. + ^ "NZ's first Olympic century". Ministry for Culture and Heritage. August 2016. Retrieved 27 April 2017. +
    714. +
    715. + ^ "London 2012 Olympic Games: Medal strike rate – Final count (revised)". Statistics New Zealand. 14 August 2012. Retrieved 4 December 2013. +
    716. +
    717. + ^ "Rio 2016 Olympic Games: Medals per capita". Statistics New Zealand. 30 August 2016. Retrieved 27 April 2017. +
    718. +
    719. + ^ Kerr, James (14 November 2013). "The All Blacks guide to being successful (off the field)". The Daily Telegraph. London. Retrieved 4 December 2013. +
    720. +
    721. + ^ Fordyce, Tom (23 October 2011). "2011 Rugby World Cup final: New Zealand 8-7 France". BBC Sport. Retrieved 4 December 2013. +
    722. +
    723. + ^ a b "New Zealand Cuisine". New Zealand Tourism Guide. January 2016. Retrieved 4 January 2016. +
    724. +
    725. + ^ Petrie, Hazel (November 2008). "Kai Pākehā – introduced foods". Te Ara: The Encyclopedia of New Zealand. Retrieved 27 June 2017. +
    726. +
    727. + ^ Whaanga, Mere (June 2006). "Mātaitai – shellfish gathering". Te Ara: The Encyclopedia of New Zealand. Retrieved 27 June 2017. +
    728. +
    729. + ^ "Story: Shellfish". Te Ara: The Encyclopedia of New Zealand. Retrieved 29 August 2016. +
    730. +
    731. + ^ Burton, David (September 2013). "Cooking – Cooking methods". Te Ara: The Encyclopedia of New Zealand. Retrieved 11 December 2016. +
    732. +
    733. + ^ Royal, Charles; Kaka-Scott, Jenny (September 2013). "Māori foods – kai Māori". Te Ara: The Encyclopedia of New Zealand. Retrieved 1 September 2016. +
    734. +
    +
    +

    + References +

    +
    +
    +

    + Further reading +

    +

    + External links +

    +
    +
    Government
    +
    + +
    +
    Travel
    +
    + +
    +
    General Information
    +
    +
    \ No newline at end of file diff --git a/test/test-pages/wikipedia-3/expected.html b/test/test-pages/wikipedia-3/expected.html index aa69dcb..0a30ad2 100644 --- a/test/test-pages/wikipedia-3/expected.html +++ b/test/test-pages/wikipedia-3/expected.html @@ -1,268 +1,276 @@
    +

    In mathematics, a Hermitian matrix (or self-adjoint matrix) is a complex square matrix that is equal to its own conjugate transpose—that is, the element in the i-th row and j-th column is equal to the complex conjugate of the element in the j-th row and i-th column, for all indices i and j:

    +

    + +

    +

    or in matrix form:

    +
    +
    + . +
    +
    +

    Hermitian matrices can be understood as the complex extension of real symmetric matrices.

    +

    If the conjugate transpose of a matrix is denoted by , then the Hermitian property can be written concisely as

    +

    + +

    +

    Hermitian matrices are named after Charles Hermite, who demonstrated in 1855 that matrices of this form share a property with real symmetric matrices of always having real eigenvalues. Other, equivalent notations in common use are , although note that in quantum mechanics, typically means the complex conjugate only, and not the conjugate transpose.

    +

    + Alternative characterizations[edit] +

    +

    Hermitian matrices can be characterized in a number of equivalent ways, some of which are listed below:

    +

    + Equality with the adjoint[edit] +

    +

    A square matrix is Hermitian if and only if it is equal to its adjoint, that is, it satisfies

    -

    In mathematics, a Hermitian matrix (or self-adjoint matrix) is a complex square matrix that is equal to its own conjugate transpose—that is, the element in the i-th row and j-th column is equal to the complex conjugate of the element in the j-th row and i-th column, for all indices i and j:

    -

    - +

    -

    or in matrix form:

    -
    -
    - .
    -
    -

    Hermitian matrices can be understood as the complex extension of real symmetric matrices.

    -

    If the conjugate transpose of a matrix is denoted by , then the Hermitian property can be written concisely as

    -

    - -

    -

    Hermitian matrices are named after Charles Hermite, who demonstrated in 1855 that matrices of this form share a property with real symmetric matrices of always having real eigenvalues. Other, equivalent notations in common use are , although note that in quantum mechanics, typically means the complex conjugate only, and not the conjugate transpose.

    -

    - Alternative characterizations[edit] -

    -

    Hermitian matrices can be characterized in a number of equivalent ways, some of which are listed below:

    -

    - Equality with the adjoint[edit] -

    -

    A square matrix is Hermitian if and only if it is equal to its adjoint, that is, it satisfies

    -
    -

    -

    -
    -

    for any pair of vectors , where denotes the inner product operation.

    -

    This is also the way that the more general concept of self-adjoint operator is defined.

    -

    - Reality of quadratic forms[edit] -

    -

    A square matrix is Hermitian if and only if it is such that

    -
    -

    -

    -
    -

    - Spectral properties[edit] -

    -

    A square matrix is Hermitian if and only if it is unitarily diagonalizable with real eigenvalues.

    -

    - Applications[edit] -

    -

    Hermitian matrices are fundamental to the quantum theory of matrix mechanics created by Werner Heisenberg, Max Born, and Pascual Jordan in 1925.

    -

    - Examples[edit] -

    -

    In this section, the conjugate transpose of matrix is denoted as , the transpose of matrix is denoted as and conjugate of matrix is denoted as .

    -

    See the following example:

    -
    -
    - -
    -
    -

    The diagonal elements must be real, as they must be their own complex conjugate.

    -

    Well-known families of Pauli matrices, Gell-Mann matrices and their generalizations are Hermitian. In theoretical physics such Hermitian matrices are often multiplied by imaginary coefficients,[1][2] which results in skew-Hermitian matrices (see below).

    -

    Here, we offer another useful Hermitian matrix using an abstract example. If a square matrix equals the multiplication of a matrix and its conjugate transpose, that is, , then is a Hermitian positive semi-definite matrix. Furthermore, if is row full-rank, then is positive definite.

    -

    - Properties[edit] -

    - - - - - - - -
    -

    [icon] -

    -
    -

    This section needs expansion with: Proof of the properties requested. You can help by adding to it. (February 2018) -

    -
    -
      -
    • The entries on the main diagonal (top left to bottom right) of any Hermitian matrix are real.
    • -
    -
    -
    - Proof: By definition of the Hermitian matrix
    -
    - -
    -
    -
    -
    so for i = j the above follows.
    -
    Only the main diagonal entries are necessarily real; Hermitian matrices can have arbitrary complex-valued entries in their off-diagonal elements, as long as diagonally-opposite entries are complex conjugates.
    -
    -
      -
    • A matrix that has only real entries is Hermitian if and only if it is symmetric. A real and symmetric matrix is simply a special case of a Hermitian matrix.
    • -
    -
    -
    - Proof: by definition. Thus Hij = Hji (matrix symmetry) if and only if (Hij is real).
    -
    -
      -
    • Every Hermitian matrix is a normal matrix. That is to say, AAH = AHA.
    • -
    -
    -
    - Proof: A = AH, so AAH = AA = AHA.
    -
    -
      -
    • The finite-dimensional spectral theorem says that any Hermitian matrix can be diagonalized by a unitary matrix, and that the resulting diagonal matrix has only real entries. This implies that all eigenvalues of a Hermitian matrix A with dimension n are real, and that A has n linearly independent eigenvectors. Moreover, a Hermitian matrix has orthogonal eigenvectors for distinct eigenvalues. Even if there are degenerate eigenvalues, it is always possible to find an orthogonal basis of n consisting of n eigenvectors of A.
    • -
    -
      -
    • The sum of any two Hermitian matrices is Hermitian.
    • -
    -
    -
    - Proof: as claimed.
    -
    -
      -
    • The inverse of an invertible Hermitian matrix is Hermitian as well.
    • -
    -
    -
    - Proof: If , then , so as claimed.
    -
    -
      -
    • The product of two Hermitian matrices A and B is Hermitian if and only if AB = BA.
    • -
    -
    -
    - Proof: Note that Thus if and only if .
    -
    Thus An is Hermitian if A is Hermitian and n is an integer.
    -
    -
      -
    • The Hermitian complex n-by-n matrices do not form a vector space over the complex numbers, , since the identity matrix In is Hermitian, but iIn is not. However the complex Hermitian matrices do form a vector space over the real numbers . In the 2n2-dimensional vector space of complex n × n matrices over , the complex Hermitian matrices form a subspace of dimension n2. If Ejk denotes the n-by-n matrix with a 1 in the j,k position and zeros elsewhere, a basis (orthonormal w.r.t. the Frobenius inner product) can be described as follows:
    • -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    together with the set of matrices of the form
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    and the matrices
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    where denotes the complex number , called the imaginary unit.
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    where are the eigenvalues on the diagonal of the diagonal matrix .
    -
    -
      -
    • The determinant of a Hermitian matrix is real:
    • -
    -
    -
    - Proof: -
    -
    Therefore if .
    -
    (Alternatively, the determinant is the product of the matrix's eigenvalues, and as mentioned before, the eigenvalues of a Hermitian matrix are real.)
    -
    -

    - Decomposition into Hermitian and skew-Hermitian[edit] -

    -

    - Additional facts related to Hermitian matrices include:

    -
      -
    • The sum of a square matrix and its conjugate transpose is Hermitian.
    • -
    -
      -
    • The difference of a square matrix and its conjugate transpose is skew-Hermitian (also called antihermitian). This implies that the commutator of two Hermitian matrices is skew-Hermitian.
    • -
    -
      -
    • An arbitrary square matrix C can be written as the sum of a Hermitian matrix A and a skew-Hermitian matrix B. This is known as the Toeplitz decomposition of C.[3]:p. 7 -
    • -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    - Rayleigh quotient[edit] -

    -

    In mathematics, for a given complex Hermitian matrix M and nonzero vector x, the Rayleigh quotient[4] , is defined as:[3]:p. 234[5] +

    +

    for any pair of vectors , where denotes the inner product operation.

    +

    This is also the way that the more general concept of self-adjoint operator is defined.

    +

    + Reality of quadratic forms[edit] +

    +

    A square matrix is Hermitian if and only if it is such that

    +
    +

    -
    -
    - .
    -
    -

    For real matrices and vectors, the condition of being Hermitian reduces to that of being symmetric, and the conjugate transpose to the usual transpose . Note that for any non-zero real scalar . Also, recall that a Hermitian (or real symmetric) matrix has real eigenvalues.

    -

    It can be shown[citation needed] that, for a given matrix, the Rayleigh quotient reaches its minimum value (the smallest eigenvalue of M) when is (the corresponding eigenvector). Similarly, and .

    -

    The Rayleigh quotient is used in the min-max theorem to get exact values of all eigenvalues. It is also used in eigenvalue algorithms to obtain an eigenvalue approximation from an eigenvector approximation. Specifically, this is the basis for Rayleigh quotient iteration.

    -

    The range of the Rayleigh quotient (for matrix that is not necessarily Hermitian) is called a numerical range (or spectrum in functional analysis). When the matrix is Hermitian, the numerical range is equal to the spectral norm. Still in functional analysis, is known as the spectral radius. In the context of C*-algebras or algebraic quantum mechanics, the function that to M associates the Rayleigh quotient R(M, x) for a fixed x and M varying through the algebra would be referred to as "vector state" of the algebra.

    -

    - See also[edit] -

    - -

    - References[edit] -

    -

    - External links[edit] -

    -
    +

    + Spectral properties[edit] +

    +

    A square matrix is Hermitian if and only if it is unitarily diagonalizable with real eigenvalues.

    +

    + Applications[edit] +

    +

    Hermitian matrices are fundamental to the quantum theory of matrix mechanics created by Werner Heisenberg, Max Born, and Pascual Jordan in 1925.

    +

    + Examples[edit] +

    +

    In this section, the conjugate transpose of matrix is denoted as , the transpose of matrix is denoted as and conjugate of matrix is denoted as .

    +

    See the following example:

    +
    +
    + +
    +
    +

    The diagonal elements must be real, as they must be their own complex conjugate.

    +

    Well-known families of Pauli matrices, Gell-Mann matrices and their generalizations are Hermitian. In theoretical physics such Hermitian matrices are often multiplied by imaginary coefficients,[1][2] which results in skew-Hermitian matrices (see below).

    +

    Here, we offer another useful Hermitian matrix using an abstract example. If a square matrix equals the multiplication of a matrix and its conjugate transpose, that is, , then is a Hermitian positive semi-definite matrix. Furthermore, if is row full-rank, then is positive definite.

    +

    + Properties[edit] +

    + + + + + + + +
    +

    [icon] +

    +
    +

    This section needs expansion with: Proof of the properties requested. You can help by adding to it. (February 2018) +

    +
    +
      +
    • The entries on the main diagonal (top left to bottom right) of any Hermitian matrix are real.
    • +
    +
    +
    + Proof: By definition of the Hermitian matrix
    +
    + +
    +
    +
    +
    so for i = j the above follows.
    +
    Only the main diagonal entries are necessarily real; Hermitian matrices can have arbitrary complex-valued entries in their off-diagonal elements, as long as diagonally-opposite entries are complex conjugates.
    +
    +
      +
    • A matrix that has only real entries is Hermitian if and only if it is symmetric. A real and symmetric matrix is simply a special case of a Hermitian matrix.
    • +
    +
    +
    + Proof: by definition. Thus Hij = Hji (matrix symmetry) if and only if (Hij is real). +
    +
    +
      +
    • Every Hermitian matrix is a normal matrix. That is to say, AAH = AHA.
    • +
    +
    +
    + Proof: A = AH, so AAH = AA = AHA. +
    +
    +
      +
    • The finite-dimensional spectral theorem says that any Hermitian matrix can be diagonalized by a unitary matrix, and that the resulting diagonal matrix has only real entries. This implies that all eigenvalues of a Hermitian matrix A with dimension n are real, and that A has n linearly independent eigenvectors. Moreover, a Hermitian matrix has orthogonal eigenvectors for distinct eigenvalues. Even if there are degenerate eigenvalues, it is always possible to find an orthogonal basis of n consisting of n eigenvectors of A.
    • +
    +
      +
    • The sum of any two Hermitian matrices is Hermitian.
    • +
    +
    +
    + Proof: as claimed. +
    +
    +
      +
    • The inverse of an invertible Hermitian matrix is Hermitian as well.
    • +
    +
    +
    + Proof: If , then , so as claimed. +
    +
    +
      +
    • The product of two Hermitian matrices A and B is Hermitian if and only if AB = BA.
    • +
    +
    +
    + Proof: Note that Thus if and only if . +
    +
    Thus An is Hermitian if A is Hermitian and n is an integer.
    +
    +
      +
    • The Hermitian complex n-by-n matrices do not form a vector space over the complex numbers, , since the identity matrix In is Hermitian, but iIn is not. However the complex Hermitian matrices do form a vector space over the real numbers . In the 2n2-dimensional vector space of complex n × n matrices over , the complex Hermitian matrices form a subspace of dimension n2. If Ejk denotes the n-by-n matrix with a 1 in the j,k position and zeros elsewhere, a basis (orthonormal w.r.t. the Frobenius inner product) can be described as follows:
    • +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    together with the set of matrices of the form
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    and the matrices
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    where denotes the complex number , called the imaginary unit.
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    where are the eigenvalues on the diagonal of the diagonal matrix .
    +
    +
      +
    • The determinant of a Hermitian matrix is real:
    • +
    +
    +
    + Proof: +
    +
    Therefore if .
    +
    (Alternatively, the determinant is the product of the matrix's eigenvalues, and as mentioned before, the eigenvalues of a Hermitian matrix are real.)
    +
    +

    + Decomposition into Hermitian and skew-Hermitian[edit] +

    +

    + Additional facts related to Hermitian matrices include: +

    +
      +
    • The sum of a square matrix and its conjugate transpose is Hermitian.
    • +
    +
      +
    • The difference of a square matrix and its conjugate transpose is skew-Hermitian (also called antihermitian). This implies that the commutator of two Hermitian matrices is skew-Hermitian.
    • +
    +
      +
    • An arbitrary square matrix C can be written as the sum of a Hermitian matrix A and a skew-Hermitian matrix B. This is known as the Toeplitz decomposition of C.[3]:p. 7 +
    • +
    +
    +
    +
    +
    + +
    +
    +
    +
    +

    + Rayleigh quotient[edit] +

    +

    In mathematics, for a given complex Hermitian matrix M and nonzero vector x, the Rayleigh quotient[4] , is defined as:[3]:p. 234[5] +

    +
    +
    + . +
    +
    +

    For real matrices and vectors, the condition of being Hermitian reduces to that of being symmetric, and the conjugate transpose to the usual transpose . Note that for any non-zero real scalar . Also, recall that a Hermitian (or real symmetric) matrix has real eigenvalues.

    +

    It can be shown[citation needed] that, for a given matrix, the Rayleigh quotient reaches its minimum value (the smallest eigenvalue of M) when is (the corresponding eigenvector). Similarly, and .

    +

    The Rayleigh quotient is used in the min-max theorem to get exact values of all eigenvalues. It is also used in eigenvalue algorithms to obtain an eigenvalue approximation from an eigenvector approximation. Specifically, this is the basis for Rayleigh quotient iteration.

    +

    The range of the Rayleigh quotient (for matrix that is not necessarily Hermitian) is called a numerical range (or spectrum in functional analysis). When the matrix is Hermitian, the numerical range is equal to the spectral norm. Still in functional analysis, is known as the spectral radius. In the context of C*-algebras or algebraic quantum mechanics, the function that to M associates the Rayleigh quotient R(M, x) for a fixed x and M varying through the algebra would be referred to as "vector state" of the algebra.

    +

    + See also[edit] +

    + +

    + References[edit] +

    +

    + External links[edit] +

    +
    \ No newline at end of file diff --git a/test/test-pages/wikipedia/expected.html b/test/test-pages/wikipedia/expected.html index 4e8b90f..338e9af 100644 --- a/test/test-pages/wikipedia/expected.html +++ b/test/test-pages/wikipedia/expected.html @@ -76,9 +76,7 @@

    Software[edit]

    -
    -

    -
    +

    Firefox[edit]

    @@ -101,18 +99,14 @@

    SeaMonkey[edit]

    -
    -

    -
    +

    SeaMonkey (formerly the Mozilla Application Suite) is a free and open source cross platform suite of Internet software components including a web browser component, a client for sending and receiving email and USENET newsgroup messages, an HTML editor (Mozilla Composer) and the ChatZilla IRC client.

    On March 10, 2005, the Mozilla Foundation announced that it would not release any official versions of Mozilla Application Suite beyond 1.7.x, since it had now focused on the standalone applications Firefox and Thunderbird.[57] SeaMonkey is now maintained by the SeaMonkey Council, which has trademarked the SeaMonkey name with help from the Mozilla Foundation.[58] The Mozilla Foundation provides project hosting for the SeaMonkey developers.

    Bugzilla[edit]

    -
    -

    -
    +

    Bugzilla is a web-based general-purpose bug tracking system, which was released as open source software by Netscape Communications in 1998 along with the rest of the Mozilla codebase, and is currently stewarded by Mozilla. It has been adopted by a variety of organizations for use as a bug tracking system for both free and open source software and proprietary projects and products, including the Mozilla Foundation, the Linux kernel, GNOME, KDE, Red Hat, Novell, Eclipse and LibreOffice.[59]

    Components[edit] @@ -168,17 +162,13 @@

    Local communities[edit]

    -
    -

    -
    +

    There are a number of sub-communities that exist based on their geographical locations, where contributors near each other work together on particular activities, such as localization, marketing, PR and user support.

    Mozilla Reps[edit]

    -
    -

    -
    +

    The Mozilla Reps program aims to empower and support volunteer Mozillians who want to become official representatives of Mozilla in their region/locale.

    The program provides a simple framework and a specific set of tools to help Mozillians to organize and/or attend events, recruit and mentor new contributors, document and share activities, and support their local communities better.

    @@ -196,11 +186,9 @@

    Mozilla Festival[edit]

    +

    -

    -
    -

    Speakers from the Knight Foundation discuss the future of news at the 2011 Mozilla Festival in London.

    -
    +

    Speakers from the Knight Foundation discuss the future of news at the 2011 Mozilla Festival in London.

    The Mozilla Festival is an annual event where hundreds of passionate people explore the Web, learn together and make things that can change the world. With the emphasis on making—the mantra of the Festival is "less yack, more hack." Journalists, coders, filmmakers, designers, educators, gamers, makers, youth and anyone else, from all over the world, are encouraged to attend, with attendees from more than 40 countries, working together at the intersection between freedom, the Web, and that years theme.

    diff --git a/test/test-pages/wordpress/expected-metadata.json b/test/test-pages/wordpress/expected-metadata.json index 40391c7..176db80 100644 --- a/test/test-pages/wordpress/expected-metadata.json +++ b/test/test-pages/wordpress/expected-metadata.json @@ -1,8 +1,8 @@ { "title": "Stack Overflow Jobs Data Shows ReactJS Skills in High Demand, WordPress Market Oversaturated with Developers", "byline": null, - "dir": null, + "dir": "ltr", "excerpt": "Stack Overflow published its analysis of 2017 hiring trends based on the targeting options employers selected when posting to Stack Overflow Jobs. The report, which compares data from 200 companies…", - "readerable": true, - "siteName": "WordPress Tavern" + "siteName": "WordPress Tavern", + "readerable": true } diff --git a/test/test-pages/wordpress/expected.html b/test/test-pages/wordpress/expected.html index d2c863c..2f8650d 100644 --- a/test/test-pages/wordpress/expected.html +++ b/test/test-pages/wordpress/expected.html @@ -1,20 +1,30 @@
    -
    -
    -

    -

    Stack Overflow published its analysis of 2017 hiring trends based on the targeting options employers selected when posting to Stack Overflow Jobs. The report, which compares data from 200 companies since 2015, ranks ReactJS, Docker, and Ansible at the top of the fastest growing skills in demand. When comparing the percentage change from 2015 to 2016, technologies like AJAX, Backbone.js, jQuery, and WordPress are less in demand.

    -

    -

    Stack Overflow also measured the demand relative to the available developers in different tech skills. The demand for backend, mobile, and database engineers is higher than the number of qualified candidates available. WordPress is last among the oversaturated fields with a surplus of developers relative to available positions.

    -

    -

    In looking at these results, it’s important to consider the inherent biases within the Stack Overflow ecosystem. In 2016, the site surveyed more than 56,000 developers but noted that the survey was “biased against devs who don’t speak English.” The average age of respondents was 29.6 years old and 92.8% of them were male.

    -

    For two years running, Stack Overflow survey respondents have ranked WordPress among the most dreaded technologies that they would prefer not to use. This may be one reason why employers wouldn’t be looking to advertise positions on the site’s job board, which is the primary source of the data for this report.

    -

    Many IT career forecasts focus more generally on job descriptions and highest paying positions. Stack Overflow is somewhat unique in that it identifies trends in specific tech skills, pulling this data out of how employers are tagging their listings for positions. It presents demand in terms of number of skilled developers relative to available positions, a slightly more complicated approach than measuring demand based on advertised salary. However, Stack Overflow’s data presentation could use some refining.

    -

    One commenter, Bruce Van Horn, noted that jobs tagged as “Full Stack Developer” already assume many of the skills that are listed separately:

    -
    -

    I wonder how many of these skills are no longer listed because they are “table stakes”. You used to have to put CSS, jQuery, and JSON on the job description. I wouldn’t expect to have to put that on a Full Stack Developer description today – if you don’t know those then you aren’t a Full Stack Web Developer, and I’m more interested in whether you know the shiny things like React, Redux, and Angular2.

    -
    -

    It would be interesting to know what is meant by tagging “WordPress” as a skill – whether it is the general ability to work within the WordPress ecosystem of tools or if it refers to specific skills like PHP. Browsing a few jobs on Stack Overflow, WordPress positions vary in the skills they require, such as React.js, Angular, PHP, HTML, CSS, and other technologies. This is a reflection of the diversity of technology that can be leveraged in creating WordPress-powered sites and applications, and several of these skills are listed independently of WordPress in the data.

    -

    Regardless of how much credibility you give Stack Overflow’s analysis of hiring trends, the report’s recommendation for those working in technologies oversaturated with developers is a good one: “Consider brushing up on some technologies that offer higher employer demand and less competition.” WordPress’ code base is currently 59% PHP and 27% JavaScript. The percentage of PHP has grown over time, but newer features and improvements to core are also being built in JavaScript. These are both highly portable skills that are in demand on the web.

    -
    -
    +
    +
    +
    +
    +

    + +

    +

    Stack Overflow published its analysis of 2017 hiring trends based on the targeting options employers selected when posting to Stack Overflow Jobs. The report, which compares data from 200 companies since 2015, ranks ReactJS, Docker, and Ansible at the top of the fastest growing skills in demand. When comparing the percentage change from 2015 to 2016, technologies like AJAX, Backbone.js, jQuery, and WordPress are less in demand.

    +

    + +

    +

    Stack Overflow also measured the demand relative to the available developers in different tech skills. The demand for backend, mobile, and database engineers is higher than the number of qualified candidates available. WordPress is last among the oversaturated fields with a surplus of developers relative to available positions.

    +

    + +

    +

    In looking at these results, it’s important to consider the inherent biases within the Stack Overflow ecosystem. In 2016, the site surveyed more than 56,000 developers but noted that the survey was “biased against devs who don’t speak English.” The average age of respondents was 29.6 years old and 92.8% of them were male.

    +

    For two years running, Stack Overflow survey respondents have ranked WordPress among the most dreaded technologies that they would prefer not to use. This may be one reason why employers wouldn’t be looking to advertise positions on the site’s job board, which is the primary source of the data for this report.

    +

    Many IT career forecasts focus more generally on job descriptions and highest paying positions. Stack Overflow is somewhat unique in that it identifies trends in specific tech skills, pulling this data out of how employers are tagging their listings for positions. It presents demand in terms of number of skilled developers relative to available positions, a slightly more complicated approach than measuring demand based on advertised salary. However, Stack Overflow’s data presentation could use some refining.

    +

    One commenter, Bruce Van Horn, noted that jobs tagged as “Full Stack Developer” already assume many of the skills that are listed separately:

    +
    +

    I wonder how many of these skills are no longer listed because they are “table stakes”. You used to have to put CSS, jQuery, and JSON on the job description. I wouldn’t expect to have to put that on a Full Stack Developer description today – if you don’t know those then you aren’t a Full Stack Web Developer, and I’m more interested in whether you know the shiny things like React, Redux, and Angular2.

    +
    +

    It would be interesting to know what is meant by tagging “WordPress” as a skill – whether it is the general ability to work within the WordPress ecosystem of tools or if it refers to specific skills like PHP. Browsing a few jobs on Stack Overflow, WordPress positions vary in the skills they require, such as React.js, Angular, PHP, HTML, CSS, and other technologies. This is a reflection of the diversity of technology that can be leveraged in creating WordPress-powered sites and applications, and several of these skills are listed independently of WordPress in the data.

    +

    Regardless of how much credibility you give Stack Overflow’s analysis of hiring trends, the report’s recommendation for those working in technologies oversaturated with developers is a good one: “Consider brushing up on some technologies that offer higher employer demand and less competition.” WordPress’ code base is currently 59% PHP and 27% JavaScript. The percentage of PHP has grown over time, but newer features and improvements to core are also being built in JavaScript. These are both highly portable skills that are in demand on the web.

    +
    +
    +
    +
    \ No newline at end of file diff --git a/test/test-pages/yahoo-1/expected.html b/test/test-pages/yahoo-1/expected.html index 86098f4..a804e46 100644 --- a/test/test-pages/yahoo-1/expected.html +++ b/test/test-pages/yahoo-1/expected.html @@ -1,54 +1,53 @@
    -
    -
    -
    -

    The PlayStation VR

    -
    -
    -

    Sony’s PlayStation VR.

    -
    -
    -
    -
    -

    Virtual reality has officially reached the consoles. And it’s pretty good! Sony’s PlayStation VR is extremely comfortable and reasonably priced, and while it’s lacking killer apps, it’s loaded with lots of interesting ones.

    -

    But which ones should you buy? I’ve played just about every launch game, and while some are worth your time, others you might want to skip. To help you decide what’s what, I’ve put together this list of the eight PSVR games worth considering.

    -

    “Rez Infinite” ($30)

    -

    -

    Beloved cult hit “Rez” gets the VR treatment to help launch the PSVR, and the results are terrific. It includes a fully remastered take on the original “Rez” – you zoom through a Matrix-like computer system, shooting down enemies to the steady beat of thumping electronica – but the VR setting makes it incredibly immersive. It gets better the more you play it, too; unlock the amazing Area X mode and you’ll find yourself flying, shooting and bobbing your head to some of the trippiest visuals yet seen in VR.

    -

    “Thumper” ($20)

    -

    -

    What would happen if Tron, the board game Simon, a Clown beetle, Cthulhu and a noise band met in VR? Chaos, for sure, and also “Thumper.” Called a “violent rhythm game” by its creators, “Thumper” is, well, a violent rhythm game that’s also a gorgeous, unsettling and totally captivating assault on the senses. With simple controls and a straightforward premise – click the X button and the analog stick in time with the music as you barrel down a neon highway — it’s one of the rare games that works equally well both in and out of VR. But since you have PSVR, play it there. It’s marvelous.

    -

    “Until Dawn: Rush of Blood” ($20)

    -

    -

    Cheeky horror game “Until Dawn” was a breakout hit for the PS4 last year, channeling the classic “dumb teens in the woods” horror trope into an effective interactive drama. Well, forget all that if you fire up “Rush of Blood,” because this one sticks you front and center on a rollercoaster ride from Hell. Literally. You ride through a dimly-lit carnival of terror, dual-wielding pistols as you take down targets, hideous pig monsters and, naturally, maniac clowns. Be warned: If the bad guys don’t get you, the jump scares will.

    -

    “Headmaster” ($20)

    -

    -

    Soccer meets “Portal” in the weird (and weirdly fun) “Headmaster,” a game about heading soccer balls into nets, targets and a variety of other things while stuck in some diabolical training facility. While at first it seems a little basic, increasingly challenging shots and a consistently entertaining narrative keep it from running off the pitch. Funny, ridiculous and as easy as literally moving your head back and forth, it’s a pleasant PSVR surprise.

    -

    “RIGS: Mechanized Combat League” ($50)

    -

    -

    Giant mechs + sports? That’s the gist of this robotic blast-a-thon, which pits two teams of three against one another in gorgeous, explosive and downright fun VR combat. At its best, “RIGS” marries the thrill of fast-paced competitive shooters with the insanity of piloting a giant mech in VR. It can, however, be one of the barfier PSVR games. So pack your Dramamine, you’re going to have to ease yourself into this one.

    -

    “Batman Arkham VR” ($20)

    -

    -

    “I’m Batman,” you will say. And you’ll actually be right this time, because you are Batman in this detective yarn, and you know this because you actually grab the famous cowl and mask, stick it on your head, and stare into the mirrored reflection of Rocksteady Games’ impressive Dark Knight character model. It lacks the action of its fellow “Arkham” games and runs disappointingly short, but it’s a high-quality experience that really shows off how powerfully immersive VR can be.

    -

    “Job Simulator” ($30)

    -

    -

    There are a number of good VR ports in the PSVR launch lineup, but the HTC Vive launch game “Job Simulator” might be the best. Your task? Lots of tasks, actually, from cooking food to fixing cars to working in an office, all for robots, because did I mention you were in the future? Infinitely charming and surprisingly challenging, it’s a great showpiece for VR.

    -

    “Eve Valkyrie” ($60)

    -

    -

    Already a hit on the Oculus Rift, this space dogfighting game was one of the first to really show off how VR can turn a traditional game experience into something special. It’s pricey and not quite as hi-res as the Rift version, but “Eve Valkyrie” does an admirable job filling the void left since “Battlestar Galactica” ended. Too bad there aren’t any Cylons in it (or are there?)

    -

    More games news:

    - -

    Ben Silverman is on Twitter at - ben_silverman.

    +
    +
    +

    The PlayStation VR

    +
    +
    +

    Sony’s PlayStation VR.

    +
    -
    -
    + +
    +

    Virtual reality has officially reached the consoles. And it’s pretty good! Sony’s PlayStation VR is extremely comfortable and reasonably priced, and while it’s lacking killer apps, it’s loaded with lots of interesting ones.

    +

    But which ones should you buy? I’ve played just about every launch game, and while some are worth your time, others you might want to skip. To help you decide what’s what, I’ve put together this list of the eight PSVR games worth considering.

    +

    “Rez Infinite” ($30)

    +

    +

    Beloved cult hit “Rez” gets the VR treatment to help launch the PSVR, and the results are terrific. It includes a fully remastered take on the original “Rez” – you zoom through a Matrix-like computer system, shooting down enemies to the steady beat of thumping electronica – but the VR setting makes it incredibly immersive. It gets better the more you play it, too; unlock the amazing Area X mode and you’ll find yourself flying, shooting and bobbing your head to some of the trippiest visuals yet seen in VR.

    +

    “Thumper” ($20)

    +

    +

    What would happen if Tron, the board game Simon, a Clown beetle, Cthulhu and a noise band met in VR? Chaos, for sure, and also “Thumper.” Called a “violent rhythm game” by its creators, “Thumper” is, well, a violent rhythm game that’s also a gorgeous, unsettling and totally captivating assault on the senses. With simple controls and a straightforward premise – click the X button and the analog stick in time with the music as you barrel down a neon highway — it’s one of the rare games that works equally well both in and out of VR. But since you have PSVR, play it there. It’s marvelous.

    +

    “Until Dawn: Rush of Blood” ($20)

    +

    +

    Cheeky horror game “Until Dawn” was a breakout hit for the PS4 last year, channeling the classic “dumb teens in the woods” horror trope into an effective interactive drama. Well, forget all that if you fire up “Rush of Blood,” because this one sticks you front and center on a rollercoaster ride from Hell. Literally. You ride through a dimly-lit carnival of terror, dual-wielding pistols as you take down targets, hideous pig monsters and, naturally, maniac clowns. Be warned: If the bad guys don’t get you, the jump scares will.

    +

    “Headmaster” ($20)

    +

    +

    Soccer meets “Portal” in the weird (and weirdly fun) “Headmaster,” a game about heading soccer balls into nets, targets and a variety of other things while stuck in some diabolical training facility. While at first it seems a little basic, increasingly challenging shots and a consistently entertaining narrative keep it from running off the pitch. Funny, ridiculous and as easy as literally moving your head back and forth, it’s a pleasant PSVR surprise.

    +

    “RIGS: Mechanized Combat League” ($50)

    +

    +

    Giant mechs + sports? That’s the gist of this robotic blast-a-thon, which pits two teams of three against one another in gorgeous, explosive and downright fun VR combat. At its best, “RIGS” marries the thrill of fast-paced competitive shooters with the insanity of piloting a giant mech in VR. It can, however, be one of the barfier PSVR games. So pack your Dramamine, you’re going to have to ease yourself into this one.

    +

    “Batman Arkham VR” ($20)

    +

    +

    “I’m Batman,” you will say. And you’ll actually be right this time, because you are Batman in this detective yarn, and you know this because you actually grab the famous cowl and mask, stick it on your head, and stare into the mirrored reflection of Rocksteady Games’ impressive Dark Knight character model. It lacks the action of its fellow “Arkham” games and runs disappointingly short, but it’s a high-quality experience that really shows off how powerfully immersive VR can be.

    +

    “Job Simulator” ($30)

    +

    +

    There are a number of good VR ports in the PSVR launch lineup, but the HTC Vive launch game “Job Simulator” might be the best. Your task? Lots of tasks, actually, from cooking food to fixing cars to working in an office, all for robots, because did I mention you were in the future? Infinitely charming and surprisingly challenging, it’s a great showpiece for VR.

    +

    “Eve Valkyrie” ($60)

    +

    +

    Already a hit on the Oculus Rift, this space dogfighting game was one of the first to really show off how VR can turn a traditional game experience into something special. It’s pricey and not quite as hi-res as the Rift version, but “Eve Valkyrie” does an admirable job filling the void left since “Battlestar Galactica” ended. Too bad there aren’t any Cylons in it (or are there?)

    +

    More games news:

    + +

    Ben Silverman is on Twitter at + ben_silverman. +

    +
    +
    \ No newline at end of file diff --git a/test/test-pages/yahoo-2/expected-metadata.json b/test/test-pages/yahoo-2/expected-metadata.json index e7fafd8..fbda02e 100644 --- a/test/test-pages/yahoo-2/expected-metadata.json +++ b/test/test-pages/yahoo-2/expected-metadata.json @@ -1,7 +1,8 @@ { "title": "Yahoo News - Latest News & Headlines", "byline": "NATALIYA VASILYEVA", + "dir": null, "excerpt": "The latest news and headlines from Yahoo! News. Get breaking news stories and in-depth coverage with videos and photos.", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/yahoo-2/expected.html b/test/test-pages/yahoo-2/expected.html index 171e9b4..4c79fc4 100644 --- a/test/test-pages/yahoo-2/expected.html +++ b/test/test-pages/yahoo-2/expected.html @@ -1,35 +1,27 @@
    -
    -
    +
    +
    +

    1 / 5

    -
    -
    -

    1 / 5

    -
    -
    -

    In this photo dated Tuesday, Nov, 29, 2016 the Soyuz-FG rocket booster with the Progress MS-04 cargo ship is installed on a launch pad in Baikonur, Kazakhstan. The unmanned Russian cargo space ship Progress MS-04 broke up in the atmosphere over Siberia on Thursday Dec. 1, 2016, just minutes after the launch en route to the International Space Station due to an unspecified malfunction, the Russian space agency said.(Oleg Urusov/ Roscosmos Space Agency Press Service photo via AP)

    -
    -
    -
    -
    +

    In this photo dated Tuesday, Nov, 29, 2016 the Soyuz-FG rocket booster with the Progress MS-04 cargo ship is installed on a launch pad in Baikonur, Kazakhstan. The unmanned Russian cargo space ship Progress MS-04 broke up in the atmosphere over Siberia on Thursday Dec. 1, 2016, just minutes after the launch en route to the International Space Station due to an unspecified malfunction, the Russian space agency said.(Oleg Urusov/ Roscosmos Space Agency Press Service photo via AP)

    -
    -

    MOSCOW (AP) — An unmanned Russian cargo spaceship heading to the International Space Station broke up in the atmosphere over Siberia on Thursday due to an unspecified malfunction, the Russian space agency said.

    -

    The Progress MS-04 cargo craft broke up at an altitude of 190 kilometers (118 miles) over the remote Russian Tuva region in Siberia that borders Mongolia, Roscosmos said in a statement. It said most of spaceship's debris burnt up as it entered the atmosphere but some fell to Earth over what it called an uninhabited area.

    -

    Local people reported seeing a flash of light and hearing a loud thud west of the regional capital of Kyzyl, more than 3,600 kilometers (2,200 miles) east of Moscow, the Tuva government was quoted as saying late Thursday by the Interfax news agency.

    -

    The Progress cargo ship had lifted off as scheduled at 8:51 p.m. (1451 GMT) from Russia's space launch complex in Baikonur, Kazakhstan, to deliver 2.5 metric tons of fuel, water, food and other supplies. It was set to dock with the space station on Saturday.

    -

    Roscosmos said the craft was operating normally before it stopped transmitting data 6 ½ minutes after the launch. The Russian space agency would not immediately describe the malfunction, saying its experts were looking into it.

    -

    This is the third botched launch of a Russian spacecraft in two years. A Progress cargo ship plunged into the Pacific Ocean in May 2015, and a Proton-M rocket carrying an advanced satellite broke up in the atmosphere in May 2014.

    -

    But both Roscosmos and NASA said the crash of the ship would have no impact on the operations of the orbiting space lab that is currently home to a six-member crew, including three cosmonauts from Russia, two NASA astronauts and one from the European Union.

    -

    Orbital ATK, NASA's other shipper, successfully sent up supplies to the space station in October, and a Japanese cargo spaceship is scheduled to launch a full load in mid-December.

    -

    NASA supplier SpaceX, meanwhile, has been grounded since a rocket explosion in September on the launch pad at Cape Canaveral, Florida. The company hopes to resume launches in December to deliver communication satellites.

    -

    ___

    -

    This version corrects the spelling of the region to Tuva, not Tyva.

    -

    __

    -

    Aerospace Writer Marcia Dunn in Cape Canaveral, Florida, and Vladimir Isachenkov in Moscow contributed to this report.

    -
    -
    -
    +
    +
    +

    MOSCOW (AP) — An unmanned Russian cargo spaceship heading to the International Space Station broke up in the atmosphere over Siberia on Thursday due to an unspecified malfunction, the Russian space agency said.

    +

    The Progress MS-04 cargo craft broke up at an altitude of 190 kilometers (118 miles) over the remote Russian Tuva region in Siberia that borders Mongolia, Roscosmos said in a statement. It said most of spaceship's debris burnt up as it entered the atmosphere but some fell to Earth over what it called an uninhabited area.

    +

    Local people reported seeing a flash of light and hearing a loud thud west of the regional capital of Kyzyl, more than 3,600 kilometers (2,200 miles) east of Moscow, the Tuva government was quoted as saying late Thursday by the Interfax news agency.

    +

    The Progress cargo ship had lifted off as scheduled at 8:51 p.m. (1451 GMT) from Russia's space launch complex in Baikonur, Kazakhstan, to deliver 2.5 metric tons of fuel, water, food and other supplies. It was set to dock with the space station on Saturday.

    +

    Roscosmos said the craft was operating normally before it stopped transmitting data 6 ½ minutes after the launch. The Russian space agency would not immediately describe the malfunction, saying its experts were looking into it.

    +

    This is the third botched launch of a Russian spacecraft in two years. A Progress cargo ship plunged into the Pacific Ocean in May 2015, and a Proton-M rocket carrying an advanced satellite broke up in the atmosphere in May 2014.

    +

    But both Roscosmos and NASA said the crash of the ship would have no impact on the operations of the orbiting space lab that is currently home to a six-member crew, including three cosmonauts from Russia, two NASA astronauts and one from the European Union.

    +

    Orbital ATK, NASA's other shipper, successfully sent up supplies to the space station in October, and a Japanese cargo spaceship is scheduled to launch a full load in mid-December.

    +

    NASA supplier SpaceX, meanwhile, has been grounded since a rocket explosion in September on the launch pad at Cape Canaveral, Florida. The company hopes to resume launches in December to deliver communication satellites.

    +

    ___

    +

    This version corrects the spelling of the region to Tuva, not Tyva.

    +

    __

    +

    Aerospace Writer Marcia Dunn in Cape Canaveral, Florida, and Vladimir Isachenkov in Moscow contributed to this report.

    +
    +
    \ No newline at end of file diff --git a/test/test-pages/yahoo-3/expected-metadata.json b/test/test-pages/yahoo-3/expected-metadata.json index fe9a7a0..1ea709e 100644 --- a/test/test-pages/yahoo-3/expected-metadata.json +++ b/test/test-pages/yahoo-3/expected-metadata.json @@ -3,6 +3,6 @@ "byline": "By GILLIAN MOHNEY\n March 11, 2015 3:46 PM", "dir": "ltr", "excerpt": "A photographer and Navy veteran is fighting back after a photo she posted to Facebook started an online backlash. Vanessa Hicks said she had no idea her photo would be considered controversial. The photo, from a military family’s newborn photo shoot, showed a newborn infant wrapped in an American flag held by his father, who was in his military uniform. Hicks, a Navy veteran herself and the wife of an active-duty Navy member, said her intention was to honor the flag as well as her clients, who wanted to incorporate their military service in the photo shoot.", - "readerable": true, - "siteName": "Yahoo" + "siteName": "Yahoo", + "readerable": true } diff --git a/test/test-pages/yahoo-3/expected.html b/test/test-pages/yahoo-3/expected.html index 7c6a394..9c6da14 100644 --- a/test/test-pages/yahoo-3/expected.html +++ b/test/test-pages/yahoo-3/expected.html @@ -1,43 +1,43 @@
    -
    -
    -
    -

    'GMA' Cookie Search:

    -
    -
    -
    -
    - - - - - -

    A photographer and Navy veteran is fighting back after a photo she posted to Facebook started an online backlash.

    -

    Vanessa Hicks said she had no idea her photo would be considered controversial. The photo, from a military family’s newborn photo shoot, showed a newborn infant wrapped in an American flag held by his father, who was in his military uniform.

    -

    Hicks, a Navy veteran herself and the wife of an active-duty Navy member, said her intention was to honor the flag as well as her clients, who wanted to incorporate their military service in the photo shoot.

    -

    Pizza Man Making Special Delivery Pizza Delivery to Afghanistan During Super Bowl

    -

    Redesigned Scopes Fail to Stop 'Superbug Outbreaks

    -

    Antarctica 'Penguin Post Office' Attracts Record Number of Applicants

    -

    “This is what he was fighting for, his son wrapped in an American flag,” Hicks told ABC News. However, when she posted the image on her page, she started to get comments accusing her of desecrating the flag.

    -

    On one Facebook page an unidentified poster put up her picture writing and wrote they found it was “disrespectful, rude, tacky, disgusting, and against the U.S. Flag Code.”

    -

    View photo

    .

    -
    Vanessa Hicks
    -

    Vanessa Hicks

    -
    +
    +
    +

    'GMA' Cookie Search:

    +
    +
    + + + + + +

    A photographer and Navy veteran is fighting back after a photo she posted to Facebook started an online backlash.

    +

    Vanessa Hicks said she had no idea her photo would be considered controversial. The photo, from a military family’s newborn photo shoot, showed a newborn infant wrapped in an American flag held by his father, who was in his military uniform.

    +

    Hicks, a Navy veteran herself and the wife of an active-duty Navy member, said her intention was to honor the flag as well as her clients, who wanted to incorporate their military service in the photo shoot.

    +

    Pizza Man Making Special Delivery Pizza Delivery to Afghanistan During Super Bowl

    +

    Redesigned Scopes Fail to Stop 'Superbug Outbreaks

    +

    Antarctica 'Penguin Post Office' Attracts Record Number of Applicants

    +

    “This is what he was fighting for, his son wrapped in an American flag,” Hicks told ABC News. However, when she posted the image on her page, she started to get comments accusing her of desecrating the flag.

    +

    On one Facebook page an unidentified poster put up her picture writing and wrote they found it was “disrespectful, rude, tacky, disgusting, and against the U.S. Flag Code.”

    +

    +

    +
    +
    +

    View photo

    +

    .

    +
    Vanessa Hicks +
    +

    Vanessa Hicks

    +
    -

    -

    The Federal Flag Code has guidelines for the proper treatment of the U.S. Flag but there are no rules for punishment related to violations. In the past, the Supreme Court has found that people are protected from punishment under the First Amendment for manipulating or even burning the flag.

    -

    Hicks said she was surprised when messages suddenly started to pop up on her Facebook page and even her own website criticizing her photos.

    -

    She said she stayed up until 4 a.m. recently to take down comments from her business and company page, even on shoots that had nothing to do with the flag.

    -

    “I know how low I felt during those first few hours,” said Hicks. “[I felt] am I not a good American or veteran or wife. It’s a train-wreck you can’t help but watch.”

    -

    As Hicks tried to stop the comments from taking over her pages, others started to take notice and her picture went viral on social media sites. After that, Hicks found that many people, both military and civilian, told her they did not find the picture offensive.

    -

    “I have seen first-hand what is desecration of the flag,” Hicks said of her time in the military. “At the end of the day I didn’t do anything that disrespected this flag.”

    -

    Hicks, whose husband is still on active duty in the Navy, said the flag is a symbol of U.S. freedoms including the First Amendment right to free speech.

    -

    “[My husband] wouldn’t die for a flag, he would die for the freedoms that this country offers,” she told ABC News.

    -

    After her story grabbed local headlines, Hicks has been inundated by requests for photos shoots, and she said she plans to give 15 percent of all profits related to these shoots to the USO.

    +

    +

    The Federal Flag Code has guidelines for the proper treatment of the U.S. Flag but there are no rules for punishment related to violations. In the past, the Supreme Court has found that people are protected from punishment under the First Amendment for manipulating or even burning the flag.

    +

    Hicks said she was surprised when messages suddenly started to pop up on her Facebook page and even her own website criticizing her photos.

    +

    She said she stayed up until 4 a.m. recently to take down comments from her business and company page, even on shoots that had nothing to do with the flag.

    +

    “I know how low I felt during those first few hours,” said Hicks. “[I felt] am I not a good American or veteran or wife. It’s a train-wreck you can’t help but watch.”

    +

    As Hicks tried to stop the comments from taking over her pages, others started to take notice and her picture went viral on social media sites. After that, Hicks found that many people, both military and civilian, told her they did not find the picture offensive.

    +

    “I have seen first-hand what is desecration of the flag,” Hicks said of her time in the military. “At the end of the day I didn’t do anything that disrespected this flag.”

    +

    Hicks, whose husband is still on active duty in the Navy, said the flag is a symbol of U.S. freedoms including the First Amendment right to free speech.

    +

    “[My husband] wouldn’t die for a flag, he would die for the freedoms that this country offers,” she told ABC News.

    +

    After her story grabbed local headlines, Hicks has been inundated by requests for photos shoots, and she said she plans to give 15 percent of all profits related to these shoots to the USO.

    -
    -
    -
    \ No newline at end of file diff --git a/test/test-pages/yahoo-4/expected-metadata.json b/test/test-pages/yahoo-4/expected-metadata.json index a848456..b03f0a8 100644 --- a/test/test-pages/yahoo-4/expected-metadata.json +++ b/test/test-pages/yahoo-4/expected-metadata.json @@ -3,6 +3,6 @@ "byline": "個人", "dir": null, "excerpt": "トレンドマイクロは3月9日、Wi-Fi利用時の通信を暗号化し保護するスマホ・タブレット - Yahoo!ニュース(CNET Japan)", - "readerable": true, - "siteName": "Yahoo!ニュース" + "siteName": "Yahoo!ニュース", + "readerable": true } diff --git a/test/test-pages/yahoo-4/expected.html b/test/test-pages/yahoo-4/expected.html index 83b5863..57bb8c5 100644 --- a/test/test-pages/yahoo-4/expected.html +++ b/test/test-pages/yahoo-4/expected.html @@ -1,15 +1,13 @@
    -
    -

    トレンドマイクロは3月9日、Wi-Fi利用時の通信を暗号化し保護するスマホ・タブレット向けのセキュリティアプリ「フリーWi-Fiプロテクション」(iOS/Android)の発売を開始すると発表した。1年版ライセンスは2900円(税込)で、2年版ライセンスは5000円(税込)。

    -

     フリーWi-Fiプロテクションは、App Storeおよび、Google Playにて販売され、既に提供しているスマホ・タブレット向け総合セキュリティ対策アプリ「ウイルスバスター モバイル」と併用することで、不正アプリや危険なウェブサイトからの保護に加え、通信の盗み見を防ぐことができる。

    -

     2020年の東京オリンピック・パラリンピックの開催などを見据え、フリーWi-Fi(公衆無線LAN)の設置が促進され、フリーWi-Fiの利用者も増加している。

    -

     一方で、脆弱な設定のフリーWi-Fiや攻撃者が設置した偽のフリーWi-Fiへの接続などによる情報漏えい、通信の盗み見などのセキュリティリスクが危惧されているという。

    -

     正規事業者が提供する安全性の高いフリーWi-Fiのほかにも、通信を暗号化していない安全性の低いフリーWi-Fi、さらにはサイバー犯罪者が設置したフリーWi-Fiなどさまざまなものが混在している。また、利用者は、接続する前にひとつひとつ安全性を確認するのは難しい状況だとしている。

    -

     トレンドマイクロがスマートフォン保持者でフリーWi-Fiの利用経験がある人に実施した調査では、回答者の約85%が安全なフリーWi-Fiと危険なフリーWi-Fiは「見分けられない」と回答。さらに、約65%がフリーWi-Fiの利用に不安を感じていると回答している。

    -

     こうした環境の変化やユーザの状況を鑑み、フリーWi-Fiプロテクションの提供を開始する。同アプリをインストールすることで利用者は、万が一安全性の低いフリーWi-Fiのアクセスポイントに接続してしまった場合でも、その通信を暗号化でき、通信の盗み見やそれによる情報漏えいのリスクを低減できるようになる。

    -

     具体的には、フリーWi-Fi利用時に、スマートフォンがフリーWi-Fiプロテクションインフラに接続することにより、フリーWi-Fiのアクセスポイントを介した通信がVPN(Virtual Private Network)で暗号化される。これにより利用者は、第三者から通信を傍受されることやデータの情報漏えいを防ぐことが可能。さらに、かんたん自動接続の機能により、通信を暗号化していない安全性が低いフリーWi-Fi接続時や利用者が指定したWi-Fiへ接続する際に、自動的に通信を暗号化し、利用者の通信を保護する。

    -

     また、フリーWi-Fiプロテクションインフラと、莫大なセキュリティ情報のビッグデータを保有するクラウド型セキュリティ技術基盤「Trend Micro Smart Protection Network」(SPN)が連携することで、フリーWi-Fiプロテクションインフラを経由してインターネットを利用する際に、利用者がフィッシング詐欺サイトや偽サイトなどへの不正サイトへアクセスすることをブロックできるという。

    -
    +

    トレンドマイクロは3月9日、Wi-Fi利用時の通信を暗号化し保護するスマホ・タブレット向けのセキュリティアプリ「フリーWi-Fiプロテクション」(iOS/Android)の発売を開始すると発表した。1年版ライセンスは2900円(税込)で、2年版ライセンスは5000円(税込)。

    +

     フリーWi-Fiプロテクションは、App Storeおよび、Google Playにて販売され、既に提供しているスマホ・タブレット向け総合セキュリティ対策アプリ「ウイルスバスター モバイル」と併用することで、不正アプリや危険なウェブサイトからの保護に加え、通信の盗み見を防ぐことができる。

    +

     2020年の東京オリンピック・パラリンピックの開催などを見据え、フリーWi-Fi(公衆無線LAN)の設置が促進され、フリーWi-Fiの利用者も増加している。

    +

     一方で、脆弱な設定のフリーWi-Fiや攻撃者が設置した偽のフリーWi-Fiへの接続などによる情報漏えい、通信の盗み見などのセキュリティリスクが危惧されているという。

    +

     正規事業者が提供する安全性の高いフリーWi-Fiのほかにも、通信を暗号化していない安全性の低いフリーWi-Fi、さらにはサイバー犯罪者が設置したフリーWi-Fiなどさまざまなものが混在している。また、利用者は、接続する前にひとつひとつ安全性を確認するのは難しい状況だとしている。

    +

     トレンドマイクロがスマートフォン保持者でフリーWi-Fiの利用経験がある人に実施した調査では、回答者の約85%が安全なフリーWi-Fiと危険なフリーWi-Fiは「見分けられない」と回答。さらに、約65%がフリーWi-Fiの利用に不安を感じていると回答している。

    +

     こうした環境の変化やユーザの状況を鑑み、フリーWi-Fiプロテクションの提供を開始する。同アプリをインストールすることで利用者は、万が一安全性の低いフリーWi-Fiのアクセスポイントに接続してしまった場合でも、その通信を暗号化でき、通信の盗み見やそれによる情報漏えいのリスクを低減できるようになる。

    +

     具体的には、フリーWi-Fi利用時に、スマートフォンがフリーWi-Fiプロテクションインフラに接続することにより、フリーWi-Fiのアクセスポイントを介した通信がVPN(Virtual Private Network)で暗号化される。これにより利用者は、第三者から通信を傍受されることやデータの情報漏えいを防ぐことが可能。さらに、かんたん自動接続の機能により、通信を暗号化していない安全性が低いフリーWi-Fi接続時や利用者が指定したWi-Fiへ接続する際に、自動的に通信を暗号化し、利用者の通信を保護する。

    +

     また、フリーWi-Fiプロテクションインフラと、莫大なセキュリティ情報のビッグデータを保有するクラウド型セキュリティ技術基盤「Trend Micro Smart Protection Network」(SPN)が連携することで、フリーWi-Fiプロテクションインフラを経由してインターネットを利用する際に、利用者がフィッシング詐欺サイトや偽サイトなどへの不正サイトへアクセスすることをブロックできるという。

    \ No newline at end of file diff --git a/test/test-pages/youth/expected-metadata.json b/test/test-pages/youth/expected-metadata.json index 780ab4b..5a9ae7e 100644 --- a/test/test-pages/youth/expected-metadata.json +++ b/test/test-pages/youth/expected-metadata.json @@ -3,6 +3,6 @@ "byline": "青网校园崔宁宁", "dir": null, "excerpt": "图为马素湘在澳大利亚悉尼游玩时的近影。出国前后关注点大不同出国前:政治科目会出啥考题?出国后:国家未来将如何发展?在采访中,我们了解到不少学子在出国前就每年守在电脑前观看两会直播。但是,随着年龄和阅历的增长,学子对两会的关注点在出国前后发生了很大的变化。在法国里昂国立应用科学院留学的卢宇表示,他还是个中学生时,就开始关注两会了。“我高中毕业后就出国留学了。", - "readerable": true, - "siteName": null + "siteName": null, + "readerable": true } diff --git a/test/test-pages/youth/expected.html b/test/test-pages/youth/expected.html index ddf3c90..dff90f4 100644 --- a/test/test-pages/youth/expected.html +++ b/test/test-pages/youth/expected.html @@ -1,38 +1,32 @@
    -
    -
    -
    -
    -

    海外留学生看两会:出国前后关注点大不同

    -

    图为马素湘在澳大利亚悉尼游玩时的近影。

    -

      出国前后关注点大不同

    -

      出国前:政治科目会出啥考题?

    -

      出国后:国家未来将如何发展?

    -

       在采访中,我们了解到不少学子在出国前就每年守在电脑前观看两会直播。但是,随着年龄和阅历的增长,学子对两会的关注点在出国前后发生了很大的变化。

    -

       在法国里昂国立应用科学院留学的卢宇表示,他还是个中学生时,就开始关注两会了。“我高中毕业后就出国留学了。当我还在国内读高中时,对两会的主要关注点落在民生和教育问题上。根据这些内容预测今年政治考点会有哪些变化。”卢宇说,“在国外学习生活了将近10年,我愈发感觉到祖国这些年发生的日新月异的变化;关注点也转移到国家‘一带一路’建设,高端人才引进,中外合作等方面。”

    -

       无独有偶,英国剑桥大学的李博灏也有着类似的经历。他表示,在国内读本科时,虽然关注过两会,但并不像现在这样,将关注点放在国家社会经济迫切需要解决的难题与问题上。“出国前更关心与我们学生的实际问题以及切身利益相关的议题,比如奖学金、助学金的发放与申请;相关工作行业就业前景等。”

    -

       在英国求学6年后,李博灏希望能够学有所用,为国家发展过程中遇到的难题寻求解决办法。因此随着课题研究的深入,他更加关注国家和社会目前所面临的挑战,比如中等收入陷阱、供给侧改革、创意创新产业的发展等议题。

    -

       还有一些学子表示,出国前对两会不太了解,出国后反而对两会热点多了些思考。在澳大利亚墨尔本留学的马素湘说:“想不关注都难啊!刷微博看新闻到处都是两会的消息。而且我现在学的是新闻专业,对世界发生的大小事都会留意。随着年龄、阅历增长,家国情怀也渐长,会关心国家发展的各方面问题。”

    -

    -

    图为李博灏在瑞士日内日瓦联合国欧洲总部的近影。

    -

      关注点多与所学专业相关

    -

      法学专业热议法定婚龄 很多人关心供给侧改革

    -

       在谈及对两会的哪些话题比较感兴趣时,卢宇表示:“近几年,国内雾霾现象时有发生。而我本身是学习能源环境专业的,所以每年都对两会上政府工作报告和代表提案中有关环保和新能源政策的部分很感兴趣。今年两会提案中有几份关于大力发展清洁能源汽车的。我认为这对节能减排和防治雾霾都有积极作用,但也要注意加强电池和电动机等关键技术的研发。”

    -

       对此提案,卢宇有着自己的看法,“百花齐放的局面固然可喜,但也不能一哄而上,国家应该提高行业准入门槛,完善新能源汽车准入管理规则,从源头上进行制度创新,将一些不具备新能源汽车生产资质的厂家淘汰出局,并高度关注电池系统安全问题,严格执行充电桩生产的国际标准。”

    -

       马素湘表示,“出国读研之前,我在国内学习法学,因此对相关的问题比较感兴趣。今年两会上人大代表黄细花提出把法定婚龄降低到18岁的提案;而在微博的热搜榜上,一本儿童性教育读物引起了极大的争议。我认为降低婚龄并不适合我国国情。因为性教育的缺乏导致我国大部分人在18岁之前没有接受过完整的性教育,思想行动上也不够成熟,如何能够对自己的人生和自己的另一半负责?所以我希望能有人大代表提议在国民儿童阶段完善我国的性教育,而不是为了鼓励生育将法定婚龄提前。”

    -

       李博灏是英国剑桥大学制造业研究所创新设计管理中心的一名博士。他格外关注的话题是供给侧结构性改革,知识产权保护,消费升级等议题。“我的博士研究课题是关于推动创新设计密集型产业的发展从而帮助中等收入国家克服中等收入陷阱的探索,因此一直十分关注国内关于供给侧改革的相关议题。通过本届两会对于该议题的进一步关注,我希望可以有效地帮助我了解供给侧改革与中等收入陷阱问题目前的发展状况以及解决情况;也希望可以与更多的机构取得联系,并帮助他们了解该议题最前沿的研究与解决方案。”

    -

    -

    图为卢宇与祖国五星红旗和联合国会旗的合影。

    -

       两会成为了解国情的窗口

    -

       盼准确把握国家发展需求 愿寻求机遇回国有所作为

    -

       不少学子时刻关注着国内动态,寻找回国发展的契机,而两会正是一个提供最新最全面信息的窗口。

    -

       “对两会的关注使我能够准确把握国家目前迫切需要解决的难题,从而使我的研究具有更多的社会价值。把理论和现实结合起来,将学到的知识、理念与技术有效地融入到国家社会经济发展的实践中去,为国家和社会解决这些问题提供理论与实践依据。”李博灏说。

    -

       知识产权也是近些年来两会的热门话题。在李博灏看来,知识产权是经济可持续增长和创意创新产业发展的灵魂所在。完善的、与国际接轨的知识产权保护法能够很好地促进国民经济的发展。“如何将欧洲和英国先进的知识产权以及创意产业保护发展经验带回祖国,帮助我们国家推动创意创新驱动的经济发展一直是我在关注与思考的。因此我也会十分关注两会关于国内知识产权的保护,知识产权综合管理改革试点工作,知识产权国际合作,知识产权大数据等的发展现状等问题。”

    -

       在两会上,全国政协委员张近东提出“当前中国经济的发展正在从数量型向质量型转变,消费升级将成为企业新一轮创新发展的动力。”对此,李博灏认为这也是他关注的问题。他认为:“在消费市场持续扩大的大环境下,如何能够通过促进创新设计产业的发展以及消费品品质的提升,推动国内消费增长并促进其在可持续经济增长中的作用,是一个迫切需要解决的问题。在当前供给侧改革的大环境下,消费升级的重要性越发突显。”

    -

       作为两会的资深粉,卢宇聊起两会话题充满了期待。“今年是国家‘十三五’规划的关键时期,‘一带一路’建设也在如火如荼地进行中。作为一名中国留学生,我一直都关注着能在哪些领域为国家、为中外合作共赢做出贡献。‘大众创业、万众创新’提出有几年了。全国各省市在吸引留学人才归国创业就业方面纷纷提出了各种优惠政策,但目前大都集中在沿海发达省份,而且主要惠及理工科博士,政策覆盖面还不够广。期待从国家层面设立工作组加强留学人才的统筹协调,完善顶层设计。人文社科类留学人才是未来国家智库的重要后备力量,也应该适当加强对他们的政策鼓励,更好地服务于‘一带一路’国家战略。”

    -

       卢宇还认为两会应该增设学子代表,列席旁听两会,拓展留学生参政议政渠道。“我相信优秀留学生的国际化视野必将为家乡建设带来新的思路,增添新的活力。”卢宇恳切地说。

    -
    -
    -
    +
    +

    海外留学生看两会:出国前后关注点大不同

    +

    图为马素湘在澳大利亚悉尼游玩时的近影。

    +

      出国前后关注点大不同

    +

      出国前:政治科目会出啥考题?

    +

      出国后:国家未来将如何发展?

    +

       在采访中,我们了解到不少学子在出国前就每年守在电脑前观看两会直播。但是,随着年龄和阅历的增长,学子对两会的关注点在出国前后发生了很大的变化。

    +

       在法国里昂国立应用科学院留学的卢宇表示,他还是个中学生时,就开始关注两会了。“我高中毕业后就出国留学了。当我还在国内读高中时,对两会的主要关注点落在民生和教育问题上。根据这些内容预测今年政治考点会有哪些变化。”卢宇说,“在国外学习生活了将近10年,我愈发感觉到祖国这些年发生的日新月异的变化;关注点也转移到国家‘一带一路’建设,高端人才引进,中外合作等方面。”

    +

       无独有偶,英国剑桥大学的李博灏也有着类似的经历。他表示,在国内读本科时,虽然关注过两会,但并不像现在这样,将关注点放在国家社会经济迫切需要解决的难题与问题上。“出国前更关心与我们学生的实际问题以及切身利益相关的议题,比如奖学金、助学金的发放与申请;相关工作行业就业前景等。”

    +

       在英国求学6年后,李博灏希望能够学有所用,为国家发展过程中遇到的难题寻求解决办法。因此随着课题研究的深入,他更加关注国家和社会目前所面临的挑战,比如中等收入陷阱、供给侧改革、创意创新产业的发展等议题。

    +

       还有一些学子表示,出国前对两会不太了解,出国后反而对两会热点多了些思考。在澳大利亚墨尔本留学的马素湘说:“想不关注都难啊!刷微博看新闻到处都是两会的消息。而且我现在学的是新闻专业,对世界发生的大小事都会留意。随着年龄、阅历增长,家国情怀也渐长,会关心国家发展的各方面问题。”

    +

    +

    图为李博灏在瑞士日内日瓦联合国欧洲总部的近影。

    +

      关注点多与所学专业相关

    +

      法学专业热议法定婚龄 很多人关心供给侧改革

    +

       在谈及对两会的哪些话题比较感兴趣时,卢宇表示:“近几年,国内雾霾现象时有发生。而我本身是学习能源环境专业的,所以每年都对两会上政府工作报告和代表提案中有关环保和新能源政策的部分很感兴趣。今年两会提案中有几份关于大力发展清洁能源汽车的。我认为这对节能减排和防治雾霾都有积极作用,但也要注意加强电池和电动机等关键技术的研发。”

    +

       对此提案,卢宇有着自己的看法,“百花齐放的局面固然可喜,但也不能一哄而上,国家应该提高行业准入门槛,完善新能源汽车准入管理规则,从源头上进行制度创新,将一些不具备新能源汽车生产资质的厂家淘汰出局,并高度关注电池系统安全问题,严格执行充电桩生产的国际标准。”

    +

       马素湘表示,“出国读研之前,我在国内学习法学,因此对相关的问题比较感兴趣。今年两会上人大代表黄细花提出把法定婚龄降低到18岁的提案;而在微博的热搜榜上,一本儿童性教育读物引起了极大的争议。我认为降低婚龄并不适合我国国情。因为性教育的缺乏导致我国大部分人在18岁之前没有接受过完整的性教育,思想行动上也不够成熟,如何能够对自己的人生和自己的另一半负责?所以我希望能有人大代表提议在国民儿童阶段完善我国的性教育,而不是为了鼓励生育将法定婚龄提前。”

    +

       李博灏是英国剑桥大学制造业研究所创新设计管理中心的一名博士。他格外关注的话题是供给侧结构性改革,知识产权保护,消费升级等议题。“我的博士研究课题是关于推动创新设计密集型产业的发展从而帮助中等收入国家克服中等收入陷阱的探索,因此一直十分关注国内关于供给侧改革的相关议题。通过本届两会对于该议题的进一步关注,我希望可以有效地帮助我了解供给侧改革与中等收入陷阱问题目前的发展状况以及解决情况;也希望可以与更多的机构取得联系,并帮助他们了解该议题最前沿的研究与解决方案。”

    +

    +

    图为卢宇与祖国五星红旗和联合国会旗的合影。

    +

       两会成为了解国情的窗口

    +

       盼准确把握国家发展需求 愿寻求机遇回国有所作为

    +

       不少学子时刻关注着国内动态,寻找回国发展的契机,而两会正是一个提供最新最全面信息的窗口。

    +

       “对两会的关注使我能够准确把握国家目前迫切需要解决的难题,从而使我的研究具有更多的社会价值。把理论和现实结合起来,将学到的知识、理念与技术有效地融入到国家社会经济发展的实践中去,为国家和社会解决这些问题提供理论与实践依据。”李博灏说。

    +

       知识产权也是近些年来两会的热门话题。在李博灏看来,知识产权是经济可持续增长和创意创新产业发展的灵魂所在。完善的、与国际接轨的知识产权保护法能够很好地促进国民经济的发展。“如何将欧洲和英国先进的知识产权以及创意产业保护发展经验带回祖国,帮助我们国家推动创意创新驱动的经济发展一直是我在关注与思考的。因此我也会十分关注两会关于国内知识产权的保护,知识产权综合管理改革试点工作,知识产权国际合作,知识产权大数据等的发展现状等问题。”

    +

       在两会上,全国政协委员张近东提出“当前中国经济的发展正在从数量型向质量型转变,消费升级将成为企业新一轮创新发展的动力。”对此,李博灏认为这也是他关注的问题。他认为:“在消费市场持续扩大的大环境下,如何能够通过促进创新设计产业的发展以及消费品品质的提升,推动国内消费增长并促进其在可持续经济增长中的作用,是一个迫切需要解决的问题。在当前供给侧改革的大环境下,消费升级的重要性越发突显。”

    +

       作为两会的资深粉,卢宇聊起两会话题充满了期待。“今年是国家‘十三五’规划的关键时期,‘一带一路’建设也在如火如荼地进行中。作为一名中国留学生,我一直都关注着能在哪些领域为国家、为中外合作共赢做出贡献。‘大众创业、万众创新’提出有几年了。全国各省市在吸引留学人才归国创业就业方面纷纷提出了各种优惠政策,但目前大都集中在沿海发达省份,而且主要惠及理工科博士,政策覆盖面还不够广。期待从国家层面设立工作组加强留学人才的统筹协调,完善顶层设计。人文社科类留学人才是未来国家智库的重要后备力量,也应该适当加强对他们的政策鼓励,更好地服务于‘一带一路’国家战略。”

    +

       卢宇还认为两会应该增设学子代表,列席旁听两会,拓展留学生参政议政渠道。“我相信优秀留学生的国际化视野必将为家乡建设带来新的思路,增添新的活力。”卢宇恳切地说。

    \ No newline at end of file diff --git a/test/test-readability.js b/test/test-readability.js index 0adbc79..f917254 100644 --- a/test/test-readability.js +++ b/test/test-readability.js @@ -6,6 +6,7 @@ var expect = chai.expect; var Readability = require("../index").Readability; var JSDOMParser = require("../JSDOMParser"); +var prettyPrint = require("./utils").prettyPrint; var testPages = require("./utils").getTestPages(); @@ -117,8 +118,8 @@ function runTestsWithItems(label, domGenerationFn, source, expectedContent, expe } - var actualDOM = domGenerationFn(result.content); - var expectedDOM = domGenerationFn(expectedContent); + var actualDOM = domGenerationFn(prettyPrint(result.content)); + var expectedDOM = domGenerationFn(prettyPrint(expectedContent)); traverseDOM(function(actualNode, expectedNode) { if (actualNode && expectedNode) { var actualDesc = nodeStr(actualNode);