From c715ea028a2b9865b1b5a619b7cf7553a89aa90d Mon Sep 17 00:00:00 2001 From: Niki Roo Date: Wed, 26 Sep 2018 21:02:57 +0200 Subject: [PATCH] Add title in index pages, add reference in story --- src/be/nikiroo/gofetch/Fetcher.java | 32 +++- src/be/nikiroo/gofetch/output/Gopher.java | 22 ++- src/be/nikiroo/gofetch/output/Html.java | 33 ++-- src/be/nikiroo/gofetch/output/Output.java | 33 +++- test/expected/LWN/0000763252 | 1 + test/expected/LWN/0000763252.header.html | 2 +- test/expected/LWN/0000763252.html | 5 +- test/expected/LWN/0000763603 | 1 + test/expected/LWN/0000763603.header.html | 2 +- test/expected/LWN/0000763603.html | 3 +- test/expected/LWN/0000763729 | 1 + test/expected/LWN/0000763729.header.html | 2 +- test/expected/LWN/0000763729.html | 3 +- test/expected/LWN/0000763789 | 1 + test/expected/LWN/0000763789.header.html | 2 +- test/expected/LWN/0000763789.html | 3 +- test/expected/LWN/0000763987 | 1 + test/expected/LWN/0000763987.header.html | 2 +- test/expected/LWN/0000763987.html | 3 +- test/expected/LWN/0000764001 | 1 + test/expected/LWN/0000764001.header.html | 2 +- test/expected/LWN/0000764001.html | 3 +- test/expected/LWN/0000764046 | 1 + test/expected/LWN/0000764046.header.html | 2 +- test/expected/LWN/0000764046.html | 3 +- test/expected/LWN/0000764048 | 1 + test/expected/LWN/0000764048.header.html | 2 +- test/expected/LWN/0000764048.html | 3 +- test/expected/LWN/0000764055 | 1 + test/expected/LWN/0000764055.header.html | 2 +- test/expected/LWN/0000764055.html | 5 +- test/expected/LWN/0000764057 | 1 + test/expected/LWN/0000764057.header.html | 2 +- test/expected/LWN/0000764057.html | 3 +- test/expected/LWN/0000764130 | 1 + test/expected/LWN/0000764130.header.html | 2 +- test/expected/LWN/0000764130.html | 3 +- test/expected/LWN/0000764131 | 1 + test/expected/LWN/0000764131.header.html | 2 +- test/expected/LWN/0000764131.html | 3 +- test/expected/LWN/0000764182 | 1 + test/expected/LWN/0000764182.header.html | 2 +- test/expected/LWN/0000764182.html | 3 +- test/expected/LWN/0000764184 | 1 + test/expected/LWN/0000764184.header.html | 2 +- test/expected/LWN/0000764184.html | 3 +- test/expected/LWN/0000764200 | 1 + test/expected/LWN/0000764200.header.html | 2 +- test/expected/LWN/0000764200.html | 3 +- test/expected/LWN/0000764202 | 1 + test/expected/LWN/0000764202.header.html | 2 +- test/expected/LWN/0000764202.html | 3 +- test/expected/LWN/0000764209 | 1 + test/expected/LWN/0000764209.header.html | 2 +- test/expected/LWN/0000764209.html | 3 +- test/expected/LWN/0000764219 | 1 + test/expected/LWN/0000764219.header.html | 2 +- test/expected/LWN/0000764219.html | 3 +- test/expected/LWN/0000764300 | 1 + test/expected/LWN/0000764300.header.html | 2 +- test/expected/LWN/0000764300.html | 3 +- test/expected/LWN/0000764321 | 1 + test/expected/LWN/0000764321.header.html | 2 +- test/expected/LWN/0000764321.html | 13 +- test/expected/SEPT_SUR_SEPT/0002919270 | 1 + .../SEPT_SUR_SEPT/0002919270.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919270.html | 3 +- test/expected/SEPT_SUR_SEPT/0002919272 | 1 + .../SEPT_SUR_SEPT/0002919272.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919272.html | 5 +- test/expected/SEPT_SUR_SEPT/0002919283 | 1 + .../SEPT_SUR_SEPT/0002919283.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919283.html | 3 +- test/expected/SEPT_SUR_SEPT/0002919289 | 1 + .../SEPT_SUR_SEPT/0002919289.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919289.html | 3 +- test/expected/SEPT_SUR_SEPT/0002919291 | 1 + .../SEPT_SUR_SEPT/0002919291.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919291.html | 5 +- test/expected/SEPT_SUR_SEPT/0002919293 | 1 + .../SEPT_SUR_SEPT/0002919293.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919293.html | 5 +- test/expected/SEPT_SUR_SEPT/0002919294 | 1 + .../SEPT_SUR_SEPT/0002919294.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919294.html | 5 +- test/expected/SEPT_SUR_SEPT/0002919295 | 1 + .../SEPT_SUR_SEPT/0002919295.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919295.html | 5 +- test/expected/SEPT_SUR_SEPT/0002919296 | 1 + .../SEPT_SUR_SEPT/0002919296.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919296.html | 5 +- test/expected/SEPT_SUR_SEPT/0002919297 | 1 + .../SEPT_SUR_SEPT/0002919297.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919297.html | 5 +- test/expected/SEPT_SUR_SEPT/0002919298 | 1 + .../SEPT_SUR_SEPT/0002919298.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919298.html | 3 +- test/expected/SEPT_SUR_SEPT/0002919301 | 1 + .../SEPT_SUR_SEPT/0002919301.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919301.html | 3 +- test/expected/SEPT_SUR_SEPT/0002919304 | 1 + .../SEPT_SUR_SEPT/0002919304.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919304.html | 5 +- test/expected/SEPT_SUR_SEPT/0002919305 | 1 + .../SEPT_SUR_SEPT/0002919305.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919305.html | 3 +- test/expected/SEPT_SUR_SEPT/0002919310 | 1 + .../SEPT_SUR_SEPT/0002919310.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919310.html | 3 +- test/expected/SEPT_SUR_SEPT/0002919311 | 1 + .../SEPT_SUR_SEPT/0002919311.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919311.html | 5 +- test/expected/SEPT_SUR_SEPT/0002919312 | 1 + .../SEPT_SUR_SEPT/0002919312.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919312.html | 5 +- test/expected/SEPT_SUR_SEPT/0002919314 | 1 + .../SEPT_SUR_SEPT/0002919314.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919314.html | 3 +- test/expected/SEPT_SUR_SEPT/0002919315 | 1 + .../SEPT_SUR_SEPT/0002919315.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919315.html | 5 +- test/expected/SEPT_SUR_SEPT/0002919316 | 1 + .../SEPT_SUR_SEPT/0002919316.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919316.html | 3 +- test/expected/SEPT_SUR_SEPT/0002919318 | 1 + .../SEPT_SUR_SEPT/0002919318.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919318.html | 5 +- test/expected/SEPT_SUR_SEPT/0002919319 | 1 + .../SEPT_SUR_SEPT/0002919319.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919319.html | 5 +- test/expected/SEPT_SUR_SEPT/0002919320 | 1 + .../SEPT_SUR_SEPT/0002919320.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919320.html | 3 +- test/expected/SEPT_SUR_SEPT/0002919324 | 1 + .../SEPT_SUR_SEPT/0002919324.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919324.html | 5 +- test/expected/SEPT_SUR_SEPT/0002919326 | 1 + .../SEPT_SUR_SEPT/0002919326.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919326.html | 5 +- test/expected/SEPT_SUR_SEPT/0002919340 | 1 + .../SEPT_SUR_SEPT/0002919340.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919340.html | 5 +- test/expected/SEPT_SUR_SEPT/0002919343 | 1 + .../SEPT_SUR_SEPT/0002919343.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919343.html | 5 +- test/expected/SEPT_SUR_SEPT/0002919344 | 1 + .../SEPT_SUR_SEPT/0002919344.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919344.html | 3 +- test/expected/SEPT_SUR_SEPT/0002919345 | 34 +++-- .../SEPT_SUR_SEPT/0002919345.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919345.html | 5 +- test/expected/SEPT_SUR_SEPT/0002919349 | 1 + .../SEPT_SUR_SEPT/0002919349.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919349.html | 3 +- test/expected/SEPT_SUR_SEPT/0002919351 | 1 + .../SEPT_SUR_SEPT/0002919351.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919351.html | 3 +- test/expected/SEPT_SUR_SEPT/0002919352 | 1 + .../SEPT_SUR_SEPT/0002919352.header.html | 2 +- test/expected/SEPT_SUR_SEPT/0002919352.html | 3 +- test/expected/SLASHDOT/0102636958 | 1 + test/expected/SLASHDOT/0102636958.header.html | 2 +- test/expected/SLASHDOT/0102636958.html | 69 ++++----- test/expected/SLASHDOT/0102637536 | 1 + test/expected/SLASHDOT/0102637536.header.html | 2 +- test/expected/SLASHDOT/0102637536.html | 37 ++--- test/expected/SLASHDOT/0102637868 | 1 + test/expected/SLASHDOT/0102637868.header.html | 2 +- test/expected/SLASHDOT/0102637868.html | 55 +++---- test/expected/SLASHDOT/0102638976 | 1 + test/expected/SLASHDOT/0102638976.header.html | 2 +- test/expected/SLASHDOT/0102638976.html | 73 ++++----- test/expected/SLASHDOT/0102639448 | 1 + test/expected/SLASHDOT/0102639448.header.html | 2 +- test/expected/SLASHDOT/0102639448.html | 69 ++++----- test/expected/SLASHDOT/0102639752 | 1 + test/expected/SLASHDOT/0102639752.header.html | 2 +- test/expected/SLASHDOT/0102639752.html | 43 +++--- test/expected/SLASHDOT/0102639856 | 1 + test/expected/SLASHDOT/0102639856.header.html | 2 +- test/expected/SLASHDOT/0102639856.html | 141 +++++++++--------- test/expected/SLASHDOT/0102640098 | 1 + test/expected/SLASHDOT/0102640098.header.html | 2 +- test/expected/SLASHDOT/0102640098.html | 111 +++++++------- test/expected/SLASHDOT/0102640274 | 1 + test/expected/SLASHDOT/0102640274.header.html | 2 +- test/expected/SLASHDOT/0102640274.html | 63 ++++---- test/expected/SLASHDOT/0102640424 | 1 + test/expected/SLASHDOT/0102640424.header.html | 2 +- test/expected/SLASHDOT/0102640424.html | 15 +- test/expected/SLASHDOT/0102640864 | 1 + test/expected/SLASHDOT/0102640864.header.html | 2 +- test/expected/SLASHDOT/0102640864.html | 53 +++---- test/expected/SLASHDOT/0102640946 | 1 + test/expected/SLASHDOT/0102640946.header.html | 2 +- test/expected/SLASHDOT/0102640946.html | 43 +++--- test/expected/SLASHDOT/0102641010 | 1 + test/expected/SLASHDOT/0102641010.header.html | 2 +- test/expected/SLASHDOT/0102641010.html | 29 ++-- test/expected/SLASHDOT/0102641672 | 1 + test/expected/SLASHDOT/0102641672.header.html | 2 +- test/expected/SLASHDOT/0102641672.html | 33 ++-- test/expected/SLASHDOT/0102643378 | 1 + test/expected/SLASHDOT/0102643378.header.html | 2 +- test/expected/SLASHDOT/0102643378.html | 13 +- test/expected/TOO_LINUX/2018-09-18T07_14_32Z | 1 + .../2018-09-18T07_14_32Z.header.html | 2 +- .../TOO_LINUX/2018-09-18T07_14_32Z.html | 3 +- test/expected/TOO_LINUX/2018-09-19T12_45_06Z | 1 + .../2018-09-19T12_45_06Z.header.html | 2 +- .../TOO_LINUX/2018-09-19T12_45_06Z.html | 3 +- test/expected/TOO_LINUX/2018-09-19T12_51_05Z | 1 + .../2018-09-19T12_51_05Z.header.html | 2 +- .../TOO_LINUX/2018-09-19T12_51_05Z.html | 3 +- test/expected/TOO_LINUX/2018-09-20T10_57_00Z | 1 + .../2018-09-20T10_57_00Z.header.html | 2 +- .../TOO_LINUX/2018-09-20T10_57_00Z.html | 3 +- test/expected/TOO_LINUX/2018-09-21T09_22_00Z | 1 + .../2018-09-21T09_22_00Z.header.html | 2 +- .../TOO_LINUX/2018-09-21T09_22_00Z.html | 3 +- test/expected/TOO_LINUX/2018-09-22T18_19_00Z | 1 + .../2018-09-22T18_19_00Z.header.html | 2 +- .../TOO_LINUX/2018-09-22T18_19_00Z.html | 3 +- test/expected/TOO_LINUX/2018-09-23T09_29_00Z | 1 + .../2018-09-23T09_29_00Z.header.html | 2 +- .../TOO_LINUX/2018-09-23T09_29_00Z.html | 3 +- test/expected/TOO_LINUX/2018-09-24T04_59_08Z | 1 + .../2018-09-24T04_59_08Z.header.html | 2 +- .../TOO_LINUX/2018-09-24T04_59_08Z.html | 3 +- test/expected/TOO_LINUX/2018-09-25T02_31_00Z | 1 + .../2018-09-25T02_31_00Z.header.html | 2 +- .../TOO_LINUX/2018-09-25T02_31_00Z.html | 3 +- test/expected/TOO_LINUX/2018-09-25T19_07_16Z | 1 + .../2018-09-25T19_07_16Z.header.html | 2 +- .../TOO_LINUX/2018-09-25T19_07_16Z.html | 3 +- 235 files changed, 856 insertions(+), 611 deletions(-) diff --git a/src/be/nikiroo/gofetch/Fetcher.java b/src/be/nikiroo/gofetch/Fetcher.java index 6c86c13..cb77f65 100644 --- a/src/be/nikiroo/gofetch/Fetcher.java +++ b/src/be/nikiroo/gofetch/Fetcher.java @@ -112,18 +112,18 @@ public class Fetcher { FileWriter writer = new FileWriter(gopherCache); try { - writer.append(gopher.getIndexHeader()); + writer.append(gopher.getMainIndexHeader()); writer.append(gopherBuilder.toString()); - writer.append(gopher.getIndexFooter()); + writer.append(gopher.getMainIndexFooter()); } finally { writer.close(); } try { writer = new FileWriter(htmlIndex); - writer.append(html.getIndexHeader()); + writer.append(html.getMainIndexHeader()); writer.append(htmlBuilder.toString()); - writer.append(html.getIndexFooter()); + writer.append(html.getMainIndexFooter()); } finally { writer.close(); } @@ -196,10 +196,12 @@ public class Fetcher { headers = tmp.toArray(new String[] {}); // - // Write the index (with "MORE" links if needed) + // Write the main index (with "MORE" links if needed) int page = 0; List gopherLines = new ArrayList(); List htmlLines = new ArrayList(); + gopherLines.add(gopher.getIndexHeader(support)); + htmlLines.add(html.getIndexHeader(support)); for (i = 0; i < headers.length; i++) { File gopherFile = new File(varDir, headers[i]); File htmlFile = new File(varDir, headers[i] + ".html"); @@ -220,6 +222,8 @@ public class Fetcher { + ".html", true, true)); } + gopherLines.add(gopher.getIndexFooter(support)); + htmlLines.add(html.getIndexFooter(support)); write(gopherLines, varDir, "gophermap", "", page); write(htmlLines, varDir, "index", ".html", page); gopherLines = new ArrayList(); @@ -229,6 +233,24 @@ public class Fetcher { } } + /** + * Write an index/gophermap file with the given link content for the + * selected supported web site. + * + * @param lines + * the link content (the stories and a short description) + * @param varDir + * the base directory to write into + * @param basename + * the base file name + * @param ext + * the file extension (for instance, ".html") + * @param page + * the page number (0 = main index) + * + * @throws IOException + * in case of I/O errors + */ private void write(List lines, File varDir, String basename, String ext, int page) throws IOException { File file = new File(varDir, basename + (page > 0 ? "_" + page : "") diff --git a/src/be/nikiroo/gofetch/output/Gopher.java b/src/be/nikiroo/gofetch/output/Gopher.java index 12a420c..aab03f6 100644 --- a/src/be/nikiroo/gofetch/output/Gopher.java +++ b/src/be/nikiroo/gofetch/output/Gopher.java @@ -2,6 +2,7 @@ package be.nikiroo.gofetch.output; import be.nikiroo.gofetch.data.Comment; import be.nikiroo.gofetch.data.Story; +import be.nikiroo.gofetch.support.BasicSupport; import be.nikiroo.gofetch.support.Type; import be.nikiroo.utils.StringUtils; import be.nikiroo.utils.StringUtils.Alignment; @@ -14,7 +15,7 @@ public class Gopher extends Output { } @Override - public String getIndexHeader() { + public String getMainIndexHeader() { StringBuilder builder = new StringBuilder(); appendCenter(builder, true, "NEWS", "", true); @@ -33,7 +34,22 @@ public class Gopher extends Output { } @Override - public String getIndexFooter() { + public String getMainIndexFooter() { + return ""; + } + + @Override + public String getIndexHeader(BasicSupport support) { + StringBuilder builder = new StringBuilder(); + appendCenter(builder, true, support.getDescription(), "", true); + builder.append("\r\n"); + builder.append("\r\n"); + builder.append("\r\n"); + return builder.toString(); + } + + @Override + public String getIndexFooter(BasicSupport support) { return ""; } @@ -112,6 +128,8 @@ public class Gopher extends Output { appendJustified(builder, false, story.getDetails(), " "); builder.append("\r\n"); + builder.append(" o Reference: ").append(story.getId()) + .append("\r\n"); builder.append(" o News link: ").append(story.getUrlInternal()) .append("\r\n"); builder.append(" o Source link: ").append(story.getUrlExternal()) diff --git a/src/be/nikiroo/gofetch/output/Html.java b/src/be/nikiroo/gofetch/output/Html.java index 385df8b..0bcc833 100644 --- a/src/be/nikiroo/gofetch/output/Html.java +++ b/src/be/nikiroo/gofetch/output/Html.java @@ -2,6 +2,7 @@ package be.nikiroo.gofetch.output; import be.nikiroo.gofetch.data.Comment; import be.nikiroo.gofetch.data.Story; +import be.nikiroo.gofetch.support.BasicSupport; import be.nikiroo.gofetch.support.Type; import be.nikiroo.utils.StringUtils; @@ -11,7 +12,7 @@ public class Html extends Output { } @Override - public String getIndexHeader() { + public String getMainIndexHeader() { String sel = preselector; if (!sel.isEmpty()) { sel = "/1" + sel; @@ -22,7 +23,7 @@ public class Html extends Output { StringBuilder builder = new StringBuilder(); appendPre(builder); - builder.append("

News

\n"// + builder.append("

News

\n"// + "

You will find here a few pages full of news, mirroring " + gopherUrl @@ -36,7 +37,17 @@ public class Html extends Output { } @Override - public String getIndexFooter() { + public String getMainIndexFooter() { + return ""; + } + + @Override + public String getIndexHeader(BasicSupport support) { + return "

" + support.getDescription() + "

\n

"; + } + + @Override + public String getIndexFooter(BasicSupport support) { return ""; } @@ -98,8 +109,8 @@ public class Html extends Output { private void appendHtml(StringBuilder builder, Comment comment, String space) { builder.append(space) .append("
\n"); - builder.append(space).append("

").append(comment.getTitle()) - .append("

\n"); + builder.append(space).append("

").append(comment.getTitle()) + .append("

\n"); builder.append(space) .append("
") .append(comment.getAuthor()).append("
\n"); @@ -117,10 +128,10 @@ public class Html extends Output { private StringBuilder appendHtml(StringBuilder builder, Story story, boolean resume) { if (resume) { - builder.append("

" - + story.getTitle() + "

\n"); + builder.append("

" + + story.getTitle() + "

\n"); } else { - builder.append("

" + story.getTitle() + "

\n"); + builder.append("

" + story.getTitle() + "

\n"); } builder.append("
"); @@ -134,6 +145,8 @@ public class Html extends Output { if (!resume) { builder.append("
    \n"); + builder.append("
  • Reference: " + story.getId() + + "
  • \n"); builder.append("
  • News link: " + story.getUrlInternal() + "
  • \n"); @@ -151,8 +164,8 @@ public class Html extends Output { } else { builder.append(" " + StringUtils.xmlEscape(story.getFullContent()) - .replace("\n", "
    ").replace("[ ", "

    ") - .replace(" ]", "

    ") + "\n"); + .replace("\n", "
    ").replace("[ ", "

    ") + .replace(" ]", "

    ") + "\n"); } builder.append("
\n"); diff --git a/src/be/nikiroo/gofetch/output/Output.java b/src/be/nikiroo/gofetch/output/Output.java index 1166879..dc197f0 100644 --- a/src/be/nikiroo/gofetch/output/Output.java +++ b/src/be/nikiroo/gofetch/output/Output.java @@ -1,6 +1,7 @@ package be.nikiroo.gofetch.output; import be.nikiroo.gofetch.data.Story; +import be.nikiroo.gofetch.support.BasicSupport; import be.nikiroo.gofetch.support.Type; /** @@ -49,18 +50,42 @@ public abstract class Output { } /** - * Get the header to use in the index file. + * Get the header to use in the main index file (the one which will + * reference all the supported web sites index files). * * @return the header */ - abstract public String getIndexHeader(); + abstract public String getMainIndexHeader(); /** - * Get the footer to use in the index file. + * Get the footer to use in the index file (the one which will reference all + * the supported web sites index files). * * @return the footer */ - abstract public String getIndexFooter(); + abstract public String getMainIndexFooter(); + + /** + * Get the header to use in the index file (the supported web site + * index file this output is for). + * + * @param support + * the supported web site + * + * @return the header + */ + abstract public String getIndexHeader(BasicSupport support); + + /** + * Get the footer to use in the index file (the supported web site + * index file this output is for). + * + * @param support + * the supported web site + * + * @return the footer + */ + abstract public String getIndexFooter(BasicSupport support); /** * Export the header of a story (a resume mode). diff --git a/test/expected/LWN/0000763252 b/test/expected/LWN/0000763252 index f5a2048..d887b91 100644 --- a/test/expected/LWN/0000763252 +++ b/test/expected/LWN/0000763252 @@ -2,6 +2,7 @@ + o Reference: 0000763252 o News link: https://lwn.net/Articles/763252/ o Source link: diff --git a/test/expected/LWN/0000763252.header.html b/test/expected/LWN/0000763252.header.html index ddbdc83..ebf54c4 100644 --- a/test/expected/LWN/0000763252.header.html +++ b/test/expected/LWN/0000763252.header.html @@ -9,7 +9,7 @@
-

LWN.net Weekly Edition for August 30, 2018

+

LWN.net Weekly Edition for August 30, 2018


diff --git a/test/expected/LWN/0000763252.html b/test/expected/LWN/0000763252.html index 183fc89..130b43e 100644 --- a/test/expected/LWN/0000763252.html +++ b/test/expected/LWN/0000763252.html @@ -9,16 +9,17 @@
-

LWN.net Weekly Edition for August 30, 2018

+

LWN.net Weekly Edition for August 30, 2018



- [1]Welcome to the LWN.net Weekly Edition for August 30, 2018 This edition contains the following feature content:

[2]An introduction to the Julia language, part 1 : Julia is a language designed for intensive numerical calculations; this article gives an overview of its core features.

[3]C considered dangerous : a Linux Security Summit talk on what is being done to make the use of C in the kernel safer.

[4]The second half of the 4.19 merge window : the final features merged (or not merged) before the merge window closed for this cycle.

[5]Measuring (and fixing) I/O-controller throughput loss : the kernel's I/O controllers can provide useful bandwidth guarantees, but at a significant cost in throughput.

[6]KDE's onboarding initiative, one year later : what has gone right in KDE's effort to make it easier for contributors to join the project, and what remains to be done.

[7]Sharing and archiving data sets with Dat : an innovative approach to addressing and sharing data on the net.

This week's edition also includes these inner pages:

[8]Brief items : Brief news items from throughout the community.

[9]Announcements : Newsletters, conferences, security updates, patches, and more.

Please enjoy this week's edition, and, as always, thank you for supporting LWN.net.

[10]Comments (none posted)

[11]An introduction to the Julia language, part 1

August 28, 2018

This article was contributed by Lee Phillips

[12]Julia is a young computer language aimed at serving the needs of scientists, engineers, and other practitioners of numerically intensive programming. It was first publicly released in 2012. After an intense period of language development, version 1.0 was [13]released on August 8. The 1.0 release promises years of language stability; users can be confident that developments in the 1.x series will not break their code. This is the first part of a two-part article introducing the world of Julia. This part will introduce enough of the language syntax and constructs to allow you to begin to write simple programs. The following installment will acquaint you with the additional pieces needed to create real projects, and to make use of Julia's ecosystem.

Goals and history

The Julia project has ambitious goals. It wants the language to perform about as well as Fortran or C when running numerical algorithms, while remaining as pleasant to program in as Python. I believe the project has met these goals and is poised to see increasing adoption by numerical researchers, especially now that an official, stable release is available.

The Julia project maintains a [14]micro-benchmark page that compares its numerical performance against both statically compiled languages (C, Fortran) and dynamically typed languages (R, Python). While it's certainly possible to argue about the relevance and fairness of particular benchmarks, the data overall supports the Julia team's contention that Julia has generally achieved parity with Fortran and C; the benchmark source code is available.

Julia began as research in computer science at MIT; its creators are Alan Edelman, Stefan Karpinski, Jeff Bezanson, and Viral Shah. These four remain active developers of the language. They, along with Keno Fischer, co-founder and CTO of [15]Julia Computing , were kind enough to share their thoughts with us about the language. I'll be drawing on their comments later on; for now, let's get a taste of what Julia code looks like.

Getting started

To explore Julia initially, start up its standard [16]read-eval-print loop (REPL) by typing julia at the terminal, assuming that you have installed it. You will then be able to interact with what will seem to be an interpreted language — but, behind the scenes, those commands are being compiled by a just-in-time (JIT) compiler that uses the [17]LLVM compiler framework . This allows Julia to be interactive, while turning the code into fast, native machine instructions. However, the JIT compiler passes sometimes introduce noticeable delays at the REPL, especially when using a function for the first time.

To run a Julia program non-interactively, execute a command like: $ julia script.jl

Julia has all the usual data structures: numbers of various types (including complex and rational numbers), multidimensional arrays, dictionaries, strings, and characters. Functions are first-class: they can be passed as arguments to other functions, can be members of arrays, and so on.

Julia embraces Unicode. Strings, which are enclosed in double quotes, are arrays of Unicode characters, which are enclosed in single quotes. The " * " operator is used for string and character concatenation. Thus 'a' and 'β' are characters, and 'aβ' is a syntax error. "a" and "β" are strings, as are "aβ", 'a' * 'β', and "a" * "β" — all evaluate to the same string.

Variable and function names can contain non-ASCII characters. This, along with Julia's clever syntax that understands numbers prepended to variables to mean multiplication, goes a long way to allowing the numerical scientist to write code that more closely resembles the compact mathematical notation of the equations that usually lie behind it. julia ε₁ = 0.01

0.01

julia ε₂ = 0.02

0.02

julia 2ε₁ + 3ε₂

0.08

And where does Julia come down on the age-old debate of what do about 1/2 ? In Fortran and Python 2, this will get you 0, since 1 and 2 are integers, and the result is rounded down to the integer 0. This was deemed inconsistent, and confusing to some, so it was changed in Python 3 to return 0.5 — which is what you get in Julia, too.

While we're on the subject of fractions, Julia can handle rational numbers, with a special syntax: 3//5 + 2//3 returns 19//15 , while 3/5 + 2/3 gets you the floating-point answer 1.2666666666666666. Internally, Julia thinks of a rational number in its reduced form, so the expression 6//8 == 3//4 returns true , and numerator(6//8) returns 3 .

Arrays

Arrays are enclosed in square brackets and indexed with an iterator that can contain a step value: julia a = [1, 2, 3, 4, 5, 6]

6-element Array{Int64,1}:

1

2

3

4

5

6

julia a[1:2:end]

3-element Array{Int64,1}:

1

3

5

As you can see, indexing starts at one, and the useful end index means the obvious thing. When you define a variable in the REPL, Julia replies with the type and value of the assigned data; you can suppress this output by ending your input line with a semicolon.

Since arrays are such a vital part of numerical computation, and Julia makes them easy to work with, we'll spend a bit more time with them than the other data structures.

To illustrate the syntax, we can start with a couple of 2D arrays, defined at the REPL: julia a = [1 2 3; 4 5 6]

2×3 Array{Int64,2}:

1 2 3

4 5 6

julia z = [-1 -2 -3; -4 -5 -6];

Indexing is as expected: julia a[1, 2]

2

You can glue arrays together horizontally: julia [a z]

2×6 Array{Int64,2}:

1 2 3 -1 -2 -3

4 5 6 -4 -5 -6

And vertically: julia [a; z]

4×3 Array{Int64,2}:

1 2 3

4 5 6

-1 -2 -3

-4 -5 -6

Julia has all the usual operators for handling arrays, and [18]linear algebra functions that work with matrices (2D arrays). The linear algebra functions are part of Julia's standard library, but need to be imported with a command like " using LinearAlgebra ", which is a detail omitted from the current documentation. The functions include such things as determinants, matrix inverses, eigenvalues and eigenvectors, many kinds of matrix factorizations, etc. Julia has not reinvented the wheel here, but wisely uses the [19]LAPACK Fortran library of battle-tested linear algebra routines.

The extension of arithmetic operators to arrays is usually intuitive: julia a + z

2×3 Array{Int64,2}:

0 0 0

0 0 0

And the numerical prepending syntax works with arrays, too: julia 3a + 4z

2×3 Array{Int64,2}:

-1 -2 -3

-4 -5 -6

Putting a multiplication operator between two matrices gets you matrix multiplication: julia a * transpose(a)

2×2 Array{Int64,2}:

14 32

32 77

You can "broadcast" numbers to cover all the elements in an array by prepending the usual arithmetic operators with a dot: julia 1 .+ a

2×3 Array{Int64,2}:

2 3 4

5 6 7

Note that the language only actually requires the dot for some operators, but not for others, such as "*" and "/". The reasons for this are arcane, and it probably makes sense to be consistent and use the dot whenever you intend broadcasting. Note also that the current version of the official documentation is incorrect in claiming that you may omit the dot from "+" and "-"; in fact, this now gives an error.

You can use the dot notation to turn any function into one that operates on each element of an array: julia round.(sin.([0, π/2, π, 3π/2, 2π]))

5-element Array{Float64,1}:

0.0

1.0

0.0

-1.0

-0.0

The example above illustrates chaining two dotted functions together. The Julia compiler turns expressions like this into "fused" operations: instead of applying each function in turn to create a new array that is passed to the next function, the compiler combines the functions into a single compound function that is applied once over the array, creating a significant optimization.

You can use this dot notation with any function, including your own, to turn it into a version that operates element-wise over arrays.

Dictionaries (associative arrays) can be defined with several syntaxes. Here's one: julia d1 = Dict("A"=1, "B"=2)

Dict{String,Int64} with 2 entries:

"B" = 2

"A" = 1

You may have noticed that the code snippets so far have not included any type declarations. Every value in Julia has a type, but the compiler will infer types if they are not specified. It is generally not necessary to declare types for performance, but type declarations sometimes serve other purposes, that we'll return to later. Julia has a deep and sophisticated type system, including user-defined types and C-like structs. Types can have behaviors associated with them, and can inherit behaviors from other types. The best thing about Julia's type system is that you can ignore it entirely, use just a few pieces of it, or spend weeks studying its design.

Control flow

Julia code is organized in blocks, which can indicate control flow, function definitions, and other code units. Blocks are terminated with the end keyword, and indentation is not significant. Statements are separated either with newlines or semicolons.

Julia has the typical control flow constructs; here is a while block: julia i = 1;

julia while i 5

print(i)

global i = i + 1

end

1234

Notice the global keyword. Most blocks in Julia introduce a local scope for variables; without this keyword here, we would get an error about an undefined variable.

Julia has the usual if statements and for loops that use the same iterators that we introduced above for array indexing. We can also iterate over collections: julia for i ∈ ['a', 'b', 'c']

println(i)

end

a

b

c

In place of the fancy math symbol in this for loop, we can use " = " or " in ". If you want to use the math symbol but have no convenient way to type it, the REPL will help you: type " \in " and the TAB key, and the symbol appears; you can type many [20]LaTeX expressions into the REPL in this way.

Development of Julia

The language is developed on GitHub, with over 700 contributors. The Julia team mentioned in their email to us that the decision to use GitHub has been particularly good for Julia, as it streamlined the process for many of their contributors, who are scientists or domain experts in various fields, rather than professional software developers.

The creators of Julia have [21]published [PDF] a detailed “mission statement” for the language, describing their aims and motivations. A key issue that they wanted their language to solve is what they called the "two-language problem." This situation is familiar to anyone who has used Python or another dynamic language on a demanding numerical problem. To get good performance, you will wind up rewriting the numerically intensive parts of the program in C or Fortran, dealing with the interface between the two languages, and may still be disappointed in the overhead presented by calling the foreign routines from your original code.

For Python, [22]NumPy and SciPy wrap many numerical routines, written in Fortran or C, for efficient use from that language, but you can only take advantage of this if your calculation fits the pattern of an available routine; in more general cases, where you will have to write a loop over your data, you are stuck with Python's native performance, which is orders of magnitude slower. If you switch to an alternative, faster implementation of Python, such as [23]PyPy , the numerical libraries may not be compatible; NumPy became available for PyPy only within about the past year.

Julia solves the two-language problem by being as expressive and simple to program in as a dynamic scripting language, while having the native performance of a static, compiled language. There is no need to write numerical libraries in a second language, but C or Fortran library routines can be called using a facility that Julia has built-in. Other languages, such as [24]Python or [25]R , can also interoperate easily with Julia using external packages.

Documentation

There are many resources to turn to to learn the language. There is an extensive and detailed [26]manual at Julia headquarters, and this may be a good place to start. However, although the first few chapters provide a gentle introduction, the material soon becomes dense and, at times, hard to follow, with references to concepts that are not explained until later chapters. Fortunately, there is a [27]"learning" link at the top of the Julia home page, which takes you to a long list of videos, tutorials, books, articles, and classes both about Julia and that use Julia in teaching subjects such a numerical analysis. There is also a fairly good [28]cheat-sheet [PDF] , which was just updated for v. 1.0.

If you're coming from Python, [29]this list of noteworthy differences between Python and Julia syntax will probably be useful.

Some of the linked tutorials are in the form of [30]Jupyter notebooks — indeed, the name "Jupyter" is formed from "Julia", "Python", and "R", which are the three original languages supported by the interface. The [31]Julia kernel for Jupyter was recently upgraded to support v. 1.0. Judicious sampling of a variety of documentation sources, combined with liberal experimentation, may be the best way of learning the language. Jupyter makes this experimentation more inviting for those who enjoy the web-based interface, but the REPL that comes with Julia helps a great deal in this regard by providing, for instance, TAB completion and an extensive help system invoked by simply pressing the "?" key.

Stay tuned

The [32]next installment in this two-part series will explain how Julia is organized around the concept of "multiple dispatch". You will learn how to create functions and make elementary use of Julia's type system. We'll see how to install packages and use modules, and how to make graphs. Finally, Part 2 will briefly survey the important topics of macros and distributed computing.

[33]Comments (80 posted)

[34]C considered dangerous

By Jake Edge

August 29, 2018

[35]LSS NA

At the North America edition of the [36]2018 Linux Security Summit (LSS NA), which was held in late August in Vancouver, Canada, Kees Cook gave a presentation on some of the dangers that come with programs written in C. In particular, of course, the Linux kernel is mostly written in C, which means that the security of our systems rests on a somewhat dangerous foundation. But there are things that can be done to help firm things up by " Making C Less Dangerous " as the title of his talk suggested.

He began with a brief summary of the work that he and others are doing as part of the [37]Kernel Self Protection Project (KSPP). The goal of the project is to get kernel protections merged into the mainline. These protections are not targeted at protecting user-space processes from other (possibly rogue) processes, but are, instead, focused on protecting the kernel from user-space code. There are around 12 organizations and ten individuals working on roughly 20 different technologies as part of the KSPP, he said. The progress has been "slow and steady", he said, which is how he thinks it should go. [38]

One of the main problems is that C is treated mostly like a fancy assembler. The kernel developers do this because they want the kernel to be as fast and as small as possible. There are other reasons, too, such as the need to do architecture-specific tasks that lack a C API (e.g. setting up page tables, switching to 64-bit mode).

But there is lots of undefined behavior in C. This "operational baggage" can lead to various problems. In addition, C has a weak standard library with multiple utility functions that have various pitfalls. In C, the content of uninitialized automatic variables is undefined, but in the machine code that it gets translated to, the value is whatever happened to be in that memory location before. In C, a function pointer can be called even if the type of the pointer does not match the type of the function being called—assembly doesn't care, it just jumps to a location, he said.

The APIs in the standard library are also bad in many cases. He asked: why is there no argument to memcpy() to specify the maximum destination length? He noted a recent [39]blog post from Raph Levien entitled "With Undefined Behavior, Anything is Possible". That obviously resonated with Cook, as he pointed out his T-shirt—with the title and artwork from the post.

Less danger

He then moved on to some things that kernel developers can do (and are doing) to get away from some of the dangers of C. He began with variable-length arrays (VLAs), which can be used to overflow the stack to access data outside of its region. Even if the stack has a guard page, VLAs can be used to jump past it to write into other memory, which can then be used by some other kind of attack. The C language is "perfectly fine with this". It is easy to find uses of VLAs with the -Wvla flag, however.

But it turns out that VLAs are [40]not just bad from a security perspective , they are also slow. In a micro-benchmark associated with a [41]patch removing a VLA , a 13% performance boost came from using a fixed-size array. He dug in a bit further and found that much more code is being generated to handle a VLA, which explains the speed increase. Since Linus Torvalds has [42]declared that VLAs should be removed from the kernel because they cause security problems and also slow the kernel down; Cook said "don't use VLAs".

Another problem area is switch statements, in particular where there is no break for a case . That could mean that the programmer expects and wants to fall through to the next case or it could be that the break was simply forgotten. There is a way to get a warning from the compiler for fall-throughs, but there needs to be a way to mark those that are truly meant to be that way. A special fall-through "statement" in the form of a comment is what has been agreed on within the static-analysis community. He and others have been going through each of the places where there is no break to add these comments (or a break ); they have "found a lot of bugs this way", he said.

Uninitialized local variables will generate a warning, but not if the variable is passed in by reference. There are some GCC plugins that will automatically initialize these variables, but there are also patches for both GCC and Clang to provide a compiler option to do so. Neither of those is upstream yet, but Torvalds has praised the effort so the kernel would likely use the option. An interesting side effect that came about while investigating this was a warning he got about unreachable code when he enabled the auto-initialization. There were two variables declared just after a switch (and outside of any case ), where they would never be reached.

Arithmetic overflow is another undefined behavior in C that can cause various problems. GCC can check for signed overflow, which performs well (the overhead is in the noise, he said), but adding warning messages for it does grow the kernel by 6%; making the overflow abort, instead, only adds 0.1%. Clang can check for both signed and unsigned overflow; signed overflow is undefined, while unsigned overflow is defined, but often unexpected. Marking places where unsigned overflow is expected is needed; it would be nice to get those annotations put into the kernel, Cook said.

Explicit bounds checking is expensive. Doing it for copy_{to,from}_user() is a less than 1% performance hit, but adding it to the strcpy() and memcpy() families are around a 2% hit. Pre-Meltdown that would have been a totally impossible performance regression for security, he said; post-Meltdown, since it is less than 5%, maybe there is a chance to add this checking.

Better APIs would help as well. He pointed to the evolution of strcpy() , through str n cpy() and str l cpy() (each with their own bounds flaws) to str s cpy() , which seems to be "OK so far". He also mentioned memcpy() again as a poor API with respect to bounds checking.

Hardware support for bounds checking is available in the application data integrity (ADI) feature for SPARC and is coming for Arm; it may also be available for Intel processors at some point. These all use a form of "memory tagging", where allocations get a tag that is stored in the high-order byte of the address. An offset from the address can be checked by the hardware to see if it still falls within the allocated region based on the tag.

Control-flow integrity (CFI) has become more of an issue lately because much of what attackers had used in the past has been marked as "no execute" so they are turning to using existing code "gadgets" already present in the kernel by hijacking existing indirect function calls. In C, you can just call pointers without regard to the type as it just treats them as an address to jump to. Clang has a CFI-sanitize feature that enforces the function prototype to restrict the calls that can be made. It is done at runtime and is not perfect, in part because there are lots of functions in the kernel that take one unsigned long parameter and return an unsigned long.

Attacks on CFI have both a "forward edge", which is what CFI sanitize tries to handle, and a "backward edge" that comes from manipulating the stack values, the return address in particular. Clang has two methods available to prevent the stack manipulation. The first is the "safe stack", which puts various important items (e.g. "safe" variables, register spills, and the return address) on a separate stack. Alternatively, the "shadow stack" feature creates a separate stack just for return addresses.

One problem with these other stacks is that they are still writable, so if an attacker can find them in memory, they can still perform their attacks. Hardware-based protections, like Intel's Control-Flow Enforcement Technology (CET), [43]provides a read-only shadow call stack for return addresses. Another hardware protection is [44]pointer authentication for Arm, which adds a kind of encrypted tag to the return address that can be verified before it is used.

Status and challenges

Cook then went through the current status of handling these different problems in the kernel. VLAs are almost completely gone, he said, just a few remain in the crypto subsystem; he hopes those VLAs will be gone by 4.20 (or whatever the number of the next kernel release turns out to be). Once that happens, he plans to turn on -Wvla for the kernel build so that none creep back in.

There has been steady progress made on marking fall-through cases in switch statements. Only 745 remain to be handled of the 2311 that existed when this work started; each one requires scrutiny to determine what the author's intent is. Auto-initialized local variables can be done using compiler plugins, but that is "not quite what we want", he said. More compiler support would be helpful there. For arithmetic overflow, it would be nice to see GCC get support for the unsigned case, but memory allocations are now doing explicit overflow checking at this point.

Bounds checking has seen some "crying about performance hits", so we are waiting impatiently for hardware support, he said. CFI forward-edge protection needs [45]link-time optimization (LTO) support for Clang in the kernel, but it is currently working on Android. For backward-edge mitigation, the Clang shadow call stack is working on Android, but we are impatiently waiting for hardware support for that too.

There are a number of challenges in doing security development for the kernel, Cook said. There are cultural boundaries due to conservatism within the kernel community; that requires patiently working and reworking features in order to get them upstream. There are, of course, technical challenges because of the complexity of security changes; those kinds of problems can be solved. There are also resource limitations in terms of developers, testers, reviewers, and so on. KSPP and the other kernel security developers are still making that "slow but steady" progress.

Cook's [46]slides [PDF] are available for interested readers; before long, there should be a video available of the talk as well.

[I would like to thank LWN's travel sponsor, the Linux Foundation, for travel assistance to attend the Linux Security Summit in Vancouver.]

[47]Comments (70 posted)

[48]The second half of the 4.19 merge window

By Jonathan Corbet

August 26, 2018 By the time Linus Torvalds [49]released 4.19-rc1 and closed the merge window for this development cycle, 12,317 non-merge changesets had found their way into the mainline; about 4,800 of those landed after [50]last week's summary was written. As tends to be the case late in the merge window, many of those changes were fixes for the bigger patches that went in early, but there were also a number of new features added. Some of the more significant changes include:

Core kernel

The full set of patches adding [51]control-group awareness to the out-of-memory killer has not been merged due to ongoing disagreements, but one piece of it has: there is a new memory.oom.group control knob that will cause all processes within a control group to be killed in an out-of-memory situation.

A new set of protections has been added to prevent an attacker from fooling a program into writing to an existing file or FIFO. An open with the O_CREAT flag to a file or FIFO in a world-writable, sticky directory (e.g. /tmp ) will fail if the owner of the opening process is not the owner of either the target file or the containing directory. This behavior, disabled by default, is controlled by the new protected_regular and protected_fifos sysctl knobs.

Filesystems and block layer

The dm-integrity device-mapper target can now use a separate device for metadata storage.

EROFS, the "enhanced read-only filesystem", has been added to the staging tree. It is " a lightweight read-only file system with modern designs (eg. page-sized blocks, inline xattrs/data, etc.) for scenarios which need high-performance read-only requirements, eg. firmwares in mobile phone or LIVECDs "

The new "metadata copy-up" feature in overlayfs will avoid copying a file's contents to the upper layer on a metadata-only change. See [52]this commit for details.

Hardware support

Graphics : Qualcomm Adreno A6xx GPUs.

Industrial I/O : Spreadtrum SC27xx series PMIC analog-to-digital converters, Analog Devices AD5758 digital-to-analog converters, Intersil ISL29501 time-of-flight sensors, Silicon Labs SI1133 UV index/ambient light sensor chips, and Bosch Sensortec BME680 sensors.

Miscellaneous : Generic ADC-based resistive touchscreens, Generic ASIC devices via the Google [53]Gasket framework , Analog Devices ADGS1408/ADGS1409 multiplexers, Actions Semi Owl SoCs DMA controllers, MEN 16Z069 watchdog timers, Rohm BU21029 touchscreen controllers, Cirrus Logic CS47L35, CS47L85, CS47L90, and CS47L91 codecs, Cougar 500k gaming keyboards, Qualcomm GENI-based I2C controllers, Actions Semiconductor Owl I2C controllers, ChromeOS EC-based USBPD chargers, and Analog Devices ADP5061 battery chargers.

USB : Nuvoton NPCM7XX on-chip EHCI USB controllers, Broadcom Stingray PCIe PHYs, and Renesas R-Car generation 3 PCIe PHYs.

There is also a new subsystem for the abstraction of GNSS (global navigation satellite systems — GPS, for example) receivers in the kernel. To date, such devices have been handled with an abundance of user-space drivers; the hope is to bring some order in this area. Support for u-blox and SiRFstar receivers has been added as well.

Kernel internal

The __deprecated marker, used to mark interfaces that should no longer be used, has been deprecated and removed from the kernel entirely. [54]Torvalds said : " They are not useful. They annoy everybody, and nobody ever does anything about them, because it's always 'somebody elses problem'. And when people start thinking that warnings are normal, they stop looking at them, and the real warnings that mean something go unnoticed. "

The minimum version of GCC required by the kernel has been moved up to 4.6.

There are a couple of significant changes that failed to get in this time around, including the [55]XArray data structure. The patches are thought to be ready, but they had the bad luck to be based on a tree that failed to be merged for other reasons, so Torvalds [56]didn't even look at them . That, in turn, blocks another set of patches intended to enable migration of slab-allocated objects.

The other big deferral is the [57]new system-call API for filesystem mounting . Despite ongoing [58]concerns about what happens when the same low-level device is mounted multiple times with conflicting options, Al Viro sent [59]a pull request to send this work upstream. The ensuing discussion made it clear that there is still not a consensus in this area, though, so it seems that this work has to wait for another cycle.

Assuming all goes well, the kernel will stabilize over the coming weeks and the final 4.19 release will happen in mid-October.

[60]Comments (1 posted)

[61]Measuring (and fixing) I/O-controller throughput loss

August 29, 2018

This article was contributed by Paolo Valente

Many services, from web hosting and video streaming to cloud storage, need to move data to and from storage. They also often require that each per-client I/O flow be guaranteed a non-zero amount of bandwidth and a bounded latency. An expensive way to provide these guarantees is to over-provision storage resources, keeping each resource underutilized, and thus have plenty of bandwidth available for the few I/O flows dispatched to each medium. Alternatively one can use an I/O controller. Linux provides two mechanisms designed to throttle some I/O streams to allow others to meet their bandwidth and latency requirements. These mechanisms work, but they come at a cost: a loss of as much as 80% of total available I/O bandwidth. I have run some tests to demonstrate this problem; some upcoming improvements to the [62]bfq I/O scheduler promise to improve the situation considerably.

Throttling does guarantee control, even on drives that happen to be highly utilized but, as will be seen, it has a hard time actually ensuring that drives are highly utilized. Even with greedy I/O flows, throttling easily ends up utilizing as little as 20% of the available speed of a flash-based drive. Such a speed loss may be particularly problematic with lower-end storage. On the opposite end, it is also disappointing with high-end hardware, as the Linux block I/O stack itself has been [63]redesigned from the ground up to fully utilize the high speed of modern, fast storage. In addition, throttling fails to guarantee the expected bandwidths if I/O contains both reads and writes, or is sporadic in nature.

On the bright side, there now seems to be an effective alternative for controlling I/O: the proportional-share policy provided by the bfq I/O scheduler. It enables nearly 100% storage bandwidth utilization, at least with some of the workloads that are problematic for throttling. An upcoming version of bfq may be able to achieve this result with almost all workloads. Finally, bfq guarantees bandwidths with all workloads. The current limitation of bfq is that its execution overhead becomes significant at speeds above 400,000 I/O operations per second on commodity CPUs.

Using the bfq I/O scheduler, Linux can now guarantee low latency to lightweight flows containing sporadic, short I/O. No throughput issues arise, and no configuration is required. This capability benefits important, time-sensitive tasks, such as video or audio streaming, as well as executing commands or starting applications. Although benchmarks are not available yet, these guarantees might also be provided by the newly proposed [64]I/O latency controller . It allows administrators to set target latencies for I/O requests originating from each group of processes, and favors the groups with the lowest target latency.

The testbed

I ran the tests with an ext4 filesystem mounted on a PLEXTOR PX-256M5S SSD, which features a peak rate of ~160MB/s with random I/O, and of ~500MB/s with sequential I/O. I used blk-mq, in Linux 4.18. The system was equipped with a 2.4GHz Intel Core i7-2760QM CPU and 1.3GHz DDR3 DRAM. In such a system, a single thread doing synchronous reads reaches a throughput of 23MB/s.

For the purposes of these tests, each process is considered to be in one of two groups, termed "target" and "interferers". A target is a single-process, I/O-bound group whose I/O is focused on. In particular, I measure the I/O throughput enjoyed by this group to get the minimum bandwidth delivered to the group. An interferer is single-process group whose role is to generate additional I/O that interferes with the I/O of the target. The tested workloads contain one target and multiple interferers.

The single process in each group either reads or writes, through asynchronous (buffered) operations, to one file — different from the file read or written by any other process — after invalidating the buffer cache for the file. I define a reader or writer process as either "random" or "sequential", depending on whether it reads or writes its file at random positions or sequentially. Finally, an interferer is defined as being either "active" or "inactive" depending on whether it performs I/O during the test. When an interferer is mentioned, it is assumed that the interferer is active.

Workloads are defined so as to try to cover the combinations that, I believe, most influence the performance of the storage device and of the I/O policies. For brevity, in this article I show results for only two groups of workloads:

Static sequential : four synchronous sequential readers or four asynchronous sequential writers, plus five inactive interferers.

Static random : four synchronous random readers, all with a block size equal to 4k, plus five inactive interferers.

To create each workload, I considered, for each mix of interferers in the group, two possibilities for the target: it could be either a random or a sequential synchronous reader. In [65]a longer version of this article [PDF] , you will also find results for workloads with varying degrees of I/O randomness, and for dynamic workloads (containing sporadic I/O sources). These extra results confirm the losses of throughput and I/O control for throttling that are shown here.

I/O policies

Linux provides two I/O-control mechanisms for guaranteeing (a minimum) bandwidth, or at least fairness, to long-lived flows: the throttling and proportional-share I/O policies. With throttling, one can set a maximum bandwidth limit — "max limit" for brevity — for the I/O of each group. Max limits can be used, in an indirect way, to provide the service guarantee at the focus of this article. For example, to guarantee minimum bandwidths to I/O flows, a group can be guaranteed a minimum bandwidth by limiting the maximum bandwidth of all the other groups.

Unfortunately, max limits have two drawbacks in terms of throughput. First, if some groups do not use their allocated bandwidth, that bandwidth cannot be reclaimed by other active groups. Second, limits must comply with the worst-case speed of the device, namely, its random-I/O peak rate. Such limits will clearly leave a lot of throughput unused with workloads that otherwise would drive the device to higher throughput levels. Maximizing throughput is simply not a goal of max limits. So, for brevity, test results with max limits are not shown here. You can find these results, plus a more detailed description of the above drawbacks, in the long version of this article.

Because of these drawbacks, a new, still experimental, low limit has been added to the throttling policy. If a group is assigned a low limit, then the throttling policy automatically limits the I/O of the other groups in such a way to guarantee to the group a minimum bandwidth equal to its assigned low limit. This new throttling mechanism throttles no group as long as every group is getting at least its assigned minimum bandwidth. I tested this mechanism, but did not consider the interesting problem of guaranteeing minimum bandwidths while, at the same time, enforcing maximum bandwidths.

The other I/O policy available in Linux, proportional share, provides weighted fairness. Each group is assigned a weight, and should receive a portion of the total throughput proportional to its weight. This scheme guarantees minimum bandwidths in the same way that low limits do in throttling. In particular, it guarantees to each group a minimum bandwidth equal to the ratio between the weight of the group, and the sum of the weights of all the groups that may be active at the same time.

The actual implementation of the proportional-share policy, on a given drive, depends on what flavor of the block layer is in use for that drive. If the drive is using the legacy block interface, the policy is implemented by the cfq I/O scheduler. Unfortunately, cfq fails to control bandwidths with flash-based storage, especially on drives featuring command queueing. This case is not considered in these tests. With drives using the multiqueue interface, proportional share is implemented by bfq. This is the combination considered in the tests.

To benchmark both throttling (low limits) and proportional share, I tested, for each workload, the combinations of I/O policies and I/O schedulers reported in the table below. In the end, there are three test cases for each workload. In addition, for some workloads, I considered two versions of bfq for the proportional-share policy.

Name

I/O policy

Scheduler

Parameter for target

Parameter for each of the four active interferers

Parameter for each of the five inactive interferers

Sum of parameters

low-none

Throttling with low limits

none

10MB/s

10MB/s (tot: 40)

20MB/s (tot: 100)

150MB/s

prop-bfq

Proportional share

bfq

300

100 (tot: 400)

200 (tot: 1000)

1700

For low limits, I report results with only none as the I/O scheduler, because the results are the same with kyber and mq-deadline.

The capabilities of the storage medium and of low limits drove the policy configurations. In particular:

The configuration of the target and of the active interferers for low-none is the one for which low-none provides its best possible minimum-bandwidth guarantee to the target: 10MB/s, guaranteed if all interferers are readers. Results remain the same regardless of the values used for target latency and idle time; I set them to 100µs and 1000µs, respectively, for every group.

Low limits for inactive interferers are set to twice the limits for active interferers, to pose greater difficulties to the policy.

I chose weights for prop-bfq so as to guarantee about the same minimum bandwidth as low-none to the target, in the same only-reader worst case as for low-none and to preserve, between the weights of active and inactive interferers, the same ratio as between the low limits of active and inactive interferers.

Full details on configurations can be found in the long version of this article.

Each workload was run ten times for each policy, plus ten times without any I/O control, i.e., with none as I/O scheduler and no I/O policy in use. For each run, I measured the I/O throughput of the target (which reveals the bandwidth provided to the target), the cumulative I/O throughput of the interferers, and the total I/O throughput. These quantities fluctuated very little during each run, as well as across different runs. Thus in the graphs I report only averages over per-run average throughputs. In particular, for the case of no I/O control, I report only the total I/O throughput, to give an idea of the throughput that can be reached without imposing any control.

Results

This plot shows throughput results for the simplest group of workloads: the static-sequential set.

With a random reader as the target against sequential readers as interferers, low-none does guarantee the configured low limit to the target. Yet it reaches only a low total throughput. The throughput of the random reader evidently oscillates around 10MB/s during the test. This implies that it is at least slightly below 10MB/s for a significant percentage of the time. But when this happens, the low-limit mechanism limits the maximum bandwidth of every active group to the low limit set for the group, i.e., to just 10MB/s. The end result is a total throughput lower than 10% of the throughput reached without I/O control.

That said, the high throughput achieved without I/O control is obtained by choking the random I/O of the target in favor of the sequential I/O of the interferers. Thus, it is probably more interesting to compare low-none throughput with the throughput reachable while actually guaranteeing 10MB/s to the target. The target is a single, synchronous, random reader, which reaches 23MB/s while active. So, to guarantee 10MB/s to the target, it is enough to serve it for about half of the time, and the interferers for the other half. Since the device reaches ~500MB/s with the sequential I/O of the interferers, the resulting throughput with this service scheme would be (500+23)/2, or about 260MB/s. low-none thus reaches less than 20% of the total throughput that could be reached while still preserving the target bandwidth.

prop-bfq provides the target with a slightly higher throughput than low-none. This makes it harder for prop-bfq to reach a high total throughput, because prop-bfq serves more random I/O (from the target) than low-none. Nevertheless, prop-bfq gets a much higher total throughput than low-none. According to the above estimate, this throughput is about 90% of the maximum throughput that could be reached, for this workload, without violating service guarantees. The reason for this good result is that bfq provides an effective implementation of the proportional-share service policy. At any time, each active group is granted a fraction of the current total throughput, and the sum of these fractions is equal to one; so group bandwidths naturally saturate the available total throughput at all times.

Things change with the second workload: a random reader against sequential writers. Now low-none reaches a much higher total throughput than prop-bfq. low-none serves much more sequential (write) I/O than prop-bfq because writes somehow break the low-limit mechanisms and prevail over the reads of the target. Conceivably, this happens because writes tend to both starve reads in the OS (mainly by eating all available I/O tags) and to cheat on their completion time in the drive. In contrast, bfq is intentionally configured to privilege reads, to counter these issues.

In particular, low-none gets an even higher throughput than no I/O control at all because it penalizes the random I/O of the target even more than the no-controller configuration.

Finally, with the last two workloads, prop-bfq reaches even higher total throughput than with the first two. It happens because the target also does sequential I/O, and serving sequential I/O is much more beneficial for throughput than serving random I/O. With these two workloads, the total throughput is, respectively, close to or much higher than that reached without I/O control. For the last workload, the total throughput is much higher because, differently from none, bfq privileges reads over asynchronous writes, and reads yield a higher throughput than writes. In contrast, low-none still gets lower or much lower throughput than prop-bfq, because of the same issues that hinder low-none throughput with the first two workloads.

As for bandwidth guarantees, with readers as interferers (third workload), prop-bfq, as expected, gives the target a fraction of the total throughput proportional to its weight. bfq approximates perfect proportional-share bandwidth distribution among groups doing I/O of the same type (reads or writes) and with the same locality (sequential or random). With the last workload, prop-bfq gives much more throughput to the reader than to all the interferers, because interferers are asynchronous writers, and bfq privileges reads.

The second group of workloads (static random), is the one, among all the workloads considered, for which prop-bfq performs worst. Results are shown below:

This chart reports results not only for mainline bfq, but also for an improved version of bfq which is currently under public testing. As can be seen, with only random readers, prop-bfq reaches a much lower total throughput than low-none. This happens because of the Achilles heel of the bfq I/O scheduler. If the process in service does synchronous I/O and has a higher weight than some other process, then, to give strong bandwidth guarantees to that process, bfq plugs I/O dispatching every time the process temporarily stops issuing I/O requests. In this respect, processes actually have differentiated weights and do synchronous I/O in the workloads tested. So bfq systematically performs I/O plugging for them. Unfortunately, this plugging empties the internal queues of the drive, which kills throughput with random I/O. And the I/O of all processes in these workloads is also random.

The situation reverses with a sequential reader as target. Yet, the most interesting results come from the new version of bfq, containing small changes to counter exactly the above weakness. This version recovers most of the throughput loss with the workload made of only random I/O and more; with the second workload, where the target is a sequential reader, it reaches about 3.7 times the total throughput of low-none.

When the main concern is the latency of flows containing short I/O, Linux seems now rather high performing, thanks to the bfq I/O scheduler and the I/O latency controller. But if the requirement is to provide explicit bandwidth guarantees (or just fairness) to I/O flows, then one must be ready to give up much or most of the speed of the storage media. bfq helps with some workloads, but loses most of the throughput with workloads consisting of mostly random I/O. Fortunately, there is apparently hope for much better performance since an improvement, still under development, seems to enable bfq to reach a high throughput with all workloads tested so far.

I wish to thank Vivek Goyal for enabling me to make this article much more fair and sound.]

[66]Comments (4 posted)

[67]KDE's onboarding initiative, one year later

August 24, 2018

This article was contributed by Marta Rybczyńska

[68]Akademy

In 2017, the KDE community decided on [69]three goals to concentrate on for the next few years. One of them was [70]streamlining the onboarding of new contributors (the others were [71]improving usability and [72]privacy ). During [73]Akademy , the yearly KDE conference that was held in Vienna in August, Neofytos Kolokotronis shared the status of the onboarding goal, the work done during the last year, and further plans. While it is a complicated process in a project as big and diverse as KDE, numerous improvements have been already made.

Two of the three KDE community goals were proposed by relative newcomers. Kolokotronis was one of those, having joined the [74]KDE Promo team not long before proposing the focus on onboarding. He had previously been involved with [75]Chakra Linux , a distribution based on KDE software. The fact that new members of the community proposed strategic goals was also noted in the [76]Sunday keynote by Claudia Garad .

Proper onboarding adds excitement to the contribution process and increases retention, he explained. When we look at [77]the definition of onboarding , it is a process in which the new contributors acquire knowledge, skills, and behaviors so that they can contribute effectively. Kolokotronis proposed to see it also as socialization: integration into the project's relationships, culture, structure, and procedures.

The gains from proper onboarding are many. The project can grow by attracting new blood with new perspectives and solutions. The community maintains its health and stays vibrant. Another important advantage of efficient onboarding is that replacing current contributors becomes easier when they change interests, jobs, or leave the project for whatever reason. Finally, successful onboarding adds new advocates to the project.

Achievements so far and future plans

The team started with ideas for a centralized onboarding process for the whole of KDE. They found out quickly that this would not work because KDE is "very decentralized", so it is hard to provide tools and procedures that are going to work for the whole project. According to Kolokotronis, other characteristics of KDE that impact onboarding are high diversity, remote and online teams, and hundreds of contributors in dozens of projects and teams. In addition, new contributors already know in which area they want to take part and they prefer specific information that will be directly useful for them.

So the team changed its approach; several changes have since been proposed and implemented. The [78]Get Involved page, which is expected to be one of the resources new contributors read first, has been rewritten. For the [79]Junior Jobs page , the team is [80] [81]discussing what the generic content for KDE as a whole should be. The team simplified [82]Phabricator registration , which resulted in documenting the process better. Another part of the work includes the [83]KDE Bugzilla ; it includes, for example initiatives to limit the number of states of a ticket or remove obsolete products.

The [84]Plasma Mobile team is heavily involved in the onboarding goal. The Plasma Mobile developers have simplified their development environment setup and created an [85]interactive "Get Involved" page. In addition, the Plasma team changed the way task descriptions are written; they now contain more detail, so that it is easier to get involved. The basic description should be short and clear, and it should include details of the problem and possible solutions. The developers try to share the list of skills necessary to fulfill the tasks and include clear links to the technical resources needed.

Kolokotronis and team also identified a new potential source of contributors for KDE: distributions using KDE. They have the advantage of already knowing and using the software. The next idea the team is working on is to make sure that setting up a development environment is easy. The team plans to work on this during a dedicated sprint this autumn.

Searching for new contributors

Kolokotronis plans to search for new contributors at the periphery of the project, among the "skilled enthusiasts": loyal users who actually care about the project. They "can make wonders", he said. Those individuals may be also less confident or shy, have troubles making the first step, and need guidance. The project leaders should take that into account.

In addition, newcomers are all different. Kolokotronis provided a long list of how contributors differ, including skills and knowledge, motives and interests, and time and dedication. His advice is to "try to find their superpower", the skills they have that are missing in the team. Those "superpowers" can then be used for the benefit of the project.

If a project does nothing else, he said, it can start with its documentation. However, this does not only mean code documentation. Writing down the procedures or information about the internal work of the project, like who is working on what, is an important part of a project's documentation and helps newcomers. There should be also guidelines on how to start, especially setting up the development environment.

The first thing the project leaders should do, according to Kolokotronis, is to spend time on introducing newcomers to the project. Ideally every new contributor should be assigned mentors — more experienced members who can help them when needed. The mentors and project leaders should find tasks that are interesting for each person. Answering an audience question on suggestions for shy new contributors, he recommended even more mentoring. It is also very helpful to make sure that newcomers have enough to read, but "avoid RTFM", he highlighted. It is also easy for a new contributor "to fly away", he said. The solution is to keep requesting things and be proactive.

What the project can do?

Kolokotronis suggested a number of actions for a project when it wants to improve its onboarding. The first step is preparation: the project leaders should know the team's and the project's needs. Long-term planning is important, too. It is not enough to wait for contributors to come — the project should be proactive, which means reaching out to candidates, suggesting appropriate tasks and, finally, making people available for the newcomers if they need help.

This leads to next step: to be a mentor. Kolokotronis suggests being a "great host", but also trying to phase out the dependency on the mentor rapidly. "We have been all newcomers", he said. It can be intimidating to join an existing group. Onboarding creates a sense of belonging which, in turn, increases retention.

The last step proposed was to be strategic. This includes thinking about the emotions you want newcomers to feel. Kolokotronis explained the strategic part with an example. The overall goal is (surprise!) improve onboarding of new contributors. An intermediate objective might be to keep the newcomers after they have made their first commit. If your strategy is to keep them confident and proud, you can use different tactics like praise and acknowledgment of the work in public. Another useful tactic may be assigning simple tasks, according to the skill of the contributor.

To summarize, the most important thing, according to Kolokotronis, is to respond quickly and spend time with new contributors. This time should be used to explain procedures, and to introduce the people and culture. It is also essential to guide first contributions and praise contributor's skill and effort. Increase the difficulty of tasks over time to keep contributors motivated and challenged. And finally, he said, "turn them into mentors".

Kolokotronis acknowledges that onboarding "takes time" and "everyone complains" about it. However, he is convinced that it is beneficial in the long term and that it decreases developer turnover.

Advice to newcomers

Kolokotronis concluded with some suggestions for newcomers to a project. They should try to be persistent and to not get discouraged when something goes wrong. Building connections from the very beginning is helpful. He suggests asking questions as if you were already a member "and things will be fine". However, accept criticism if it happens.

One of the next actions of the onboarding team will be to collect feedback from newcomers and experienced contributors to see if they agree on the ideas and processes introduced so far.

[86]Comments (none posted)

[87]Sharing and archiving data sets with Dat

August 27, 2018

This article was contributed by Antoine Beaupré

[88]Dat is a new peer-to-peer protocol that uses some of the concepts of [89]BitTorrent and Git. Dat primarily targets researchers and open-data activists as it is a great tool for sharing, archiving, and cataloging large data sets. But it can also be used to implement decentralized web applications in a novel way.

Dat quick primer

Dat is written in JavaScript, so it can be installed with npm , but there are [90]standalone binary builds and a [91]desktop application (as an AppImage). An [92]online viewer can be used to inspect data for those who do not want to install arbitrary binaries on their computers.

The command-line application allows basic operations like downloading existing data sets and sharing your own. Dat uses a 32-byte hex string that is an [93]ed25519 public key , which is is used to discover and find content on the net. For example, this will download some sample data: $ dat clone \

dat://778f8d955175c92e4ced5e4f5563f69bfec0c86cc6f670352c457943666fe639 \

~/Downloads/dat-demo

Similarly, the share command is used to share content. It indexes the files in a given directory and creates a new unique address like the one above. The share command starts a server that uses multiple discovery mechanisms (currently, the [94]Mainline Distributed Hash Table (DHT), a [95]custom DNS server , and multicast DNS) to announce the content to its peers. This is how another user, armed with that public key, can download that content with dat clone or mirror the files continuously with dat sync .

So far, this looks a lot like BitTorrent [96]magnet links updated with 21st century cryptography. But Dat adds revisions on top of that, so modifications are automatically shared through the swarm. That is important for public data sets as those are often dynamic in nature. Revisions also make it possible to use [97]Dat as a backup system by saving the data incrementally using an [98]archiver .

While Dat is designed to work on larger data sets, processing them for sharing may take a while. For example, sharing the Linux kernel source code required about five minutes as Dat worked on indexing all of the files. This is comparable to the performance offered by [99]IPFS and BitTorrent. Data sets with more or larger files may take quite a bit more time.

One advantage that Dat has over IPFS is that it doesn't duplicate the data. When IPFS imports new data, it duplicates the files into ~/.ipfs . For collections of small files like the kernel, this is not a huge problem, but for larger files like videos or music, it's a significant limitation. IPFS eventually implemented a solution to this [100]problem in the form of the experimental [101]filestore feature , but it's not enabled by default. Even with that feature enabled, though, changes to data sets are not automatically tracked. In comparison, Dat operation on dynamic data feels much lighter. The downside is that each set needs its own dat share process.

Like any peer-to-peer system, Dat needs at least one peer to stay online to offer the content, which is impractical for mobile devices. Hosting providers like [102]Hashbase (which is a [103]pinning service in Dat jargon) can help users keep content online without running their own [104]server . The closest parallel in the traditional web ecosystem would probably be content distribution networks (CDN) although pinning services are not necessarily geographically distributed and a CDN does not necessarily retain a complete copy of a website. [105]

A web browser called [106]Beaker , based on the [107]Electron framework, can access Dat content natively without going through a pinning service. Furthermore, Beaker is essential to get any of the [108]Dat applications working, as they fundamentally rely on dat:// URLs to do their magic. This means that Dat applications won't work for most users unless they install that special web browser. There is a [109]Firefox extension called " [110]dat-fox " for people who don't want to install yet another browser, but it requires installing a [111]helper program . The extension will be able to load dat:// URLs but many applications will still not work. For example, the [112]photo gallery application completely fails with dat-fox.

Dat-based applications look promising from a privacy point of view. Because of its peer-to-peer nature, users regain control over where their data is stored: either on their own computer, an online server, or by a trusted third party. But considering the protocol is not well established in current web browsers, I foresee difficulties in adoption of that aspect of the Dat ecosystem. Beyond that, it is rather disappointing that Dat applications cannot run natively in a web browser given that JavaScript is designed exactly for that.

Dat privacy

An advantage Dat has over other peer-to-peer protocols like BitTorrent is end-to-end encryption. I was originally concerned by the encryption design when reading the [113]academic paper [PDF] :

It is up to client programs to make design decisions around which discovery networks they trust. For example if a Dat client decides to use the BitTorrent DHT to discover peers, and they are searching for a publicly shared Dat key (e.g. a key cited publicly in a published scientific paper) with known contents, then because of the privacy design of the BitTorrent DHT it becomes public knowledge what key that client is searching for.

So in other words, to share a secret file with another user, the public key is transmitted over a secure side-channel, only to then leak during the discovery process. Fortunately, the public Dat key is not directly used during discovery as it is [114]hashed with BLAKE2B . Still, the security model of Dat assumes the public key is private, which is a rather counterintuitive concept that might upset cryptographers and confuse users who are frequently encouraged to type such strings in address bars and search engines as part of the Dat experience. There is a [115]security & privacy FAQ in the Dat documentation warning about this problem:

One of the key elements of Dat privacy is that the public key is never used in any discovery network. The public key is hashed, creating the discovery key. Whenever peers attempt to connect to each other, they use the discovery key.

Data is encrypted using the public key, so it is important that this key stays secure.

There are other privacy issues outlined in the document; it states that " Dat faces similar privacy risks as BitTorrent ":

When you download a dataset, your IP address is exposed to the users sharing that dataset. This may lead to honeypot servers collecting IP addresses, as we've seen in Bittorrent. However, with dataset sharing we can create a web of trust model where specific institutions are trusted as primary sources for datasets, diminishing the sharing of IP addresses.

A Dat blog post refers to this issue as [116]reader privacy and it is, indeed, a sensitive issue in peer-to-peer networks. It is how BitTorrent users are discovered and served scary verbiage from lawyers, after all. But Dat makes this a little better because, to join a swarm, you must know what you are looking for already, which means peers who can look at swarm activity only include users who know the secret public key. This works well for secret content, but for larger, public data sets, it is a real problem; it is why the Dat project has [117]avoided creating a Wikipedia mirror so far.

I found another privacy issue that is not documented in the security FAQ during my review of the protocol. As mentioned earlier, the [118]Dat discovery protocol routinely phones home to DNS servers operated by the Dat project. This implies that the default discovery servers (and an attacker watching over their traffic) know who is publishing or seeking content, in essence discovering the "social network" behind Dat. This discovery mechanism can be disabled in clients, but a similar privacy issue applies to the DHT as well, although that is distributed so it doesn't require trust of the Dat project itself.

Considering those aspects of the protocol, privacy-conscious users will probably want to use Tor or other anonymization techniques to work around those concerns.

The future of Dat

[119]Dat 2.0 was released in June 2017 with performance improvements and protocol changes. [120]Dat Enhancement Proposals (DEPs) guide the project's future development; most work is currently geared toward implementing the draft " [121]multi-writer proposal " in [122]HyperDB . Without multi-writer support, only the original publisher of a Dat can modify it. According to Joe Hand, co-executive-director of [123]Code for Science & Society (CSS) and Dat core developer, in an IRC chat, "supporting multiwriter is a big requirement for lots of folks". For example, while Dat might allow Alice to share her research results with Bob, he cannot modify or contribute back to those results. The multi-writer extension allows for Alice to assign trust to Bob so he can have write access to the data.

Unfortunately, the current proposal doesn't solve the " hard problems " of " conflict merges and secure key distribution ". The former will be worked out through user interface tweaks, but the latter is a classic problem that security projects have typically trouble finding solutions for—Dat is no exception. How will Alice securely trust Bob? The OpenPGP web of trust? Hexadecimal fingerprints read over the phone? Dat doesn't provide a magic solution to this problem.

Another thing limiting adoption is that Dat is not packaged in any distribution that I could find (although I [124]requested it in Debian ) and, considering the speed of change of the JavaScript ecosystem, this is unlikely to change any time soon. A [125]Rust implementation of the Dat protocol has started, however, which might be easier to package than the multitude of [126]Node.js modules. In terms of mobile device support, there is an experimental Android web browser with Dat support called [127]Bunsen , which somehow doesn't run on my phone. Some adventurous users have successfully run Dat in [128]Termux . I haven't found an app running on iOS at this point.

Even beyond platform support, distributed protocols like Dat have a tough slope to climb against the virtual monopoly of more centralized protocols, so it remains to be seen how popular those tools will be. Hand says Dat is supported by multiple non-profit organizations. Beyond CSS, [129]Blue Link Labs is working on the Beaker Browser as a self-funded startup and a grass-roots organization, [130]Digital Democracy , has contributed to the project. The [131]Internet Archive has [132]announced a collaboration between itself, CSS, and the California Digital Library to launch a pilot project to see " how members of a cooperative, decentralized network can leverage shared services to ensure data preservation while reducing storage costs and increasing replication counts ".

Hand said adoption in academia has been "slow but steady" and that the [133]Dat in the Lab project has helped identify areas that could help researchers adopt the project. Unfortunately, as is the case with many free-software projects, he said that "our team is definitely a bit limited on bandwidth to push for bigger adoption". Hand said that the project received a grant from [134]Mozilla Open Source Support to improve its documentation, which will be a big help.

Ultimately, Dat suffers from a problem common to all peer-to-peer applications, which is naming. Dat addresses are not exactly intuitive: humans do not remember strings of 64 hexadecimal characters well. For this, Dat took a [135]similar approach to IPFS by using DNS TXT records and /.well-known URL paths to bridge existing, human-readable names with Dat hashes. So this sacrifices a part of the decentralized nature of the project in favor of usability.

I have tested a lot of distributed protocols like Dat in the past and I am not sure Dat is a clear winner. It certainly has advantages over IPFS in terms of usability and resource usage, but the lack of packages on most platforms is a big limit to adoption for most people. This means it will be difficult to share content with my friends and family with Dat anytime soon, which would probably be my primary use case for the project. Until the protocol reaches the wider adoption that BitTorrent has seen in terms of platform support, I will probably wait before switching everything over to this promising project.

[136]Comments (11 posted)

Page editor : Jonathan Corbet

Inside this week's LWN.net Weekly Edition

[137]Briefs : OpenSSH 7.8; 4.19-rc1; Which stable?; Netdev 0x12; Bison 3.1; Quotes; ...

[138]Announcements : Newsletters; events; security updates; kernel patches; ... Next page : [139]Brief items>>



[1] https://lwn.net/Articles/763743/

[2] https://lwn.net/Articles/763626/

[3] https://lwn.net/Articles/763641/

[4] https://lwn.net/Articles/763106/

[5] https://lwn.net/Articles/763603/

[6] https://lwn.net/Articles/763175/

[7] https://lwn.net/Articles/763492/

[8] https://lwn.net/Articles/763254/

[9] https://lwn.net/Articles/763255/

[10] https://lwn.net/Articles/763743/#Comments

[11] https://lwn.net/Articles/763626/

[12] http://julialang.org/

[13] https://julialang.org/blog/2018/08/one-point-zero

[14] https://julialang.org/benchmarks/

[15] https://juliacomputing.com/

[16] https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop

[17] http://llvm.org/

[18] http://www.3blue1brown.com/essence-of-linear-algebra-page/

[19] http://www.netlib.org/lapack/

[20] https://lwn.net/Articles/657157/

[21] https://julialang.org/publications/julia-fresh-approach-BEKS.pdf

[22] https://lwn.net/Articles/738915/

[23] https://pypy.org/

[24] https://github.com/JuliaPy/PyCall.jl

[25] https://github.com/JuliaInterop/RCall.jl

[26] https://docs.julialang.org/en/stable/

[27] https://julialang.org/learning/

[28] http://bogumilkaminski.pl/files/julia_express.pdf

[29] https://docs.julialang.org/en/stable/manual/noteworthy-differences/#Noteworthy-differences-from-Python-1

[30] https://lwn.net/Articles/746386/

[31] https://github.com/JuliaLang/IJulia.jl

[32] https://lwn.net/Articles/764001/

[33] https://lwn.net/Articles/763626/#Comments

[34] https://lwn.net/Articles/763641/

[35] https://lwn.net/Archives/ConferenceByYear/#2018-Linux_Security_Summit_NA

[36] https://events.linuxfoundation.org/events/linux-security-summit-north-america-2018/

[37] https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project

[38] https://lwn.net/Articles/763644/

[39] https://raphlinus.github.io/programming/rust/2018/08/17/undefined-behavior.html

[40] https://lwn.net/Articles/749064/

[41] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=02361bc77888

[42] https://lore.kernel.org/lkml/CA+55aFzCG-zNmZwX4A2FQpadafLfEzK6CC=qPXydAacU1RqZWA@mail.gmail.com/T/#u

[43] https://lwn.net/Articles/758245/

[44] https://lwn.net/Articles/718888/

[45] https://lwn.net/Articles/744507/

[46] https://outflux.net/slides/2018/lss/danger.pdf

[47] https://lwn.net/Articles/763641/#Comments

[48] https://lwn.net/Articles/763106/

[49] https://lwn.net/Articles/763497/

[50] https://lwn.net/Articles/762566/

[51] https://lwn.net/Articles/761118/

[52] https://git.kernel.org/linus/d5791044d2e5749ef4de84161cec5532e2111540

[53] https://lwn.net/ml/linux-kernel/20180630000253.70103-1-sque@chromium.org/

[54] https://git.kernel.org/linus/771c035372a036f83353eef46dbb829780330234

[55] https://lwn.net/Articles/745073/

[56] https://lwn.net/ml/linux-kernel/CA+55aFxFjAmrFpwQmEHCthHOzgidCKnod+cNDEE+3Spu9o1s3w@mail.gmail.com/

[57] https://lwn.net/Articles/759499/

[58] https://lwn.net/Articles/762355/

[59] https://lwn.net/ml/linux-fsdevel/20180823223145.GK6515@ZenIV.linux.org.uk/

[60] https://lwn.net/Articles/763106/#Comments

[61] https://lwn.net/Articles/763603/

[62] https://lwn.net/Articles/601799/

[63] https://lwn.net/Articles/552904

[64] https://lwn.net/Articles/758963/

[65] http://algogroup.unimore.it/people/paolo/pub-docs/extended-lat-bw-throughput.pdf

[66] https://lwn.net/Articles/763603/#Comments

[67] https://lwn.net/Articles/763175/

[68] https://lwn.net/Archives/ConferenceByYear/#2018-Akademy

[69] https://dot.kde.org/2017/11/30/kdes-goals-2018-and-beyond

[70] https://phabricator.kde.org/T7116

[71] https://phabricator.kde.org/T6831

[72] https://phabricator.kde.org/T7050

[73] https://akademy.kde.org/

[74] https://community.kde.org/Promo

[75] https://www.chakralinux.org/

[76] https://conf.kde.org/en/Akademy2018/public/events/79

[77] https://en.wikipedia.org/wiki/Onboarding

[78] https://community.kde.org/Get_Involved

[79] https://community.kde.org/KDE/Junior_Jobs

[80] https://lwn.net/Articles/763189/

[81] https://phabricator.kde.org/T8686

[82] https://phabricator.kde.org/T7646

[83] https://bugs.kde.org/

[84] https://www.plasma-mobile.org/index.html

[85] https://www.plasma-mobile.org/findyourway

[86] https://lwn.net/Articles/763175/#Comments

[87] https://lwn.net/Articles/763492/

[88] https://datproject.org

[89] https://www.bittorrent.com/

[90] https://github.com/datproject/dat/releases

[91] https://docs.datproject.org/install

[92] https://datbase.org/

[93] https://ed25519.cr.yp.to/

[94] https://en.wikipedia.org/wiki/Mainline_DHT

[95] https://github.com/mafintosh/dns-discovery

[96] https://en.wikipedia.org/wiki/Magnet_URI_scheme

[97] https://blog.datproject.org/2017/10/13/using-dat-for-automatic-file-backups/

[98] https://github.com/mafintosh/hypercore-archiver

[99] https://ipfs.io/

[100] https://github.com/ipfs/go-ipfs/issues/875

[101] https://github.com/ipfs/go-ipfs/blob/master/docs/experimental-features.md#ipfs-filestore

[102] https://hashbase.io/

[103] https://github.com/datprotocol/DEPs/blob/master/proposals/0003-http-pinning-service-api.md

[104] https://docs.datproject.org/server

[105] https://lwn.net/Articles/763544/

[106] https://beakerbrowser.com/

[107] https://electronjs.org/

[108] https://github.com/beakerbrowser/explore

[109] https://addons.mozilla.org/en-US/firefox/addon/dat-p2p-protocol/

[110] https://github.com/sammacbeth/dat-fox

[111] https://github.com/sammacbeth/dat-fox-helper

[112] https://github.com/beakerbrowser/dat-photos-app

[113] https://github.com/datproject/docs/raw/master/papers/dat-paper.pdf

[114] https://github.com/datprotocol/DEPs/blob/653e0cf40233b5d474cddc04235577d9d55b2934/proposals/0000-peer-discovery.md#discovery-keys

[115] https://docs.datproject.org/security

[116] https://blog.datproject.org/2016/12/12/reader-privacy-on-the-p2p-web/

[117] https://blog.datproject.org/2017/12/10/dont-ship/

[118] https://github.com/datprotocol/DEPs/pull/7

[119] https://blog.datproject.org/2017/06/01/dat-sleep-release/

[120] https://github.com/datprotocol/DEPs

[121] https://github.com/datprotocol/DEPs/blob/master/proposals/0008-multiwriter.md

[122] https://github.com/mafintosh/hyperdb

[123] https://codeforscience.org/

[124] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=890565

[125] https://github.com/datrs

[126] https://nodejs.org/en/

[127] https://bunsenbrowser.github.io/#!index.md

[128] https://termux.com/

[129] https://bluelinklabs.com/

[130] https://www.digital-democracy.org/

[131] https://archive.org

[132] https://blog.archive.org/2018/06/05/internet-archive-code-for-science-and-society-and-california-digital-library-to-partner-on-a-data-sharing-and-preservation-pilot-project/

[133] https://github.com/codeforscience/Dat-in-the-Lab

[134] https://www.mozilla.org/en-US/moss/

[135] https://github.com/datprotocol/DEPs/blob/master/proposals/0005-dns.md

[136] https://lwn.net/Articles/763492/#Comments

[137] https://lwn.net/Articles/763254/

[138] https://lwn.net/Articles/763255/

[139] https://lwn.net/Articles/763254/ + [1]Welcome to the LWN.net Weekly Edition for August 30, 2018 This edition contains the following feature content:

[2]An introduction to the Julia language, part 1 : Julia is a language designed for intensive numerical calculations; this article gives an overview of its core features.

[3]C considered dangerous : a Linux Security Summit talk on what is being done to make the use of C in the kernel safer.

[4]The second half of the 4.19 merge window : the final features merged (or not merged) before the merge window closed for this cycle.

[5]Measuring (and fixing) I/O-controller throughput loss : the kernel's I/O controllers can provide useful bandwidth guarantees, but at a significant cost in throughput.

[6]KDE's onboarding initiative, one year later : what has gone right in KDE's effort to make it easier for contributors to join the project, and what remains to be done.

[7]Sharing and archiving data sets with Dat : an innovative approach to addressing and sharing data on the net.

This week's edition also includes these inner pages:

[8]Brief items : Brief news items from throughout the community.

[9]Announcements : Newsletters, conferences, security updates, patches, and more.

Please enjoy this week's edition, and, as always, thank you for supporting LWN.net.

[10]Comments (none posted)

[11]An introduction to the Julia language, part 1

August 28, 2018

This article was contributed by Lee Phillips

[12]Julia is a young computer language aimed at serving the needs of scientists, engineers, and other practitioners of numerically intensive programming. It was first publicly released in 2012. After an intense period of language development, version 1.0 was [13]released on August 8. The 1.0 release promises years of language stability; users can be confident that developments in the 1.x series will not break their code. This is the first part of a two-part article introducing the world of Julia. This part will introduce enough of the language syntax and constructs to allow you to begin to write simple programs. The following installment will acquaint you with the additional pieces needed to create real projects, and to make use of Julia's ecosystem.

Goals and history

The Julia project has ambitious goals. It wants the language to perform about as well as Fortran or C when running numerical algorithms, while remaining as pleasant to program in as Python. I believe the project has met these goals and is poised to see increasing adoption by numerical researchers, especially now that an official, stable release is available.

The Julia project maintains a [14]micro-benchmark page that compares its numerical performance against both statically compiled languages (C, Fortran) and dynamically typed languages (R, Python). While it's certainly possible to argue about the relevance and fairness of particular benchmarks, the data overall supports the Julia team's contention that Julia has generally achieved parity with Fortran and C; the benchmark source code is available.

Julia began as research in computer science at MIT; its creators are Alan Edelman, Stefan Karpinski, Jeff Bezanson, and Viral Shah. These four remain active developers of the language. They, along with Keno Fischer, co-founder and CTO of [15]Julia Computing , were kind enough to share their thoughts with us about the language. I'll be drawing on their comments later on; for now, let's get a taste of what Julia code looks like.

Getting started

To explore Julia initially, start up its standard [16]read-eval-print loop (REPL) by typing julia at the terminal, assuming that you have installed it. You will then be able to interact with what will seem to be an interpreted language — but, behind the scenes, those commands are being compiled by a just-in-time (JIT) compiler that uses the [17]LLVM compiler framework . This allows Julia to be interactive, while turning the code into fast, native machine instructions. However, the JIT compiler passes sometimes introduce noticeable delays at the REPL, especially when using a function for the first time.

To run a Julia program non-interactively, execute a command like: $ julia script.jl

Julia has all the usual data structures: numbers of various types (including complex and rational numbers), multidimensional arrays, dictionaries, strings, and characters. Functions are first-class: they can be passed as arguments to other functions, can be members of arrays, and so on.

Julia embraces Unicode. Strings, which are enclosed in double quotes, are arrays of Unicode characters, which are enclosed in single quotes. The " * " operator is used for string and character concatenation. Thus 'a' and 'β' are characters, and 'aβ' is a syntax error. "a" and "β" are strings, as are "aβ", 'a' * 'β', and "a" * "β" — all evaluate to the same string.

Variable and function names can contain non-ASCII characters. This, along with Julia's clever syntax that understands numbers prepended to variables to mean multiplication, goes a long way to allowing the numerical scientist to write code that more closely resembles the compact mathematical notation of the equations that usually lie behind it. julia ε₁ = 0.01

0.01

julia ε₂ = 0.02

0.02

julia 2ε₁ + 3ε₂

0.08

And where does Julia come down on the age-old debate of what do about 1/2 ? In Fortran and Python 2, this will get you 0, since 1 and 2 are integers, and the result is rounded down to the integer 0. This was deemed inconsistent, and confusing to some, so it was changed in Python 3 to return 0.5 — which is what you get in Julia, too.

While we're on the subject of fractions, Julia can handle rational numbers, with a special syntax: 3//5 + 2//3 returns 19//15 , while 3/5 + 2/3 gets you the floating-point answer 1.2666666666666666. Internally, Julia thinks of a rational number in its reduced form, so the expression 6//8 == 3//4 returns true , and numerator(6//8) returns 3 .

Arrays

Arrays are enclosed in square brackets and indexed with an iterator that can contain a step value: julia a = [1, 2, 3, 4, 5, 6]

6-element Array{Int64,1}:

1

2

3

4

5

6

julia a[1:2:end]

3-element Array{Int64,1}:

1

3

5

As you can see, indexing starts at one, and the useful end index means the obvious thing. When you define a variable in the REPL, Julia replies with the type and value of the assigned data; you can suppress this output by ending your input line with a semicolon.

Since arrays are such a vital part of numerical computation, and Julia makes them easy to work with, we'll spend a bit more time with them than the other data structures.

To illustrate the syntax, we can start with a couple of 2D arrays, defined at the REPL: julia a = [1 2 3; 4 5 6]

2×3 Array{Int64,2}:

1 2 3

4 5 6

julia z = [-1 -2 -3; -4 -5 -6];

Indexing is as expected: julia a[1, 2]

2

You can glue arrays together horizontally: julia [a z]

2×6 Array{Int64,2}:

1 2 3 -1 -2 -3

4 5 6 -4 -5 -6

And vertically: julia [a; z]

4×3 Array{Int64,2}:

1 2 3

4 5 6

-1 -2 -3

-4 -5 -6

Julia has all the usual operators for handling arrays, and [18]linear algebra functions that work with matrices (2D arrays). The linear algebra functions are part of Julia's standard library, but need to be imported with a command like " using LinearAlgebra ", which is a detail omitted from the current documentation. The functions include such things as determinants, matrix inverses, eigenvalues and eigenvectors, many kinds of matrix factorizations, etc. Julia has not reinvented the wheel here, but wisely uses the [19]LAPACK Fortran library of battle-tested linear algebra routines.

The extension of arithmetic operators to arrays is usually intuitive: julia a + z

2×3 Array{Int64,2}:

0 0 0

0 0 0

And the numerical prepending syntax works with arrays, too: julia 3a + 4z

2×3 Array{Int64,2}:

-1 -2 -3

-4 -5 -6

Putting a multiplication operator between two matrices gets you matrix multiplication: julia a * transpose(a)

2×2 Array{Int64,2}:

14 32

32 77

You can "broadcast" numbers to cover all the elements in an array by prepending the usual arithmetic operators with a dot: julia 1 .+ a

2×3 Array{Int64,2}:

2 3 4

5 6 7

Note that the language only actually requires the dot for some operators, but not for others, such as "*" and "/". The reasons for this are arcane, and it probably makes sense to be consistent and use the dot whenever you intend broadcasting. Note also that the current version of the official documentation is incorrect in claiming that you may omit the dot from "+" and "-"; in fact, this now gives an error.

You can use the dot notation to turn any function into one that operates on each element of an array: julia round.(sin.([0, π/2, π, 3π/2, 2π]))

5-element Array{Float64,1}:

0.0

1.0

0.0

-1.0

-0.0

The example above illustrates chaining two dotted functions together. The Julia compiler turns expressions like this into "fused" operations: instead of applying each function in turn to create a new array that is passed to the next function, the compiler combines the functions into a single compound function that is applied once over the array, creating a significant optimization.

You can use this dot notation with any function, including your own, to turn it into a version that operates element-wise over arrays.

Dictionaries (associative arrays) can be defined with several syntaxes. Here's one: julia d1 = Dict("A"=1, "B"=2)

Dict{String,Int64} with 2 entries:

"B" = 2

"A" = 1

You may have noticed that the code snippets so far have not included any type declarations. Every value in Julia has a type, but the compiler will infer types if they are not specified. It is generally not necessary to declare types for performance, but type declarations sometimes serve other purposes, that we'll return to later. Julia has a deep and sophisticated type system, including user-defined types and C-like structs. Types can have behaviors associated with them, and can inherit behaviors from other types. The best thing about Julia's type system is that you can ignore it entirely, use just a few pieces of it, or spend weeks studying its design.

Control flow

Julia code is organized in blocks, which can indicate control flow, function definitions, and other code units. Blocks are terminated with the end keyword, and indentation is not significant. Statements are separated either with newlines or semicolons.

Julia has the typical control flow constructs; here is a while block: julia i = 1;

julia while i 5

print(i)

global i = i + 1

end

1234

Notice the global keyword. Most blocks in Julia introduce a local scope for variables; without this keyword here, we would get an error about an undefined variable.

Julia has the usual if statements and for loops that use the same iterators that we introduced above for array indexing. We can also iterate over collections: julia for i ∈ ['a', 'b', 'c']

println(i)

end

a

b

c

In place of the fancy math symbol in this for loop, we can use " = " or " in ". If you want to use the math symbol but have no convenient way to type it, the REPL will help you: type " \in " and the TAB key, and the symbol appears; you can type many [20]LaTeX expressions into the REPL in this way.

Development of Julia

The language is developed on GitHub, with over 700 contributors. The Julia team mentioned in their email to us that the decision to use GitHub has been particularly good for Julia, as it streamlined the process for many of their contributors, who are scientists or domain experts in various fields, rather than professional software developers.

The creators of Julia have [21]published [PDF] a detailed “mission statement” for the language, describing their aims and motivations. A key issue that they wanted their language to solve is what they called the "two-language problem." This situation is familiar to anyone who has used Python or another dynamic language on a demanding numerical problem. To get good performance, you will wind up rewriting the numerically intensive parts of the program in C or Fortran, dealing with the interface between the two languages, and may still be disappointed in the overhead presented by calling the foreign routines from your original code.

For Python, [22]NumPy and SciPy wrap many numerical routines, written in Fortran or C, for efficient use from that language, but you can only take advantage of this if your calculation fits the pattern of an available routine; in more general cases, where you will have to write a loop over your data, you are stuck with Python's native performance, which is orders of magnitude slower. If you switch to an alternative, faster implementation of Python, such as [23]PyPy , the numerical libraries may not be compatible; NumPy became available for PyPy only within about the past year.

Julia solves the two-language problem by being as expressive and simple to program in as a dynamic scripting language, while having the native performance of a static, compiled language. There is no need to write numerical libraries in a second language, but C or Fortran library routines can be called using a facility that Julia has built-in. Other languages, such as [24]Python or [25]R , can also interoperate easily with Julia using external packages.

Documentation

There are many resources to turn to to learn the language. There is an extensive and detailed [26]manual at Julia headquarters, and this may be a good place to start. However, although the first few chapters provide a gentle introduction, the material soon becomes dense and, at times, hard to follow, with references to concepts that are not explained until later chapters. Fortunately, there is a [27]"learning" link at the top of the Julia home page, which takes you to a long list of videos, tutorials, books, articles, and classes both about Julia and that use Julia in teaching subjects such a numerical analysis. There is also a fairly good [28]cheat-sheet [PDF] , which was just updated for v. 1.0.

If you're coming from Python, [29]this list of noteworthy differences between Python and Julia syntax will probably be useful.

Some of the linked tutorials are in the form of [30]Jupyter notebooks — indeed, the name "Jupyter" is formed from "Julia", "Python", and "R", which are the three original languages supported by the interface. The [31]Julia kernel for Jupyter was recently upgraded to support v. 1.0. Judicious sampling of a variety of documentation sources, combined with liberal experimentation, may be the best way of learning the language. Jupyter makes this experimentation more inviting for those who enjoy the web-based interface, but the REPL that comes with Julia helps a great deal in this regard by providing, for instance, TAB completion and an extensive help system invoked by simply pressing the "?" key.

Stay tuned

The [32]next installment in this two-part series will explain how Julia is organized around the concept of "multiple dispatch". You will learn how to create functions and make elementary use of Julia's type system. We'll see how to install packages and use modules, and how to make graphs. Finally, Part 2 will briefly survey the important topics of macros and distributed computing.

[33]Comments (80 posted)

[34]C considered dangerous

By Jake Edge

August 29, 2018

[35]LSS NA

At the North America edition of the [36]2018 Linux Security Summit (LSS NA), which was held in late August in Vancouver, Canada, Kees Cook gave a presentation on some of the dangers that come with programs written in C. In particular, of course, the Linux kernel is mostly written in C, which means that the security of our systems rests on a somewhat dangerous foundation. But there are things that can be done to help firm things up by " Making C Less Dangerous " as the title of his talk suggested.

He began with a brief summary of the work that he and others are doing as part of the [37]Kernel Self Protection Project (KSPP). The goal of the project is to get kernel protections merged into the mainline. These protections are not targeted at protecting user-space processes from other (possibly rogue) processes, but are, instead, focused on protecting the kernel from user-space code. There are around 12 organizations and ten individuals working on roughly 20 different technologies as part of the KSPP, he said. The progress has been "slow and steady", he said, which is how he thinks it should go. [38]

One of the main problems is that C is treated mostly like a fancy assembler. The kernel developers do this because they want the kernel to be as fast and as small as possible. There are other reasons, too, such as the need to do architecture-specific tasks that lack a C API (e.g. setting up page tables, switching to 64-bit mode).

But there is lots of undefined behavior in C. This "operational baggage" can lead to various problems. In addition, C has a weak standard library with multiple utility functions that have various pitfalls. In C, the content of uninitialized automatic variables is undefined, but in the machine code that it gets translated to, the value is whatever happened to be in that memory location before. In C, a function pointer can be called even if the type of the pointer does not match the type of the function being called—assembly doesn't care, it just jumps to a location, he said.

The APIs in the standard library are also bad in many cases. He asked: why is there no argument to memcpy() to specify the maximum destination length? He noted a recent [39]blog post from Raph Levien entitled "With Undefined Behavior, Anything is Possible". That obviously resonated with Cook, as he pointed out his T-shirt—with the title and artwork from the post.

Less danger

He then moved on to some things that kernel developers can do (and are doing) to get away from some of the dangers of C. He began with variable-length arrays (VLAs), which can be used to overflow the stack to access data outside of its region. Even if the stack has a guard page, VLAs can be used to jump past it to write into other memory, which can then be used by some other kind of attack. The C language is "perfectly fine with this". It is easy to find uses of VLAs with the -Wvla flag, however.

But it turns out that VLAs are [40]not just bad from a security perspective , they are also slow. In a micro-benchmark associated with a [41]patch removing a VLA , a 13% performance boost came from using a fixed-size array. He dug in a bit further and found that much more code is being generated to handle a VLA, which explains the speed increase. Since Linus Torvalds has [42]declared that VLAs should be removed from the kernel because they cause security problems and also slow the kernel down; Cook said "don't use VLAs".

Another problem area is switch statements, in particular where there is no break for a case . That could mean that the programmer expects and wants to fall through to the next case or it could be that the break was simply forgotten. There is a way to get a warning from the compiler for fall-throughs, but there needs to be a way to mark those that are truly meant to be that way. A special fall-through "statement" in the form of a comment is what has been agreed on within the static-analysis community. He and others have been going through each of the places where there is no break to add these comments (or a break ); they have "found a lot of bugs this way", he said.

Uninitialized local variables will generate a warning, but not if the variable is passed in by reference. There are some GCC plugins that will automatically initialize these variables, but there are also patches for both GCC and Clang to provide a compiler option to do so. Neither of those is upstream yet, but Torvalds has praised the effort so the kernel would likely use the option. An interesting side effect that came about while investigating this was a warning he got about unreachable code when he enabled the auto-initialization. There were two variables declared just after a switch (and outside of any case ), where they would never be reached.

Arithmetic overflow is another undefined behavior in C that can cause various problems. GCC can check for signed overflow, which performs well (the overhead is in the noise, he said), but adding warning messages for it does grow the kernel by 6%; making the overflow abort, instead, only adds 0.1%. Clang can check for both signed and unsigned overflow; signed overflow is undefined, while unsigned overflow is defined, but often unexpected. Marking places where unsigned overflow is expected is needed; it would be nice to get those annotations put into the kernel, Cook said.

Explicit bounds checking is expensive. Doing it for copy_{to,from}_user() is a less than 1% performance hit, but adding it to the strcpy() and memcpy() families are around a 2% hit. Pre-Meltdown that would have been a totally impossible performance regression for security, he said; post-Meltdown, since it is less than 5%, maybe there is a chance to add this checking.

Better APIs would help as well. He pointed to the evolution of strcpy() , through str n cpy() and str l cpy() (each with their own bounds flaws) to str s cpy() , which seems to be "OK so far". He also mentioned memcpy() again as a poor API with respect to bounds checking.

Hardware support for bounds checking is available in the application data integrity (ADI) feature for SPARC and is coming for Arm; it may also be available for Intel processors at some point. These all use a form of "memory tagging", where allocations get a tag that is stored in the high-order byte of the address. An offset from the address can be checked by the hardware to see if it still falls within the allocated region based on the tag.

Control-flow integrity (CFI) has become more of an issue lately because much of what attackers had used in the past has been marked as "no execute" so they are turning to using existing code "gadgets" already present in the kernel by hijacking existing indirect function calls. In C, you can just call pointers without regard to the type as it just treats them as an address to jump to. Clang has a CFI-sanitize feature that enforces the function prototype to restrict the calls that can be made. It is done at runtime and is not perfect, in part because there are lots of functions in the kernel that take one unsigned long parameter and return an unsigned long.

Attacks on CFI have both a "forward edge", which is what CFI sanitize tries to handle, and a "backward edge" that comes from manipulating the stack values, the return address in particular. Clang has two methods available to prevent the stack manipulation. The first is the "safe stack", which puts various important items (e.g. "safe" variables, register spills, and the return address) on a separate stack. Alternatively, the "shadow stack" feature creates a separate stack just for return addresses.

One problem with these other stacks is that they are still writable, so if an attacker can find them in memory, they can still perform their attacks. Hardware-based protections, like Intel's Control-Flow Enforcement Technology (CET), [43]provides a read-only shadow call stack for return addresses. Another hardware protection is [44]pointer authentication for Arm, which adds a kind of encrypted tag to the return address that can be verified before it is used.

Status and challenges

Cook then went through the current status of handling these different problems in the kernel. VLAs are almost completely gone, he said, just a few remain in the crypto subsystem; he hopes those VLAs will be gone by 4.20 (or whatever the number of the next kernel release turns out to be). Once that happens, he plans to turn on -Wvla for the kernel build so that none creep back in.

There has been steady progress made on marking fall-through cases in switch statements. Only 745 remain to be handled of the 2311 that existed when this work started; each one requires scrutiny to determine what the author's intent is. Auto-initialized local variables can be done using compiler plugins, but that is "not quite what we want", he said. More compiler support would be helpful there. For arithmetic overflow, it would be nice to see GCC get support for the unsigned case, but memory allocations are now doing explicit overflow checking at this point.

Bounds checking has seen some "crying about performance hits", so we are waiting impatiently for hardware support, he said. CFI forward-edge protection needs [45]link-time optimization (LTO) support for Clang in the kernel, but it is currently working on Android. For backward-edge mitigation, the Clang shadow call stack is working on Android, but we are impatiently waiting for hardware support for that too.

There are a number of challenges in doing security development for the kernel, Cook said. There are cultural boundaries due to conservatism within the kernel community; that requires patiently working and reworking features in order to get them upstream. There are, of course, technical challenges because of the complexity of security changes; those kinds of problems can be solved. There are also resource limitations in terms of developers, testers, reviewers, and so on. KSPP and the other kernel security developers are still making that "slow but steady" progress.

Cook's [46]slides [PDF] are available for interested readers; before long, there should be a video available of the talk as well.

[I would like to thank LWN's travel sponsor, the Linux Foundation, for travel assistance to attend the Linux Security Summit in Vancouver.]

[47]Comments (70 posted)

[48]The second half of the 4.19 merge window

By Jonathan Corbet

August 26, 2018 By the time Linus Torvalds [49]released 4.19-rc1 and closed the merge window for this development cycle, 12,317 non-merge changesets had found their way into the mainline; about 4,800 of those landed after [50]last week's summary was written. As tends to be the case late in the merge window, many of those changes were fixes for the bigger patches that went in early, but there were also a number of new features added. Some of the more significant changes include:

Core kernel

The full set of patches adding [51]control-group awareness to the out-of-memory killer has not been merged due to ongoing disagreements, but one piece of it has: there is a new memory.oom.group control knob that will cause all processes within a control group to be killed in an out-of-memory situation.

A new set of protections has been added to prevent an attacker from fooling a program into writing to an existing file or FIFO. An open with the O_CREAT flag to a file or FIFO in a world-writable, sticky directory (e.g. /tmp ) will fail if the owner of the opening process is not the owner of either the target file or the containing directory. This behavior, disabled by default, is controlled by the new protected_regular and protected_fifos sysctl knobs.

Filesystems and block layer

The dm-integrity device-mapper target can now use a separate device for metadata storage.

EROFS, the "enhanced read-only filesystem", has been added to the staging tree. It is " a lightweight read-only file system with modern designs (eg. page-sized blocks, inline xattrs/data, etc.) for scenarios which need high-performance read-only requirements, eg. firmwares in mobile phone or LIVECDs "

The new "metadata copy-up" feature in overlayfs will avoid copying a file's contents to the upper layer on a metadata-only change. See [52]this commit for details.

Hardware support

Graphics : Qualcomm Adreno A6xx GPUs.

Industrial I/O : Spreadtrum SC27xx series PMIC analog-to-digital converters, Analog Devices AD5758 digital-to-analog converters, Intersil ISL29501 time-of-flight sensors, Silicon Labs SI1133 UV index/ambient light sensor chips, and Bosch Sensortec BME680 sensors.

Miscellaneous : Generic ADC-based resistive touchscreens, Generic ASIC devices via the Google [53]Gasket framework , Analog Devices ADGS1408/ADGS1409 multiplexers, Actions Semi Owl SoCs DMA controllers, MEN 16Z069 watchdog timers, Rohm BU21029 touchscreen controllers, Cirrus Logic CS47L35, CS47L85, CS47L90, and CS47L91 codecs, Cougar 500k gaming keyboards, Qualcomm GENI-based I2C controllers, Actions Semiconductor Owl I2C controllers, ChromeOS EC-based USBPD chargers, and Analog Devices ADP5061 battery chargers.

USB : Nuvoton NPCM7XX on-chip EHCI USB controllers, Broadcom Stingray PCIe PHYs, and Renesas R-Car generation 3 PCIe PHYs.

There is also a new subsystem for the abstraction of GNSS (global navigation satellite systems — GPS, for example) receivers in the kernel. To date, such devices have been handled with an abundance of user-space drivers; the hope is to bring some order in this area. Support for u-blox and SiRFstar receivers has been added as well.

Kernel internal

The __deprecated marker, used to mark interfaces that should no longer be used, has been deprecated and removed from the kernel entirely. [54]Torvalds said : " They are not useful. They annoy everybody, and nobody ever does anything about them, because it's always 'somebody elses problem'. And when people start thinking that warnings are normal, they stop looking at them, and the real warnings that mean something go unnoticed. "

The minimum version of GCC required by the kernel has been moved up to 4.6.

There are a couple of significant changes that failed to get in this time around, including the [55]XArray data structure. The patches are thought to be ready, but they had the bad luck to be based on a tree that failed to be merged for other reasons, so Torvalds [56]didn't even look at them . That, in turn, blocks another set of patches intended to enable migration of slab-allocated objects.

The other big deferral is the [57]new system-call API for filesystem mounting . Despite ongoing [58]concerns about what happens when the same low-level device is mounted multiple times with conflicting options, Al Viro sent [59]a pull request to send this work upstream. The ensuing discussion made it clear that there is still not a consensus in this area, though, so it seems that this work has to wait for another cycle.

Assuming all goes well, the kernel will stabilize over the coming weeks and the final 4.19 release will happen in mid-October.

[60]Comments (1 posted)

[61]Measuring (and fixing) I/O-controller throughput loss

August 29, 2018

This article was contributed by Paolo Valente

Many services, from web hosting and video streaming to cloud storage, need to move data to and from storage. They also often require that each per-client I/O flow be guaranteed a non-zero amount of bandwidth and a bounded latency. An expensive way to provide these guarantees is to over-provision storage resources, keeping each resource underutilized, and thus have plenty of bandwidth available for the few I/O flows dispatched to each medium. Alternatively one can use an I/O controller. Linux provides two mechanisms designed to throttle some I/O streams to allow others to meet their bandwidth and latency requirements. These mechanisms work, but they come at a cost: a loss of as much as 80% of total available I/O bandwidth. I have run some tests to demonstrate this problem; some upcoming improvements to the [62]bfq I/O scheduler promise to improve the situation considerably.

Throttling does guarantee control, even on drives that happen to be highly utilized but, as will be seen, it has a hard time actually ensuring that drives are highly utilized. Even with greedy I/O flows, throttling easily ends up utilizing as little as 20% of the available speed of a flash-based drive. Such a speed loss may be particularly problematic with lower-end storage. On the opposite end, it is also disappointing with high-end hardware, as the Linux block I/O stack itself has been [63]redesigned from the ground up to fully utilize the high speed of modern, fast storage. In addition, throttling fails to guarantee the expected bandwidths if I/O contains both reads and writes, or is sporadic in nature.

On the bright side, there now seems to be an effective alternative for controlling I/O: the proportional-share policy provided by the bfq I/O scheduler. It enables nearly 100% storage bandwidth utilization, at least with some of the workloads that are problematic for throttling. An upcoming version of bfq may be able to achieve this result with almost all workloads. Finally, bfq guarantees bandwidths with all workloads. The current limitation of bfq is that its execution overhead becomes significant at speeds above 400,000 I/O operations per second on commodity CPUs.

Using the bfq I/O scheduler, Linux can now guarantee low latency to lightweight flows containing sporadic, short I/O. No throughput issues arise, and no configuration is required. This capability benefits important, time-sensitive tasks, such as video or audio streaming, as well as executing commands or starting applications. Although benchmarks are not available yet, these guarantees might also be provided by the newly proposed [64]I/O latency controller . It allows administrators to set target latencies for I/O requests originating from each group of processes, and favors the groups with the lowest target latency.

The testbed

I ran the tests with an ext4 filesystem mounted on a PLEXTOR PX-256M5S SSD, which features a peak rate of ~160MB/s with random I/O, and of ~500MB/s with sequential I/O. I used blk-mq, in Linux 4.18. The system was equipped with a 2.4GHz Intel Core i7-2760QM CPU and 1.3GHz DDR3 DRAM. In such a system, a single thread doing synchronous reads reaches a throughput of 23MB/s.

For the purposes of these tests, each process is considered to be in one of two groups, termed "target" and "interferers". A target is a single-process, I/O-bound group whose I/O is focused on. In particular, I measure the I/O throughput enjoyed by this group to get the minimum bandwidth delivered to the group. An interferer is single-process group whose role is to generate additional I/O that interferes with the I/O of the target. The tested workloads contain one target and multiple interferers.

The single process in each group either reads or writes, through asynchronous (buffered) operations, to one file — different from the file read or written by any other process — after invalidating the buffer cache for the file. I define a reader or writer process as either "random" or "sequential", depending on whether it reads or writes its file at random positions or sequentially. Finally, an interferer is defined as being either "active" or "inactive" depending on whether it performs I/O during the test. When an interferer is mentioned, it is assumed that the interferer is active.

Workloads are defined so as to try to cover the combinations that, I believe, most influence the performance of the storage device and of the I/O policies. For brevity, in this article I show results for only two groups of workloads:

Static sequential : four synchronous sequential readers or four asynchronous sequential writers, plus five inactive interferers.

Static random : four synchronous random readers, all with a block size equal to 4k, plus five inactive interferers.

To create each workload, I considered, for each mix of interferers in the group, two possibilities for the target: it could be either a random or a sequential synchronous reader. In [65]a longer version of this article [PDF] , you will also find results for workloads with varying degrees of I/O randomness, and for dynamic workloads (containing sporadic I/O sources). These extra results confirm the losses of throughput and I/O control for throttling that are shown here.

I/O policies

Linux provides two I/O-control mechanisms for guaranteeing (a minimum) bandwidth, or at least fairness, to long-lived flows: the throttling and proportional-share I/O policies. With throttling, one can set a maximum bandwidth limit — "max limit" for brevity — for the I/O of each group. Max limits can be used, in an indirect way, to provide the service guarantee at the focus of this article. For example, to guarantee minimum bandwidths to I/O flows, a group can be guaranteed a minimum bandwidth by limiting the maximum bandwidth of all the other groups.

Unfortunately, max limits have two drawbacks in terms of throughput. First, if some groups do not use their allocated bandwidth, that bandwidth cannot be reclaimed by other active groups. Second, limits must comply with the worst-case speed of the device, namely, its random-I/O peak rate. Such limits will clearly leave a lot of throughput unused with workloads that otherwise would drive the device to higher throughput levels. Maximizing throughput is simply not a goal of max limits. So, for brevity, test results with max limits are not shown here. You can find these results, plus a more detailed description of the above drawbacks, in the long version of this article.

Because of these drawbacks, a new, still experimental, low limit has been added to the throttling policy. If a group is assigned a low limit, then the throttling policy automatically limits the I/O of the other groups in such a way to guarantee to the group a minimum bandwidth equal to its assigned low limit. This new throttling mechanism throttles no group as long as every group is getting at least its assigned minimum bandwidth. I tested this mechanism, but did not consider the interesting problem of guaranteeing minimum bandwidths while, at the same time, enforcing maximum bandwidths.

The other I/O policy available in Linux, proportional share, provides weighted fairness. Each group is assigned a weight, and should receive a portion of the total throughput proportional to its weight. This scheme guarantees minimum bandwidths in the same way that low limits do in throttling. In particular, it guarantees to each group a minimum bandwidth equal to the ratio between the weight of the group, and the sum of the weights of all the groups that may be active at the same time.

The actual implementation of the proportional-share policy, on a given drive, depends on what flavor of the block layer is in use for that drive. If the drive is using the legacy block interface, the policy is implemented by the cfq I/O scheduler. Unfortunately, cfq fails to control bandwidths with flash-based storage, especially on drives featuring command queueing. This case is not considered in these tests. With drives using the multiqueue interface, proportional share is implemented by bfq. This is the combination considered in the tests.

To benchmark both throttling (low limits) and proportional share, I tested, for each workload, the combinations of I/O policies and I/O schedulers reported in the table below. In the end, there are three test cases for each workload. In addition, for some workloads, I considered two versions of bfq for the proportional-share policy.

Name

I/O policy

Scheduler

Parameter for target

Parameter for each of the four active interferers

Parameter for each of the five inactive interferers

Sum of parameters

low-none

Throttling with low limits

none

10MB/s

10MB/s (tot: 40)

20MB/s (tot: 100)

150MB/s

prop-bfq

Proportional share

bfq

300

100 (tot: 400)

200 (tot: 1000)

1700

For low limits, I report results with only none as the I/O scheduler, because the results are the same with kyber and mq-deadline.

The capabilities of the storage medium and of low limits drove the policy configurations. In particular:

The configuration of the target and of the active interferers for low-none is the one for which low-none provides its best possible minimum-bandwidth guarantee to the target: 10MB/s, guaranteed if all interferers are readers. Results remain the same regardless of the values used for target latency and idle time; I set them to 100µs and 1000µs, respectively, for every group.

Low limits for inactive interferers are set to twice the limits for active interferers, to pose greater difficulties to the policy.

I chose weights for prop-bfq so as to guarantee about the same minimum bandwidth as low-none to the target, in the same only-reader worst case as for low-none and to preserve, between the weights of active and inactive interferers, the same ratio as between the low limits of active and inactive interferers.

Full details on configurations can be found in the long version of this article.

Each workload was run ten times for each policy, plus ten times without any I/O control, i.e., with none as I/O scheduler and no I/O policy in use. For each run, I measured the I/O throughput of the target (which reveals the bandwidth provided to the target), the cumulative I/O throughput of the interferers, and the total I/O throughput. These quantities fluctuated very little during each run, as well as across different runs. Thus in the graphs I report only averages over per-run average throughputs. In particular, for the case of no I/O control, I report only the total I/O throughput, to give an idea of the throughput that can be reached without imposing any control.

Results

This plot shows throughput results for the simplest group of workloads: the static-sequential set.

With a random reader as the target against sequential readers as interferers, low-none does guarantee the configured low limit to the target. Yet it reaches only a low total throughput. The throughput of the random reader evidently oscillates around 10MB/s during the test. This implies that it is at least slightly below 10MB/s for a significant percentage of the time. But when this happens, the low-limit mechanism limits the maximum bandwidth of every active group to the low limit set for the group, i.e., to just 10MB/s. The end result is a total throughput lower than 10% of the throughput reached without I/O control.

That said, the high throughput achieved without I/O control is obtained by choking the random I/O of the target in favor of the sequential I/O of the interferers. Thus, it is probably more interesting to compare low-none throughput with the throughput reachable while actually guaranteeing 10MB/s to the target. The target is a single, synchronous, random reader, which reaches 23MB/s while active. So, to guarantee 10MB/s to the target, it is enough to serve it for about half of the time, and the interferers for the other half. Since the device reaches ~500MB/s with the sequential I/O of the interferers, the resulting throughput with this service scheme would be (500+23)/2, or about 260MB/s. low-none thus reaches less than 20% of the total throughput that could be reached while still preserving the target bandwidth.

prop-bfq provides the target with a slightly higher throughput than low-none. This makes it harder for prop-bfq to reach a high total throughput, because prop-bfq serves more random I/O (from the target) than low-none. Nevertheless, prop-bfq gets a much higher total throughput than low-none. According to the above estimate, this throughput is about 90% of the maximum throughput that could be reached, for this workload, without violating service guarantees. The reason for this good result is that bfq provides an effective implementation of the proportional-share service policy. At any time, each active group is granted a fraction of the current total throughput, and the sum of these fractions is equal to one; so group bandwidths naturally saturate the available total throughput at all times.

Things change with the second workload: a random reader against sequential writers. Now low-none reaches a much higher total throughput than prop-bfq. low-none serves much more sequential (write) I/O than prop-bfq because writes somehow break the low-limit mechanisms and prevail over the reads of the target. Conceivably, this happens because writes tend to both starve reads in the OS (mainly by eating all available I/O tags) and to cheat on their completion time in the drive. In contrast, bfq is intentionally configured to privilege reads, to counter these issues.

In particular, low-none gets an even higher throughput than no I/O control at all because it penalizes the random I/O of the target even more than the no-controller configuration.

Finally, with the last two workloads, prop-bfq reaches even higher total throughput than with the first two. It happens because the target also does sequential I/O, and serving sequential I/O is much more beneficial for throughput than serving random I/O. With these two workloads, the total throughput is, respectively, close to or much higher than that reached without I/O control. For the last workload, the total throughput is much higher because, differently from none, bfq privileges reads over asynchronous writes, and reads yield a higher throughput than writes. In contrast, low-none still gets lower or much lower throughput than prop-bfq, because of the same issues that hinder low-none throughput with the first two workloads.

As for bandwidth guarantees, with readers as interferers (third workload), prop-bfq, as expected, gives the target a fraction of the total throughput proportional to its weight. bfq approximates perfect proportional-share bandwidth distribution among groups doing I/O of the same type (reads or writes) and with the same locality (sequential or random). With the last workload, prop-bfq gives much more throughput to the reader than to all the interferers, because interferers are asynchronous writers, and bfq privileges reads.

The second group of workloads (static random), is the one, among all the workloads considered, for which prop-bfq performs worst. Results are shown below:

This chart reports results not only for mainline bfq, but also for an improved version of bfq which is currently under public testing. As can be seen, with only random readers, prop-bfq reaches a much lower total throughput than low-none. This happens because of the Achilles heel of the bfq I/O scheduler. If the process in service does synchronous I/O and has a higher weight than some other process, then, to give strong bandwidth guarantees to that process, bfq plugs I/O dispatching every time the process temporarily stops issuing I/O requests. In this respect, processes actually have differentiated weights and do synchronous I/O in the workloads tested. So bfq systematically performs I/O plugging for them. Unfortunately, this plugging empties the internal queues of the drive, which kills throughput with random I/O. And the I/O of all processes in these workloads is also random.

The situation reverses with a sequential reader as target. Yet, the most interesting results come from the new version of bfq, containing small changes to counter exactly the above weakness. This version recovers most of the throughput loss with the workload made of only random I/O and more; with the second workload, where the target is a sequential reader, it reaches about 3.7 times the total throughput of low-none.

When the main concern is the latency of flows containing short I/O, Linux seems now rather high performing, thanks to the bfq I/O scheduler and the I/O latency controller. But if the requirement is to provide explicit bandwidth guarantees (or just fairness) to I/O flows, then one must be ready to give up much or most of the speed of the storage media. bfq helps with some workloads, but loses most of the throughput with workloads consisting of mostly random I/O. Fortunately, there is apparently hope for much better performance since an improvement, still under development, seems to enable bfq to reach a high throughput with all workloads tested so far.

I wish to thank Vivek Goyal for enabling me to make this article much more fair and sound.]

[66]Comments (4 posted)

[67]KDE's onboarding initiative, one year later

August 24, 2018

This article was contributed by Marta Rybczyńska

[68]Akademy

In 2017, the KDE community decided on [69]three goals to concentrate on for the next few years. One of them was [70]streamlining the onboarding of new contributors (the others were [71]improving usability and [72]privacy ). During [73]Akademy , the yearly KDE conference that was held in Vienna in August, Neofytos Kolokotronis shared the status of the onboarding goal, the work done during the last year, and further plans. While it is a complicated process in a project as big and diverse as KDE, numerous improvements have been already made.

Two of the three KDE community goals were proposed by relative newcomers. Kolokotronis was one of those, having joined the [74]KDE Promo team not long before proposing the focus on onboarding. He had previously been involved with [75]Chakra Linux , a distribution based on KDE software. The fact that new members of the community proposed strategic goals was also noted in the [76]Sunday keynote by Claudia Garad .

Proper onboarding adds excitement to the contribution process and increases retention, he explained. When we look at [77]the definition of onboarding , it is a process in which the new contributors acquire knowledge, skills, and behaviors so that they can contribute effectively. Kolokotronis proposed to see it also as socialization: integration into the project's relationships, culture, structure, and procedures.

The gains from proper onboarding are many. The project can grow by attracting new blood with new perspectives and solutions. The community maintains its health and stays vibrant. Another important advantage of efficient onboarding is that replacing current contributors becomes easier when they change interests, jobs, or leave the project for whatever reason. Finally, successful onboarding adds new advocates to the project.

Achievements so far and future plans

The team started with ideas for a centralized onboarding process for the whole of KDE. They found out quickly that this would not work because KDE is "very decentralized", so it is hard to provide tools and procedures that are going to work for the whole project. According to Kolokotronis, other characteristics of KDE that impact onboarding are high diversity, remote and online teams, and hundreds of contributors in dozens of projects and teams. In addition, new contributors already know in which area they want to take part and they prefer specific information that will be directly useful for them.

So the team changed its approach; several changes have since been proposed and implemented. The [78]Get Involved page, which is expected to be one of the resources new contributors read first, has been rewritten. For the [79]Junior Jobs page , the team is [80] [81]discussing what the generic content for KDE as a whole should be. The team simplified [82]Phabricator registration , which resulted in documenting the process better. Another part of the work includes the [83]KDE Bugzilla ; it includes, for example initiatives to limit the number of states of a ticket or remove obsolete products.

The [84]Plasma Mobile team is heavily involved in the onboarding goal. The Plasma Mobile developers have simplified their development environment setup and created an [85]interactive "Get Involved" page. In addition, the Plasma team changed the way task descriptions are written; they now contain more detail, so that it is easier to get involved. The basic description should be short and clear, and it should include details of the problem and possible solutions. The developers try to share the list of skills necessary to fulfill the tasks and include clear links to the technical resources needed.

Kolokotronis and team also identified a new potential source of contributors for KDE: distributions using KDE. They have the advantage of already knowing and using the software. The next idea the team is working on is to make sure that setting up a development environment is easy. The team plans to work on this during a dedicated sprint this autumn.

Searching for new contributors

Kolokotronis plans to search for new contributors at the periphery of the project, among the "skilled enthusiasts": loyal users who actually care about the project. They "can make wonders", he said. Those individuals may be also less confident or shy, have troubles making the first step, and need guidance. The project leaders should take that into account.

In addition, newcomers are all different. Kolokotronis provided a long list of how contributors differ, including skills and knowledge, motives and interests, and time and dedication. His advice is to "try to find their superpower", the skills they have that are missing in the team. Those "superpowers" can then be used for the benefit of the project.

If a project does nothing else, he said, it can start with its documentation. However, this does not only mean code documentation. Writing down the procedures or information about the internal work of the project, like who is working on what, is an important part of a project's documentation and helps newcomers. There should be also guidelines on how to start, especially setting up the development environment.

The first thing the project leaders should do, according to Kolokotronis, is to spend time on introducing newcomers to the project. Ideally every new contributor should be assigned mentors — more experienced members who can help them when needed. The mentors and project leaders should find tasks that are interesting for each person. Answering an audience question on suggestions for shy new contributors, he recommended even more mentoring. It is also very helpful to make sure that newcomers have enough to read, but "avoid RTFM", he highlighted. It is also easy for a new contributor "to fly away", he said. The solution is to keep requesting things and be proactive.

What the project can do?

Kolokotronis suggested a number of actions for a project when it wants to improve its onboarding. The first step is preparation: the project leaders should know the team's and the project's needs. Long-term planning is important, too. It is not enough to wait for contributors to come — the project should be proactive, which means reaching out to candidates, suggesting appropriate tasks and, finally, making people available for the newcomers if they need help.

This leads to next step: to be a mentor. Kolokotronis suggests being a "great host", but also trying to phase out the dependency on the mentor rapidly. "We have been all newcomers", he said. It can be intimidating to join an existing group. Onboarding creates a sense of belonging which, in turn, increases retention.

The last step proposed was to be strategic. This includes thinking about the emotions you want newcomers to feel. Kolokotronis explained the strategic part with an example. The overall goal is (surprise!) improve onboarding of new contributors. An intermediate objective might be to keep the newcomers after they have made their first commit. If your strategy is to keep them confident and proud, you can use different tactics like praise and acknowledgment of the work in public. Another useful tactic may be assigning simple tasks, according to the skill of the contributor.

To summarize, the most important thing, according to Kolokotronis, is to respond quickly and spend time with new contributors. This time should be used to explain procedures, and to introduce the people and culture. It is also essential to guide first contributions and praise contributor's skill and effort. Increase the difficulty of tasks over time to keep contributors motivated and challenged. And finally, he said, "turn them into mentors".

Kolokotronis acknowledges that onboarding "takes time" and "everyone complains" about it. However, he is convinced that it is beneficial in the long term and that it decreases developer turnover.

Advice to newcomers

Kolokotronis concluded with some suggestions for newcomers to a project. They should try to be persistent and to not get discouraged when something goes wrong. Building connections from the very beginning is helpful. He suggests asking questions as if you were already a member "and things will be fine". However, accept criticism if it happens.

One of the next actions of the onboarding team will be to collect feedback from newcomers and experienced contributors to see if they agree on the ideas and processes introduced so far.

[86]Comments (none posted)

[87]Sharing and archiving data sets with Dat

August 27, 2018

This article was contributed by Antoine Beaupré

[88]Dat is a new peer-to-peer protocol that uses some of the concepts of [89]BitTorrent and Git. Dat primarily targets researchers and open-data activists as it is a great tool for sharing, archiving, and cataloging large data sets. But it can also be used to implement decentralized web applications in a novel way.

Dat quick primer

Dat is written in JavaScript, so it can be installed with npm , but there are [90]standalone binary builds and a [91]desktop application (as an AppImage). An [92]online viewer can be used to inspect data for those who do not want to install arbitrary binaries on their computers.

The command-line application allows basic operations like downloading existing data sets and sharing your own. Dat uses a 32-byte hex string that is an [93]ed25519 public key , which is is used to discover and find content on the net. For example, this will download some sample data: $ dat clone \

dat://778f8d955175c92e4ced5e4f5563f69bfec0c86cc6f670352c457943666fe639 \

~/Downloads/dat-demo

Similarly, the share command is used to share content. It indexes the files in a given directory and creates a new unique address like the one above. The share command starts a server that uses multiple discovery mechanisms (currently, the [94]Mainline Distributed Hash Table (DHT), a [95]custom DNS server , and multicast DNS) to announce the content to its peers. This is how another user, armed with that public key, can download that content with dat clone or mirror the files continuously with dat sync .

So far, this looks a lot like BitTorrent [96]magnet links updated with 21st century cryptography. But Dat adds revisions on top of that, so modifications are automatically shared through the swarm. That is important for public data sets as those are often dynamic in nature. Revisions also make it possible to use [97]Dat as a backup system by saving the data incrementally using an [98]archiver .

While Dat is designed to work on larger data sets, processing them for sharing may take a while. For example, sharing the Linux kernel source code required about five minutes as Dat worked on indexing all of the files. This is comparable to the performance offered by [99]IPFS and BitTorrent. Data sets with more or larger files may take quite a bit more time.

One advantage that Dat has over IPFS is that it doesn't duplicate the data. When IPFS imports new data, it duplicates the files into ~/.ipfs . For collections of small files like the kernel, this is not a huge problem, but for larger files like videos or music, it's a significant limitation. IPFS eventually implemented a solution to this [100]problem in the form of the experimental [101]filestore feature , but it's not enabled by default. Even with that feature enabled, though, changes to data sets are not automatically tracked. In comparison, Dat operation on dynamic data feels much lighter. The downside is that each set needs its own dat share process.

Like any peer-to-peer system, Dat needs at least one peer to stay online to offer the content, which is impractical for mobile devices. Hosting providers like [102]Hashbase (which is a [103]pinning service in Dat jargon) can help users keep content online without running their own [104]server . The closest parallel in the traditional web ecosystem would probably be content distribution networks (CDN) although pinning services are not necessarily geographically distributed and a CDN does not necessarily retain a complete copy of a website. [105]

A web browser called [106]Beaker , based on the [107]Electron framework, can access Dat content natively without going through a pinning service. Furthermore, Beaker is essential to get any of the [108]Dat applications working, as they fundamentally rely on dat:// URLs to do their magic. This means that Dat applications won't work for most users unless they install that special web browser. There is a [109]Firefox extension called " [110]dat-fox " for people who don't want to install yet another browser, but it requires installing a [111]helper program . The extension will be able to load dat:// URLs but many applications will still not work. For example, the [112]photo gallery application completely fails with dat-fox.

Dat-based applications look promising from a privacy point of view. Because of its peer-to-peer nature, users regain control over where their data is stored: either on their own computer, an online server, or by a trusted third party. But considering the protocol is not well established in current web browsers, I foresee difficulties in adoption of that aspect of the Dat ecosystem. Beyond that, it is rather disappointing that Dat applications cannot run natively in a web browser given that JavaScript is designed exactly for that.

Dat privacy

An advantage Dat has over other peer-to-peer protocols like BitTorrent is end-to-end encryption. I was originally concerned by the encryption design when reading the [113]academic paper [PDF] :

It is up to client programs to make design decisions around which discovery networks they trust. For example if a Dat client decides to use the BitTorrent DHT to discover peers, and they are searching for a publicly shared Dat key (e.g. a key cited publicly in a published scientific paper) with known contents, then because of the privacy design of the BitTorrent DHT it becomes public knowledge what key that client is searching for.

So in other words, to share a secret file with another user, the public key is transmitted over a secure side-channel, only to then leak during the discovery process. Fortunately, the public Dat key is not directly used during discovery as it is [114]hashed with BLAKE2B . Still, the security model of Dat assumes the public key is private, which is a rather counterintuitive concept that might upset cryptographers and confuse users who are frequently encouraged to type such strings in address bars and search engines as part of the Dat experience. There is a [115]security & privacy FAQ in the Dat documentation warning about this problem:

One of the key elements of Dat privacy is that the public key is never used in any discovery network. The public key is hashed, creating the discovery key. Whenever peers attempt to connect to each other, they use the discovery key.

Data is encrypted using the public key, so it is important that this key stays secure.

There are other privacy issues outlined in the document; it states that " Dat faces similar privacy risks as BitTorrent ":

When you download a dataset, your IP address is exposed to the users sharing that dataset. This may lead to honeypot servers collecting IP addresses, as we've seen in Bittorrent. However, with dataset sharing we can create a web of trust model where specific institutions are trusted as primary sources for datasets, diminishing the sharing of IP addresses.

A Dat blog post refers to this issue as [116]reader privacy and it is, indeed, a sensitive issue in peer-to-peer networks. It is how BitTorrent users are discovered and served scary verbiage from lawyers, after all. But Dat makes this a little better because, to join a swarm, you must know what you are looking for already, which means peers who can look at swarm activity only include users who know the secret public key. This works well for secret content, but for larger, public data sets, it is a real problem; it is why the Dat project has [117]avoided creating a Wikipedia mirror so far.

I found another privacy issue that is not documented in the security FAQ during my review of the protocol. As mentioned earlier, the [118]Dat discovery protocol routinely phones home to DNS servers operated by the Dat project. This implies that the default discovery servers (and an attacker watching over their traffic) know who is publishing or seeking content, in essence discovering the "social network" behind Dat. This discovery mechanism can be disabled in clients, but a similar privacy issue applies to the DHT as well, although that is distributed so it doesn't require trust of the Dat project itself.

Considering those aspects of the protocol, privacy-conscious users will probably want to use Tor or other anonymization techniques to work around those concerns.

The future of Dat

[119]Dat 2.0 was released in June 2017 with performance improvements and protocol changes. [120]Dat Enhancement Proposals (DEPs) guide the project's future development; most work is currently geared toward implementing the draft " [121]multi-writer proposal " in [122]HyperDB . Without multi-writer support, only the original publisher of a Dat can modify it. According to Joe Hand, co-executive-director of [123]Code for Science & Society (CSS) and Dat core developer, in an IRC chat, "supporting multiwriter is a big requirement for lots of folks". For example, while Dat might allow Alice to share her research results with Bob, he cannot modify or contribute back to those results. The multi-writer extension allows for Alice to assign trust to Bob so he can have write access to the data.

Unfortunately, the current proposal doesn't solve the " hard problems " of " conflict merges and secure key distribution ". The former will be worked out through user interface tweaks, but the latter is a classic problem that security projects have typically trouble finding solutions for—Dat is no exception. How will Alice securely trust Bob? The OpenPGP web of trust? Hexadecimal fingerprints read over the phone? Dat doesn't provide a magic solution to this problem.

Another thing limiting adoption is that Dat is not packaged in any distribution that I could find (although I [124]requested it in Debian ) and, considering the speed of change of the JavaScript ecosystem, this is unlikely to change any time soon. A [125]Rust implementation of the Dat protocol has started, however, which might be easier to package than the multitude of [126]Node.js modules. In terms of mobile device support, there is an experimental Android web browser with Dat support called [127]Bunsen , which somehow doesn't run on my phone. Some adventurous users have successfully run Dat in [128]Termux . I haven't found an app running on iOS at this point.

Even beyond platform support, distributed protocols like Dat have a tough slope to climb against the virtual monopoly of more centralized protocols, so it remains to be seen how popular those tools will be. Hand says Dat is supported by multiple non-profit organizations. Beyond CSS, [129]Blue Link Labs is working on the Beaker Browser as a self-funded startup and a grass-roots organization, [130]Digital Democracy , has contributed to the project. The [131]Internet Archive has [132]announced a collaboration between itself, CSS, and the California Digital Library to launch a pilot project to see " how members of a cooperative, decentralized network can leverage shared services to ensure data preservation while reducing storage costs and increasing replication counts ".

Hand said adoption in academia has been "slow but steady" and that the [133]Dat in the Lab project has helped identify areas that could help researchers adopt the project. Unfortunately, as is the case with many free-software projects, he said that "our team is definitely a bit limited on bandwidth to push for bigger adoption". Hand said that the project received a grant from [134]Mozilla Open Source Support to improve its documentation, which will be a big help.

Ultimately, Dat suffers from a problem common to all peer-to-peer applications, which is naming. Dat addresses are not exactly intuitive: humans do not remember strings of 64 hexadecimal characters well. For this, Dat took a [135]similar approach to IPFS by using DNS TXT records and /.well-known URL paths to bridge existing, human-readable names with Dat hashes. So this sacrifices a part of the decentralized nature of the project in favor of usability.

I have tested a lot of distributed protocols like Dat in the past and I am not sure Dat is a clear winner. It certainly has advantages over IPFS in terms of usability and resource usage, but the lack of packages on most platforms is a big limit to adoption for most people. This means it will be difficult to share content with my friends and family with Dat anytime soon, which would probably be my primary use case for the project. Until the protocol reaches the wider adoption that BitTorrent has seen in terms of platform support, I will probably wait before switching everything over to this promising project.

[136]Comments (11 posted)

Page editor : Jonathan Corbet

Inside this week's LWN.net Weekly Edition

[137]Briefs : OpenSSH 7.8; 4.19-rc1; Which stable?; Netdev 0x12; Bison 3.1; Quotes; ...

[138]Announcements : Newsletters; events; security updates; kernel patches; ... Next page : [139]Brief items>>



[1] https://lwn.net/Articles/763743/

[2] https://lwn.net/Articles/763626/

[3] https://lwn.net/Articles/763641/

[4] https://lwn.net/Articles/763106/

[5] https://lwn.net/Articles/763603/

[6] https://lwn.net/Articles/763175/

[7] https://lwn.net/Articles/763492/

[8] https://lwn.net/Articles/763254/

[9] https://lwn.net/Articles/763255/

[10] https://lwn.net/Articles/763743/#Comments

[11] https://lwn.net/Articles/763626/

[12] http://julialang.org/

[13] https://julialang.org/blog/2018/08/one-point-zero

[14] https://julialang.org/benchmarks/

[15] https://juliacomputing.com/

[16] https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop

[17] http://llvm.org/

[18] http://www.3blue1brown.com/essence-of-linear-algebra-page/

[19] http://www.netlib.org/lapack/

[20] https://lwn.net/Articles/657157/

[21] https://julialang.org/publications/julia-fresh-approach-BEKS.pdf

[22] https://lwn.net/Articles/738915/

[23] https://pypy.org/

[24] https://github.com/JuliaPy/PyCall.jl

[25] https://github.com/JuliaInterop/RCall.jl

[26] https://docs.julialang.org/en/stable/

[27] https://julialang.org/learning/

[28] http://bogumilkaminski.pl/files/julia_express.pdf

[29] https://docs.julialang.org/en/stable/manual/noteworthy-differences/#Noteworthy-differences-from-Python-1

[30] https://lwn.net/Articles/746386/

[31] https://github.com/JuliaLang/IJulia.jl

[32] https://lwn.net/Articles/764001/

[33] https://lwn.net/Articles/763626/#Comments

[34] https://lwn.net/Articles/763641/

[35] https://lwn.net/Archives/ConferenceByYear/#2018-Linux_Security_Summit_NA

[36] https://events.linuxfoundation.org/events/linux-security-summit-north-america-2018/

[37] https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project

[38] https://lwn.net/Articles/763644/

[39] https://raphlinus.github.io/programming/rust/2018/08/17/undefined-behavior.html

[40] https://lwn.net/Articles/749064/

[41] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=02361bc77888

[42] https://lore.kernel.org/lkml/CA+55aFzCG-zNmZwX4A2FQpadafLfEzK6CC=qPXydAacU1RqZWA@mail.gmail.com/T/#u

[43] https://lwn.net/Articles/758245/

[44] https://lwn.net/Articles/718888/

[45] https://lwn.net/Articles/744507/

[46] https://outflux.net/slides/2018/lss/danger.pdf

[47] https://lwn.net/Articles/763641/#Comments

[48] https://lwn.net/Articles/763106/

[49] https://lwn.net/Articles/763497/

[50] https://lwn.net/Articles/762566/

[51] https://lwn.net/Articles/761118/

[52] https://git.kernel.org/linus/d5791044d2e5749ef4de84161cec5532e2111540

[53] https://lwn.net/ml/linux-kernel/20180630000253.70103-1-sque@chromium.org/

[54] https://git.kernel.org/linus/771c035372a036f83353eef46dbb829780330234

[55] https://lwn.net/Articles/745073/

[56] https://lwn.net/ml/linux-kernel/CA+55aFxFjAmrFpwQmEHCthHOzgidCKnod+cNDEE+3Spu9o1s3w@mail.gmail.com/

[57] https://lwn.net/Articles/759499/

[58] https://lwn.net/Articles/762355/

[59] https://lwn.net/ml/linux-fsdevel/20180823223145.GK6515@ZenIV.linux.org.uk/

[60] https://lwn.net/Articles/763106/#Comments

[61] https://lwn.net/Articles/763603/

[62] https://lwn.net/Articles/601799/

[63] https://lwn.net/Articles/552904

[64] https://lwn.net/Articles/758963/

[65] http://algogroup.unimore.it/people/paolo/pub-docs/extended-lat-bw-throughput.pdf

[66] https://lwn.net/Articles/763603/#Comments

[67] https://lwn.net/Articles/763175/

[68] https://lwn.net/Archives/ConferenceByYear/#2018-Akademy

[69] https://dot.kde.org/2017/11/30/kdes-goals-2018-and-beyond

[70] https://phabricator.kde.org/T7116

[71] https://phabricator.kde.org/T6831

[72] https://phabricator.kde.org/T7050

[73] https://akademy.kde.org/

[74] https://community.kde.org/Promo

[75] https://www.chakralinux.org/

[76] https://conf.kde.org/en/Akademy2018/public/events/79

[77] https://en.wikipedia.org/wiki/Onboarding

[78] https://community.kde.org/Get_Involved

[79] https://community.kde.org/KDE/Junior_Jobs

[80] https://lwn.net/Articles/763189/

[81] https://phabricator.kde.org/T8686

[82] https://phabricator.kde.org/T7646

[83] https://bugs.kde.org/

[84] https://www.plasma-mobile.org/index.html

[85] https://www.plasma-mobile.org/findyourway

[86] https://lwn.net/Articles/763175/#Comments

[87] https://lwn.net/Articles/763492/

[88] https://datproject.org

[89] https://www.bittorrent.com/

[90] https://github.com/datproject/dat/releases

[91] https://docs.datproject.org/install

[92] https://datbase.org/

[93] https://ed25519.cr.yp.to/

[94] https://en.wikipedia.org/wiki/Mainline_DHT

[95] https://github.com/mafintosh/dns-discovery

[96] https://en.wikipedia.org/wiki/Magnet_URI_scheme

[97] https://blog.datproject.org/2017/10/13/using-dat-for-automatic-file-backups/

[98] https://github.com/mafintosh/hypercore-archiver

[99] https://ipfs.io/

[100] https://github.com/ipfs/go-ipfs/issues/875

[101] https://github.com/ipfs/go-ipfs/blob/master/docs/experimental-features.md#ipfs-filestore

[102] https://hashbase.io/

[103] https://github.com/datprotocol/DEPs/blob/master/proposals/0003-http-pinning-service-api.md

[104] https://docs.datproject.org/server

[105] https://lwn.net/Articles/763544/

[106] https://beakerbrowser.com/

[107] https://electronjs.org/

[108] https://github.com/beakerbrowser/explore

[109] https://addons.mozilla.org/en-US/firefox/addon/dat-p2p-protocol/

[110] https://github.com/sammacbeth/dat-fox

[111] https://github.com/sammacbeth/dat-fox-helper

[112] https://github.com/beakerbrowser/dat-photos-app

[113] https://github.com/datproject/docs/raw/master/papers/dat-paper.pdf

[114] https://github.com/datprotocol/DEPs/blob/653e0cf40233b5d474cddc04235577d9d55b2934/proposals/0000-peer-discovery.md#discovery-keys

[115] https://docs.datproject.org/security

[116] https://blog.datproject.org/2016/12/12/reader-privacy-on-the-p2p-web/

[117] https://blog.datproject.org/2017/12/10/dont-ship/

[118] https://github.com/datprotocol/DEPs/pull/7

[119] https://blog.datproject.org/2017/06/01/dat-sleep-release/

[120] https://github.com/datprotocol/DEPs

[121] https://github.com/datprotocol/DEPs/blob/master/proposals/0008-multiwriter.md

[122] https://github.com/mafintosh/hyperdb

[123] https://codeforscience.org/

[124] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=890565

[125] https://github.com/datrs

[126] https://nodejs.org/en/

[127] https://bunsenbrowser.github.io/#!index.md

[128] https://termux.com/

[129] https://bluelinklabs.com/

[130] https://www.digital-democracy.org/

[131] https://archive.org

[132] https://blog.archive.org/2018/06/05/internet-archive-code-for-science-and-society-and-california-digital-library-to-partner-on-a-data-sharing-and-preservation-pilot-project/

[133] https://github.com/codeforscience/Dat-in-the-Lab

[134] https://www.mozilla.org/en-US/moss/

[135] https://github.com/datprotocol/DEPs/blob/master/proposals/0005-dns.md

[136] https://lwn.net/Articles/763492/#Comments

[137] https://lwn.net/Articles/763254/

[138] https://lwn.net/Articles/763255/

[139] https://lwn.net/Articles/763254/


diff --git a/test/expected/LWN/0000763603 b/test/expected/LWN/0000763603 index 82ae8c2..29de38b 100644 --- a/test/expected/LWN/0000763603 +++ b/test/expected/LWN/0000763603 @@ -2,6 +2,7 @@ [Kernel] Aug 29, 2018 21:20 UTC (Wed) (corbet) + o Reference: 0000763603 o News link: https://lwn.net/Articles/763603 o Source link: diff --git a/test/expected/LWN/0000763603.header.html b/test/expected/LWN/0000763603.header.html index 10fb39a..fa5e5fc 100644 --- a/test/expected/LWN/0000763603.header.html +++ b/test/expected/LWN/0000763603.header.html @@ -9,7 +9,7 @@
-

[$] Measuring (and fixing) I/O-controller throughput loss

+

[$] Measuring (and fixing) I/O-controller throughput loss

([Kernel] Aug 29, 2018 21:20 UTC (Wed) (corbet))

diff --git a/test/expected/LWN/0000763603.html b/test/expected/LWN/0000763603.html index d0dfc41..b52fb15 100644 --- a/test/expected/LWN/0000763603.html +++ b/test/expected/LWN/0000763603.html @@ -9,10 +9,11 @@
-

[$] Measuring (and fixing) I/O-controller throughput loss

+

[$] Measuring (and fixing) I/O-controller throughput loss

([Kernel] Aug 29, 2018 21:20 UTC (Wed) (corbet))

diff --git a/test/expected/LWN/0000763729 b/test/expected/LWN/0000763729 index 745ba29..9e6502e 100644 --- a/test/expected/LWN/0000763729 +++ b/test/expected/LWN/0000763729 @@ -2,6 +2,7 @@ [Kernel] Aug 30, 2018 18:50 UTC (Thu) (corbet) + o Reference: 0000763729 o News link: https://lwn.net/Articles/763729 o Source link: diff --git a/test/expected/LWN/0000763729.header.html b/test/expected/LWN/0000763729.header.html index c110703..9db006b 100644 --- a/test/expected/LWN/0000763729.header.html +++ b/test/expected/LWN/0000763729.header.html @@ -9,7 +9,7 @@
-

[$] Protecting files with fs-verity

+

[$] Protecting files with fs-verity

([Kernel] Aug 30, 2018 18:50 UTC (Thu) (corbet))

diff --git a/test/expected/LWN/0000763729.html b/test/expected/LWN/0000763729.html index 01ceedf..885cd6c 100644 --- a/test/expected/LWN/0000763729.html +++ b/test/expected/LWN/0000763729.html @@ -9,10 +9,11 @@
-

[$] Protecting files with fs-verity

+

[$] Protecting files with fs-verity

([Kernel] Aug 30, 2018 18:50 UTC (Thu) (corbet))

diff --git a/test/expected/LWN/0000763789 b/test/expected/LWN/0000763789 index 4a05b04..82ed229 100644 --- a/test/expected/LWN/0000763789 +++ b/test/expected/LWN/0000763789 @@ -2,6 +2,7 @@ + o Reference: 0000763789 o News link: https://lwn.net/Articles/763789/ o Source link: diff --git a/test/expected/LWN/0000763789.header.html b/test/expected/LWN/0000763789.header.html index ad726d4..ab454fa 100644 --- a/test/expected/LWN/0000763789.header.html +++ b/test/expected/LWN/0000763789.header.html @@ -9,7 +9,7 @@
-

[$] LWN.net Weekly Edition for September 6, 2018

+

[$] LWN.net Weekly Edition for September 6, 2018


diff --git a/test/expected/LWN/0000763789.html b/test/expected/LWN/0000763789.html index 0638c5f..c453a09 100644 --- a/test/expected/LWN/0000763789.html +++ b/test/expected/LWN/0000763789.html @@ -9,10 +9,11 @@
-

[$] LWN.net Weekly Edition for September 6, 2018

+

[$] LWN.net Weekly Edition for September 6, 2018


diff --git a/test/expected/LWN/0000763987 b/test/expected/LWN/0000763987 index aa76279..9539e38 100644 --- a/test/expected/LWN/0000763987 +++ b/test/expected/LWN/0000763987 @@ -2,6 +2,7 @@ [Kernel] Sep 2, 2018 22:29 UTC (Sun) (corbet) + o Reference: 0000763987 o News link: https://lwn.net/Articles/763987/ o Source link: diff --git a/test/expected/LWN/0000763987.header.html b/test/expected/LWN/0000763987.header.html index 76f8132..af529b2 100644 --- a/test/expected/LWN/0000763987.header.html +++ b/test/expected/LWN/0000763987.header.html @@ -9,7 +9,7 @@
-

Kernel prepatch 4.19-rc2

+

Kernel prepatch 4.19-rc2

([Kernel] Sep 2, 2018 22:29 UTC (Sun) (corbet))

diff --git a/test/expected/LWN/0000763987.html b/test/expected/LWN/0000763987.html index e73655b..2b11802 100644 --- a/test/expected/LWN/0000763987.html +++ b/test/expected/LWN/0000763987.html @@ -9,10 +9,11 @@
-

Kernel prepatch 4.19-rc2

+

Kernel prepatch 4.19-rc2

([Kernel] Sep 2, 2018 22:29 UTC (Sun) (corbet))

diff --git a/test/expected/LWN/0000764001 b/test/expected/LWN/0000764001 index f0c680c..97cee48 100644 --- a/test/expected/LWN/0000764001 +++ b/test/expected/LWN/0000764001 @@ -2,6 +2,7 @@ [Development] Sep 4, 2018 15:57 UTC (Tue) (jake) + o Reference: 0000764001 o News link: https://lwn.net/Articles/764001 o Source link: diff --git a/test/expected/LWN/0000764001.header.html b/test/expected/LWN/0000764001.header.html index 8611c17..f43c7ae 100644 --- a/test/expected/LWN/0000764001.header.html +++ b/test/expected/LWN/0000764001.header.html @@ -9,7 +9,7 @@
-

[$] An introduction to the Julia language, part 2

+

[$] An introduction to the Julia language, part 2

([Development] Sep 4, 2018 15:57 UTC (Tue) (jake))

diff --git a/test/expected/LWN/0000764001.html b/test/expected/LWN/0000764001.html index cbf08fd..99f9f9d 100644 --- a/test/expected/LWN/0000764001.html +++ b/test/expected/LWN/0000764001.html @@ -9,10 +9,11 @@
-

[$] An introduction to the Julia language, part 2

+

[$] An introduction to the Julia language, part 2

([Development] Sep 4, 2018 15:57 UTC (Tue) (jake))

diff --git a/test/expected/LWN/0000764046 b/test/expected/LWN/0000764046 index 03dc5ce..7529166 100644 --- a/test/expected/LWN/0000764046 +++ b/test/expected/LWN/0000764046 @@ -2,6 +2,7 @@ [Security] Sep 3, 2018 15:41 UTC (Mon) (ris) + o Reference: 0000764046 o News link: https://lwn.net/Articles/764046 o Source link: diff --git a/test/expected/LWN/0000764046.header.html b/test/expected/LWN/0000764046.header.html index d42349b..b72162f 100644 --- a/test/expected/LWN/0000764046.header.html +++ b/test/expected/LWN/0000764046.header.html @@ -9,7 +9,7 @@
-

Security updates for Monday

+

Security updates for Monday

([Security] Sep 3, 2018 15:41 UTC (Mon) (ris))

diff --git a/test/expected/LWN/0000764046.html b/test/expected/LWN/0000764046.html index 4384209..ee05994 100644 --- a/test/expected/LWN/0000764046.html +++ b/test/expected/LWN/0000764046.html @@ -9,10 +9,11 @@
-

Security updates for Monday

+

Security updates for Monday

([Security] Sep 3, 2018 15:41 UTC (Mon) (ris))

diff --git a/test/expected/LWN/0000764048 b/test/expected/LWN/0000764048 index 2e2225d..e908704 100644 --- a/test/expected/LWN/0000764048 +++ b/test/expected/LWN/0000764048 @@ -2,6 +2,7 @@ [Security] Sep 5, 2018 22:11 UTC (Wed) (jake) + o Reference: 0000764048 o News link: https://lwn.net/Articles/764048 o Source link: diff --git a/test/expected/LWN/0000764048.header.html b/test/expected/LWN/0000764048.header.html index 4c8a08e..c4b0609 100644 --- a/test/expected/LWN/0000764048.header.html +++ b/test/expected/LWN/0000764048.header.html @@ -9,7 +9,7 @@
-

[$] Life behind the tinfoil curtain

+

[$] Life behind the tinfoil curtain

([Security] Sep 5, 2018 22:11 UTC (Wed) (jake))

diff --git a/test/expected/LWN/0000764048.html b/test/expected/LWN/0000764048.html index 8675aee..febb4fa 100644 --- a/test/expected/LWN/0000764048.html +++ b/test/expected/LWN/0000764048.html @@ -9,10 +9,11 @@
-

[$] Life behind the tinfoil curtain

+

[$] Life behind the tinfoil curtain

([Security] Sep 5, 2018 22:11 UTC (Wed) (jake))

diff --git a/test/expected/LWN/0000764055 b/test/expected/LWN/0000764055 index 5136596..7a6949f 100644 --- a/test/expected/LWN/0000764055 +++ b/test/expected/LWN/0000764055 @@ -2,6 +2,7 @@ [Kernel] Sep 3, 2018 19:07 UTC (Mon) (corbet) + o Reference: 0000764055 o News link: https://lwn.net/Articles/764055 o Source link: diff --git a/test/expected/LWN/0000764055.header.html b/test/expected/LWN/0000764055.header.html index 359a99c..04b5809 100644 --- a/test/expected/LWN/0000764055.header.html +++ b/test/expected/LWN/0000764055.header.html @@ -9,7 +9,7 @@
-

Topics sought for the Kernel and Maintainer Summits

+

Topics sought for the Kernel and Maintainer Summits

([Kernel] Sep 3, 2018 19:07 UTC (Mon) (corbet))

diff --git a/test/expected/LWN/0000764055.html b/test/expected/LWN/0000764055.html index 14008c9..fea227d 100644 --- a/test/expected/LWN/0000764055.html +++ b/test/expected/LWN/0000764055.html @@ -9,16 +9,17 @@
-

Topics sought for the Kernel and Maintainer Summits

+

Topics sought for the Kernel and Maintainer Summits

([Kernel] Sep 3, 2018 19:07 UTC (Mon) (corbet))


- The annual Maintainer and Kernel Summits will be held in Vancouver, BC on November 12 to 15, in conjunction with the Linux Plumbers Conference. The program committee is looking for topics for both summits; read on for details on how to submit ideas and, perhaps, get an invitation to the Maintainer Summit.

From :

"Theodore Y. Ts'o" <tytso-AT-mit.edu>

To :

linux-kernel-AT-vger.kernel.org, linux-fsdevel-AT-vger.kernel.org, linux-mm-AT-kvack.org, netdev-AT-vger.kernel.org, linux-block-AT-vger.kernel.org

Subject :

Maintainer / Kernel Summit 2018 planning kick-off

Date :

Thu, 30 Aug 2018 17:35:17 -0400

Message-ID :

<20180830213517.GA19110@thunk.org>

Archive-link :

[1]Article

Feel free to forward this to other Linux kernel mailing lists as

appropriate -- Ted



This year, the Maintainer and Kernel Summit will be in Vancouver,

B.C., November 12th -- 15th. The Maintainer's summit will be held on

Monday, November 12th, in Vancouver, immediately before the Linux

Plumber's Conference (LPC) November 13th -- 15th.

For the past few years, before 2017, we've scheduled mostly management

and development process issues on the first day. We then opened up

the second day of the Kernel Summit to all attendees of the conference

with which the Kernel Summit has been colocated, and called it the

"Open Technical Day". This is something that just made sense in order

to assure that all of the necessary people needed to discuss a

particular technical issue could be in the room.

Starting last year in Prague, we took the next logical step, and split

the Kernel Summit in two. The "Maintainer's Summit" is an

invite-only, half-day event, where the primary focus will be process

issues of Linux Kernel Development. It will be limited to 30 invitees

and a handful of sponsored attendees. This makes it smaller than the

first few kernel summits (which were limited to around 50 attendees).

The "Kernel Summit" is now organized as a track which is run in

parallel with the other tracks at the Linux Plumber's Conference, and

is open to all registered attendees of Plumbers. Much as how we

organized the Kernel Summit "open technical day" in 2016 in Santa Fe,

the Kernel Summit schedule will be synchronized with the other tracks

at the Plumber's Conference, and it will be open to all registered

Plumber's attendees.

Linus has suggested the following ten people as the core of the people

he would like invited to the Maintainer's Summit, which was calculated

from statistics from his git tree.

David Miller

Dave Airlie

Greg KH

Arnd Bergmann

Ingo Molnar

Mauro Carvalho Chehab

Takashi Iwai

Thomas Gleixner

Andrew Morton

Olof Johansson

As we did last year, there will be a mini-program committee that will

be pick enough names to bring the total number of 30 for the

Maintainer's Summit. That program committee will consist of Arnd

Bergmann, Thomas Gleixner, Greg KH, Paul McKenney, and Ted Ts'o.

We will use the rest of names on the list generated by Linus's script

as a starting point of people to be considered. People who suggest

topics that should be discussed on the Maintainer's summit will also

be added to the list. To make topic suggestions for the Maintainer's

Summit, please send e-mail to the ksummit-discuss list with a subject

prefix of [MAINTAINERS SUMMIT].

The other job of the program committee will be to organize the program

for the Kernel Summit. The goal of the Kernel Summit track will be to

provide a forum to discuss specific technical issues that would be

easier to resolve in person than over e-mail. The program committee

will also consider "information sharing" topics if they are clearly of

interest to the wider development community (i.e., advanced training

in topics that would be useful to kernel developers).

To suggest a topic for the Kernel Summit, please tag your e-mail with

[TECH TOPIC]. As before, please use a separate e-mail for each topic,

and send the topic suggestions to:

ksummit-discuss@lists.linuxfoundation.org

People who submit topic suggestions before September 21st and which

are accepted, will be given a free admission to the Linux Plumbers

Conference.

We will reserving roughly half the Kernel Summit slots for last-minute

discussions that will be scheduled during the week of Plumber's, in an

"unconference style". This was extremely popular in Santa Fe and in

Prague, since it allowed ideas that came up in hallway discussions,

and in Plumber's Miniconference, to be given scheduled, dedicated

times for that discussion.

If you were not subscribed on to the kernel-discuss mailing list from

last year (or if you had removed yourself after the kernel summit),

you can subscribe to the discuss list using mailman:

https://lists.linuxfoundation.org/mailman/listinfo/ksummi...



[1] https://lwn.net/ml/linux-kernel/20180830213517.GA19110@thunk.org + The annual Maintainer and Kernel Summits will be held in Vancouver, BC on November 12 to 15, in conjunction with the Linux Plumbers Conference. The program committee is looking for topics for both summits; read on for details on how to submit ideas and, perhaps, get an invitation to the Maintainer Summit.

From :

"Theodore Y. Ts'o" <tytso-AT-mit.edu>

To :

linux-kernel-AT-vger.kernel.org, linux-fsdevel-AT-vger.kernel.org, linux-mm-AT-kvack.org, netdev-AT-vger.kernel.org, linux-block-AT-vger.kernel.org

Subject :

Maintainer / Kernel Summit 2018 planning kick-off

Date :

Thu, 30 Aug 2018 17:35:17 -0400

Message-ID :

<20180830213517.GA19110@thunk.org>

Archive-link :

[1]Article

Feel free to forward this to other Linux kernel mailing lists as

appropriate -- Ted



This year, the Maintainer and Kernel Summit will be in Vancouver,

B.C., November 12th -- 15th. The Maintainer's summit will be held on

Monday, November 12th, in Vancouver, immediately before the Linux

Plumber's Conference (LPC) November 13th -- 15th.

For the past few years, before 2017, we've scheduled mostly management

and development process issues on the first day. We then opened up

the second day of the Kernel Summit to all attendees of the conference

with which the Kernel Summit has been colocated, and called it the

"Open Technical Day". This is something that just made sense in order

to assure that all of the necessary people needed to discuss a

particular technical issue could be in the room.

Starting last year in Prague, we took the next logical step, and split

the Kernel Summit in two. The "Maintainer's Summit" is an

invite-only, half-day event, where the primary focus will be process

issues of Linux Kernel Development. It will be limited to 30 invitees

and a handful of sponsored attendees. This makes it smaller than the

first few kernel summits (which were limited to around 50 attendees).

The "Kernel Summit" is now organized as a track which is run in

parallel with the other tracks at the Linux Plumber's Conference, and

is open to all registered attendees of Plumbers. Much as how we

organized the Kernel Summit "open technical day" in 2016 in Santa Fe,

the Kernel Summit schedule will be synchronized with the other tracks

at the Plumber's Conference, and it will be open to all registered

Plumber's attendees.

Linus has suggested the following ten people as the core of the people

he would like invited to the Maintainer's Summit, which was calculated

from statistics from his git tree.

David Miller

Dave Airlie

Greg KH

Arnd Bergmann

Ingo Molnar

Mauro Carvalho Chehab

Takashi Iwai

Thomas Gleixner

Andrew Morton

Olof Johansson

As we did last year, there will be a mini-program committee that will

be pick enough names to bring the total number of 30 for the

Maintainer's Summit. That program committee will consist of Arnd

Bergmann, Thomas Gleixner, Greg KH, Paul McKenney, and Ted Ts'o.

We will use the rest of names on the list generated by Linus's script

as a starting point of people to be considered. People who suggest

topics that should be discussed on the Maintainer's summit will also

be added to the list. To make topic suggestions for the Maintainer's

Summit, please send e-mail to the ksummit-discuss list with a subject

prefix of [MAINTAINERS SUMMIT].

The other job of the program committee will be to organize the program

for the Kernel Summit. The goal of the Kernel Summit track will be to

provide a forum to discuss specific technical issues that would be

easier to resolve in person than over e-mail. The program committee

will also consider "information sharing" topics if they are clearly of

interest to the wider development community (i.e., advanced training

in topics that would be useful to kernel developers).

To suggest a topic for the Kernel Summit, please tag your e-mail with

[TECH TOPIC]. As before, please use a separate e-mail for each topic,

and send the topic suggestions to:

ksummit-discuss@lists.linuxfoundation.org

People who submit topic suggestions before September 21st and which

are accepted, will be given a free admission to the Linux Plumbers

Conference.

We will reserving roughly half the Kernel Summit slots for last-minute

discussions that will be scheduled during the week of Plumber's, in an

"unconference style". This was extremely popular in Santa Fe and in

Prague, since it allowed ideas that came up in hallway discussions,

and in Plumber's Miniconference, to be given scheduled, dedicated

times for that discussion.

If you were not subscribed on to the kernel-discuss mailing list from

last year (or if you had removed yourself after the kernel summit),

you can subscribe to the discuss list using mailman:

https://lists.linuxfoundation.org/mailman/listinfo/ksummi...



[1] https://lwn.net/ml/linux-kernel/20180830213517.GA19110@thunk.org

diff --git a/test/expected/LWN/0000764057 b/test/expected/LWN/0000764057 index 58a24b1..bdd8d6d 100644 --- a/test/expected/LWN/0000764057 +++ b/test/expected/LWN/0000764057 @@ -2,6 +2,7 @@ [Kernel] Sep 4, 2018 0:15 UTC (Tue) (corbet) + o Reference: 0000764057 o News link: https://lwn.net/Articles/764057 o Source link: diff --git a/test/expected/LWN/0000764057.header.html b/test/expected/LWN/0000764057.header.html index 80f1739..4526802 100644 --- a/test/expected/LWN/0000764057.header.html +++ b/test/expected/LWN/0000764057.header.html @@ -9,7 +9,7 @@
-

[$] IDA: simplifying the complex task of allocating integers

+

[$] IDA: simplifying the complex task of allocating integers

([Kernel] Sep 4, 2018 0:15 UTC (Tue) (corbet))

diff --git a/test/expected/LWN/0000764057.html b/test/expected/LWN/0000764057.html index cba93c8..e3acbea 100644 --- a/test/expected/LWN/0000764057.html +++ b/test/expected/LWN/0000764057.html @@ -9,10 +9,11 @@
-

[$] IDA: simplifying the complex task of allocating integers

+

[$] IDA: simplifying the complex task of allocating integers

([Kernel] Sep 4, 2018 0:15 UTC (Tue) (corbet))

diff --git a/test/expected/LWN/0000764130 b/test/expected/LWN/0000764130 index a01bd05..cc6cffd 100644 --- a/test/expected/LWN/0000764130 +++ b/test/expected/LWN/0000764130 @@ -2,6 +2,7 @@ [Security] Sep 4, 2018 15:14 UTC (Tue) (ris) + o Reference: 0000764130 o News link: https://lwn.net/Articles/764130 o Source link: diff --git a/test/expected/LWN/0000764130.header.html b/test/expected/LWN/0000764130.header.html index 792d886..ea0a0dc 100644 --- a/test/expected/LWN/0000764130.header.html +++ b/test/expected/LWN/0000764130.header.html @@ -9,7 +9,7 @@
-

Security updates for Tuesday

+

Security updates for Tuesday

([Security] Sep 4, 2018 15:14 UTC (Tue) (ris))

diff --git a/test/expected/LWN/0000764130.html b/test/expected/LWN/0000764130.html index cd24a80..181af3a 100644 --- a/test/expected/LWN/0000764130.html +++ b/test/expected/LWN/0000764130.html @@ -9,10 +9,11 @@
-

Security updates for Tuesday

+

Security updates for Tuesday

([Security] Sep 4, 2018 15:14 UTC (Tue) (ris))

diff --git a/test/expected/LWN/0000764131 b/test/expected/LWN/0000764131 index 94161c5..dc1be3f 100644 --- a/test/expected/LWN/0000764131 +++ b/test/expected/LWN/0000764131 @@ -2,6 +2,7 @@ [Front] Sep 5, 2018 19:20 UTC (Wed) (jake) + o Reference: 0000764131 o News link: https://lwn.net/Articles/764131 o Source link: diff --git a/test/expected/LWN/0000764131.header.html b/test/expected/LWN/0000764131.header.html index 763ec98..f8983e7 100644 --- a/test/expected/LWN/0000764131.header.html +++ b/test/expected/LWN/0000764131.header.html @@ -9,7 +9,7 @@
-

[$] Learning about Go internals at GopherCon

+

[$] Learning about Go internals at GopherCon

([Front] Sep 5, 2018 19:20 UTC (Wed) (jake))

diff --git a/test/expected/LWN/0000764131.html b/test/expected/LWN/0000764131.html index ca9872f..fa19c62 100644 --- a/test/expected/LWN/0000764131.html +++ b/test/expected/LWN/0000764131.html @@ -9,10 +9,11 @@
-

[$] Learning about Go internals at GopherCon

+

[$] Learning about Go internals at GopherCon

([Front] Sep 5, 2018 19:20 UTC (Wed) (jake))

diff --git a/test/expected/LWN/0000764182 b/test/expected/LWN/0000764182 index 4a44393..a0c0c5c 100644 --- a/test/expected/LWN/0000764182 +++ b/test/expected/LWN/0000764182 @@ -2,6 +2,7 @@ [Security] Sep 5, 2018 15:01 UTC (Wed) (ris) + o Reference: 0000764182 o News link: https://lwn.net/Articles/764182 o Source link: diff --git a/test/expected/LWN/0000764182.header.html b/test/expected/LWN/0000764182.header.html index 4958638..614d034 100644 --- a/test/expected/LWN/0000764182.header.html +++ b/test/expected/LWN/0000764182.header.html @@ -9,7 +9,7 @@
-

Security updates for Wednesday

+

Security updates for Wednesday

([Security] Sep 5, 2018 15:01 UTC (Wed) (ris))

diff --git a/test/expected/LWN/0000764182.html b/test/expected/LWN/0000764182.html index 76b7e83..a6df8e0 100644 --- a/test/expected/LWN/0000764182.html +++ b/test/expected/LWN/0000764182.html @@ -9,10 +9,11 @@
-

Security updates for Wednesday

+

Security updates for Wednesday

([Security] Sep 5, 2018 15:01 UTC (Wed) (ris))

diff --git a/test/expected/LWN/0000764184 b/test/expected/LWN/0000764184 index ff6288f..3d2f529 100644 --- a/test/expected/LWN/0000764184 +++ b/test/expected/LWN/0000764184 @@ -2,6 +2,7 @@ [Kernel] Sep 5, 2018 15:15 UTC (Wed) (ris) + o Reference: 0000764184 o News link: https://lwn.net/Articles/764184/ o Source link: diff --git a/test/expected/LWN/0000764184.header.html b/test/expected/LWN/0000764184.header.html index 7c47529..c240b06 100644 --- a/test/expected/LWN/0000764184.header.html +++ b/test/expected/LWN/0000764184.header.html @@ -9,7 +9,7 @@
-

A set of stable kernels

+

A set of stable kernels

([Kernel] Sep 5, 2018 15:15 UTC (Wed) (ris))

diff --git a/test/expected/LWN/0000764184.html b/test/expected/LWN/0000764184.html index 94aed84..20964a2 100644 --- a/test/expected/LWN/0000764184.html +++ b/test/expected/LWN/0000764184.html @@ -9,10 +9,11 @@
-

A set of stable kernels

+

A set of stable kernels

([Kernel] Sep 5, 2018 15:15 UTC (Wed) (ris))

diff --git a/test/expected/LWN/0000764200 b/test/expected/LWN/0000764200 index 20882cb..ff42782 100644 --- a/test/expected/LWN/0000764200 +++ b/test/expected/LWN/0000764200 @@ -2,6 +2,7 @@ [Kernel] Sep 6, 2018 15:59 UTC (Thu) (corbet) + o Reference: 0000764200 o News link: https://lwn.net/Articles/764200 o Source link: diff --git a/test/expected/LWN/0000764200.header.html b/test/expected/LWN/0000764200.header.html index cfcf95a..2823c0c 100644 --- a/test/expected/LWN/0000764200.header.html +++ b/test/expected/LWN/0000764200.header.html @@ -9,7 +9,7 @@
-

[$] Writing network flow dissectors in BPF

+

[$] Writing network flow dissectors in BPF

([Kernel] Sep 6, 2018 15:59 UTC (Thu) (corbet))

diff --git a/test/expected/LWN/0000764200.html b/test/expected/LWN/0000764200.html index 800444f..3a04f2c 100644 --- a/test/expected/LWN/0000764200.html +++ b/test/expected/LWN/0000764200.html @@ -9,10 +9,11 @@
-

[$] Writing network flow dissectors in BPF

+

[$] Writing network flow dissectors in BPF

([Kernel] Sep 6, 2018 15:59 UTC (Thu) (corbet))

diff --git a/test/expected/LWN/0000764202 b/test/expected/LWN/0000764202 index b690a82..4f5ef6c 100644 --- a/test/expected/LWN/0000764202 +++ b/test/expected/LWN/0000764202 @@ -2,6 +2,7 @@ [Development] Sep 5, 2018 17:31 UTC (Wed) (ris) + o Reference: 0000764202 o News link: https://lwn.net/Articles/764202/ o Source link: diff --git a/test/expected/LWN/0000764202.header.html b/test/expected/LWN/0000764202.header.html index 06e752e..e539a99 100644 --- a/test/expected/LWN/0000764202.header.html +++ b/test/expected/LWN/0000764202.header.html @@ -9,7 +9,7 @@
-

Firefox 62.0 released

+

Firefox 62.0 released

([Development] Sep 5, 2018 17:31 UTC (Wed) (ris))

diff --git a/test/expected/LWN/0000764202.html b/test/expected/LWN/0000764202.html index de063a5..27720fe 100644 --- a/test/expected/LWN/0000764202.html +++ b/test/expected/LWN/0000764202.html @@ -9,10 +9,11 @@
-

Firefox 62.0 released

+

Firefox 62.0 released

([Development] Sep 5, 2018 17:31 UTC (Wed) (ris))

diff --git a/test/expected/LWN/0000764209 b/test/expected/LWN/0000764209 index 3fbbdd3..ee242b9 100644 --- a/test/expected/LWN/0000764209 +++ b/test/expected/LWN/0000764209 @@ -2,6 +2,7 @@ [Kernel] Sep 5, 2018 21:47 UTC (Wed) (corbet) + o Reference: 0000764209 o News link: https://lwn.net/Articles/764209 o Source link: diff --git a/test/expected/LWN/0000764209.header.html b/test/expected/LWN/0000764209.header.html index 0e94410..6042eaf 100644 --- a/test/expected/LWN/0000764209.header.html +++ b/test/expected/LWN/0000764209.header.html @@ -9,7 +9,7 @@
-

[$] Strengthening user-space Spectre v2 protection

+

[$] Strengthening user-space Spectre v2 protection

([Kernel] Sep 5, 2018 21:47 UTC (Wed) (corbet))

diff --git a/test/expected/LWN/0000764209.html b/test/expected/LWN/0000764209.html index c24f3ff..dae16d2 100644 --- a/test/expected/LWN/0000764209.html +++ b/test/expected/LWN/0000764209.html @@ -9,10 +9,11 @@
-

[$] Strengthening user-space Spectre v2 protection

+

[$] Strengthening user-space Spectre v2 protection

([Kernel] Sep 5, 2018 21:47 UTC (Wed) (corbet))

diff --git a/test/expected/LWN/0000764219 b/test/expected/LWN/0000764219 index b91238e..fb48332 100644 --- a/test/expected/LWN/0000764219 +++ b/test/expected/LWN/0000764219 @@ -2,6 +2,7 @@ [Development] Sep 5, 2018 21:17 UTC (Wed) (ris) + o Reference: 0000764219 o News link: https://lwn.net/Articles/764219 o Source link: diff --git a/test/expected/LWN/0000764219.header.html b/test/expected/LWN/0000764219.header.html index b143c4c..94cef57 100644 --- a/test/expected/LWN/0000764219.header.html +++ b/test/expected/LWN/0000764219.header.html @@ -9,7 +9,7 @@
-

GNOME 3.30 released

+

GNOME 3.30 released

([Development] Sep 5, 2018 21:17 UTC (Wed) (ris))

diff --git a/test/expected/LWN/0000764219.html b/test/expected/LWN/0000764219.html index d82900d..2ae0d55 100644 --- a/test/expected/LWN/0000764219.html +++ b/test/expected/LWN/0000764219.html @@ -9,10 +9,11 @@
-

GNOME 3.30 released

+

GNOME 3.30 released

([Development] Sep 5, 2018 21:17 UTC (Wed) (ris))

diff --git a/test/expected/LWN/0000764300 b/test/expected/LWN/0000764300 index 64a081b..7695da3 100644 --- a/test/expected/LWN/0000764300 +++ b/test/expected/LWN/0000764300 @@ -2,6 +2,7 @@ [Security] Sep 6, 2018 13:55 UTC (Thu) (jake) + o Reference: 0000764300 o News link: https://lwn.net/Articles/764300 o Source link: diff --git a/test/expected/LWN/0000764300.header.html b/test/expected/LWN/0000764300.header.html index 9bed822..ef66c2c 100644 --- a/test/expected/LWN/0000764300.header.html +++ b/test/expected/LWN/0000764300.header.html @@ -9,7 +9,7 @@
-

Security updates for Thursday

+

Security updates for Thursday

([Security] Sep 6, 2018 13:55 UTC (Thu) (jake))

diff --git a/test/expected/LWN/0000764300.html b/test/expected/LWN/0000764300.html index 968dbd3..3833ebe 100644 --- a/test/expected/LWN/0000764300.html +++ b/test/expected/LWN/0000764300.html @@ -9,10 +9,11 @@
-

Security updates for Thursday

+

Security updates for Thursday

([Security] Sep 6, 2018 13:55 UTC (Thu) (jake))

diff --git a/test/expected/LWN/0000764321 b/test/expected/LWN/0000764321 index df52d21..1764723 100644 --- a/test/expected/LWN/0000764321 +++ b/test/expected/LWN/0000764321 @@ -3,6 +3,7 @@ [Briefs] Sep 6, 2018 16:56 UTC (Thu) (corbet) + o Reference: 0000764321 o News link: https://lwn.net/Articles/764321/ o Source link: diff --git a/test/expected/LWN/0000764321.header.html b/test/expected/LWN/0000764321.header.html index eb8b490..756da62 100644 --- a/test/expected/LWN/0000764321.header.html +++ b/test/expected/LWN/0000764321.header.html @@ -9,7 +9,7 @@
-

The Hidden Benefit of Giving Back to Open Source Software (Working Knowledge)

+

The Hidden Benefit of Giving Back to Open Source Software (Working Knowledge)

([Briefs] Sep 6, 2018 16:56 UTC (Thu) (corbet))

diff --git a/test/expected/LWN/0000764321.html b/test/expected/LWN/0000764321.html index a424258..4be68cb 100644 --- a/test/expected/LWN/0000764321.html +++ b/test/expected/LWN/0000764321.html @@ -9,10 +9,11 @@
-

The Hidden Benefit of Giving Back to Open Source Software (Working Knowledge)

+

The Hidden Benefit of Giving Back to Open Source Software (Working Knowledge)

([Briefs] Sep 6, 2018 16:56 UTC (Thu) (corbet))

@@ -22,25 +23,25 @@

-

The Hidden Benefit of Giving Back to Open Source Software (Working Knowledge)

+

The Hidden Benefit of Giving Back to Open Source Software (Working Knowledge)

This is no surprise to me. Most of the open source software improvements that might help a competitor are too general in nature to really be giving the other guys a competitive advantage.

For instance, if Lyft contributed Linux kernel or PHP or Apache or whatever fixes, the benefit to Lyft of having that improved expertise far exceeds the general benefit to competitor Uber.

-

The Hidden Benefit of Giving Back to Open Source Software (Working Knowledge)

+

The Hidden Benefit of Giving Back to Open Source Software (Working Knowledge)

This is no surprise to me. Most of the open source software improvements that might help a competitor are too general in nature to really be giving the other guys a competitive advantage.

For instance, if Lyft contributed Linux kernel or PHP or Apache or whatever fixes, the benefit to Lyft of having that improved expertise far exceeds the general benefit to competitor Uber.

-

The Hidden Benefit of Giving Back to Open Source Software (Working Knowledge)

+

The Hidden Benefit of Giving Back to Open Source Software (Working Knowledge)

Even having to debate it seems so farcical. If you're worried about people who "do the same thing", the software they use is not the main differentiator. How your company is organized, how you treat your people and your customers, how you organized projects etc are huge, and software is ultimately minor. Fixes and changes to software? Incredibly minor.

-

The Hidden Benefit of Giving Back to Open Source Software (Working Knowledge)

+

The Hidden Benefit of Giving Back to Open Source Software (Working Knowledge)

Perhaps this is too dismissive, as there is the part about letting your programmers do their job to the best of their ability. That seems pretty big.

-

The Hidden Benefit of Giving Back to Open Source Software (Working Knowledge)

+

The Hidden Benefit of Giving Back to Open Source Software (Working Knowledge)

Perhaps this is too dismissive, as there is the part about letting your programmers do their job to the best of their ability. That seems pretty big.

diff --git a/test/expected/SEPT_SUR_SEPT/0002919270 b/test/expected/SEPT_SUR_SEPT/0002919270 index 241f376..39c88b0 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919270 +++ b/test/expected/SEPT_SUR_SEPT/0002919270 @@ -2,6 +2,7 @@ [People] 26-09-2018 13:27 + o Reference: 0002919270 o News link: http://s.7s7.be/3479962 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919270.header.html b/test/expected/SEPT_SUR_SEPT/0002919270.header.html index 2c8e7c5..1a3126c 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919270.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919270.header.html @@ -9,7 +9,7 @@
-

Surpris avec une autre femme, Shia LaBeouf demande le divorce

+

Surpris avec une autre femme, Shia LaBeouf demande le divorce

([People] 26-09-2018 13:27)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919270.html b/test/expected/SEPT_SUR_SEPT/0002919270.html index ac80e67..e497589 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919270.html +++ b/test/expected/SEPT_SUR_SEPT/0002919270.html @@ -9,10 +9,11 @@
-

Surpris avec une autre femme, Shia LaBeouf demande le divorce

+

Surpris avec une autre femme, Shia LaBeouf demande le divorce

([People] 26-09-2018 13:27)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919272 b/test/expected/SEPT_SUR_SEPT/0002919272 index 3f86a6c..a17b511 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919272 +++ b/test/expected/SEPT_SUR_SEPT/0002919272 @@ -2,6 +2,7 @@ [Espèces Menacées] 26-09-2018 13:15 + o Reference: 0002919272 o News link: http://s.7s7.be/3479964 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919272.header.html b/test/expected/SEPT_SUR_SEPT/0002919272.header.html index 1f75d49..4d87e60 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919272.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919272.header.html @@ -9,7 +9,7 @@
-

Un béluga aperçu dans la Tamise, à 50km de Londres

+

Un béluga aperçu dans la Tamise, à 50km de Londres

([Espèces Menacées] 26-09-2018 13:15)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919272.html b/test/expected/SEPT_SUR_SEPT/0002919272.html index 019549b..c9f5691 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919272.html +++ b/test/expected/SEPT_SUR_SEPT/0002919272.html @@ -9,16 +9,17 @@
-

Un béluga aperçu dans la Tamise, à 50km de Londres

+

Un béluga aperçu dans la Tamise, à 50km de Londres

([Espèces Menacées] 26-09-2018 13:15)


- Par: rédaction

26/09/18 - 13h15 Source: Belga

[1]'Lost' beluga whale seen in Thames estuary

vidéo Un béluga, cétacé habituellement observé dans l'océan Arctique, a été aperçu dans la Tamise, provoquant l'inquiétude des défenseurs de l'environnement qui ont mis en place mercredi une opération du surveillance pour lui venir en aide.

© reuters.

© reuters.

'Benny' the beluga whale seen from the air as [2]@ORCA_web explains the potential risks it faces while stranded in Thames [3]https://t.co/fSTu5PEFvL [4]pic.twitter.com/HRP2cYarqO — BBC News (UK) (@BBCNews) [5]26 septembre 2018

A beluga whale that swam up the Thames will be left alone in the hope that it will find its way back to the Arctic, experts said yesterday [6]https://t.co/MmWCRTshZY [7]pic.twitter.com/28yS3AaGS3 — The Times of London (@thetimes) [8]26 septembre 2018

L'animal a été repéré mardi à proximité de Gravesend, dans le Kent (sud-est de l'Angleterre). Il fait l'objet d'une surveillance de la Société pour la préservation des baleines et des dauphins (WDC), une ONG britannique qui milite pour leur protection, et craint qu'il ne vienne s'échouer sur les rivages du fleuve.

"Il est évidemment perdu"



"Il est évidemment perdu, et a très probablement besoin d'aide", a affirmé Danny Groves, porte-parole du WDC, cité par l'agence PA. "Évidemment, plus il restera longtemps dans la Tamise, et plus l'inquiétude sera grande", a souligné Rob Lott, spécialiste des mammifères marins au sein de la WDC, sur la BBC.

Très loin des mers glacées



Les bélugas, qui peuvent atteindre une taille de 6 mètres, évoluent généralement dans les eaux glacées autour du Groenland et au nord de la Norvège et de la Russie. Espèce sociable, ils se déplacent en banc, rendant la découverte d'un individu isolé loin de son habitat naturel d'autant plus "préoccupante", selon Rob Lott. "Nous espérons que son instinct va lui permettre de quitter le fleuve et de repartir vers la mer du Nord, puis encore plus au nord", a-t-il dit.

Évaluation de la situation



L'organisation des Plongeurs britanniques pour la sauvegarde des espèces marines (British Divers Marine Life Rescue) a annoncé qu'elle envoyait sur place l'un de ses membres pour évaluer la situation. Elle dispose de pontons qui peuvent être utilisés pour remettre à l'eau des animaux échoués.

"Évènement rare"



Un porte-parole de l'organisation a souligné que l'apparition d'un tel animal dans la Tamise était un évènement "rare", et a appelé le public à l'observer seulement depuis la rive, sans essayer de s'en approcher en bateau.

Précédents



En 2015, deux bélugas avaient déjà été observés au large du comté de Northumberland, au nord de l'Angleterre, tandis qu'un autre avait été aperçu près des côtes d'Irlande du Nord. En 2006, une baleine était décédée après avoir remonté la Tamise jusqu'à Londres, malgré les efforts déployés pour tenter de la sauver.



[1] https://www.youtube.com/watch?time_continue=4&v=ir6KWf3OoeE

[2] https://twitter.com/ORCA_web?ref_src=twsrc%5Etfw

[3] https://t.co/fSTu5PEFvL

[4] https://t.co/HRP2cYarqO

[5] https://twitter.com/BBCNews/status/1044905509432647680?ref_src=twsrc%5Etfw

[6] https://t.co/MmWCRTshZY

[7] https://t.co/28yS3AaGS3

[8] https://twitter.com/thetimes/status/1044844301912551424?ref_src=twsrc%5Etfw + Par: rédaction

26/09/18 - 13h15 Source: Belga

[1]'Lost' beluga whale seen in Thames estuary

vidéo Un béluga, cétacé habituellement observé dans l'océan Arctique, a été aperçu dans la Tamise, provoquant l'inquiétude des défenseurs de l'environnement qui ont mis en place mercredi une opération du surveillance pour lui venir en aide.

© reuters.

© reuters.

'Benny' the beluga whale seen from the air as [2]@ORCA_web explains the potential risks it faces while stranded in Thames [3]https://t.co/fSTu5PEFvL [4]pic.twitter.com/HRP2cYarqO — BBC News (UK) (@BBCNews) [5]26 septembre 2018

A beluga whale that swam up the Thames will be left alone in the hope that it will find its way back to the Arctic, experts said yesterday [6]https://t.co/MmWCRTshZY [7]pic.twitter.com/28yS3AaGS3 — The Times of London (@thetimes) [8]26 septembre 2018

L'animal a été repéré mardi à proximité de Gravesend, dans le Kent (sud-est de l'Angleterre). Il fait l'objet d'une surveillance de la Société pour la préservation des baleines et des dauphins (WDC), une ONG britannique qui milite pour leur protection, et craint qu'il ne vienne s'échouer sur les rivages du fleuve.

"Il est évidemment perdu"



"Il est évidemment perdu, et a très probablement besoin d'aide", a affirmé Danny Groves, porte-parole du WDC, cité par l'agence PA. "Évidemment, plus il restera longtemps dans la Tamise, et plus l'inquiétude sera grande", a souligné Rob Lott, spécialiste des mammifères marins au sein de la WDC, sur la BBC.

Très loin des mers glacées



Les bélugas, qui peuvent atteindre une taille de 6 mètres, évoluent généralement dans les eaux glacées autour du Groenland et au nord de la Norvège et de la Russie. Espèce sociable, ils se déplacent en banc, rendant la découverte d'un individu isolé loin de son habitat naturel d'autant plus "préoccupante", selon Rob Lott. "Nous espérons que son instinct va lui permettre de quitter le fleuve et de repartir vers la mer du Nord, puis encore plus au nord", a-t-il dit.

Évaluation de la situation



L'organisation des Plongeurs britanniques pour la sauvegarde des espèces marines (British Divers Marine Life Rescue) a annoncé qu'elle envoyait sur place l'un de ses membres pour évaluer la situation. Elle dispose de pontons qui peuvent être utilisés pour remettre à l'eau des animaux échoués.

"Évènement rare"



Un porte-parole de l'organisation a souligné que l'apparition d'un tel animal dans la Tamise était un évènement "rare", et a appelé le public à l'observer seulement depuis la rive, sans essayer de s'en approcher en bateau.

Précédents



En 2015, deux bélugas avaient déjà été observés au large du comté de Northumberland, au nord de l'Angleterre, tandis qu'un autre avait été aperçu près des côtes d'Irlande du Nord. En 2006, une baleine était décédée après avoir remonté la Tamise jusqu'à Londres, malgré les efforts déployés pour tenter de la sauver.



[1] https://www.youtube.com/watch?time_continue=4&v=ir6KWf3OoeE

[2] https://twitter.com/ORCA_web?ref_src=twsrc%5Etfw

[3] https://t.co/fSTu5PEFvL

[4] https://t.co/HRP2cYarqO

[5] https://twitter.com/BBCNews/status/1044905509432647680?ref_src=twsrc%5Etfw

[6] https://t.co/MmWCRTshZY

[7] https://t.co/28yS3AaGS3

[8] https://twitter.com/thetimes/status/1044844301912551424?ref_src=twsrc%5Etfw

diff --git a/test/expected/SEPT_SUR_SEPT/0002919283 b/test/expected/SEPT_SUR_SEPT/0002919283 index 63ee924..dfb297f 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919283 +++ b/test/expected/SEPT_SUR_SEPT/0002919283 @@ -2,6 +2,7 @@ [Bruxelles] 26-09-2018 12:56 + o Reference: 0002919283 o News link: http://s.7s7.be/3479943 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919283.header.html b/test/expected/SEPT_SUR_SEPT/0002919283.header.html index d6d1e84..3686f8e 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919283.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919283.header.html @@ -9,7 +9,7 @@
-

Peine réduite pour la mère condamnée pour triple infanticide?

+

Peine réduite pour la mère condamnée pour triple infanticide?

([Bruxelles] 26-09-2018 12:56)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919283.html b/test/expected/SEPT_SUR_SEPT/0002919283.html index 08cc1ca..b2de3ff 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919283.html +++ b/test/expected/SEPT_SUR_SEPT/0002919283.html @@ -9,10 +9,11 @@
-

Peine réduite pour la mère condamnée pour triple infanticide?

+

Peine réduite pour la mère condamnée pour triple infanticide?

([Bruxelles] 26-09-2018 12:56)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919289 b/test/expected/SEPT_SUR_SEPT/0002919289 index 7965745..431b10a 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919289 +++ b/test/expected/SEPT_SUR_SEPT/0002919289 @@ -2,6 +2,7 @@ [Football Etranger] 26-09-2018 14:46 + o Reference: 0002919289 o News link: http://s.7s7.be/3479949 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919289.header.html b/test/expected/SEPT_SUR_SEPT/0002919289.header.html index d714547..c6a92f8 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919289.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919289.header.html @@ -9,7 +9,7 @@
-

Les retrouvailles glaciales entre Pogba et Mourinho

+

Les retrouvailles glaciales entre Pogba et Mourinho

([Football Etranger] 26-09-2018 14:46)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919289.html b/test/expected/SEPT_SUR_SEPT/0002919289.html index 38bd8dd..6166f12 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919289.html +++ b/test/expected/SEPT_SUR_SEPT/0002919289.html @@ -9,10 +9,11 @@
-

Les retrouvailles glaciales entre Pogba et Mourinho

+

Les retrouvailles glaciales entre Pogba et Mourinho

([Football Etranger] 26-09-2018 14:46)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919291 b/test/expected/SEPT_SUR_SEPT/0002919291 index b520c4d..32b24ac 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919291 +++ b/test/expected/SEPT_SUR_SEPT/0002919291 @@ -2,6 +2,7 @@ [Monde] 26-09-2018 14:51 + o Reference: 0002919291 o News link: http://s.7s7.be/3479951 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919291.header.html b/test/expected/SEPT_SUR_SEPT/0002919291.header.html index deeab4f..47af326 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919291.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919291.header.html @@ -9,7 +9,7 @@
-

Un vagabond soupçonné d%27un double meurtre à la hache en France

+

Un vagabond soupçonné d%27un double meurtre à la hache en France

([Monde] 26-09-2018 14:51)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919291.html b/test/expected/SEPT_SUR_SEPT/0002919291.html index b1984ee..181ff0b 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919291.html +++ b/test/expected/SEPT_SUR_SEPT/0002919291.html @@ -9,16 +9,17 @@
-

Un vagabond soupçonné d%27un double meurtre à la hache en France

+

Un vagabond soupçonné d%27un double meurtre à la hache en France

([Monde] 26-09-2018 14:51)


- Par: rédaction

26/09/18 - 14h51 Source: Belga

Le suspect du double meurtre de Saint-Marcel-lès-Sauzet confondu par son ADN. Il s'agit bien du SDF vu à plusieurs reprises poussant un chariot de supermarché [1]https://t.co/Gm8eBxtvGN [2]#Drôme [3]pic.twitter.com/fpBPaWSmOV — France Bleu Drôme Ardèche (@francebleuDA) [4]26 septembre 2018

Un vagabond espagnol, soupçonné d'un double meurtre perpétré en juin dans le sud de la France, a été inculpé et écroué, a-t-on appris mercredi de source judiciaire.

Le 19 juin, les corps de deux retraités (une veuve de 84 ans et un ami de 68 ans) étaient retrouvés par une femme de ménage dans une ferme isolée de Saint-Marcel-lès-Sauzet, une localité de 1.200 habitants au nord de Montélimar (sud de la France).

Plusieurs coups de hache



Le corps de la propriétaire était dissimulé sous une couverture au rez-de-chaussée, avec des plaies au couteau et une autre très importante au visage due à un ou plusieurs coups de hache, a déclaré le procureur de la République de Valence (sud), Alex Perrin, au cours d'une conférence de presse mercredi. L'homme, caché notamment sous une couverture et un transat, présentait, quant à lui, des blessures faites à la hache.

Vagabond espagnol



L'enquête a permis de remonter à un vagabond âgé d'une soixantaine d'années et condamné à plusieurs reprises notamment pour vol en Espagne. L'homme, qui occupait un bâtiment désaffecté de Montélimar, a été interpellé et écroué.

ADN retrouvé



Selon le procureur, l'ADN du vagabond - ainsi que celui des deux victimes - a été retrouvé sur un tesson de bouteille et une hache, laquelle était cachée sous des feuilles dans une remise contiguë à la maison. Les éléments recueillis "permettent d'être catégorique entre ces faits et cet auteur unique", a assuré le procureur. Le suspect, qui conteste les faits, a été mis en examen (inculpé) pour meurtres et pourrait l'être pour vol prochainement si ce mobile se confirmait.

"Quelqu'un de très violent"



Reste à expliquer le déchaînement de violences. "On sait que c'est quelqu'un de violent", qui reste "très alerte", un "marcheur, capable de faire plusieurs dizaines de kilomètres par jour" avec son charriot, a répondu le procureur qui évoque des condamnations lourdes en Espagne que la justice française est en train de vérifier. "Il y a là une chronologie qu'on devra retrouver. On ne sait pas pourquoi il y a un eu ce passage à l'acte extrêmement violent(...)", a ajouté le procureur.



[1] https://t.co/Gm8eBxtvGN

[2] https://twitter.com/hashtag/Dr%C3%B4me?src=hash&ref_src=twsrc%5Etfw

[3] https://t.co/fpBPaWSmOV

[4] https://twitter.com/francebleuDA/status/1044879622926729221?ref_src=twsrc%5Etfw + Par: rédaction

26/09/18 - 14h51 Source: Belga

Le suspect du double meurtre de Saint-Marcel-lès-Sauzet confondu par son ADN. Il s'agit bien du SDF vu à plusieurs reprises poussant un chariot de supermarché [1]https://t.co/Gm8eBxtvGN [2]#Drôme [3]pic.twitter.com/fpBPaWSmOV — France Bleu Drôme Ardèche (@francebleuDA) [4]26 septembre 2018

Un vagabond espagnol, soupçonné d'un double meurtre perpétré en juin dans le sud de la France, a été inculpé et écroué, a-t-on appris mercredi de source judiciaire.

Le 19 juin, les corps de deux retraités (une veuve de 84 ans et un ami de 68 ans) étaient retrouvés par une femme de ménage dans une ferme isolée de Saint-Marcel-lès-Sauzet, une localité de 1.200 habitants au nord de Montélimar (sud de la France).

Plusieurs coups de hache



Le corps de la propriétaire était dissimulé sous une couverture au rez-de-chaussée, avec des plaies au couteau et une autre très importante au visage due à un ou plusieurs coups de hache, a déclaré le procureur de la République de Valence (sud), Alex Perrin, au cours d'une conférence de presse mercredi. L'homme, caché notamment sous une couverture et un transat, présentait, quant à lui, des blessures faites à la hache.

Vagabond espagnol



L'enquête a permis de remonter à un vagabond âgé d'une soixantaine d'années et condamné à plusieurs reprises notamment pour vol en Espagne. L'homme, qui occupait un bâtiment désaffecté de Montélimar, a été interpellé et écroué.

ADN retrouvé



Selon le procureur, l'ADN du vagabond - ainsi que celui des deux victimes - a été retrouvé sur un tesson de bouteille et une hache, laquelle était cachée sous des feuilles dans une remise contiguë à la maison. Les éléments recueillis "permettent d'être catégorique entre ces faits et cet auteur unique", a assuré le procureur. Le suspect, qui conteste les faits, a été mis en examen (inculpé) pour meurtres et pourrait l'être pour vol prochainement si ce mobile se confirmait.

"Quelqu'un de très violent"



Reste à expliquer le déchaînement de violences. "On sait que c'est quelqu'un de violent", qui reste "très alerte", un "marcheur, capable de faire plusieurs dizaines de kilomètres par jour" avec son charriot, a répondu le procureur qui évoque des condamnations lourdes en Espagne que la justice française est en train de vérifier. "Il y a là une chronologie qu'on devra retrouver. On ne sait pas pourquoi il y a un eu ce passage à l'acte extrêmement violent(...)", a ajouté le procureur.



[1] https://t.co/Gm8eBxtvGN

[2] https://twitter.com/hashtag/Dr%C3%B4me?src=hash&ref_src=twsrc%5Etfw

[3] https://t.co/fpBPaWSmOV

[4] https://twitter.com/francebleuDA/status/1044879622926729221?ref_src=twsrc%5Etfw

diff --git a/test/expected/SEPT_SUR_SEPT/0002919293 b/test/expected/SEPT_SUR_SEPT/0002919293 index df999cb..ae9b409 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919293 +++ b/test/expected/SEPT_SUR_SEPT/0002919293 @@ -2,6 +2,7 @@ [Elections 2018] 26-09-2018 15:50 + o Reference: 0002919293 o News link: http://s.7s7.be/3479993 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919293.header.html b/test/expected/SEPT_SUR_SEPT/0002919293.header.html index 13258cd..6384efe 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919293.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919293.header.html @@ -9,7 +9,7 @@
-

"18 Temps": le slam étonnant d%27André Flahaut

+

"18 Temps": le slam étonnant d%27André Flahaut

([Elections 2018] 26-09-2018 15:50)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919293.html b/test/expected/SEPT_SUR_SEPT/0002919293.html index 6031c9b..7798a50 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919293.html +++ b/test/expected/SEPT_SUR_SEPT/0002919293.html @@ -9,16 +9,17 @@
-

"18 Temps": le slam étonnant d%27André Flahaut

+

"18 Temps": le slam étonnant d%27André Flahaut

([Elections 2018] 26-09-2018 15:50)


- Maxime Czupryk

26/09/18 - 15h50

Heureux de vous faire partager un [1]#slam [2]#citoyen et engagé . Je le dédie aux jeunes (d'abord) et aux moins jeunes (aussi). [3]#Voter : un [4]#droit , un [5]#devoir et une occasion de faire entendre sa [6]#voix [7]https://t.co/mjODyj8blI [8]pic.twitter.com/msDDZb8ifh — André Flahaut (@andreflahaut) [9]26 septembre 2018

vidéo "18 temps", un "slam citoyen et engagé" dédié "aux jeunes (d'abord) et aux moins jeunes (aussi)", écrit André Flahaut en guise de présentation.

André Flahaut avait surpris tout son monde en juin en annonçant qu'il poussera la liste socialiste pour les élections communales à Nivelles au lieu de la tirer. Aujourd'hui, le Brabançon étonne à nouveau en délivrant un message un peu particulier aux jeunes électeurs nivellois.

De l'importance d'aller voter



Le ministre francophone du Budget et de la Fonction publique a publié ce mercredi sur les réseaux sociaux une capsule vidéo dans laquelle il insiste, entre autres, sur l'importance de voter. Mais plus que le message, louable, c'est la façon plutôt originale de le transmettre qui détonne: un slam.

Devant le lac du Bois des Rêves, André Flahaut pose calmement son flow et balance ses conseils tout en rimes aux électeurs fraîchement majeurs et donc en âge d'aller voter.

"18 temps", un "slam citoyen et engagé" dédié "aux jeunes (d'abord) et aux moins jeunes (aussi)", écrit André Flahaut en guise de présentation.



[1] https://twitter.com/hashtag/slam?src=hash&ref_src=twsrc%5Etfw

[2] https://twitter.com/hashtag/citoyen?src=hash&ref_src=twsrc%5Etfw

[3] https://twitter.com/hashtag/Voter?src=hash&ref_src=twsrc%5Etfw

[4] https://twitter.com/hashtag/droit?src=hash&ref_src=twsrc%5Etfw

[5] https://twitter.com/hashtag/devoir?src=hash&ref_src=twsrc%5Etfw

[6] https://twitter.com/hashtag/voix?src=hash&ref_src=twsrc%5Etfw

[7] https://t.co/mjODyj8blI

[8] https://t.co/msDDZb8ifh

[9] https://twitter.com/andreflahaut/status/1044880810082529280?ref_src=twsrc%5Etfw + Maxime Czupryk

26/09/18 - 15h50

Heureux de vous faire partager un [1]#slam [2]#citoyen et engagé . Je le dédie aux jeunes (d'abord) et aux moins jeunes (aussi). [3]#Voter : un [4]#droit , un [5]#devoir et une occasion de faire entendre sa [6]#voix [7]https://t.co/mjODyj8blI [8]pic.twitter.com/msDDZb8ifh — André Flahaut (@andreflahaut) [9]26 septembre 2018

vidéo "18 temps", un "slam citoyen et engagé" dédié "aux jeunes (d'abord) et aux moins jeunes (aussi)", écrit André Flahaut en guise de présentation.

André Flahaut avait surpris tout son monde en juin en annonçant qu'il poussera la liste socialiste pour les élections communales à Nivelles au lieu de la tirer. Aujourd'hui, le Brabançon étonne à nouveau en délivrant un message un peu particulier aux jeunes électeurs nivellois.

De l'importance d'aller voter



Le ministre francophone du Budget et de la Fonction publique a publié ce mercredi sur les réseaux sociaux une capsule vidéo dans laquelle il insiste, entre autres, sur l'importance de voter. Mais plus que le message, louable, c'est la façon plutôt originale de le transmettre qui détonne: un slam.

Devant le lac du Bois des Rêves, André Flahaut pose calmement son flow et balance ses conseils tout en rimes aux électeurs fraîchement majeurs et donc en âge d'aller voter.

"18 temps", un "slam citoyen et engagé" dédié "aux jeunes (d'abord) et aux moins jeunes (aussi)", écrit André Flahaut en guise de présentation.



[1] https://twitter.com/hashtag/slam?src=hash&ref_src=twsrc%5Etfw

[2] https://twitter.com/hashtag/citoyen?src=hash&ref_src=twsrc%5Etfw

[3] https://twitter.com/hashtag/Voter?src=hash&ref_src=twsrc%5Etfw

[4] https://twitter.com/hashtag/droit?src=hash&ref_src=twsrc%5Etfw

[5] https://twitter.com/hashtag/devoir?src=hash&ref_src=twsrc%5Etfw

[6] https://twitter.com/hashtag/voix?src=hash&ref_src=twsrc%5Etfw

[7] https://t.co/mjODyj8blI

[8] https://t.co/msDDZb8ifh

[9] https://twitter.com/andreflahaut/status/1044880810082529280?ref_src=twsrc%5Etfw

diff --git a/test/expected/SEPT_SUR_SEPT/0002919294 b/test/expected/SEPT_SUR_SEPT/0002919294 index 2ff5961..9e7e278 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919294 +++ b/test/expected/SEPT_SUR_SEPT/0002919294 @@ -3,6 +3,7 @@ [Monde] 26-09-2018 15:24 + o Reference: 0002919294 o News link: http://s.7s7.be/3479994 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919294.header.html b/test/expected/SEPT_SUR_SEPT/0002919294.header.html index d82bfcb..0442970 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919294.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919294.header.html @@ -9,7 +9,7 @@
-

150 personnalités de France lancent un "manifeste pour l%27accueil des migrants"

+

150 personnalités de France lancent un "manifeste pour l%27accueil des migrants"

([Monde] 26-09-2018 15:24)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919294.html b/test/expected/SEPT_SUR_SEPT/0002919294.html index a016e4c..c5bef03 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919294.html +++ b/test/expected/SEPT_SUR_SEPT/0002919294.html @@ -9,16 +9,17 @@
-

150 personnalités de France lancent un "manifeste pour l%27accueil des migrants"

+

150 personnalités de France lancent un "manifeste pour l%27accueil des migrants"

([Monde] 26-09-2018 15:24)


- Par: rédaction

26/09/18 - 15h24 Source: Belga

[1]Manifeste pour l'accueil des migrants : "Accueillir les migrants, c'est se défendre nous-mêmes"

vidéo Quelque 150 personnalités, intellectuels ou artistes en France ont lancé mercredi un "manifeste pour l'accueil des migrants" refusant toute "concession" aux idées de l'extrême droite, alors que l'Europe se déchire sur la question de l'accueil.

"Le temps des boucs émissaires est de retour", [2]déplore ce texte lancé par les médias Regards, Politis et Médiapart au lendemain d'un nouveau psychodrame européen pour trouver un port de débarquement au navire humanitaire L'Aquarius et à ses 58 migrants. Le bateau accostera finalement à Malte avant une répartition entre quatre pays européens.

Ecrivains, humoristes, actrices, économistes...



Le texte, signé notamment des écrivains Annie Ernaux et Patrick Chamoiseau, des humoristes Yassine Belattar et Guillaume Meurice, des actrices Romane Bohringer et Josiane Balasko, du militant associatif Cédric Herrou, de l'économiste Thomas Piketty, avait aussi recueilli plus de 3.000 signatures en ligne sur le site change.org en milieu de journée.

Flux migratoires



"Il est illusoire de penser que l'on va pouvoir contenir et a fortiori interrompre les flux migratoires. À vouloir le faire, on finit toujours par être contraint au pire", avertissent les signataires, qui lancent un plaidoyer pour la liberté de circulation.

"Les migrations s'étendront"



"Dans les décennies qui viennent, les migrations s'étendront, volontaires ou contraintes" et "les réfugiés poussés par les guerres et les catastrophes climatiques seront plus nombreux", affirment le texte, qui s'interroge: "que va-t-on faire? Continuer de fermer les frontières et laisser les plus pauvres accueillir les très pauvres? C'est indigne moralement et stupide rationnellement".

"Fonds de commerce de l'extrême droite"



"Nous ne composerons pas avec le fonds de commerce de l'extrême droite", ajoutent les signataires, pour qui "il ne faut faire aucune concession à ces idées, que l'extrême droite a imposées, que la droite a trop souvent ralliées et qui tentent même une partie de la gauche".

"Compétitivité, précarité"



"Ce n'est pas la main d'oeuvre immigrée qui pèse sur la masse salariale, mais la règle de plus en plus universelle de la compétitivité, de la rentabilité, de la précarité", ajoutent-ils.

© epa.



[1] https://www.youtube.com/watch?v=6iOoC674YwM

[2] http://www.regards.fr/politique/article/150-personnalites-signent-le-manifeste-pour-l-accueil-des-migrants + Par: rédaction

26/09/18 - 15h24 Source: Belga

[1]Manifeste pour l'accueil des migrants : "Accueillir les migrants, c'est se défendre nous-mêmes"

vidéo Quelque 150 personnalités, intellectuels ou artistes en France ont lancé mercredi un "manifeste pour l'accueil des migrants" refusant toute "concession" aux idées de l'extrême droite, alors que l'Europe se déchire sur la question de l'accueil.

"Le temps des boucs émissaires est de retour", [2]déplore ce texte lancé par les médias Regards, Politis et Médiapart au lendemain d'un nouveau psychodrame européen pour trouver un port de débarquement au navire humanitaire L'Aquarius et à ses 58 migrants. Le bateau accostera finalement à Malte avant une répartition entre quatre pays européens.

Ecrivains, humoristes, actrices, économistes...



Le texte, signé notamment des écrivains Annie Ernaux et Patrick Chamoiseau, des humoristes Yassine Belattar et Guillaume Meurice, des actrices Romane Bohringer et Josiane Balasko, du militant associatif Cédric Herrou, de l'économiste Thomas Piketty, avait aussi recueilli plus de 3.000 signatures en ligne sur le site change.org en milieu de journée.

Flux migratoires



"Il est illusoire de penser que l'on va pouvoir contenir et a fortiori interrompre les flux migratoires. À vouloir le faire, on finit toujours par être contraint au pire", avertissent les signataires, qui lancent un plaidoyer pour la liberté de circulation.

"Les migrations s'étendront"



"Dans les décennies qui viennent, les migrations s'étendront, volontaires ou contraintes" et "les réfugiés poussés par les guerres et les catastrophes climatiques seront plus nombreux", affirment le texte, qui s'interroge: "que va-t-on faire? Continuer de fermer les frontières et laisser les plus pauvres accueillir les très pauvres? C'est indigne moralement et stupide rationnellement".

"Fonds de commerce de l'extrême droite"



"Nous ne composerons pas avec le fonds de commerce de l'extrême droite", ajoutent les signataires, pour qui "il ne faut faire aucune concession à ces idées, que l'extrême droite a imposées, que la droite a trop souvent ralliées et qui tentent même une partie de la gauche".

"Compétitivité, précarité"



"Ce n'est pas la main d'oeuvre immigrée qui pèse sur la masse salariale, mais la règle de plus en plus universelle de la compétitivité, de la rentabilité, de la précarité", ajoutent-ils.

© epa.



[1] https://www.youtube.com/watch?v=6iOoC674YwM

[2] http://www.regards.fr/politique/article/150-personnalites-signent-le-manifeste-pour-l-accueil-des-migrants

diff --git a/test/expected/SEPT_SUR_SEPT/0002919295 b/test/expected/SEPT_SUR_SEPT/0002919295 index 1063c3e..6633481 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919295 +++ b/test/expected/SEPT_SUR_SEPT/0002919295 @@ -2,6 +2,7 @@ [Santé] 26-09-2018 15:49 + o Reference: 0002919295 o News link: http://s.7s7.be/3479995 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919295.header.html b/test/expected/SEPT_SUR_SEPT/0002919295.header.html index c6b8920..a93da09 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919295.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919295.header.html @@ -9,7 +9,7 @@
-

Comment soulager le mal de dos au bureau?

+

Comment soulager le mal de dos au bureau?

([Santé] 26-09-2018 15:49)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919295.html b/test/expected/SEPT_SUR_SEPT/0002919295.html index 46408f1..2fe78e9 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919295.html +++ b/test/expected/SEPT_SUR_SEPT/0002919295.html @@ -9,16 +9,17 @@
-

Comment soulager le mal de dos au bureau?

+

Comment soulager le mal de dos au bureau?

([Santé] 26-09-2018 15:49)


- Par: rédaction

26/09/18 - 15h49 Source: Well and Good © photo news.

vidéo Mary Ochsner, professeur de yoga, a partagé quatre positions efficaces à réaliser au bureau pour soulager le mal de dos.

On le sait déjà: pour éviter le mal de dos au bureau, il est essentiel d'adopter une bonne position devant l'ordinateur et de se dégourdir les jambes toutes les heures. Mais lorsqu'il est trop tard, et que les douleurs se sont déjà installées, vous pouvez réaliser quelques petites postures de yoga pour vous soulager, le tout sans quitter votre chaise.

Mary Ochsner, professeur de yoga, a partagé ses exercices favoris avec le site Well and Good. "Nous passons la majeure partie de notre temps la tête penchée sur notre bureau, sur le volant de notre voiture et sur notre smartphone. La prochaine fois que vous resterez assis trop longtemps, essayez ces exercices. Ils vous aideront à lutter contre le mal de dos et à améliorer votre posture".

]

[1]Uhhh guilty!! ‍♀️ Most of us spend majority of our days slouched at our desk, hunched over the steering wheel of our car, or leaning over our phones. 〰️ Here are some poses that can help counter the slouch & improve posture (yay!) 〰️ EAGLE ARMS: My favorite shoulder stretch! Cross your arms the best you can. Lift the elbows up to align with your shoulders and keep your hands reaching away from your face for an extra stretch. 〰️ CLASP HANDS BEHIND BACK: This simple pose opens the shoulders and chest. Remember to squeeze your shoulders onto your back and keep the neck long. 〰️ SEATED CAT & COW POSE: An office appropriate version of this pose that can easily be done at your desk. Move slowly & breathe in each pose. 〰️ COW FACE ARMS: Why do they call it that? I don't know ‍♀️ But this is one hell of a shoulder stretch. Most people are better at one side or the other and it's totally okay if your hands don't touch. 〰️ Next time you're at your desk for too long, try these poses for a great stretch . . . . @yoga @yoga.day.every @yoga.tutorials @yoga.vids @yogafeature @yogainspiration @yogastrike @inflexibleyogis @bestyoga @best.yoga.people @yogagoals @thebeginnersguidetoyoga . . #officeyoga #deskyoga #yogafit #yogaflow #yogagoals #inflexibleyogis #beginneryoga #yogaforall #yogafeature #yogaforbeginners #yogaforeveryone #yogaforlife #healthylifestyle #yogainspiration #yogadaily #practicedaily #practicepracticepractice #yogateacher #yogatutorial #yogainstructor #yogainspo #doyouyoga #yogavideo #yogafitness #healthyliving #howtoyoga #yogachallenge

1,826 Likes, 204 Comments - Mary Ochsner | Yoga (@maryochsner) on Instagram: "Uhhh guilty!! ‍♀️ Most of us spend majority of our days slouched at our desk, hunched over the..."

La posture de l'aigle



Assis sur une chaise, levez les bras devant vous et pliez les avant-bras, doigts pointent vers le haut. Passez le bras gauche par-dessus le droit et enroulez le bras de façon à ce que les paumes de vos mains viennent s'appuyer l'une contre l'autre, pouces vers vous. Reprenez ensuite l'exercice en passant le bras droit autour du bras gauche.

Les mains dans le dos



"Cette pose très simple ouvre les épaules et la poitrine. N'oubliez pas de serrer les épaules contre votre dos et de garder la nuque tendue", explique Mary Ochsner.

La posture du chat et de la vache



Soufflez et contractez les abdominaux pour cambrer la colonne vertébrale tout en rapprochant la tête vers votre corps. Ensuite, inspirez en étirant la colonne et en regardant vers le haut.

La posture de la tête de vache



Cette posture est idéale pour étirer les bras et le dos. "La plupart des gens y arrivent mieux d'un côté que de l'autre. Ne vous inquiétez pas si vos mains ne se touchent pas".



[1] https://www.instagram.com/p/BlI3NV9jWjU/?utm_source=ig_embed&utm_campaign=embed_video_watch_again + Par: rédaction

26/09/18 - 15h49 Source: Well and Good © photo news.

vidéo Mary Ochsner, professeur de yoga, a partagé quatre positions efficaces à réaliser au bureau pour soulager le mal de dos.

On le sait déjà: pour éviter le mal de dos au bureau, il est essentiel d'adopter une bonne position devant l'ordinateur et de se dégourdir les jambes toutes les heures. Mais lorsqu'il est trop tard, et que les douleurs se sont déjà installées, vous pouvez réaliser quelques petites postures de yoga pour vous soulager, le tout sans quitter votre chaise.

Mary Ochsner, professeur de yoga, a partagé ses exercices favoris avec le site Well and Good. "Nous passons la majeure partie de notre temps la tête penchée sur notre bureau, sur le volant de notre voiture et sur notre smartphone. La prochaine fois que vous resterez assis trop longtemps, essayez ces exercices. Ils vous aideront à lutter contre le mal de dos et à améliorer votre posture".

]

[1]Uhhh guilty!! ‍♀️ Most of us spend majority of our days slouched at our desk, hunched over the steering wheel of our car, or leaning over our phones. 〰️ Here are some poses that can help counter the slouch & improve posture (yay!) 〰️ EAGLE ARMS: My favorite shoulder stretch! Cross your arms the best you can. Lift the elbows up to align with your shoulders and keep your hands reaching away from your face for an extra stretch. 〰️ CLASP HANDS BEHIND BACK: This simple pose opens the shoulders and chest. Remember to squeeze your shoulders onto your back and keep the neck long. 〰️ SEATED CAT & COW POSE: An office appropriate version of this pose that can easily be done at your desk. Move slowly & breathe in each pose. 〰️ COW FACE ARMS: Why do they call it that? I don't know ‍♀️ But this is one hell of a shoulder stretch. Most people are better at one side or the other and it's totally okay if your hands don't touch. 〰️ Next time you're at your desk for too long, try these poses for a great stretch . . . . @yoga @yoga.day.every @yoga.tutorials @yoga.vids @yogafeature @yogainspiration @yogastrike @inflexibleyogis @bestyoga @best.yoga.people @yogagoals @thebeginnersguidetoyoga . . #officeyoga #deskyoga #yogafit #yogaflow #yogagoals #inflexibleyogis #beginneryoga #yogaforall #yogafeature #yogaforbeginners #yogaforeveryone #yogaforlife #healthylifestyle #yogainspiration #yogadaily #practicedaily #practicepracticepractice #yogateacher #yogatutorial #yogainstructor #yogainspo #doyouyoga #yogavideo #yogafitness #healthyliving #howtoyoga #yogachallenge

1,826 Likes, 204 Comments - Mary Ochsner | Yoga (@maryochsner) on Instagram: "Uhhh guilty!! ‍♀️ Most of us spend majority of our days slouched at our desk, hunched over the..."

La posture de l'aigle



Assis sur une chaise, levez les bras devant vous et pliez les avant-bras, doigts pointent vers le haut. Passez le bras gauche par-dessus le droit et enroulez le bras de façon à ce que les paumes de vos mains viennent s'appuyer l'une contre l'autre, pouces vers vous. Reprenez ensuite l'exercice en passant le bras droit autour du bras gauche.

Les mains dans le dos



"Cette pose très simple ouvre les épaules et la poitrine. N'oubliez pas de serrer les épaules contre votre dos et de garder la nuque tendue", explique Mary Ochsner.

La posture du chat et de la vache



Soufflez et contractez les abdominaux pour cambrer la colonne vertébrale tout en rapprochant la tête vers votre corps. Ensuite, inspirez en étirant la colonne et en regardant vers le haut.

La posture de la tête de vache



Cette posture est idéale pour étirer les bras et le dos. "La plupart des gens y arrivent mieux d'un côté que de l'autre. Ne vous inquiétez pas si vos mains ne se touchent pas".



[1] https://www.instagram.com/p/BlI3NV9jWjU/?utm_source=ig_embed&utm_campaign=embed_video_watch_again

diff --git a/test/expected/SEPT_SUR_SEPT/0002919296 b/test/expected/SEPT_SUR_SEPT/0002919296 index 888a531..0970fc1 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919296 +++ b/test/expected/SEPT_SUR_SEPT/0002919296 @@ -3,6 +3,7 @@ [Football Etranger] 26-09-2018 16:49 + o Reference: 0002919296 o News link: http://s.7s7.be/3479996 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919296.header.html b/test/expected/SEPT_SUR_SEPT/0002919296.header.html index 0c70485..1cfe5a0 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919296.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919296.header.html @@ -9,7 +9,7 @@
-

"Rien n%27a été convenu": Courtois évoque la concurrence avec Navas

+

"Rien n%27a été convenu": Courtois évoque la concurrence avec Navas

([Football Etranger] 26-09-2018 16:49)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919296.html b/test/expected/SEPT_SUR_SEPT/0002919296.html index ea82fa6..528d5df 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919296.html +++ b/test/expected/SEPT_SUR_SEPT/0002919296.html @@ -9,16 +9,17 @@
-

"Rien n%27a été convenu": Courtois évoque la concurrence avec Navas

+

"Rien n%27a été convenu": Courtois évoque la concurrence avec Navas

([Football Etranger] 26-09-2018 16:49)


- Par Mathéo Geslan

26/09/18 - 16h49 Source: VTM Nieuws Selon Thibaut Courtois, la concurrence avec Keylor Navas "est une situation de luxe" © afp.

Thibaut Courtois doit faire face à la féroce concurrence de Keylor Navas depuis son arrivée au Real Madrid. Comme l'a confirmé le Diable, Julen Lopetegui n'a pas établi une hiérarchie définitive entre les deux gardiens.

2018 est idyllique pour Courtois. En plus d'avoir été élu gardien de l'année suite à une Coupe du monde étincelante, le Diable a réalisé son rêve en rejoignant le Real Madrid. Mais en Espagne, l'ancien portier de Chelsea se retrouve en concurrence avec Keylor Navas, trois fois vainqueur de la Ligue des Champions sous le maillot blanc.

"Le coach prend ses décisions, rien n'a été convenu. Il n'y a pas de rotation fixée ou quelque chose comme ça. Je fais de mon mieux à l'entraînement pour montrer que je suis toujours prêt. Pour le coach et l'équipe, c'est bien sûr une situation de luxe. La compétition est toujours saine et cela ne me pose aucun problème", a affirmé Courtois à VTM Nieuws.

"Je veux gagner la Ligue des Champions et faire encore mieux en équipe nationale"



Malgré un temps de jeu parfois incomplet, le gardien des Diables ne regrette absolument pas son choix estival. Au sein de la Maison Blanche, il compte bien continuer de glaner des trophées. "Le prix FIFA a une belle place dans ma chambre, mais il y a tellement de choses que je veux gagner. Collectivement, je veux gagner la Ligue des Champions et je veux faire encore mieux avec l'équipe nationale. Mon désir de toujours décrocher des prix est loin d'être comblé", a-t-il poursuivi.

Présent en conférence de presse, l'entraîneur madrilène Julen Lopetegui a brièvement évoqué la concurrence à ce poste clé: "La gestion est très simple quand nous avons de bonnes solutions à disposition, avec des gardiens qui ont une attitude fantastique, que ce soit Keylor, Thibaut ou Kiko Casilla."

Depuis le début de saison, Lopetegui alterne entre ses deux éléments. Courtois a ainsi gardé à trois reprises les cages des Merengue, alors que Navas compte quatre titularisations, dont le choc en Ligue des Champions face à la Roma, et la Supercoupe d'Europe contre l'Atletico. + Par Mathéo Geslan

26/09/18 - 16h49 Source: VTM Nieuws Selon Thibaut Courtois, la concurrence avec Keylor Navas "est une situation de luxe" © afp.

Thibaut Courtois doit faire face à la féroce concurrence de Keylor Navas depuis son arrivée au Real Madrid. Comme l'a confirmé le Diable, Julen Lopetegui n'a pas établi une hiérarchie définitive entre les deux gardiens.

2018 est idyllique pour Courtois. En plus d'avoir été élu gardien de l'année suite à une Coupe du monde étincelante, le Diable a réalisé son rêve en rejoignant le Real Madrid. Mais en Espagne, l'ancien portier de Chelsea se retrouve en concurrence avec Keylor Navas, trois fois vainqueur de la Ligue des Champions sous le maillot blanc.

"Le coach prend ses décisions, rien n'a été convenu. Il n'y a pas de rotation fixée ou quelque chose comme ça. Je fais de mon mieux à l'entraînement pour montrer que je suis toujours prêt. Pour le coach et l'équipe, c'est bien sûr une situation de luxe. La compétition est toujours saine et cela ne me pose aucun problème", a affirmé Courtois à VTM Nieuws.

"Je veux gagner la Ligue des Champions et faire encore mieux en équipe nationale"



Malgré un temps de jeu parfois incomplet, le gardien des Diables ne regrette absolument pas son choix estival. Au sein de la Maison Blanche, il compte bien continuer de glaner des trophées. "Le prix FIFA a une belle place dans ma chambre, mais il y a tellement de choses que je veux gagner. Collectivement, je veux gagner la Ligue des Champions et je veux faire encore mieux avec l'équipe nationale. Mon désir de toujours décrocher des prix est loin d'être comblé", a-t-il poursuivi.

Présent en conférence de presse, l'entraîneur madrilène Julen Lopetegui a brièvement évoqué la concurrence à ce poste clé: "La gestion est très simple quand nous avons de bonnes solutions à disposition, avec des gardiens qui ont une attitude fantastique, que ce soit Keylor, Thibaut ou Kiko Casilla."

Depuis le début de saison, Lopetegui alterne entre ses deux éléments. Courtois a ainsi gardé à trois reprises les cages des Merengue, alors que Navas compte quatre titularisations, dont le choc en Ligue des Champions face à la Roma, et la Supercoupe d'Europe contre l'Atletico.

diff --git a/test/expected/SEPT_SUR_SEPT/0002919297 b/test/expected/SEPT_SUR_SEPT/0002919297 index d9cd896..cb0e717 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919297 +++ b/test/expected/SEPT_SUR_SEPT/0002919297 @@ -2,6 +2,7 @@ [Monde] 26-09-2018 14:37 + o Reference: 0002919297 o News link: http://s.7s7.be/3479969 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919297.header.html b/test/expected/SEPT_SUR_SEPT/0002919297.header.html index 86fc057..2f3df9f 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919297.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919297.header.html @@ -9,7 +9,7 @@
-

Procès du sous-marin danois: Peter Madsen condamné à perpétuité

+

Procès du sous-marin danois: Peter Madsen condamné à perpétuité

([Monde] 26-09-2018 14:37)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919297.html b/test/expected/SEPT_SUR_SEPT/0002919297.html index e4eb3d7..115a2a7 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919297.html +++ b/test/expected/SEPT_SUR_SEPT/0002919297.html @@ -9,16 +9,17 @@
-

Procès du sous-marin danois: Peter Madsen condamné à perpétuité

+

Procès du sous-marin danois: Peter Madsen condamné à perpétuité

([Monde] 26-09-2018 14:37)


- Par: rédaction

26/09/18 - 14h37 Source: Belga Peter Madsen et Kim Wall © EPA / AP.

MISE À JOUR La Haute cour de Copenhague a confirmé mercredi en appel la condamnation de l'inventeur danois Peter Madsen à la réclusion à perpétuité pour l'assassinat d'une journaliste suédoise à bord de son sous-marin artisanal en août 2017.

© ap.

© afp.

© ap.

© ap.

© reuters.

Peter Madsen, 47 ans, avait interjeté appel de la durée de sa peine de prison après sa condamnation à la perpétuité, en première instance en avril dernier, pour le meurtre avec préméditation, précédé de violences sexuelles, de Kim Wall, 30 ans.

Pas d'aveux



Sans être passé aux aveux, défendant bec et ongles la thèse de la mort accidentelle, il n'a jamais pour autant contesté le verdict de culpabilité. Son avocate a indiqué après l'appel qu'elle allait étudier un éventuel recours auprès de la Cour suprême.

"Préméditation minitieuse"



La Haute cour a motivé sa décision par le caractère "particulièrement brutal" du crime et "les circonstances aggravantes" que constitue selon elle sa "préméditation minutieuse". "Il n'y a guère de peine trop sévère pour cet homme", a déclaré à l'issue de l'audience le procureur Kristian Kirk.

Rappel des faits



Le 10 août 2017, Peter Madsen avait embarqué dans son submersible artisanal Kim Wall, 30 ans, qui projetait d'écrire un reportage sur ses désirs de conquête du ciel et des fonds marins. Elle avait été portée disparue dans la nuit par son compagnon qui a assisté au procès en appel et son corps avait ensuite été retrouvé en mer, démembré. L'autopsie avance l'hypothèse d'un étouffement ou d'un égorgement précédé de sévices sexuels mais la cause exacte du décès n'a pu être établie.

Multiples blessures



De multiples blessures - 14 - ont été identifiées dans et autour des parties génitales de la jeune femme. En outre, le parquet a invoqué les outils inutiles sur un sous-marin embarqués par l'accusé peu de temps avant les faits, dont une scie à bois, des sangles de valise et un tournevis affûté de 50 cm de long.

Rappel: Madsen "désolé"



"Je suis terriblement triste pour les proches de Kim de ce qui s'est passé", avait déclaré Peter Madsen à la clôture de l'audience, utilisant un adjectif qui en danois peut également signifier "désolé". Le procureur Kristian Kirk avait requis la prison à vie. "Quand je regarde Peter Madsen (...) je ne vois pas de raison pour (lui infliger) une peine plus faible que la perpétuité". Selon lui, la préméditation et la nature des violences qui lui sont reprochées justifiaient son enfermement à vie.

"Meurtrier sexuel cynique"



"Nous parlons d'un meurtrier sexuel cynique, pervers et calculateur et pour cette raison je ne pense pas qu'il y ait une marge d'hésitation", avait souligné M. Kirk. "Par défaut, tous les meurtres sont cyniques, ce n'est pas propre à cette affaire", avait rétorqué l'avocate de Peter Madsen, Betina Hald Engmark. "La défense est d'avis que le bon niveau de peine se situe entre 14 et 16 ans", avait-elle martelé lors de sa plaidoirie. + Par: rédaction

26/09/18 - 14h37 Source: Belga Peter Madsen et Kim Wall © EPA / AP.

MISE À JOUR La Haute cour de Copenhague a confirmé mercredi en appel la condamnation de l'inventeur danois Peter Madsen à la réclusion à perpétuité pour l'assassinat d'une journaliste suédoise à bord de son sous-marin artisanal en août 2017.

© ap.

© afp.

© ap.

© ap.

© reuters.

Peter Madsen, 47 ans, avait interjeté appel de la durée de sa peine de prison après sa condamnation à la perpétuité, en première instance en avril dernier, pour le meurtre avec préméditation, précédé de violences sexuelles, de Kim Wall, 30 ans.

Pas d'aveux



Sans être passé aux aveux, défendant bec et ongles la thèse de la mort accidentelle, il n'a jamais pour autant contesté le verdict de culpabilité. Son avocate a indiqué après l'appel qu'elle allait étudier un éventuel recours auprès de la Cour suprême.

"Préméditation minitieuse"



La Haute cour a motivé sa décision par le caractère "particulièrement brutal" du crime et "les circonstances aggravantes" que constitue selon elle sa "préméditation minutieuse". "Il n'y a guère de peine trop sévère pour cet homme", a déclaré à l'issue de l'audience le procureur Kristian Kirk.

Rappel des faits



Le 10 août 2017, Peter Madsen avait embarqué dans son submersible artisanal Kim Wall, 30 ans, qui projetait d'écrire un reportage sur ses désirs de conquête du ciel et des fonds marins. Elle avait été portée disparue dans la nuit par son compagnon qui a assisté au procès en appel et son corps avait ensuite été retrouvé en mer, démembré. L'autopsie avance l'hypothèse d'un étouffement ou d'un égorgement précédé de sévices sexuels mais la cause exacte du décès n'a pu être établie.

Multiples blessures



De multiples blessures - 14 - ont été identifiées dans et autour des parties génitales de la jeune femme. En outre, le parquet a invoqué les outils inutiles sur un sous-marin embarqués par l'accusé peu de temps avant les faits, dont une scie à bois, des sangles de valise et un tournevis affûté de 50 cm de long.

Rappel: Madsen "désolé"



"Je suis terriblement triste pour les proches de Kim de ce qui s'est passé", avait déclaré Peter Madsen à la clôture de l'audience, utilisant un adjectif qui en danois peut également signifier "désolé". Le procureur Kristian Kirk avait requis la prison à vie. "Quand je regarde Peter Madsen (...) je ne vois pas de raison pour (lui infliger) une peine plus faible que la perpétuité". Selon lui, la préméditation et la nature des violences qui lui sont reprochées justifiaient son enfermement à vie.

"Meurtrier sexuel cynique"



"Nous parlons d'un meurtrier sexuel cynique, pervers et calculateur et pour cette raison je ne pense pas qu'il y ait une marge d'hésitation", avait souligné M. Kirk. "Par défaut, tous les meurtres sont cyniques, ce n'est pas propre à cette affaire", avait rétorqué l'avocate de Peter Madsen, Betina Hald Engmark. "La défense est d'avis que le bon niveau de peine se situe entre 14 et 16 ans", avait-elle martelé lors de sa plaidoirie.

diff --git a/test/expected/SEPT_SUR_SEPT/0002919298 b/test/expected/SEPT_SUR_SEPT/0002919298 index c4a82cb..dda2b07 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919298 +++ b/test/expected/SEPT_SUR_SEPT/0002919298 @@ -2,6 +2,7 @@ [People] 26-09-2018 14:56 + o Reference: 0002919298 o News link: http://s.7s7.be/3479970 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919298.header.html b/test/expected/SEPT_SUR_SEPT/0002919298.header.html index 9101bf1..6a6d1c0 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919298.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919298.header.html @@ -9,7 +9,7 @@
-

Emmanuelle Béart a épousé Frédéric Chaudier

+

Emmanuelle Béart a épousé Frédéric Chaudier

([People] 26-09-2018 14:56)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919298.html b/test/expected/SEPT_SUR_SEPT/0002919298.html index d5d11f2..999bf2f 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919298.html +++ b/test/expected/SEPT_SUR_SEPT/0002919298.html @@ -9,10 +9,11 @@
-

Emmanuelle Béart a épousé Frédéric Chaudier

+

Emmanuelle Béart a épousé Frédéric Chaudier

([People] 26-09-2018 14:56)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919301 b/test/expected/SEPT_SUR_SEPT/0002919301 index ab5dd0a..ed29aed 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919301 +++ b/test/expected/SEPT_SUR_SEPT/0002919301 @@ -3,6 +3,7 @@ [Belgique] 26-09-2018 15:55 + o Reference: 0002919301 o News link: http://s.7s7.be/3479973 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919301.header.html b/test/expected/SEPT_SUR_SEPT/0002919301.header.html index 74e4d8a..f24a205 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919301.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919301.header.html @@ -9,7 +9,7 @@
-

La course folle d%27un fossoyeur liégeois ivre et en défaut de permis

+

La course folle d%27un fossoyeur liégeois ivre et en défaut de permis

([Belgique] 26-09-2018 15:55)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919301.html b/test/expected/SEPT_SUR_SEPT/0002919301.html index 693b886..1774f35 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919301.html +++ b/test/expected/SEPT_SUR_SEPT/0002919301.html @@ -9,10 +9,11 @@
-

La course folle d%27un fossoyeur liégeois ivre et en défaut de permis

+

La course folle d%27un fossoyeur liégeois ivre et en défaut de permis

([Belgique] 26-09-2018 15:55)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919304 b/test/expected/SEPT_SUR_SEPT/0002919304 index a478109..4fd04aa 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919304 +++ b/test/expected/SEPT_SUR_SEPT/0002919304 @@ -2,6 +2,7 @@ [Espèces Menacées] 26-09-2018 16:08 + o Reference: 0002919304 o News link: http://s.7s7.be/3479976 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919304.header.html b/test/expected/SEPT_SUR_SEPT/0002919304.header.html index 3a01ea2..53b84f5 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919304.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919304.header.html @@ -9,7 +9,7 @@
-

Le Titan de Vorombe, le plus gros oiseau que l%27Homme ait connu

+

Le Titan de Vorombe, le plus gros oiseau que l%27Homme ait connu

([Espèces Menacées] 26-09-2018 16:08)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919304.html b/test/expected/SEPT_SUR_SEPT/0002919304.html index 0663752..39d5f95 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919304.html +++ b/test/expected/SEPT_SUR_SEPT/0002919304.html @@ -9,16 +9,17 @@
-

Le Titan de Vorombe, le plus gros oiseau que l%27Homme ait connu

+

Le Titan de Vorombe, le plus gros oiseau que l%27Homme ait connu

([Espèces Menacées] 26-09-2018 16:08)


- Par: rédaction

26/09/18 - 16h08 Source: AFP © afp.

Le plus gros oiseau du monde serait bien un oiseaux-éléphant mais pas celui qu'on croyait: après plus d'un siècle de pièces contradictoires et de joutes scientifiques, des chercheurs annoncent mercredi avoir identifié le gagnant.

© afp.

Pendant 60 millions d'années, de colossaux oiseaux-éléphants ont parcouru la savane et les forêts tropicales de Madagascar. Ils se sont éteints il y a environ 1.000 ans après l'arrivée d'une nouvelle vague de colons humains.

Redécouverte



Au XIXe siècle, des zoologistes européens se sont pris de passion pour cette créature hors norme, pillant squelettes et oeufs fossilisés dans le but de débusquer "l'espèce d'oiseau la plus grande du monde". Jusqu'à maintenant, la palme revenait à l'Aepyornis titan, un oiseaux-éléphant décrit en 1894 par le scientifique britannique C.W. Andrews. Mais pour d'autres scientifiques, le spécimen n'était pas une espèce à part mais seulement un très grand Aepyornis maximus.

Nouvelle étude



Mais une étude publiée mercredi dans la revue Royal Society Open Science remet tout en cause: une autre espèce d'oiseau-éléphant, le Titan de Vorombe, plus grande que ce que l'on avait jusqu'à maintenant établi, battrait tous les autres prétendants. Pesant environ 860 kg (soit le poids d'une girafe adulte), "ils ne pouvaient certainement pas voler", explique à l'AFP James Hansford de la Zoological Society of London, coauteur de l'étude.

Os examinés



Pour arriver à ces conclusions, le chercheur et son équipe ont examiné les os d'oiseaux-éléphant trouvés à travers le monde. Selon James Hansford, l'Aepyornis titan, le "bébé" de C.W. Andrews était bien différent du Aepyornis maximus. Mais si différent qu'il ne s'agirait même pas d'un oiseaux-éléphant mais d'un genre distinct. Le Titan de Vorombe, avec ses trois mètres de haut et ses 650 kg, est bien plus imposant. + Par: rédaction

26/09/18 - 16h08 Source: AFP © afp.

Le plus gros oiseau du monde serait bien un oiseaux-éléphant mais pas celui qu'on croyait: après plus d'un siècle de pièces contradictoires et de joutes scientifiques, des chercheurs annoncent mercredi avoir identifié le gagnant.

© afp.

Pendant 60 millions d'années, de colossaux oiseaux-éléphants ont parcouru la savane et les forêts tropicales de Madagascar. Ils se sont éteints il y a environ 1.000 ans après l'arrivée d'une nouvelle vague de colons humains.

Redécouverte



Au XIXe siècle, des zoologistes européens se sont pris de passion pour cette créature hors norme, pillant squelettes et oeufs fossilisés dans le but de débusquer "l'espèce d'oiseau la plus grande du monde". Jusqu'à maintenant, la palme revenait à l'Aepyornis titan, un oiseaux-éléphant décrit en 1894 par le scientifique britannique C.W. Andrews. Mais pour d'autres scientifiques, le spécimen n'était pas une espèce à part mais seulement un très grand Aepyornis maximus.

Nouvelle étude



Mais une étude publiée mercredi dans la revue Royal Society Open Science remet tout en cause: une autre espèce d'oiseau-éléphant, le Titan de Vorombe, plus grande que ce que l'on avait jusqu'à maintenant établi, battrait tous les autres prétendants. Pesant environ 860 kg (soit le poids d'une girafe adulte), "ils ne pouvaient certainement pas voler", explique à l'AFP James Hansford de la Zoological Society of London, coauteur de l'étude.

Os examinés



Pour arriver à ces conclusions, le chercheur et son équipe ont examiné les os d'oiseaux-éléphant trouvés à travers le monde. Selon James Hansford, l'Aepyornis titan, le "bébé" de C.W. Andrews était bien différent du Aepyornis maximus. Mais si différent qu'il ne s'agirait même pas d'un oiseaux-éléphant mais d'un genre distinct. Le Titan de Vorombe, avec ses trois mètres de haut et ses 650 kg, est bien plus imposant.

diff --git a/test/expected/SEPT_SUR_SEPT/0002919305 b/test/expected/SEPT_SUR_SEPT/0002919305 index e4411d1..c1aa1b5 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919305 +++ b/test/expected/SEPT_SUR_SEPT/0002919305 @@ -2,6 +2,7 @@ [Belgique] 26-09-2018 15:49 + o Reference: 0002919305 o News link: http://s.7s7.be/3479977 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919305.header.html b/test/expected/SEPT_SUR_SEPT/0002919305.header.html index 50439f7..358bbcf 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919305.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919305.header.html @@ -9,7 +9,7 @@
-

Condamné à cause de la taille de son nez, il conteste

+

Condamné à cause de la taille de son nez, il conteste

([Belgique] 26-09-2018 15:49)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919305.html b/test/expected/SEPT_SUR_SEPT/0002919305.html index cef33a1..51153b2 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919305.html +++ b/test/expected/SEPT_SUR_SEPT/0002919305.html @@ -9,10 +9,11 @@
-

Condamné à cause de la taille de son nez, il conteste

+

Condamné à cause de la taille de son nez, il conteste

([Belgique] 26-09-2018 15:49)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919310 b/test/expected/SEPT_SUR_SEPT/0002919310 index 217dab2..e7a1b6f 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919310 +++ b/test/expected/SEPT_SUR_SEPT/0002919310 @@ -2,6 +2,7 @@ [Monde] 26-09-2018 16:32 + o Reference: 0002919310 o News link: http://s.7s7.be/3479982 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919310.header.html b/test/expected/SEPT_SUR_SEPT/0002919310.header.html index 954b746..c24ef6e 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919310.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919310.header.html @@ -9,7 +9,7 @@
-

Arrêté après avoir perdu un portefeuille rempli de faux billets

+

Arrêté après avoir perdu un portefeuille rempli de faux billets

([Monde] 26-09-2018 16:32)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919310.html b/test/expected/SEPT_SUR_SEPT/0002919310.html index 7a1a89f..427f8d8 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919310.html +++ b/test/expected/SEPT_SUR_SEPT/0002919310.html @@ -9,10 +9,11 @@
-

Arrêté après avoir perdu un portefeuille rempli de faux billets

+

Arrêté après avoir perdu un portefeuille rempli de faux billets

([Monde] 26-09-2018 16:32)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919311 b/test/expected/SEPT_SUR_SEPT/0002919311 index ed47691..3ddb3fc 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919311 +++ b/test/expected/SEPT_SUR_SEPT/0002919311 @@ -2,6 +2,7 @@ [L'exil de Depardieu] 26-09-2018 17:04 + o Reference: 0002919311 o News link: http://s.7s7.be/3479983 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919311.header.html b/test/expected/SEPT_SUR_SEPT/0002919311.header.html index e045420..6e98090 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919311.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919311.header.html @@ -9,7 +9,7 @@
-

"Macron est comme Poutine"

+

"Macron est comme Poutine"

([L'exil de Depardieu] 26-09-2018 17:04)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919311.html b/test/expected/SEPT_SUR_SEPT/0002919311.html index dabe962..765766b 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919311.html +++ b/test/expected/SEPT_SUR_SEPT/0002919311.html @@ -9,16 +9,17 @@
-

"Macron est comme Poutine"

+

"Macron est comme Poutine"

([L'exil de Depardieu] 26-09-2018 17:04)


- Jeanne Poma.

26/09/18 - 17h04 Source: Nice-Matin, BFM TV, Morandini Gérard Depardieu © afp.

Pour Gérard Depardieu, la Russie n'est plus la même depuis la chute de l'URSS.

Emmanuel Macron et Vladimir Poutine © photo news.

"Il faut arrêter de dire des conneries. Poutine, il est ce qu'il est, mais je vais vous dire, Macron est comme Poutine." L'acteur français s'est exprimé pour le journal Nice Matin, à l'occasion de la promotion de son spectacle "Depardieu chante Barbara".

L'acteur dénonce l'action des médias à l'encontre de la Russie. Il n'accorde plus sa confiance aux journalistes, qui sont responsables, dit-il, d'un "siècle de mensonges et de tweets".

"J'appartiens à la vie"



L'interprète de Cyrano s'interroge sur les reproches qu'il reçoit au sujet de ses allées et venues en Russie et en Corée du Nord. "Qui sont ces gens qui pensent que je leur appartiens? Je ne m'appartiens déjà presque pas! Moi, j'appartiens à la vie. Je ne vais pas vers ceux qui mènent, je vais vers la vie. En regardant les pays, les langues, la nature et les gens."

La France reste malgré tout un des pays où Gérard Depardieu se sent le mieux. "Il y a des communautés et des régions dans lesquelles je me sens bien. J'adore aller dans les campagnes. Mais les agriculteurs, je les plains. Ils n'osent plus, ils sont perdus. Je déteste les OGM. Je déteste ce qu'on a fait de cette terre, d'abord elle est devenue du béton armé. Les Français que j'aime, je les écoute et j'entends leur souffrance", déclare-t-il.

Trump



Il conclut en précisant qu'il n'ira pas voir Trump. "Je n'irai pas en Amérique parce que ça me plaît moins, même si c'est un très beau pays". + Jeanne Poma.

26/09/18 - 17h04 Source: Nice-Matin, BFM TV, Morandini Gérard Depardieu © afp.

Pour Gérard Depardieu, la Russie n'est plus la même depuis la chute de l'URSS.

Emmanuel Macron et Vladimir Poutine © photo news.

"Il faut arrêter de dire des conneries. Poutine, il est ce qu'il est, mais je vais vous dire, Macron est comme Poutine." L'acteur français s'est exprimé pour le journal Nice Matin, à l'occasion de la promotion de son spectacle "Depardieu chante Barbara".

L'acteur dénonce l'action des médias à l'encontre de la Russie. Il n'accorde plus sa confiance aux journalistes, qui sont responsables, dit-il, d'un "siècle de mensonges et de tweets".

"J'appartiens à la vie"



L'interprète de Cyrano s'interroge sur les reproches qu'il reçoit au sujet de ses allées et venues en Russie et en Corée du Nord. "Qui sont ces gens qui pensent que je leur appartiens? Je ne m'appartiens déjà presque pas! Moi, j'appartiens à la vie. Je ne vais pas vers ceux qui mènent, je vais vers la vie. En regardant les pays, les langues, la nature et les gens."

La France reste malgré tout un des pays où Gérard Depardieu se sent le mieux. "Il y a des communautés et des régions dans lesquelles je me sens bien. J'adore aller dans les campagnes. Mais les agriculteurs, je les plains. Ils n'osent plus, ils sont perdus. Je déteste les OGM. Je déteste ce qu'on a fait de cette terre, d'abord elle est devenue du béton armé. Les Français que j'aime, je les écoute et j'entends leur souffrance", déclare-t-il.

Trump



Il conclut en précisant qu'il n'ira pas voir Trump. "Je n'irai pas en Amérique parce que ça me plaît moins, même si c'est un très beau pays".

diff --git a/test/expected/SEPT_SUR_SEPT/0002919312 b/test/expected/SEPT_SUR_SEPT/0002919312 index d8d9134..991f663 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919312 +++ b/test/expected/SEPT_SUR_SEPT/0002919312 @@ -3,6 +3,7 @@ [Israel-Palestine] 26-09-2018 16:46 + o Reference: 0002919312 o News link: http://s.7s7.be/3479984 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919312.header.html b/test/expected/SEPT_SUR_SEPT/0002919312.header.html index fd16915..0a80f55 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919312.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919312.header.html @@ -9,7 +9,7 @@
-

Pour la première fois, Trump se montre favorable à une solution à deux Etats

+

Pour la première fois, Trump se montre favorable à une solution à deux Etats

([Israel-Palestine] 26-09-2018 16:46)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919312.html b/test/expected/SEPT_SUR_SEPT/0002919312.html index bea9a17..4cab7bd 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919312.html +++ b/test/expected/SEPT_SUR_SEPT/0002919312.html @@ -9,16 +9,17 @@
-

Pour la première fois, Trump se montre favorable à une solution à deux Etats

+

Pour la première fois, Trump se montre favorable à une solution à deux Etats

([Israel-Palestine] 26-09-2018 16:46)


- Par: rédaction

26/09/18 - 16h46 Source: AFP © epa.

ISRAËL/PALESTINE Le président américain Donald Trump s'est déclaré mercredi favorable pour la première fois à une solution à deux Etats dans le conflit israélo-palestinien, promettant de présenter un plan de paix pour la région "dans les deux, trois ou quatre mois".

"Je pense vraiment que quelque chose va se passer. C'est mon rêve d'y parvenir avant la fin de mon premier mandat", en janvier 2021, a-t-il lancé devant la presse au début d'une rencontre avec le Premier ministre israélien Benjamin Netanyahu.

Reprendre les négociations



S'exprimant en marge de l'Assemblée générale annuelle de l'ONU à New York, il s'est dit convaincu "à 100%" que les Palestiniens, qui ont gelé tout contact avec l'administration américaine depuis qu'elle a reconnu Jérusalem comme capitale d'Israël fin 2017, "reviendront à la table des négociations".

"J'aime bien la solution à deux États"



"J'aime bien la solution à deux Etats", "je pense que c'est ce qui marche mieux, c'est mon sentiment", a ajouté le président Trump, sans préciser si c'est ce que proposera le plan de paix concocté depuis de longs mois dans le plus grand secret par une petite équipe menée par son gendre et conseiller Jared Kushner.

Effet d'annonce sans lendemain?



L'annonce de cette proposition américaine, censée permettre d'aboutir à "l'accord ultime" entre Israéliens et Palestiniens d'après la formule de Donald Trump, a été reportée à plusieurs reprises. Jusqu'ici, le président républicain s'était gardé de soutenir clairement la solution à deux Etats, contrairement à ses prédécesseurs des deux bords politiques et à la communauté internationale.

La ligne officielle de l'administration Trump consistait jusqu'ici à soutenir une solution qui aurait la faveur des deux camps israélien et palestinien, sans pousser ni rejeter les deux Etats. + Par: rédaction

26/09/18 - 16h46 Source: AFP © epa.

ISRAËL/PALESTINE Le président américain Donald Trump s'est déclaré mercredi favorable pour la première fois à une solution à deux Etats dans le conflit israélo-palestinien, promettant de présenter un plan de paix pour la région "dans les deux, trois ou quatre mois".

"Je pense vraiment que quelque chose va se passer. C'est mon rêve d'y parvenir avant la fin de mon premier mandat", en janvier 2021, a-t-il lancé devant la presse au début d'une rencontre avec le Premier ministre israélien Benjamin Netanyahu.

Reprendre les négociations



S'exprimant en marge de l'Assemblée générale annuelle de l'ONU à New York, il s'est dit convaincu "à 100%" que les Palestiniens, qui ont gelé tout contact avec l'administration américaine depuis qu'elle a reconnu Jérusalem comme capitale d'Israël fin 2017, "reviendront à la table des négociations".

"J'aime bien la solution à deux États"



"J'aime bien la solution à deux Etats", "je pense que c'est ce qui marche mieux, c'est mon sentiment", a ajouté le président Trump, sans préciser si c'est ce que proposera le plan de paix concocté depuis de longs mois dans le plus grand secret par une petite équipe menée par son gendre et conseiller Jared Kushner.

Effet d'annonce sans lendemain?



L'annonce de cette proposition américaine, censée permettre d'aboutir à "l'accord ultime" entre Israéliens et Palestiniens d'après la formule de Donald Trump, a été reportée à plusieurs reprises. Jusqu'ici, le président républicain s'était gardé de soutenir clairement la solution à deux Etats, contrairement à ses prédécesseurs des deux bords politiques et à la communauté internationale.

La ligne officielle de l'administration Trump consistait jusqu'ici à soutenir une solution qui aurait la faveur des deux camps israélien et palestinien, sans pousser ni rejeter les deux Etats.

diff --git a/test/expected/SEPT_SUR_SEPT/0002919314 b/test/expected/SEPT_SUR_SEPT/0002919314 index 85eaa02..13dddc1 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919314 +++ b/test/expected/SEPT_SUR_SEPT/0002919314 @@ -3,6 +3,7 @@ [Belgique] 26-09-2018 17:04 + o Reference: 0002919314 o News link: http://s.7s7.be/3479986 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919314.header.html b/test/expected/SEPT_SUR_SEPT/0002919314.header.html index c2717ff..1efe53e 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919314.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919314.header.html @@ -9,7 +9,7 @@
-

"Le steward belge n%27a pas été licencié pour avoir donné une interview à la TV"

+

"Le steward belge n%27a pas été licencié pour avoir donné une interview à la TV"

([Belgique] 26-09-2018 17:04)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919314.html b/test/expected/SEPT_SUR_SEPT/0002919314.html index fcab6dd..4e34bad 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919314.html +++ b/test/expected/SEPT_SUR_SEPT/0002919314.html @@ -9,10 +9,11 @@
-

"Le steward belge n%27a pas été licencié pour avoir donné une interview à la TV"

+

"Le steward belge n%27a pas été licencié pour avoir donné une interview à la TV"

([Belgique] 26-09-2018 17:04)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919315 b/test/expected/SEPT_SUR_SEPT/0002919315 index 9e5ec5d..0da5d84 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919315 +++ b/test/expected/SEPT_SUR_SEPT/0002919315 @@ -2,6 +2,7 @@ [Musique] 26-09-2018 17:13 + o Reference: 0002919315 o News link: http://s.7s7.be/3479987 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919315.header.html b/test/expected/SEPT_SUR_SEPT/0002919315.header.html index 5486036..3675c46 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919315.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919315.header.html @@ -9,7 +9,7 @@
-

Un rappeur français appelle à "pendre les Blancs"

+

Un rappeur français appelle à "pendre les Blancs"

([Musique] 26-09-2018 17:13)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919315.html b/test/expected/SEPT_SUR_SEPT/0002919315.html index 30d9327..3d11a19 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919315.html +++ b/test/expected/SEPT_SUR_SEPT/0002919315.html @@ -9,16 +9,17 @@
-

Un rappeur français appelle à "pendre les Blancs"

+

Un rappeur français appelle à "pendre les Blancs"

([Musique] 26-09-2018 17:13)


- Par: rédaction

26/09/18 - 17h13 Source: Belga

Découvrez le rap terroriste, après MEDIN qui appelait à crucifier les laïques, voici [1]#nickconrad qui chante le racisme antiblanc et appel au meurtre des bébés et parents blancs avec un scénario terroriste digne de DAESH.

Un rap d’inspiration islamiste à interdire d’urgence [2]pic.twitter.com/Fns9VKwBEh — Waleed Al-husseini (@W_Alhusseini) [3]26 septembre 2018

vidéo La justice française a ouvert mercredi une enquête pour "provocation publique à la commission d'un crime ou d'un délit" après la diffusion du clip d'un rappeur, Nick Conrad, appelant à "pendre les Blancs", qui a suscité un tollé, a annoncé le parquet.

"C'est un véritable appel au meurtre": la Licra porte plainte après le clip de Nick Conrad [4]pic.twitter.com/2sGAsu9gy5 — BFMTV (@BFMTV) [5]26 septembre 2018

La LICRA condamne le clip "Pendez les Blancs" de [6]#NickConrad et saisit la justice. [7]https://t.co/z7GbN3ewzG — TV Libertés (@tvlofficiel) [8]26 septembre 2018

Le clip, initialement visible sur YouTube qui l'a ensuite retiré, a été unanimement condamné par le gouvernement. Le ministre de l'Intérieur Gérard Collomb a ainsi réprouvé "sans réserve ces propos abjects et ces attaques ignominieuses", soulignant que ses "services oeuvr(aient) au retrait sans délai des contenus diffusés".

"Tuer des bébés blancs"



Dans cette chanson intitulée "PLB", Nick Conrad appelle notamment à tuer "des bébés blancs". "Attrapez-les vite et pendez leurs parents, écartelez-les pour passer le temps, divertir les enfants noirs de tout âge petits et grands", poursuit ce rappeur, jusque-là méconnu.

Le gouvernement condamne



"Le gouvernement condamne avec la plus extrême fermeté les paroles haineuses et écoeurantes de @jazzconrad. Ceux qui les diffusent portent une lourde responsabilité et doivent réagir au plus vite", a déclaré le porte-parole du gouvernement Benjamin Griveaux sur Twitter.

Les investigations lancées par le parquet ont été confiées à la Brigade de répression de la délinquance contre la personne (BRDP).

Le dernier clip du rappeur [9]#NickConrad appelle au meurtre des Blancs

"Je rentre dans des crèches, je tue des bébés Blancs, attrapez-les vite et pendez leurs parents, écartelez-les pour passer le temps."

Refrain : "Pendez les tous, pendez les Blancs." [10]pic.twitter.com/ykEtQGuwSJ — TV Libertés (@tvlofficiel) [11]26 septembre 2018



[1] https://twitter.com/hashtag/nickconrad?src=hash&ref_src=twsrc%5Etfw

[2] https://t.co/Fns9VKwBEh

[3] https://twitter.com/W_Alhusseini/status/1044913669505798144?ref_src=twsrc%5Etfw

[4] https://t.co/2sGAsu9gy5

[5] https://twitter.com/BFMTV/status/1044961594726383617?ref_src=twsrc%5Etfw

[6] https://twitter.com/hashtag/NickConrad?src=hash&ref_src=twsrc%5Etfw

[7] https://t.co/z7GbN3ewzG

[8] https://twitter.com/tvlofficiel/status/1044953458896506880?ref_src=twsrc%5Etfw

[9] https://twitter.com/hashtag/NickConrad?src=hash&ref_src=twsrc%5Etfw

[10] https://t.co/ykEtQGuwSJ

[11] https://twitter.com/tvlofficiel/status/1044887396033212418?ref_src=twsrc%5Etfw + Par: rédaction

26/09/18 - 17h13 Source: Belga

Découvrez le rap terroriste, après MEDIN qui appelait à crucifier les laïques, voici [1]#nickconrad qui chante le racisme antiblanc et appel au meurtre des bébés et parents blancs avec un scénario terroriste digne de DAESH.

Un rap d’inspiration islamiste à interdire d’urgence [2]pic.twitter.com/Fns9VKwBEh — Waleed Al-husseini (@W_Alhusseini) [3]26 septembre 2018

vidéo La justice française a ouvert mercredi une enquête pour "provocation publique à la commission d'un crime ou d'un délit" après la diffusion du clip d'un rappeur, Nick Conrad, appelant à "pendre les Blancs", qui a suscité un tollé, a annoncé le parquet.

"C'est un véritable appel au meurtre": la Licra porte plainte après le clip de Nick Conrad [4]pic.twitter.com/2sGAsu9gy5 — BFMTV (@BFMTV) [5]26 septembre 2018

La LICRA condamne le clip "Pendez les Blancs" de [6]#NickConrad et saisit la justice. [7]https://t.co/z7GbN3ewzG — TV Libertés (@tvlofficiel) [8]26 septembre 2018

Le clip, initialement visible sur YouTube qui l'a ensuite retiré, a été unanimement condamné par le gouvernement. Le ministre de l'Intérieur Gérard Collomb a ainsi réprouvé "sans réserve ces propos abjects et ces attaques ignominieuses", soulignant que ses "services oeuvr(aient) au retrait sans délai des contenus diffusés".

"Tuer des bébés blancs"



Dans cette chanson intitulée "PLB", Nick Conrad appelle notamment à tuer "des bébés blancs". "Attrapez-les vite et pendez leurs parents, écartelez-les pour passer le temps, divertir les enfants noirs de tout âge petits et grands", poursuit ce rappeur, jusque-là méconnu.

Le gouvernement condamne



"Le gouvernement condamne avec la plus extrême fermeté les paroles haineuses et écoeurantes de @jazzconrad. Ceux qui les diffusent portent une lourde responsabilité et doivent réagir au plus vite", a déclaré le porte-parole du gouvernement Benjamin Griveaux sur Twitter.

Les investigations lancées par le parquet ont été confiées à la Brigade de répression de la délinquance contre la personne (BRDP).

Le dernier clip du rappeur [9]#NickConrad appelle au meurtre des Blancs

"Je rentre dans des crèches, je tue des bébés Blancs, attrapez-les vite et pendez leurs parents, écartelez-les pour passer le temps."

Refrain : "Pendez les tous, pendez les Blancs." [10]pic.twitter.com/ykEtQGuwSJ — TV Libertés (@tvlofficiel) [11]26 septembre 2018



[1] https://twitter.com/hashtag/nickconrad?src=hash&ref_src=twsrc%5Etfw

[2] https://t.co/Fns9VKwBEh

[3] https://twitter.com/W_Alhusseini/status/1044913669505798144?ref_src=twsrc%5Etfw

[4] https://t.co/2sGAsu9gy5

[5] https://twitter.com/BFMTV/status/1044961594726383617?ref_src=twsrc%5Etfw

[6] https://twitter.com/hashtag/NickConrad?src=hash&ref_src=twsrc%5Etfw

[7] https://t.co/z7GbN3ewzG

[8] https://twitter.com/tvlofficiel/status/1044953458896506880?ref_src=twsrc%5Etfw

[9] https://twitter.com/hashtag/NickConrad?src=hash&ref_src=twsrc%5Etfw

[10] https://t.co/ykEtQGuwSJ

[11] https://twitter.com/tvlofficiel/status/1044887396033212418?ref_src=twsrc%5Etfw

diff --git a/test/expected/SEPT_SUR_SEPT/0002919316 b/test/expected/SEPT_SUR_SEPT/0002919316 index c54a835..e876703 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919316 +++ b/test/expected/SEPT_SUR_SEPT/0002919316 @@ -3,6 +3,7 @@ [Belgique] 26-09-2018 17:09 + o Reference: 0002919316 o News link: http://s.7s7.be/3479988 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919316.header.html b/test/expected/SEPT_SUR_SEPT/0002919316.header.html index 4a6ade1..44b046d 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919316.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919316.header.html @@ -9,7 +9,7 @@
-

Une personne décède lors de l%27incendie de quatre maisons à Couillet

+

Une personne décède lors de l%27incendie de quatre maisons à Couillet

([Belgique] 26-09-2018 17:09)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919316.html b/test/expected/SEPT_SUR_SEPT/0002919316.html index 7cc67d6..36cfb10 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919316.html +++ b/test/expected/SEPT_SUR_SEPT/0002919316.html @@ -9,10 +9,11 @@
-

Une personne décède lors de l%27incendie de quatre maisons à Couillet

+

Une personne décède lors de l%27incendie de quatre maisons à Couillet

([Belgique] 26-09-2018 17:09)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919318 b/test/expected/SEPT_SUR_SEPT/0002919318 index 3310eec..5b008d4 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919318 +++ b/test/expected/SEPT_SUR_SEPT/0002919318 @@ -3,6 +3,7 @@ [Belgique] 26-09-2018 17:00 + o Reference: 0002919318 o News link: http://s.7s7.be/3479998 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919318.header.html b/test/expected/SEPT_SUR_SEPT/0002919318.header.html index 36693c8..e25c8b4 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919318.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919318.header.html @@ -9,7 +9,7 @@
-

L%27Office des étrangers n%27exécute pas une injonction de l%27ONU de libérer la famille serbe

+

L%27Office des étrangers n%27exécute pas une injonction de l%27ONU de libérer la famille serbe

([Belgique] 26-09-2018 17:00)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919318.html b/test/expected/SEPT_SUR_SEPT/0002919318.html index 0e301e6..d45171b 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919318.html +++ b/test/expected/SEPT_SUR_SEPT/0002919318.html @@ -9,16 +9,17 @@
-

L%27Office des étrangers n%27exécute pas une injonction de l%27ONU de libérer la famille serbe

+

L%27Office des étrangers n%27exécute pas une injonction de l%27ONU de libérer la famille serbe

([Belgique] 26-09-2018 17:00)


- Par: rédaction

26/09/18 - 17h00 Source: Belga Theo Francken, secrétaire d'État à l'Asile et la Migration. © photo news.

FAMILLE SERBE L'Office des étrangers a reçu une ordonnance du Comité des droits de l'enfant de l'Onu pour libérer la famille serbe enfermée depuis le 14 août dernier dans les unités familiales du centre 127bis de Steenokkerzeel, mais il ne l'exécute pas car il ne reconnaît pas le pouvoir d'injonction de cet organisme onusien.

L'information, annoncée par Ecolo dans un communiqué, a été confirmée à Belga par l'Office des étrangers.

Les avocats de cette famille avaient déposé une requête auprès du Comité des droits de l'enfant des Nations unies dans le cadre de sa compétence de plaintes individuelles.

"Cet organe de l'ONU est l'instance suprême en charge du contrôle de la mise en œuvre par les États de la Convention des Nations unies sur les droits de l'enfant (CIDE). Depuis 2011, ce comité est compétent pour recevoir des plaintes individuelles des enfants dont les droits ont été violés. La Belgique a ratifié ce mécanisme de plaintes en 2014", souligne Ecolo.

"Le gouvernement belge doit respecter les décisions de l'ONU, point"



"Pourquoi le secrétaire d'État à l'Asile et la Migration Theo Francken n'a-t-il pas suivi l'ordonnance du Comité des droits de l'enfant de l'ONU", demande le député fédéral Benoît Hellings.

A ses yeux, cette décision est d'autant plus incompréhensible que le Premier ministre Charles Michel est actuellement au siège de l'ONU pour y défendre les principes et les institution des Nations unies.

"Le gouvernement belge doit respecter les décisions de l'ONU, point", conclut le député d'opposition. + Par: rédaction

26/09/18 - 17h00 Source: Belga Theo Francken, secrétaire d'État à l'Asile et la Migration. © photo news.

FAMILLE SERBE L'Office des étrangers a reçu une ordonnance du Comité des droits de l'enfant de l'Onu pour libérer la famille serbe enfermée depuis le 14 août dernier dans les unités familiales du centre 127bis de Steenokkerzeel, mais il ne l'exécute pas car il ne reconnaît pas le pouvoir d'injonction de cet organisme onusien.

L'information, annoncée par Ecolo dans un communiqué, a été confirmée à Belga par l'Office des étrangers.

Les avocats de cette famille avaient déposé une requête auprès du Comité des droits de l'enfant des Nations unies dans le cadre de sa compétence de plaintes individuelles.

"Cet organe de l'ONU est l'instance suprême en charge du contrôle de la mise en œuvre par les États de la Convention des Nations unies sur les droits de l'enfant (CIDE). Depuis 2011, ce comité est compétent pour recevoir des plaintes individuelles des enfants dont les droits ont été violés. La Belgique a ratifié ce mécanisme de plaintes en 2014", souligne Ecolo.

"Le gouvernement belge doit respecter les décisions de l'ONU, point"



"Pourquoi le secrétaire d'État à l'Asile et la Migration Theo Francken n'a-t-il pas suivi l'ordonnance du Comité des droits de l'enfant de l'ONU", demande le député fédéral Benoît Hellings.

A ses yeux, cette décision est d'autant plus incompréhensible que le Premier ministre Charles Michel est actuellement au siège de l'ONU pour y défendre les principes et les institution des Nations unies.

"Le gouvernement belge doit respecter les décisions de l'ONU, point", conclut le député d'opposition.

diff --git a/test/expected/SEPT_SUR_SEPT/0002919319 b/test/expected/SEPT_SUR_SEPT/0002919319 index 44b736b..f34ffe6 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919319 +++ b/test/expected/SEPT_SUR_SEPT/0002919319 @@ -2,6 +2,7 @@ [Cyclisme] 26-09-2018 17:03 + o Reference: 0002919319 o News link: http://s.7s7.be/3479999 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919319.header.html b/test/expected/SEPT_SUR_SEPT/0002919319.header.html index 56f070a..ea88af6 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919319.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919319.header.html @@ -9,7 +9,7 @@
-

Campenaerts offre le bronze à la Belgique sur le chrono

+

Campenaerts offre le bronze à la Belgique sur le chrono

([Cyclisme] 26-09-2018 17:03)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919319.html b/test/expected/SEPT_SUR_SEPT/0002919319.html index 0f7b7af..d1a7dec 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919319.html +++ b/test/expected/SEPT_SUR_SEPT/0002919319.html @@ -9,16 +9,17 @@
-

Campenaerts offre le bronze à la Belgique sur le chrono

+

Campenaerts offre le bronze à la Belgique sur le chrono

([Cyclisme] 26-09-2018 17:03)


- Par: rédaction

26/09/18 - 17h03 Source: Belga Victor Campenaerts © belga.

Victor Campenaerts a décroché la médaille de bronze du contre-la-montre individuel des Mondiaux de cyclisme à Innsbruck, mercredi, en Autriche. Campenaerts, 26 ans, offre ainsi à la Belgique sa première médaille dans cette épreuve ajoutée au programme des Mondiaux en 1994. Le titre mondial est revenu à Rohan Dennis. L'Australien a bouclé les 52,2 km de course en 1h03:02.57. Le Néerlandais Tom Dumoulin, tenant du titre, a pris l'argent.

Campenaerts a mis 1h04:24.19 pour terminer son parcours, 1:21.62 de plus que Dennis, dominateur de l'épreuve. Campenaerts a échoué à seulement 53 centièmes de seconde de l'argent, revenu à Dumoulin.

Dennis, 28 ans, s'offre son premier titre mondial dans cette épreuve.

Le chrono se disputait sur une distance de 52,2 km. Les 30 premiers kilomètres du parcours étaient plats, avec peu de courbes. Puis venait le Gnadenwald, une côte de 4,9 kilomètres à du 7,1% de moyenne avec des passages à 13 et 14 %.

Campenaerts, double champion d'Europe en titre visait une place dans le top-6 afin d'égaler la meilleure performance belge dans cette épreuve, la sixième place obtenue par Nico Emonds (1994), Leif Hoste (2001) et Stijn Devolder (2008).

Sur le podium aux côtés de deux grands spécialistes



Le coureur de Lotto Soudal a fait mieux que ça sur le parcours tyrolien. Quatrième au premier pointage après 16 km, à 15.25 de Dennis, il a grimpé d'un place au deuxième passage intermédiaire (35 km), à 1:12.24 de l'Australien. A ce moment-là, Campenaerts comptait déjà 31 secondes d'avance sur le quatrième, le Polonais Michal Kwiatkowski et pouvait donc rêver d'une médaille. Le deuxième, Dumoulin, ne pointait qu'à 12 secondes.

Alors que Dennis poursuivait sa domination, Campenaerts négociait mieux que Dumoulin la deuxième partie plus descendante. Il reprenait 11 secondes au Néerlandais, mais ne parvenait pas à grappiller une place. C'est donc sur la troisième marche du podium que Campenaerts est monté, aux côtés de deux grands spécialistes, Dennis, intouchable mercredi, et Dumoulin.

Laurens de Plus, l'autre Belge engagé, a dû se contenter de la 50e place, à 8:14.20 du vainqueur.

Les épreuves contre la montre s'achèvent à Innsbruck pour faire place aux épreuves en ligne à partir de jeudi. Le bilan belge est impressionnant, avec également le titre mondial remporté par le junior Remco Evenepoel et l'argent de l'espoir Brent Van Moer. En outre, le contre-la-montre par équipes a été remporté par la formation belge Quick-Step Floors. + Par: rédaction

26/09/18 - 17h03 Source: Belga Victor Campenaerts © belga.

Victor Campenaerts a décroché la médaille de bronze du contre-la-montre individuel des Mondiaux de cyclisme à Innsbruck, mercredi, en Autriche. Campenaerts, 26 ans, offre ainsi à la Belgique sa première médaille dans cette épreuve ajoutée au programme des Mondiaux en 1994. Le titre mondial est revenu à Rohan Dennis. L'Australien a bouclé les 52,2 km de course en 1h03:02.57. Le Néerlandais Tom Dumoulin, tenant du titre, a pris l'argent.

Campenaerts a mis 1h04:24.19 pour terminer son parcours, 1:21.62 de plus que Dennis, dominateur de l'épreuve. Campenaerts a échoué à seulement 53 centièmes de seconde de l'argent, revenu à Dumoulin.

Dennis, 28 ans, s'offre son premier titre mondial dans cette épreuve.

Le chrono se disputait sur une distance de 52,2 km. Les 30 premiers kilomètres du parcours étaient plats, avec peu de courbes. Puis venait le Gnadenwald, une côte de 4,9 kilomètres à du 7,1% de moyenne avec des passages à 13 et 14 %.

Campenaerts, double champion d'Europe en titre visait une place dans le top-6 afin d'égaler la meilleure performance belge dans cette épreuve, la sixième place obtenue par Nico Emonds (1994), Leif Hoste (2001) et Stijn Devolder (2008).

Sur le podium aux côtés de deux grands spécialistes



Le coureur de Lotto Soudal a fait mieux que ça sur le parcours tyrolien. Quatrième au premier pointage après 16 km, à 15.25 de Dennis, il a grimpé d'un place au deuxième passage intermédiaire (35 km), à 1:12.24 de l'Australien. A ce moment-là, Campenaerts comptait déjà 31 secondes d'avance sur le quatrième, le Polonais Michal Kwiatkowski et pouvait donc rêver d'une médaille. Le deuxième, Dumoulin, ne pointait qu'à 12 secondes.

Alors que Dennis poursuivait sa domination, Campenaerts négociait mieux que Dumoulin la deuxième partie plus descendante. Il reprenait 11 secondes au Néerlandais, mais ne parvenait pas à grappiller une place. C'est donc sur la troisième marche du podium que Campenaerts est monté, aux côtés de deux grands spécialistes, Dennis, intouchable mercredi, et Dumoulin.

Laurens de Plus, l'autre Belge engagé, a dû se contenter de la 50e place, à 8:14.20 du vainqueur.

Les épreuves contre la montre s'achèvent à Innsbruck pour faire place aux épreuves en ligne à partir de jeudi. Le bilan belge est impressionnant, avec également le titre mondial remporté par le junior Remco Evenepoel et l'argent de l'espoir Brent Van Moer. En outre, le contre-la-montre par équipes a été remporté par la formation belge Quick-Step Floors.

diff --git a/test/expected/SEPT_SUR_SEPT/0002919320 b/test/expected/SEPT_SUR_SEPT/0002919320 index 052f9a7..9667566 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919320 +++ b/test/expected/SEPT_SUR_SEPT/0002919320 @@ -3,6 +3,7 @@ [Cyclisme] 26-09-2018 17:34 + o Reference: 0002919320 o News link: http://s.7s7.be/3480000 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919320.header.html b/test/expected/SEPT_SUR_SEPT/0002919320.header.html index 02cef4f..50796a8 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919320.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919320.header.html @@ -9,7 +9,7 @@
-

L%27ex-star du cyclisme Jan Ullrich encore soupçonné d%27agression

+

L%27ex-star du cyclisme Jan Ullrich encore soupçonné d%27agression

([Cyclisme] 26-09-2018 17:34)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919320.html b/test/expected/SEPT_SUR_SEPT/0002919320.html index 72177d2..743defc 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919320.html +++ b/test/expected/SEPT_SUR_SEPT/0002919320.html @@ -9,10 +9,11 @@
-

L%27ex-star du cyclisme Jan Ullrich encore soupçonné d%27agression

+

L%27ex-star du cyclisme Jan Ullrich encore soupçonné d%27agression

([Cyclisme] 26-09-2018 17:34)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919324 b/test/expected/SEPT_SUR_SEPT/0002919324 index 8a8e6c8..49a3343 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919324 +++ b/test/expected/SEPT_SUR_SEPT/0002919324 @@ -2,6 +2,7 @@ [Monde] 26-09-2018 19:02 + o Reference: 0002919324 o News link: http://s.7s7.be/3480004 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919324.header.html b/test/expected/SEPT_SUR_SEPT/0002919324.header.html index 524d28a..b7a7247 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919324.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919324.header.html @@ -9,7 +9,7 @@
-

Armes à feu, cuirs: une marque "Benalla" a été déposée en France

+

Armes à feu, cuirs: une marque "Benalla" a été déposée en France

([Monde] 26-09-2018 19:02)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919324.html b/test/expected/SEPT_SUR_SEPT/0002919324.html index becbdbd..49254e4 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919324.html +++ b/test/expected/SEPT_SUR_SEPT/0002919324.html @@ -9,16 +9,17 @@
-

Armes à feu, cuirs: une marque "Benalla" a été déposée en France

+

Armes à feu, cuirs: une marque "Benalla" a été déposée en France

([Monde] 26-09-2018 19:02)


- Par: rédaction

26/09/18 - 19h02 Source: Belga Alexandre Benalla. © photo news.

Une avocate parisienne a déposé la marque "Benalla" pour faire valoir ses droits sur d'éventuelles armes à feu ou serviettes en papier au nom de l'ex-collaborateur de l'Elysée, a-t-on appris mercredi auprès de l'Institut national de la propriété industrielle (Inpi).

Ancien conseiller de l'Elysée, Alexandre Benalla a déclenché une tempête politico-judiciaire en France après avoir été filmé violentant un manifestant en marge du défilé du 1er mai à Paris.

Le 23 juillet, au lendemain de la mise en examen de M. Benalla pour ces violences commises le 1er mai, l'avocate Géraldine Lesieur a déposé cette demande d'inscription de la marque "Benalla", listant une série de produits et services allant des explosifs aux fourrures en passant par les gardes d'enfants à domicile, peut-on lire sur le site de l'Inpi, confirmant une information de la Dépêche du Midi.

Alexandre Benalla n'a "pas forcément été informé" de cette démarche, a expliqué le service de presse de l'Inpi. Le délai légal de deux mois pour contester ce dépôt expirera le 17 octobre.

Pour y faire opposition, il faut cependant déjà posséder soi-même une marque du même nom.

Encore deux mois avant validation définitive



L'avocate parisienne devra désormais attendre deux mois supplémentaires pour voir sa demande définitivement "validée", précise-t-on à l'Inpi.

A ce stade, les objections peuvent notamment être fondées sur "le respect de l'ordre public" ou les "bonnes moeurs", a détaillé Anne-Sophie Prusak de l'Inpi.

Si sa demande est validée, Géraldine Lesieur deviendra la propriétaire légale de la marque "Benalla". C'est la seule marque qu'elle a à ce jour déposée au titre de la propriété industrielle. + Par: rédaction

26/09/18 - 19h02 Source: Belga Alexandre Benalla. © photo news.

Une avocate parisienne a déposé la marque "Benalla" pour faire valoir ses droits sur d'éventuelles armes à feu ou serviettes en papier au nom de l'ex-collaborateur de l'Elysée, a-t-on appris mercredi auprès de l'Institut national de la propriété industrielle (Inpi).

Ancien conseiller de l'Elysée, Alexandre Benalla a déclenché une tempête politico-judiciaire en France après avoir été filmé violentant un manifestant en marge du défilé du 1er mai à Paris.

Le 23 juillet, au lendemain de la mise en examen de M. Benalla pour ces violences commises le 1er mai, l'avocate Géraldine Lesieur a déposé cette demande d'inscription de la marque "Benalla", listant une série de produits et services allant des explosifs aux fourrures en passant par les gardes d'enfants à domicile, peut-on lire sur le site de l'Inpi, confirmant une information de la Dépêche du Midi.

Alexandre Benalla n'a "pas forcément été informé" de cette démarche, a expliqué le service de presse de l'Inpi. Le délai légal de deux mois pour contester ce dépôt expirera le 17 octobre.

Pour y faire opposition, il faut cependant déjà posséder soi-même une marque du même nom.

Encore deux mois avant validation définitive



L'avocate parisienne devra désormais attendre deux mois supplémentaires pour voir sa demande définitivement "validée", précise-t-on à l'Inpi.

A ce stade, les objections peuvent notamment être fondées sur "le respect de l'ordre public" ou les "bonnes moeurs", a détaillé Anne-Sophie Prusak de l'Inpi.

Si sa demande est validée, Géraldine Lesieur deviendra la propriétaire légale de la marque "Benalla". C'est la seule marque qu'elle a à ce jour déposée au titre de la propriété industrielle.

diff --git a/test/expected/SEPT_SUR_SEPT/0002919326 b/test/expected/SEPT_SUR_SEPT/0002919326 index b2556ef..ceea642 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919326 +++ b/test/expected/SEPT_SUR_SEPT/0002919326 @@ -3,6 +3,7 @@ [Belgique] 26-09-2018 19:16 + o Reference: 0002919326 o News link: http://s.7s7.be/3480006 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919326.header.html b/test/expected/SEPT_SUR_SEPT/0002919326.header.html index 64c010f..d5969c0 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919326.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919326.header.html @@ -9,7 +9,7 @@
-

Les éleveurs de la zone infectée dispensés de cotisations sociales

+

Les éleveurs de la zone infectée dispensés de cotisations sociales

([Belgique] 26-09-2018 19:16)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919326.html b/test/expected/SEPT_SUR_SEPT/0002919326.html index b282f27..08b77e6 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919326.html +++ b/test/expected/SEPT_SUR_SEPT/0002919326.html @@ -9,16 +9,17 @@
-

Les éleveurs de la zone infectée dispensés de cotisations sociales

+

Les éleveurs de la zone infectée dispensés de cotisations sociales

([Belgique] 26-09-2018 19:16)


- Par: rédaction

26/09/18 - 19h16 Source: Belga Denis Ducarme, ministre fédéral de l'Agriculture. © belga.

peste porcine Les exploitants porcins qui se trouvent dans la zone de sécurité délimitée après l'apparition, à la mi-septembre, du virus de la peste porcine africaine (PPA) en province du Luxembourg pourront bénéficier d'un ajustement, d'un report, voire d'une dispense de cotisations sociales, a décidé mercredi le ministre fédéral de l'Agriculture et des Indépendants Denis Ducarme. La mesure s'inscrit en complément des indemnisations déjà prévues pour compenser l'abattage préventif de 4.000 porcs sains à l'intérieur du périmètre.

Les opérateurs situés dans la zone sont reconnus comme "secteur en crise" par le fédéral. Cela implique que leurs cotisations sociales puissent être adaptées en fonction de leur situation économique.

Les éleveurs pourront ainsi demander un ajustement, une dispense ou un report de paiement de leurs cotisations avec possibilité d'étaler ce paiement sans majoration ni perte des droits. Ces options ne s'excluent pas nécessairement l'une l'autre: un éleveur peut demander un ajustement ou un étalement avant de se rendre compte qu'il aura finalement besoin d'une dispense, précise le cabinet du ministre.

Les exploitants concernés sont invités à prendre contact dans les prochaines semaines avec leurs caisses d'assurances sociales. En cas de demande de dispense, M. Ducarme désire que les caisses d'assurances sociales gèlent le recouvrement de ces cotisations le temps que l'Institut national d'assurances sociales pour travailleurs indépendants (Inasti) statue.

"Un soutien concret au secteur"



"Nous sommes conscients que la situation de ces opérateurs est particulièrement difficile", a commenté le ministre de l'Agriculture. "Avec ces mesures, nous souhaitons apporter un soutien concret au secteur."

Par ailleurs, les éleveurs de la zone contaminée pourront bénéficier du chômage temporaire pour force majeure, a confirmé au cabinet de M. Ducarme celui du ministre fédéral de l'Emploi et de l'Economie Kris Peeters. + Par: rédaction

26/09/18 - 19h16 Source: Belga Denis Ducarme, ministre fédéral de l'Agriculture. © belga.

peste porcine Les exploitants porcins qui se trouvent dans la zone de sécurité délimitée après l'apparition, à la mi-septembre, du virus de la peste porcine africaine (PPA) en province du Luxembourg pourront bénéficier d'un ajustement, d'un report, voire d'une dispense de cotisations sociales, a décidé mercredi le ministre fédéral de l'Agriculture et des Indépendants Denis Ducarme. La mesure s'inscrit en complément des indemnisations déjà prévues pour compenser l'abattage préventif de 4.000 porcs sains à l'intérieur du périmètre.

Les opérateurs situés dans la zone sont reconnus comme "secteur en crise" par le fédéral. Cela implique que leurs cotisations sociales puissent être adaptées en fonction de leur situation économique.

Les éleveurs pourront ainsi demander un ajustement, une dispense ou un report de paiement de leurs cotisations avec possibilité d'étaler ce paiement sans majoration ni perte des droits. Ces options ne s'excluent pas nécessairement l'une l'autre: un éleveur peut demander un ajustement ou un étalement avant de se rendre compte qu'il aura finalement besoin d'une dispense, précise le cabinet du ministre.

Les exploitants concernés sont invités à prendre contact dans les prochaines semaines avec leurs caisses d'assurances sociales. En cas de demande de dispense, M. Ducarme désire que les caisses d'assurances sociales gèlent le recouvrement de ces cotisations le temps que l'Institut national d'assurances sociales pour travailleurs indépendants (Inasti) statue.

"Un soutien concret au secteur"



"Nous sommes conscients que la situation de ces opérateurs est particulièrement difficile", a commenté le ministre de l'Agriculture. "Avec ces mesures, nous souhaitons apporter un soutien concret au secteur."

Par ailleurs, les éleveurs de la zone contaminée pourront bénéficier du chômage temporaire pour force majeure, a confirmé au cabinet de M. Ducarme celui du ministre fédéral de l'Emploi et de l'Economie Kris Peeters.

diff --git a/test/expected/SEPT_SUR_SEPT/0002919340 b/test/expected/SEPT_SUR_SEPT/0002919340 index 46191f5..8bdfda4 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919340 +++ b/test/expected/SEPT_SUR_SEPT/0002919340 @@ -2,6 +2,7 @@ [People] 26-09-2018 18:21 + o Reference: 0002919340 o News link: http://s.7s7.be/3480012 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919340.header.html b/test/expected/SEPT_SUR_SEPT/0002919340.header.html index 0012406..c6141b1 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919340.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919340.header.html @@ -9,7 +9,7 @@
-

L%27enfance épouvantable de Joaquin Phoenix

+

L%27enfance épouvantable de Joaquin Phoenix

([People] 26-09-2018 18:21)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919340.html b/test/expected/SEPT_SUR_SEPT/0002919340.html index 0b40208..fddc07e 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919340.html +++ b/test/expected/SEPT_SUR_SEPT/0002919340.html @@ -9,16 +9,17 @@
-

L%27enfance épouvantable de Joaquin Phoenix

+

L%27enfance épouvantable de Joaquin Phoenix

([People] 26-09-2018 18:21)


- Jeanne Poma.

26/09/18 - 18h21 Source: The Sun Joaquin Phoenix © photo news.

L'acteur pourrait presque envier celle du Joker, son nouveau personnage.

Joaquin Phoenix en Joker © photo news.

River Phoenix © Cheyenne Randall.

Les fans connaissent l'acteur par ses remarquables interprétations de personnages sadiques, ivres de pouvoir, déprimés ou obsédés par le sexe. Si ces personnages perturbés l'attirent tellement, c'est parce que sa propre histoire est chargée de moments tragiques.

Une secte



La mère du jeune Joaquin a rencontré son père alors qu'il faisait de l'auto-stop. A deux, ils ont sillonné les Etats-Unis et l'Amérique du Sud pour diffuser les messages des "Enfants de Dieu", un culte religieux. Ils ont eu cinq enfants et leur ont donné des nom bibliques comme Jochebed et Amram.

Mais quand Joaquin a eu trois ans, ses parents ont commencé à avoir des doutes sur l'organisation. La presse a révélé que le culte "les Enfants de Dieu" encourageait le sexe en groupe et l'inceste. River, le frère ainé de Joaquin, raconte d'ailleurs avoir perdu sa virginité à l'âge de quatre ans.

La survie



Après avoir fui la secte, les parents de Joaquin ont voulu symboliser ce nouveau départ en changeant de nom. C'est depuis lors que la famille porte le nom de "Phoenix". Tous les enfants ont changé de prénoms pour être plus proches de la nature. Joaquin a hérité de celui de "Leaf", la feuille. Ils optent à cette époque pour un régime végétalien.

En Floride, la famille sombre dans la pauvreté et le petit Leaf doit mendier dans la rue avec sa sœur Rain et son frère River. C'est pourtant là qu'ils se font remarquer. River incarne le jeune Indie dans Indiana Jones. Joaquin enchaine les publicités et les séries. A 15 ans, Joaquin ne supporte pas le succès et part voyager en Amérique du Sud.

L'overdose de son frère



Quand Joaquin revient à Los Angeles, en 1993, il se rend avec sa sœur Rain dans le tristement célèbre Viper Room, le club de Johnny Depp. River a 23 ans, il s'apprête à donner un concert mais on lui offre un verre, rempli de drogues. Lui, qui a un style de vie irréprochable, s'effondre immédiatement et meurt devant les yeux de son frère et de sa sœur. Encore aujourd'hui, Joaquin Phoenix refuse de parler de ce jour tragique et déteste les médias pour la manière dont ils essayeront alors de s'immiscer dans leurs vies.

Réclusion



Depuis, Joaquin Phoenix alterne entre les périodes de succès où il interprète des rôles sombres et les périodes de réclusion. Il évite les fêtes d'Hollywood et préfère cultiver ses légumes dans son jardin. L'acteur vit dans une maison modeste et fréquente peu de monde. Après le film Walk The Line, il s'inscrit dans une cure de désintoxication à l'alcool. Il déclare avoir développé son addiction "par ennui".

A 43 ans, l'acteur a commencé le tournage du nouveau Joker. On l'y verra en acteur raté des années 1980, qui se tourne vers "le crime et le chaos". Ce film extrêmement attendu ne lui donnera pas la vie tranquille qu'il attend mais jouer un personnage dérangé semble lui plaire. + Jeanne Poma.

26/09/18 - 18h21 Source: The Sun Joaquin Phoenix © photo news.

L'acteur pourrait presque envier celle du Joker, son nouveau personnage.

Joaquin Phoenix en Joker © photo news.

River Phoenix © Cheyenne Randall.

Les fans connaissent l'acteur par ses remarquables interprétations de personnages sadiques, ivres de pouvoir, déprimés ou obsédés par le sexe. Si ces personnages perturbés l'attirent tellement, c'est parce que sa propre histoire est chargée de moments tragiques.

Une secte



La mère du jeune Joaquin a rencontré son père alors qu'il faisait de l'auto-stop. A deux, ils ont sillonné les Etats-Unis et l'Amérique du Sud pour diffuser les messages des "Enfants de Dieu", un culte religieux. Ils ont eu cinq enfants et leur ont donné des nom bibliques comme Jochebed et Amram.

Mais quand Joaquin a eu trois ans, ses parents ont commencé à avoir des doutes sur l'organisation. La presse a révélé que le culte "les Enfants de Dieu" encourageait le sexe en groupe et l'inceste. River, le frère ainé de Joaquin, raconte d'ailleurs avoir perdu sa virginité à l'âge de quatre ans.

La survie



Après avoir fui la secte, les parents de Joaquin ont voulu symboliser ce nouveau départ en changeant de nom. C'est depuis lors que la famille porte le nom de "Phoenix". Tous les enfants ont changé de prénoms pour être plus proches de la nature. Joaquin a hérité de celui de "Leaf", la feuille. Ils optent à cette époque pour un régime végétalien.

En Floride, la famille sombre dans la pauvreté et le petit Leaf doit mendier dans la rue avec sa sœur Rain et son frère River. C'est pourtant là qu'ils se font remarquer. River incarne le jeune Indie dans Indiana Jones. Joaquin enchaine les publicités et les séries. A 15 ans, Joaquin ne supporte pas le succès et part voyager en Amérique du Sud.

L'overdose de son frère



Quand Joaquin revient à Los Angeles, en 1993, il se rend avec sa sœur Rain dans le tristement célèbre Viper Room, le club de Johnny Depp. River a 23 ans, il s'apprête à donner un concert mais on lui offre un verre, rempli de drogues. Lui, qui a un style de vie irréprochable, s'effondre immédiatement et meurt devant les yeux de son frère et de sa sœur. Encore aujourd'hui, Joaquin Phoenix refuse de parler de ce jour tragique et déteste les médias pour la manière dont ils essayeront alors de s'immiscer dans leurs vies.

Réclusion



Depuis, Joaquin Phoenix alterne entre les périodes de succès où il interprète des rôles sombres et les périodes de réclusion. Il évite les fêtes d'Hollywood et préfère cultiver ses légumes dans son jardin. L'acteur vit dans une maison modeste et fréquente peu de monde. Après le film Walk The Line, il s'inscrit dans une cure de désintoxication à l'alcool. Il déclare avoir développé son addiction "par ennui".

A 43 ans, l'acteur a commencé le tournage du nouveau Joker. On l'y verra en acteur raté des années 1980, qui se tourne vers "le crime et le chaos". Ce film extrêmement attendu ne lui donnera pas la vie tranquille qu'il attend mais jouer un personnage dérangé semble lui plaire.

diff --git a/test/expected/SEPT_SUR_SEPT/0002919343 b/test/expected/SEPT_SUR_SEPT/0002919343 index 8fde2b2..8702b0e 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919343 +++ b/test/expected/SEPT_SUR_SEPT/0002919343 @@ -3,6 +3,7 @@ [Monde] 26-09-2018 17:49 + o Reference: 0002919343 o News link: http://s.7s7.be/3480015 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919343.header.html b/test/expected/SEPT_SUR_SEPT/0002919343.header.html index 07dabd5..7c58ca9 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919343.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919343.header.html @@ -9,7 +9,7 @@
-

Un membre des Pussy Riot convaincu d%27avoir été "empoisonné" par la Russie

+

Un membre des Pussy Riot convaincu d%27avoir été "empoisonné" par la Russie

([Monde] 26-09-2018 17:49)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919343.html b/test/expected/SEPT_SUR_SEPT/0002919343.html index 21db51e..9b96b8f 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919343.html +++ b/test/expected/SEPT_SUR_SEPT/0002919343.html @@ -9,16 +9,17 @@
-

Un membre des Pussy Riot convaincu d%27avoir été "empoisonné" par la Russie

+

Un membre des Pussy Riot convaincu d%27avoir été "empoisonné" par la Russie

([Monde] 26-09-2018 17:49)


- Par: rédaction

26/09/18 - 17h49 Source: Belga Piotr Verzilov lors de la finale de la Coupe du monde © ap.

Le militant du groupe contestataire Pussy Riot hospitalisé à Berlin, Piotr Verzilov, "croit fermement" avoir été empoisonné par la Russie, peut-être à cause de sa volonté d'enquêter sur la mort de trois journalistes russes en Centrafrique.

© ap.

© afp.

© afp.

Piotr Verzilov, 30 ans, avait été hospitalisé dans un état grave il y a une dizaine de jours à Berlin, après son transfert depuis Moscou par une ONG. Ses médecins estiment qu'il a "très vraisemblablement" été victime d'un empoisonnement.

"Je veux retourner en Russie"



"Je vais bien à nouveau, j'espère sortir dès que possible. Et je veux retourner en Russie", a-t-il dit dans une interview diffusée mercredi par le quotidien populaire allemand Bild. Il affirme se souvenir "à peine de ce qui lui est arrivé". Piotr Verzilov est l'un des quatre membres des Pussy Riot qui s'étaient introduits sur le terrain pendant la finale de la Coupe du monde de football en Russie en juillet, portant des uniformes de la police.

Il est également le fondateur du site internet Mediazona, qui informe notamment sur les procès des défenseurs des droits de l'homme en Russie.

"Deux raisons possibles"



"Il y a deux raisons possibles pour lesquelles les services secrets russes pourraient m'avoir empoisonné: d'une part, l'action de la finale de la Coupe du Monde, qui les a embarrassés, et d'autre part, mes liens avec les trois journalistes russes assassinés en Afrique", explique le militant dans Bild.

Tués par balles en Centrafrique



Ces trois journalistes ont été tués par balles le 30 juillet en Centrafrique où ils enquêtaient sur un groupe occulte de mercenaires russes, pour le compte d'un média fondé par l'adversaire du Kremlin Mikhail Khodorkovsky. M. Verzilov avait travaillé avec un de ces journalistes. "Je voulais et je veux faire une enquête sur ce qui est arrivé aux trois journalistes. C'est peut-être pour ça que les services secrets ont essayé de m'empoisonner. Je pense qu'il est plus probable qu'il s'agisse de ça que d'un match de Coupe du Monde", fait valoir le Pussy Riot.

Renseignements russes



"Je crois fermement que ce sont les services de renseignements russes qui sont à l'origine de mon empoisonnement, peut-être le GRU", le renseignement militaire, précise M. Verzilov. Selon lui, "l'empoisonnement était si professionnel qu'on ne peut en conclure autrement". "Cela ne m'a pas pris plusieurs jours avant de remarquer quelque chose, mais ça a été immédiatement aigu", décrit-il.

Affaire Skripal



Son hospitalisation est intervenue à un moment où l'affaire Skripal envenimait à nouveau les relations entre les Occidentaux et Moscou. Le gouvernement britannique accuse deux personnes qu'il présente comme des agents du renseignement militaire russe (GRU) d'avoir empoisonné en mars Sergueï Skripal et sa fille à Salisbury en Angleterre.

Ces accusations sont rejetées par la Russie. + Par: rédaction

26/09/18 - 17h49 Source: Belga Piotr Verzilov lors de la finale de la Coupe du monde © ap.

Le militant du groupe contestataire Pussy Riot hospitalisé à Berlin, Piotr Verzilov, "croit fermement" avoir été empoisonné par la Russie, peut-être à cause de sa volonté d'enquêter sur la mort de trois journalistes russes en Centrafrique.

© ap.

© afp.

© afp.

Piotr Verzilov, 30 ans, avait été hospitalisé dans un état grave il y a une dizaine de jours à Berlin, après son transfert depuis Moscou par une ONG. Ses médecins estiment qu'il a "très vraisemblablement" été victime d'un empoisonnement.

"Je veux retourner en Russie"



"Je vais bien à nouveau, j'espère sortir dès que possible. Et je veux retourner en Russie", a-t-il dit dans une interview diffusée mercredi par le quotidien populaire allemand Bild. Il affirme se souvenir "à peine de ce qui lui est arrivé". Piotr Verzilov est l'un des quatre membres des Pussy Riot qui s'étaient introduits sur le terrain pendant la finale de la Coupe du monde de football en Russie en juillet, portant des uniformes de la police.

Il est également le fondateur du site internet Mediazona, qui informe notamment sur les procès des défenseurs des droits de l'homme en Russie.

"Deux raisons possibles"



"Il y a deux raisons possibles pour lesquelles les services secrets russes pourraient m'avoir empoisonné: d'une part, l'action de la finale de la Coupe du Monde, qui les a embarrassés, et d'autre part, mes liens avec les trois journalistes russes assassinés en Afrique", explique le militant dans Bild.

Tués par balles en Centrafrique



Ces trois journalistes ont été tués par balles le 30 juillet en Centrafrique où ils enquêtaient sur un groupe occulte de mercenaires russes, pour le compte d'un média fondé par l'adversaire du Kremlin Mikhail Khodorkovsky. M. Verzilov avait travaillé avec un de ces journalistes. "Je voulais et je veux faire une enquête sur ce qui est arrivé aux trois journalistes. C'est peut-être pour ça que les services secrets ont essayé de m'empoisonner. Je pense qu'il est plus probable qu'il s'agisse de ça que d'un match de Coupe du Monde", fait valoir le Pussy Riot.

Renseignements russes



"Je crois fermement que ce sont les services de renseignements russes qui sont à l'origine de mon empoisonnement, peut-être le GRU", le renseignement militaire, précise M. Verzilov. Selon lui, "l'empoisonnement était si professionnel qu'on ne peut en conclure autrement". "Cela ne m'a pas pris plusieurs jours avant de remarquer quelque chose, mais ça a été immédiatement aigu", décrit-il.

Affaire Skripal



Son hospitalisation est intervenue à un moment où l'affaire Skripal envenimait à nouveau les relations entre les Occidentaux et Moscou. Le gouvernement britannique accuse deux personnes qu'il présente comme des agents du renseignement militaire russe (GRU) d'avoir empoisonné en mars Sergueï Skripal et sa fille à Salisbury en Angleterre.

Ces accusations sont rejetées par la Russie.

diff --git a/test/expected/SEPT_SUR_SEPT/0002919344 b/test/expected/SEPT_SUR_SEPT/0002919344 index 70a7569..4242023 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919344 +++ b/test/expected/SEPT_SUR_SEPT/0002919344 @@ -2,6 +2,7 @@ [Monde] 26-09-2018 18:00 + o Reference: 0002919344 o News link: http://s.7s7.be/3480016 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919344.header.html b/test/expected/SEPT_SUR_SEPT/0002919344.header.html index 4a5e856..203131e 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919344.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919344.header.html @@ -9,7 +9,7 @@
-

Grève annulée chez Eurostar

+

Grève annulée chez Eurostar

([Monde] 26-09-2018 18:00)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919344.html b/test/expected/SEPT_SUR_SEPT/0002919344.html index 59f3f9d..a62a0a1 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919344.html +++ b/test/expected/SEPT_SUR_SEPT/0002919344.html @@ -9,10 +9,11 @@
-

Grève annulée chez Eurostar

+

Grève annulée chez Eurostar

([Monde] 26-09-2018 18:00)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919345 b/test/expected/SEPT_SUR_SEPT/0002919345 index a18f22e..a65c575 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919345 +++ b/test/expected/SEPT_SUR_SEPT/0002919345 @@ -2,21 +2,32 @@ [Têtes Couronnées] 26-09-2018 18:14 + o Reference: 0002919345 o News link: http://s.7s7.be/3480017 o Source link: Par: rédaction - 26/09/18 - 18h14 Source: Avec Belga © belga. + 26/09/18 - 18h14 Source: Avec Belga © epa. - MISE À JOUR L'avion transportant la reine Paola s'est posé - mercredi vers 17h15 à l'aéroport militaire de Melsbroek. - L'épouse d'Albert II a ensuite été transférée vers les - cliniques universitaires Saint-Luc à Woluwe-Saint-Lambert, a - appris Belga à bonne source. + MISE À JOUR Le roi Philippe a rendu visite mercredi soir à sa + mère, la reine Paola, hospitalisée aux Cliniques + universitaires Saint-Luc à Woluwe-Saint-Lambert. Le souverain + a quitté l'hôpital vers 18h45. La reine Paola doit subir des + examens médicaux afin d'établir un diagnostic après des soucis + de santé survenus alors qu'elle se trouvait à Venise, en + Italie. - © epa. + Plus tôt dans la journée, le palais royal avait fait savoir + que la reine Paola serait rapatriée afin de se soumettre à des + examens médicaux. La reine, accompagnée du roi Albert, est + arrivée peu avant 18h00 à la clinique. On ne sait pas grand + chose de son état de santé, si ce n'est que ses jours ne sont + pas en danger. + + La RTBF avait évoqué un accident vasculaire cérébral survenu + en Italie. Selon la RTBF, la reine Paola a été victime d'un accident vasculaire cérébral (AVC) la nuit dernière alors qu'elle se @@ -26,9 +37,10 @@ d'après la RTBF, les jours de la reine ne sont pas en danger et son état de santé est sous contrôle. Elle est consciente, parle normalement et marche, selon nos confrères du Soir. Le - quotidien précise que la reine, examinée par «des médecins qui - la connaissent bien, a voyagé dans un avion de la Défense, et - donc non médicalisé. + quotidien précise que la reine, examinée par "des médecins qui + la connaissent bien", a voyagé dans un avion de la Défense, et + donc non médicalisé. Elle a atterri vers 17h17 a l'aéroport + militaire de Melsbroek. Le Premier ministre Charles Michel, actuellement à New York où il assiste à l'assemblée générale des Nations unies, lui a @@ -41,6 +53,8 @@ reine mes meilleurs voeux de rétablissement rapide et complet", peut-on y lire. + © belga. + © photo news. © belga. diff --git a/test/expected/SEPT_SUR_SEPT/0002919345.header.html b/test/expected/SEPT_SUR_SEPT/0002919345.header.html index 3e8dbdd..97ac030 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919345.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919345.header.html @@ -9,7 +9,7 @@
-

La reine Paola a été rapatriée

+

La reine Paola a été rapatriée

([Têtes Couronnées] 26-09-2018 18:14)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919345.html b/test/expected/SEPT_SUR_SEPT/0002919345.html index ddea19a..41f4ba1 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919345.html +++ b/test/expected/SEPT_SUR_SEPT/0002919345.html @@ -9,16 +9,17 @@
-

La reine Paola a été rapatriée

+

La reine Paola a été rapatriée

([Têtes Couronnées] 26-09-2018 18:14)


- Par: rédaction

26/09/18 - 18h14 Source: Avec Belga © belga.

MISE À JOUR L'avion transportant la reine Paola s'est posé mercredi vers 17h15 à l'aéroport militaire de Melsbroek. L'épouse d'Albert II a ensuite été transférée vers les cliniques universitaires Saint-Luc à Woluwe-Saint-Lambert, a appris Belga à bonne source.

© epa.

Selon la RTBF, la reine Paola a été victime d'un accident vasculaire cérébral (AVC) la nuit dernière alors qu'elle se trouvait à Venise. Le palais royal avait fait savoir plus tôt dans la journée que la reine Paola serait rapatriée en Belgique afin de se soumettre à des examens médicaux. Toujours d'après la RTBF, les jours de la reine ne sont pas en danger et son état de santé est sous contrôle. Elle est consciente, parle normalement et marche, selon nos confrères du Soir. Le quotidien précise que la reine, examinée par «des médecins qui la connaissent bien, a voyagé dans un avion de la Défense, et donc non médicalisé.

Le Premier ministre Charles Michel, actuellement à New York où il assiste à l'assemblée générale des Nations unies, lui a souhaité un prompt rétablissement, a indiqué son porte-parole. "Le Premier ministre s'est renseigné sur son état de santé et lui a souhaité un bon rétablissement", a-t-on appris.

Sur le site web de la présidence italienne, Sergio Mattarella a fait part de sa compassion au roi Philippe. "J'envoie à la reine mes meilleurs voeux de rétablissement rapide et complet", peut-on y lire.

© photo news.

© belga.

© belga. + Par: rédaction

26/09/18 - 18h14 Source: Avec Belga © epa.

MISE À JOUR Le roi Philippe a rendu visite mercredi soir à sa mère, la reine Paola, hospitalisée aux Cliniques universitaires Saint-Luc à Woluwe-Saint-Lambert. Le souverain a quitté l'hôpital vers 18h45. La reine Paola doit subir des examens médicaux afin d'établir un diagnostic après des soucis de santé survenus alors qu'elle se trouvait à Venise, en Italie.

Plus tôt dans la journée, le palais royal avait fait savoir que la reine Paola serait rapatriée afin de se soumettre à des examens médicaux. La reine, accompagnée du roi Albert, est arrivée peu avant 18h00 à la clinique. On ne sait pas grand chose de son état de santé, si ce n'est que ses jours ne sont pas en danger.

La RTBF avait évoqué un accident vasculaire cérébral survenu en Italie.

Selon la RTBF, la reine Paola a été victime d'un accident vasculaire cérébral (AVC) la nuit dernière alors qu'elle se trouvait à Venise. Le palais royal avait fait savoir plus tôt dans la journée que la reine Paola serait rapatriée en Belgique afin de se soumettre à des examens médicaux. Toujours d'après la RTBF, les jours de la reine ne sont pas en danger et son état de santé est sous contrôle. Elle est consciente, parle normalement et marche, selon nos confrères du Soir. Le quotidien précise que la reine, examinée par "des médecins qui la connaissent bien", a voyagé dans un avion de la Défense, et donc non médicalisé. Elle a atterri vers 17h17 a l'aéroport militaire de Melsbroek.

Le Premier ministre Charles Michel, actuellement à New York où il assiste à l'assemblée générale des Nations unies, lui a souhaité un prompt rétablissement, a indiqué son porte-parole. "Le Premier ministre s'est renseigné sur son état de santé et lui a souhaité un bon rétablissement", a-t-on appris.

Sur le site web de la présidence italienne, Sergio Mattarella a fait part de sa compassion au roi Philippe. "J'envoie à la reine mes meilleurs voeux de rétablissement rapide et complet", peut-on y lire.

© belga.

© photo news.

© belga.

© belga.

diff --git a/test/expected/SEPT_SUR_SEPT/0002919349 b/test/expected/SEPT_SUR_SEPT/0002919349 index 1d7ab5e..75a515f 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919349 +++ b/test/expected/SEPT_SUR_SEPT/0002919349 @@ -2,6 +2,7 @@ [Monde] 26-09-2018 18:30 + o Reference: 0002919349 o News link: http://s.7s7.be/3480021 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919349.header.html b/test/expected/SEPT_SUR_SEPT/0002919349.header.html index f151dcd..725a3f9 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919349.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919349.header.html @@ -9,7 +9,7 @@
-

Une nouvelle femme décrit des abus sexuels de Brett Kavanaugh

+

Une nouvelle femme décrit des abus sexuels de Brett Kavanaugh

([Monde] 26-09-2018 18:30)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919349.html b/test/expected/SEPT_SUR_SEPT/0002919349.html index ab3e369..5773489 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919349.html +++ b/test/expected/SEPT_SUR_SEPT/0002919349.html @@ -9,10 +9,11 @@
-

Une nouvelle femme décrit des abus sexuels de Brett Kavanaugh

+

Une nouvelle femme décrit des abus sexuels de Brett Kavanaugh

([Monde] 26-09-2018 18:30)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919351 b/test/expected/SEPT_SUR_SEPT/0002919351 index 9e9650d..d6814bd 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919351 +++ b/test/expected/SEPT_SUR_SEPT/0002919351 @@ -3,6 +3,7 @@ [Belgique] 26-09-2018 19:07 + o Reference: 0002919351 o News link: http://s.7s7.be/3480023 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919351.header.html b/test/expected/SEPT_SUR_SEPT/0002919351.header.html index ef3308c..361ca9c 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919351.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919351.header.html @@ -9,7 +9,7 @@
-

Quatre communes à facilités ont envoyé leurs convocations après celle du gouverneur

+

Quatre communes à facilités ont envoyé leurs convocations après celle du gouverneur

([Belgique] 26-09-2018 19:07)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919351.html b/test/expected/SEPT_SUR_SEPT/0002919351.html index bd29343..1811ca6 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919351.html +++ b/test/expected/SEPT_SUR_SEPT/0002919351.html @@ -9,10 +9,11 @@
-

Quatre communes à facilités ont envoyé leurs convocations après celle du gouverneur

+

Quatre communes à facilités ont envoyé leurs convocations après celle du gouverneur

([Belgique] 26-09-2018 19:07)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919352 b/test/expected/SEPT_SUR_SEPT/0002919352 index 9f98b37..3afac47 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919352 +++ b/test/expected/SEPT_SUR_SEPT/0002919352 @@ -3,6 +3,7 @@ [Economie] 26-09-2018 19:27 + o Reference: 0002919352 o News link: http://s.7s7.be/3480024 o Source link: diff --git a/test/expected/SEPT_SUR_SEPT/0002919352.header.html b/test/expected/SEPT_SUR_SEPT/0002919352.header.html index 4ced067..5d1a235 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919352.header.html +++ b/test/expected/SEPT_SUR_SEPT/0002919352.header.html @@ -9,7 +9,7 @@
-

La directrice générale d%27Engie dément tout projet de cession du nucléaire belge

+

La directrice générale d%27Engie dément tout projet de cession du nucléaire belge

([Economie] 26-09-2018 19:27)

diff --git a/test/expected/SEPT_SUR_SEPT/0002919352.html b/test/expected/SEPT_SUR_SEPT/0002919352.html index 3478e26..11e46c7 100644 --- a/test/expected/SEPT_SUR_SEPT/0002919352.html +++ b/test/expected/SEPT_SUR_SEPT/0002919352.html @@ -9,10 +9,11 @@
-

La directrice générale d%27Engie dément tout projet de cession du nucléaire belge

+

La directrice générale d%27Engie dément tout projet de cession du nucléaire belge

([Economie] 26-09-2018 19:27)

diff --git a/test/expected/SLASHDOT/0102636958 b/test/expected/SLASHDOT/0102636958 index f4aa3c8..3dad370 100644 --- a/test/expected/SLASHDOT/0102636958 +++ b/test/expected/SLASHDOT/0102636958 @@ -3,6 +3,7 @@ Thursday September 06, 2018 @11:30PM (msmash) from the how-about-that dept. + o Reference: 0102636958 o News link: https://news.slashdot.org/story/18/09/06/1558206/computer-chips-are-still-made-in-usa o Source link: https://www.axios.com/computer-chips-manufacturing-america--10dcfe13-64f3-4ea9-ad4a-cb189a00429a.html diff --git a/test/expected/SLASHDOT/0102636958.header.html b/test/expected/SLASHDOT/0102636958.header.html index 851f45e..9ec4772 100644 --- a/test/expected/SLASHDOT/0102636958.header.html +++ b/test/expected/SLASHDOT/0102636958.header.html @@ -9,7 +9,7 @@
-

Computer Chips Are Still 'Made in USA' (axios.com)

+

Computer Chips Are Still 'Made in USA' (axios.com)

(Thursday September 06, 2018 @11:30PM (msmash) from the how-about-that dept.)

diff --git a/test/expected/SLASHDOT/0102636958.html b/test/expected/SLASHDOT/0102636958.html index 130183b..5a48371 100644 --- a/test/expected/SLASHDOT/0102636958.html +++ b/test/expected/SLASHDOT/0102636958.html @@ -9,11 +9,12 @@
-

Computer Chips Are Still 'Made in USA' (axios.com)

+

Computer Chips Are Still 'Made in USA' (axios.com)

(Thursday September 06, 2018 @11:30PM (msmash) from the how-about-that dept.)

@@ -23,37 +24,37 @@ from the how-about-that dept.)

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by bobbied ( 2522392 )

Why?

Politics of course..

-

Re: (Score:2)

+

Re: (Score:2)

by Alwin Barni ( 5107629 )

> Why?

> Politics of course..

Could you please expand?

-

Re:Why is it "wishful thinking"? (Score:5, Funny)

+

Re:Why is it "wishful thinking"? (Score:5, Funny)

by fahrbot-bot ( 874524 )

>> Why?

>> Politics of course..

> Could you please expand?

P o l i t i c s o f c o u r s e.

-

Re: (Score:2, Funny)

+

Re: (Score:2, Funny)

by Anonymous Coward

>>> Why?

>>> Politics of course..

>> Could you please expand?

>

> P o l i t i c s o f c o u r s e.

>

I'm not sure if I should laugh, or hunt you down and smack you upside your head with a 2x4.

-

Re: (Score:3)

+

Re: (Score:3)

by Highdude702 ( 4456913 )

I mean, I thought it was hilarious, and it wasn't the name calling garbage you see here too often.

-

Re: (Score:2)

+

Re: (Score:2)

by Alwin Barni ( 5107629 )

:-)

However:

expand ikspand/

verb

verb: expand; 3rd person present: expands; past tense: expanded; past participle: expanded; gerund or present participle: expanding

* become or make larger or more extensive

* give a fuller version or account of.

-

Re: (Score:2)

+

Re: (Score:2)

by fahrbot-bot ( 874524 )

> :-)

> However: expand - verb ...

> (1) become or make larger or more extensive

> (2) give a fuller version or account of.

Yup, I know; I was married to an English teacher for 20 years, but using the first definition was funnier. :-)

[1]Remember Sue... [tumblr.com]

[1] http://remembersue.tumblr.com/

@@ -62,49 +63,49 @@ from the how-about-that dept.)
-

Re: Why is it "wishful thinking"? (Score:1)

+

Re: Why is it "wishful thinking"? (Score:1)

by Anonymous Coward

The only reason is automation. Jobs were never going to come back from chip manufacturing.

They have a factory crew for setting up the parts and feeding the machines. Pretty cheap, doesn't actually make much money for anyone but the corporation running it. It's all "unskilled" and low pay...setting up all those machines, getting material dimensions in spec and running the machine is just considered general labor.

-

Re: (Score:3)

+

Re: (Score:3)

by YuppieScum ( 1096 )

> If the US leads in chip manufacture, why can't it be competitive in putting the pieces together?

Because most of the CPU silicon used in the commonest devices - phones and laptops - is fabbed in Asia.

Because most of the parts - like screens, RAM and flash storage - are also made in Asia, so it's cheaper to bolt it all together in a location closest to the source of the most parts.

Because final assembly of something like an iPhone is a manual process that requires the dexterity of nimble fingers. It's not quite the same as bolting doors onto a Chevvy.

-

Re: (Score:2)

+

Re: (Score:2)

by GameboyRMH ( 1153867 )

Because it hardly has any of the pieces right now - it would be a massive effort to put all the supply chains in place for the various electronics components needed for a whole computer when the US currently makes little more than chips. Currently those supply chains are in Asia (which also has the advantages of cheap labor and lax environmental laws). I'd compare it to going from just making engine blocks to making a whole car, but that underplays the difficulty too much.

-

Re: (Score:2)

+

Re: (Score:2)

by AHuxley ( 892839 )

Re "why can't it be competitive in putting the pieces together?"

Think back to the 1970 and 1980's when the CPU thing needed new production lines and was no longer low yield skilled lab work.

Non first world nations part pay their workers in food, dormitories. Their introduction to work is free as its part of the nations free "education".

Tax reductions and industrial export support then further supports the electronics brand in the poor nation.

No unions. Lots of pollution.

The big brands moved to ver

-

But for how long? (Score:2)

+

But for how long? (Score:2)

by DMJC ( 682799 )

Sure they still do, but China is beginning to manufacture X86 CPUs directly. It's only a matter of time until they catch up and crush Intel and AMD through undercutting, and throwing money at the problem. [1]https://www.tomshardware.com/n... [tomshardware.com]

[1] https://www.tomshardware.com/news/china-zen-x86-processor-dryhana,37417.html

-

Re: (Score:2)

+

Re: (Score:2)

by Dallas May ( 4891515 )

In the long run, yes. Probably not really soon. There are plenty of significant advances happening that space right now. They might market to the far low end PCs, but they aren't the market AMD and Intel really want anyway.

-

Re: (Score:2)

+

Re: (Score:2)

by jon3k ( 691256 )

By then (10-20 years, if they're lucky) the desktop will be commoditized and mobile (ie laptops) mostly replaced with ARM. All the growth is in the server market and China is a long, long way from producing an X86 CPU that can compete with Intel Xeons. Who knows what the landscape will look like by then.

-

Re: But for how long? (Score:2)

+

Re: But for how long? (Score:2)

by adolf ( 21054 )

This will also be the year of Linux on the desktop!

-

Re: (Score:2)

+

Re: (Score:2)

by tsa ( 15680 )

Yeah, paradise is near!

-

Re: (Score:2)

+

Re: (Score:2)

by adolf ( 21054 )

We're on the home stretch, boys!

@@ -112,78 +113,78 @@ from the how-about-that dept.)
-

Re: (Score:2)

+

Re: (Score:2)

by AHuxley ( 892839 )

As long as the NRO needs hand crafted space CPU products.

-

Re: (Score:2)

+

Re: (Score:2)

by CaffeinatedBacon ( 5363221 )

But who will people trust to make their CPU's. Intel with their "management engine" and AMD etc all with the same is already freaking enough people out.

Who is going to want a Chinese CPU with who knows what running on it that you will never be able to see, has access to everything, and can do anything it wants to "your computer" and "your data".

Most countries would probably just ban them like they are [1]doing for 5G telecom equipment already. [nytimes.com]

[1] https://www.nytimes.com/2018/08/23/technology/huawei-banned-australia-5g.html

-

Yeah, but . . . (Score:5, Interesting)

+

Yeah, but . . . (Score:5, Interesting)

by dtmos ( 447842 ) *

. . . computer chips with state-of-the-art lithography soon all will be manufactured overseas. Specifically, they will be made by exactly two companies, [1]Samsung [samsungfoundry.com] and [2]TSMC [tsmc.com], with GlobalFoundries' recent announcement that it is [3]stopping development of its 7nm process [anandtech.com]. GF operated the old IBM facility in Fishkill, NY, and AFAIK was the last company offering state-of-the-art foundry services with a fab in the US.

Intel is still in business, of course, and even has a [4]foundry business [intel.com], but it cannot seem to successfully operate it -- substantially all of its wafer starts are chips of its own design. With the capital cost of each new-generation fab reaching $20 billion, it's only a matter of time until Intel -- which has only its internal product base of chip designs to fill its fabs, while Samsung and TSMC make chips for the entire industry -- can no longer afford the move to the next generation.

If the rest of the semiconductor industry (or the US DoD) wants high-performance computer chips, there's now nowhere to go except Samsung and TSMC. It will be interesting to see what politicians do when they realize that the best digital chips can no longer be manufactured in the US. The choice seems to be either (1) have our economy -- everything from cell phones to missiles -- dependent on chips manufactured overseas, or (2) subsidize Intel's foundry business and the semiconductor equipment manufacturers to the tune of tens of $billions, just to keep a US source of high-performance semiconductors.

[1] https://www.samsungfoundry.com/foundry/homepage.do

[2] http://www.tsmc.com/english/default.htm

[3] https://www.anandtech.com/show/13277/globalfoundries-stops-all-7nm-development

[4] https://www.intel.com/content/www/us/en/foundry/overview.html

-

+

-

Re: (Score:3)

+

Re: (Score:3)

by Dallas May ( 4891515 )

The same reason they haven't produced a car yet. They could, but they don't want to. They have good deals with their current suppliers, so why make that investment?

-

The normal Transition of economies (Score:2)

+

The normal Transition of economies (Score:2)

by aberglas ( 991072 )

1. Primary production

2. Manufacturing

3. Services

Services will keep things going fine. Lawyers, tax accountants, retail and beauty consultants. That is where the growth will come from.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by nateman1352 ( 971364 )

TI doesn't have state-of-the-art lithography for digital. They gave up on the Moore's Law race 10 years ago after they reached 45nm. TI realized during the development of WinRT that building CPUs requires very expensive fabs and if you are not an x86 supplier then your only option is to make ARM chips, which is a race to the bottom with very thin margins. TI realized they can make more money building mixed signal designs on older process.

-

Re:Yeah, but . . . (Score:4, Insightful)

+

Re:Yeah, but . . . (Score:4, Insightful)

by Graymalkin ( 13732 ) *

State of the art lithography is not a synonym for high-performance computer chips. In fact for a lot of uses, DoD included, state of the art lithography is nowhere in the requirements. Hardened chips on robust/insulated substrates is more important in many uses than smaller die traces.

-

Re: (Score:2)

+

Re: (Score:2)

by KalvinB ( 205500 )

They'll be subsidized under issues of national security if they're really needed by the government. The government generally doesn't run bleeding edge technology so the chips that can be produced in the US will be plenty sufficient for government needs. If the government ever needs a $20 billion plant, they'll cut a check under the national defense budget.

We've been comfortable with foreign made chips for decades in the consumer market. Unless there is a severe national security issue that won't change.

-

Re: (Score:2)

+

Re: (Score:2)

by nateman1352 ( 971364 )

Intel has the same fundamental problem with foundry that AMD had 10 years ago. Every 3rd party company does not trust Intel to prioritize their products over Intel's own products. Intel will always build their own products on the latest process node first. If you fab with Intel then your wafers will always get 2nd priority over Intel's own wafers. The only way that is not the case is if you are such a huge customer that your contract requires Intel to construct an entire new factory just for you. Then you h

-

Poor writing in TFA (Score:5, Informative)

+

Poor writing in TFA (Score:5, Informative)

by whoever57 ( 658626 )

"An even greater share of the world's computer chips are designed domestically and made overseas by companies including Qualcomm, Apple, Broadcom and Nvidia."

This reads as though Qualcomm, Apple, Broadcom and Nvidia are making chips. What would be clear and accurate is:

"An even greater share of the world's computer chips are designed domestically by companies including Qualcomm, Apple, Broadcom and Nvidia and made overseas."

-

Still somewhat misleading... (Score:4, Informative)

+

Still somewhat misleading... (Score:4, Informative)

by YuppieScum ( 1096 )

Don't forget, a hefty chunk of Qualcomm's - and pretty much all of Apple's - designs are not original, but instead are based on IP from ARM, a British company (although recently bought out by SoftBank).

In fact, Broadcom and Nvidia are also licencees of ARM IP as well, but less of their overall product range derives from it.

-

Are you sure? (Score:3, Interesting)

+

Are you sure? (Score:3, Interesting)

by Gabest ( 852807 )

TSMC and Samsung are the leaders in chip making. And second class Intel and AMD both have shady Middle-East ties from Israel and Dubai.

-

13% market share is not good (Score:4, Interesting)

+

13% market share is not good (Score:4, Interesting)

by Goldsmith ( 561202 )

This is a crazy article. At the end, it meekly points out that the US has a 13% market share in chip production. Given that the US started this industry, leads in design in this space, leads in capital available for high tech industry, and that the US accounts for 15% to 18% of global GDP, a 13% market share in chip production is very poor performance. This is below what you might expect for a simple commodity that depends only on domestic market size and way below what you'd expect for this industry.

diff --git a/test/expected/SLASHDOT/0102637536 b/test/expected/SLASHDOT/0102637536 index 467d5d0..e59740c 100644 --- a/test/expected/SLASHDOT/0102637536 +++ b/test/expected/SLASHDOT/0102637536 @@ -4,6 +4,7 @@ Thursday September 06, 2018 @11:30PM (msmash) from the for-the-record dept. + o Reference: 0102637536 o News link: https://yro.slashdot.org/story/18/09/06/1651255/tor-browser-gets-a-redesign-switches-to-new-firefox-quantum-engine o Source link: https://www.zdnet.com/article/tor-browser-gets-a-redesign-switches-to-new-firefox-quantum-engine/ diff --git a/test/expected/SLASHDOT/0102637536.header.html b/test/expected/SLASHDOT/0102637536.header.html index 2c5e8c1..58a15a9 100644 --- a/test/expected/SLASHDOT/0102637536.header.html +++ b/test/expected/SLASHDOT/0102637536.header.html @@ -9,7 +9,7 @@
-

Tor Browser Gets a Redesign, Switches To New Firefox Quantum Engine (zdnet.com)

+

Tor Browser Gets a Redesign, Switches To New Firefox Quantum Engine (zdnet.com)

(Thursday September 06, 2018 @11:30PM (msmash) from the for-the-record dept.)

diff --git a/test/expected/SLASHDOT/0102637536.html b/test/expected/SLASHDOT/0102637536.html index eedcb4e..39574e5 100644 --- a/test/expected/SLASHDOT/0102637536.html +++ b/test/expected/SLASHDOT/0102637536.html @@ -9,11 +9,12 @@
-

Tor Browser Gets a Redesign, Switches To New Firefox Quantum Engine (zdnet.com)

+

Tor Browser Gets a Redesign, Switches To New Firefox Quantum Engine (zdnet.com)

(Thursday September 06, 2018 @11:30PM (msmash) from the for-the-record dept.)

@@ -23,36 +24,36 @@ from the for-the-record dept.)

-

+

-

Re: Isn't page render speed pretty irrelevant for (Score:1)

+

Re: Isn't page render speed pretty irrelevant for (Score:1)

by Anonymous Coward

Not when you have the assets already cached. Most people donâ(TM)t just visit a site once. I was playing with it this morning. Itâ(TM)s a decent speed improvement even within the restraints of tor

More impressively msmash posted an actual tech article not a biasedpolitical article for a change. Losing too many readers now I suspect

-

Re: (Score:3, Insightful)

+

Re: (Score:3, Insightful)

by Tough Love ( 215404 )

> It's not like a new page renderer is going to solve that.

The point is to be synced up to the current Firefox codebase. Which by the way is awesome. I have all my favorite extensions running, in spite of all the FUD about the new Webextensions API.

-

Re: (Score:2)

+

Re: (Score:2)

by Tough Love ( 215404 )

>> It's not like a new page renderer is going to solve that.

> The point is to be synced up to the current Firefox codebase. Which by the way is awesome. I have all my favorite extensions running, in spite of all the FUD about the new Webextensions API.

Why would anybody mod that comment troll?

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by Tough Love ( 215404 )

It is FUD. Firefox's extension ecology is as vibrant as ever, but far more secure. And if somebody disagrees, they should do so instead of taking the belly slither route.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by theweatherelectric ( 2007596 )

You can use the built-in [1]Reader View [mozilla.org] for a lot of pages, but it's not available for all pages. It depends on the page structure.

[1] https://support.mozilla.org/en-US/kb/firefox-reader-view-clutter-free-web-pages

@@ -63,46 +64,46 @@ from the for-the-record dept.)
-

Tested today (Score:1)

+

Tested today (Score:1)

by Anonymous Coward

First impression is I like it. Video playback seems sluggish but overall positive. Hopefully any NSA addons did not make the cut.

-

Who can afford to run a tor exit node ? (Score:4, Interesting)

+

Who can afford to run a tor exit node ? (Score:4, Interesting)

by dargaud ( 518470 )

I really wonder that. I support tor. I've never actually used it because I don't have much to hide, but I understand that other do. So I ran a tor relay (not exit) as my way of supporting the project for a while; from my home adsl. After a while I noticed some weird stuff going on. Some websites (important ones) wouldn't load properly. Emails sent would bounce or simply never reach their destination. After looking at the problem I found that my IP was on some minor blacklists. I stopped the relay and after 2 days I was off the blacklists. Hence my question, if running a simple relay gets you blacklisted, what does running an exit point does to your other internet usage from that IP ? Who can afford separate IPs besides institutions ? So who is really really running them ? Certainly not private citizens...

-

Re: (Score:3)

+

Re: (Score:3)

by ftobin ( 48814 )

You can run something like a Linode instance pretty cheaply and get more IPs. I've run a highly restricted exit node in the past (low bandwidth, select ports), and I've had the same problems with you if I try to use my Linode as a web proxy. My most recent problem has been with Shut Up and Sit Down RSS feeds, which are blocking my host :-\

-

Re:Who can afford to run a tor exit node ? (Score:4, Informative)

+

Re:Who can afford to run a tor exit node ? (Score:4, Informative)

by tlhIngan ( 30335 )

> You can run something like a Linode instance pretty cheaply and get more IPs. I've run a highly restricted exit node in the past (low bandwidth, select ports), and I've had the same problems with you if I try to use my Linode as a web proxy. My most recent problem has been with Shut Up and Sit Down RSS feeds, which are blocking my host :-\

And that's just because no matter how noble the cause, idiots will just ruin it. You don't need a list of Tor exit nodes because if you run a reasonably popular website, you'll find out quite rapidly what they are and auto-blacklist t hem.

It's why CDNs like CloudFlare block Tor - the abuse from Tor exit nodes ensures that whatever trigger you use, it'll be triggered and you'll end up blocking it. It's not like it's done deliberately - you don't have to seek out new Tor exit nodes. They just make themselves known.

I'd even venture to say if you want to allow Tor traffic, you have to whitelist them specifically It's not that Tor is bad, it's just that it's got a bunch of bad actors that really do ruin it for those who need it.

-

Re: (Score:2)

+

Re: (Score:2)

by ftobin ( 48814 )

> And that's just because no matter how noble the cause, idiots will just ruin it. You don't need a list of Tor exit nodes because if you run a reasonably popular website, you'll find out quite rapidly what they are and auto-blacklist t hem.

I should mention that I don't and never did allow access on port 80 or 443, yet Shut up and Sit Down's RSS feed blocks me. There is no way my host was causing issues for their site, with the 20 KB/s of bandwidth I allowed. Additionally, I only allowed ports like IRC, DN

-

Re: (Score:2)

+

Re: (Score:2)

by bill_mcgonigle ( 4333 ) *

Check out the Library Freedom Project.

-

Re: (Score:2)

+

Re: (Score:2)

by AHuxley ( 892839 )

Governments.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by AHuxley ( 892839 )

NSA, CIA, GCHQ did not worry about anonymous communication.

Police with lots of cash per investigation at a national level don't worry about anonymous communication anymore.

diff --git a/test/expected/SLASHDOT/0102637868 b/test/expected/SLASHDOT/0102637868 index 42173ac..40d4803 100644 --- a/test/expected/SLASHDOT/0102637868 +++ b/test/expected/SLASHDOT/0102637868 @@ -4,6 +4,7 @@ Thursday September 06, 2018 @11:30PM (msmash) from the impressive-feat dept. + o Reference: 0102637868 o News link: https://hardware.slashdot.org/story/18/09/06/1719243/robot-boat-sails-into-history-by-finishing-atlantic-crossing o Source link: https://www.apnews.com/f6d0e2a099684468873ab48966590ada diff --git a/test/expected/SLASHDOT/0102637868.header.html b/test/expected/SLASHDOT/0102637868.header.html index b21c2a6..b1bf587 100644 --- a/test/expected/SLASHDOT/0102637868.header.html +++ b/test/expected/SLASHDOT/0102637868.header.html @@ -9,7 +9,7 @@
-

Robot Boat Sails Into History By Finishing Atlantic Crossing (apnews.com)

+

Robot Boat Sails Into History By Finishing Atlantic Crossing (apnews.com)

(Thursday September 06, 2018 @11:30PM (msmash) from the impressive-feat dept.)

diff --git a/test/expected/SLASHDOT/0102637868.html b/test/expected/SLASHDOT/0102637868.html index 1ae60d8..89a30f7 100644 --- a/test/expected/SLASHDOT/0102637868.html +++ b/test/expected/SLASHDOT/0102637868.html @@ -9,11 +9,12 @@
-

Robot Boat Sails Into History By Finishing Atlantic Crossing (apnews.com)

+

Robot Boat Sails Into History By Finishing Atlantic Crossing (apnews.com)

(Thursday September 06, 2018 @11:30PM (msmash) from the impressive-feat dept.)

@@ -23,40 +24,40 @@ from the impressive-feat dept.)

-

+

-

Re:Hard to understand why this would be difficult (Score:4, Informative)

+

Re:Hard to understand why this would be difficult (Score:4, Informative)

by arth1 ( 260657 )

You're a landlubber, I take it?

The Atlantic waves are quite an obstacle for a 2m boat.

Even drifting tar (and garbage) is a problem when you're that small.

-

Re: (Score:3, Funny)

+

Re: (Score:3, Funny)

by Anonymous Coward

It is not that easy. If you just start sailing in a straight line, you will end up many kilometers above the sea, which is no good for a sail boat. If instead you point the boat straight at the finish line, you'll be under water for most of the trip. Again, not ideal for a sail boat. The earth is not flat, you know.

-

Re:Hard to understand why this would be difficult (Score:4, Funny)

+

Re:Hard to understand why this would be difficult (Score:4, Funny)

by Oswald McWeany ( 2428506 )

I've found a FLAT EARTH DENIER !

I bet you vaccinate your kids and don't believe in lizard people either.

-

Re: (Score:2)

+

Re: (Score:2)

by gnick ( 1211984 )

Flat Earth statistic: If gravity is caused by a flat earth accelerating at g, it'll reach c after about 1 year (~354 days).

-

Re: (Score:2)

+

Re: (Score:2)

by amorsen ( 7485 )

> Flat Earth statistic: If gravity is caused by a flat earth accelerating at g, it'll reach c after about 1 year (~354 days).

You are saying that as if it is a problem to hit C, like it would be impossible to continue after 354 days. This is not the case. As long as you only care about your own point of view and you're the one being accelerated, you can reach as many times C as you want (well, have fuel for).

-

Re: (Score:2)

+

Re: (Score:2)

by gnick ( 1211984 )

You also have to decide what "at rest" means. A year accelerating at g will put you at your current velocity + c.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by lokedhs ( 672255 )

Would a flat earther believe in relativity though? If simple geometry eludes them, what would they do when being faced with a Lorentz transformation?

@@ -65,22 +66,22 @@ from the impressive-feat dept.)
-

Re: (Score:2)

+

Re: (Score:2)

by lgw ( 121541 )

> I've found a FLAT EARTH DENIER!

> I bet you vaccinate your kids and don't believe in lizard people either.

The earth is not flat - that's just silly. When we ent to the moon, and we did go to the moon, we discovered the terrifying truth. The MOON is flat!

-

Re:Hard to understand why this would be difficult (Score:4, Insightful)

+

Re:Hard to understand why this would be difficult (Score:4, Insightful)

by hey! ( 33014 )

> There really aren't a lot of obstacles to deal with. Just point the boat and go.

I imagine that's true, if you have an effectively unlimited energy, but the terms of this contest is to build a vehicle less than eight feet long that can cross the Atlantic.

That's not a lot of room to stuff with batteries or diesel fuel, or to cover with solar panels. And that's the whole point. If you could make the vehicle a hundred feet long, this challenge would be expensive, but easy. By making the boat tiny, you make the challenge affordable, but tough.

The race has two divisions, sail powered and unlimited, but it's hard to see what they had in mind for propulsion by having an unlimited division. Possibly some seawater-replenished fuel cell.

-

+

-

Bottles with corks have traversed the Atlantic (Score:2)

+

Bottles with corks have traversed the Atlantic (Score:2)

by aberglas ( 991072 )

Being small means relative high strength. A solid two meter boat should indestructible by waves. No need to keep a human alive, nor to go very fast. A very basic, fixed, small but strong sail would do.

Ice bergs could be a problem. Surely better to start further south. Longer but safer. Also need to stay out of shipping lanes.

I think this could be done without a computer. Just a magnetic compass controlling a rudder. Occasionally it would be blown backwards but no big deal. No need to worry about po

@@ -88,67 +89,67 @@ from the impressive-feat dept.)
-

KABLAM (Score:1)

+

KABLAM (Score:1)

by fluffernutter ( 1411889 )

No concrete barriers in the ocean?

-

Re: (Score:2)

+

Re: (Score:2)

by zlives ( 2009072 )

or pedestrians

-

A small achievement... (Score:2)

+

A small achievement... (Score:2)

by Bearhouse ( 1034238 )

Sure the Atlantic can be a tough place, but 79 days?

Single-handed (human) record is 3 1/2 days...

[1]https://en.wikipedia.org/wiki/... [wikipedia.org]

[1] https://en.wikipedia.org/wiki/Transatlantic_sailing_record

-

Re:A small achievement... (Score:4, Informative)

+

Re:A small achievement... (Score:4, Informative)

by careysub ( 976506 )

This is a 2 meter vessel, not a large racing hull built to be fast (and nothing but fast). Using the page you link to, the most useful comparison would be the single-handed records, and the one from 1987 which was about 11.5 days was in a 26 meter hull! And this is the smallest vessel on the list. You are probably not going to get a 2 meter vessel to tear along at an average speed of 7.5 m/sec which would be needed for that 11.5 day crossing.

-

Re: (Score:3)

+

Re: (Score:3)

by Solandri ( 704621 )

There have been a few sailboats in the 2 meter size range which have made the transatlantic crossing.

Hugo Vihlen aboard April Fool (1.8m) in 84 days in 1968, though technically he never finished since he was picked up by the USCG 6 miles offshore.

Tom MacNally aboard the Vera Hugh (1.64m) in 134 days in 1993.

Hugo Vihlen again aboard the Father's Day (1.62m) in 115 days in 1993.

Tom MacNally unsuccessfully attempted the trip again aboard a 1.19m craft in 1998. He passed away last year.

[1]Site with picture [microcruising.com]

[1] http://www.microcruising.com/famoussmallboats.htm

-

Re: (Score:3)

+

Re: (Score:3)

by careysub ( 976506 )

Also note that the world speed record for a radio-controlled sailing vessel (which was also 2 meters long) is [1]157.65 km in 23 hours 42 min [guinnessworldrecords.com] in the milder waters of the Mediterranean. At that world record speed in a small RC boat this challenge would have taken 32 days.

So 79 days in a boat not controlled by a human, and not limited to a 24 hour period, in the open waters of the Atlantic is not so shabby. The speed made good over that whole journey is 40% of that 24 hour record.

[1] http://www.guinnessworldrecords.com/world-records/greatest-distance-by-radio-controlled-model-sailing-ship-in-24-hours-(rc)

-

Re: (Score:3)

+

Re: (Score:3)

by arth1 ( 260657 )

> Sure the Atlantic can be a tough place, but 79 days?

The Mayflower took 66 days to cross, and was much bigger.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by zlives ( 2009072 )

shipping containers are more profitable.

-

And now the jokes begin... (Score:1)

+

And now the jokes begin... (Score:1)

by Jharish ( 101858 )

..."I rowboat".

https://www.theonion.com/i-rowboat-1819583491

-

Re: (Score:2)

+

Re: (Score:2)

by starless ( 60879 )

Followed later by Cory Doctorow

[1]http://bestsciencefictionstori... [bestscienc...tories.com]

[1] http://bestsciencefictionstories.com/2009/03/29/i-row-boat-by-cory-doctorow/

-

Description wrong? Not autonomous? (Score:5, Informative)

+

Description wrong? Not autonomous? (Score:5, Informative)

by starless ( 60879 )

> For the first time an autonomous sailing robot...

From the linked article:

[1]https://www.apnews.com/f6d0e2a... [apnews.com]

> The Sailbuoy competed in the “unmanned” class, which allows operators to change its course along the way. There’s a separate “autonomous” class that prohibits any such communication.

>>

[1] https://www.apnews.com/f6d0e2a099684468873ab48966590ada

-

So you crossed the sea, Columbot (Score:1)

+

So you crossed the sea, Columbot (Score:1)

by DulcetTone ( 601692 )

Don't forget that indigenous robots have rights, too.

diff --git a/test/expected/SLASHDOT/0102638976 b/test/expected/SLASHDOT/0102638976 index 3b53e71..d4ee144 100644 --- a/test/expected/SLASHDOT/0102638976 +++ b/test/expected/SLASHDOT/0102638976 @@ -4,6 +4,7 @@ Thursday September 06, 2018 @11:30PM (msmash) from the blurry-texts dept. + o Reference: 0102638976 o News link: https://tech.slashdot.org/story/18/09/06/1839242/google-investigating-issue-with-blurry-fonts-on-new-chrome-69 o Source link: https://www.zdnet.com/article/google-investigating-issue-with-blurry-fonts-on-new-chrome-69/ diff --git a/test/expected/SLASHDOT/0102638976.header.html b/test/expected/SLASHDOT/0102638976.header.html index 553d7eb..c255ed8 100644 --- a/test/expected/SLASHDOT/0102638976.header.html +++ b/test/expected/SLASHDOT/0102638976.header.html @@ -9,7 +9,7 @@
-

Google Investigating Issue With Blurry Fonts on new Chrome 69 (zdnet.com)

+

Google Investigating Issue With Blurry Fonts on new Chrome 69 (zdnet.com)

(Thursday September 06, 2018 @11:30PM (msmash) from the blurry-texts dept.)

diff --git a/test/expected/SLASHDOT/0102638976.html b/test/expected/SLASHDOT/0102638976.html index ed4b3f4..8c566d7 100644 --- a/test/expected/SLASHDOT/0102638976.html +++ b/test/expected/SLASHDOT/0102638976.html @@ -9,11 +9,12 @@
-

Google Investigating Issue With Blurry Fonts on new Chrome 69 (zdnet.com)

+

Google Investigating Issue With Blurry Fonts on new Chrome 69 (zdnet.com)

(Thursday September 06, 2018 @11:30PM (msmash) from the blurry-texts dept.)

@@ -23,177 +24,177 @@ from the blurry-texts dept.)

-

Whats the deal (Score:2)

+

Whats the deal (Score:2)

by 110010001000 ( 697113 )

Whats the deal with the new interface. Looks like we are back to rounded corners again.

-

+

-

Re: (Score:1)

+

Re: (Score:1)

by 110010001000 ( 697113 )

And what's the deal with decaf coffee? How do they get the caffeine out of there, and then where does it go?

-

Re: (Score:1)

+

Re: (Score:1)

by Anonymous Coward

Why do they put caffeine in coffee and then take it back out?

And why if Chrome rendering fonts in the first place? That's a job for the operating system.

-

Re: Whats the deal (Score:2)

+

Re: Whats the deal (Score:2)

by spongman ( 182339 )

dichloromethe (or ethyl acetate) leeching.

-

Re: (Score:2)

+

Re: (Score:2)

by DontBeAMoran ( 4843879 )

Score: 5, That's gold Jerry, GOLD!

-

So Chrome 69 makes you blind? (Score:4, Funny)

+

So Chrome 69 makes you blind? (Score:4, Funny)

by the_skywise ( 189793 )

The jokes write themselves...

-

Blurry Fonts... (Score:2)

+

Blurry Fonts... (Score:2)

by Oswald McWeany ( 2428506 )

Maybe they need to put on their Google Glass so they can read the fonts clearer.

-

Re: (Score:3)

+

Re: (Score:3)

by Z00L00K ( 682162 )

They just started to use Cleartype and the fuzzy fonts.

Both cleartype and fuzzy fonts gives me a headache so I have to use uBlock to revert to the browser default when I run Firefox.

-

I bet you (Score:5, Insightful)

+

I bet you (Score:5, Insightful)

by The MAZZTer ( 911996 )

If these are Windows users they screwed with the Compatibility Mode options for DPI in order to make the window smaller or bigger. It looked fine until Google did something differently and now the Compatibility Mode options make it look blurry. Turns out using options designed for use on legacy applications only on modern applications introduces problems. Lots of Steam users have similar problems.

-

Re: (Score:2)

+

Re: (Score:2)

by omnichad ( 1198475 )

Wrong. I use the standard DPI settings for the whole screen (1.5x on my 27" 4K screen), which only works with programs that are DPI-aware. It's true that I didn't notice the blurry fonts until I saw the headline, but I really just thought I was that tired (I've only had 69 for about a day). At least for me, it's fairly mild.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by omnichad ( 1198475 )

If it looks significantly worse, it could also have nothing at all to do with the bug - Chrome is DPI aware and should never have that enabled. Especially since the bug report doesn't have any mention of anything but the system DPI setting.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by omnichad ( 1198475 )

So you like the way I word it (No Giggity).

-

Re: (Score:3)

+

Re: (Score:3)

by Solandri ( 704621 )

The problem is there are three ways to tweak the DPI. Compatibility Mode, which can be set on a per-app basis. Display scaling, which is set via the Windows desktop and affects everything. And Advanced Scaling which Microsoft introduced with the Spring Creators Update, which I haven't figured out exactly how it's different from the regular Display Scaling.

Under the hood, there's also ClearType which runs on top of DPI scaling, and does [1]subpixel rendering [grc.com] (using the individual red, green, and blue subp

[1] https://www.grc.com/ctwhat.htm

-

Re: (Score:2)

+

Re: (Score:2)

by omnichad ( 1198475 )

Looking at some zoomed in screenshots, I think they're scaling the subpixel rendering itself (which should never happen). There is no reason to have red or blue tint on anything but the outermost pixel, but looking at my screenshot close up I'm seeing two side-by-side bluish or reddish pixels.

-

Re: (Score:2)

+

Re: (Score:2)

by Scoth ( 879800 )

Even on Chrome 69 on my multi-DPI work setup I have to turn on the DPI scaling compatibility mode/override to not get huge dialog boxes and widgets. It's a bit frustrating to me that a currently supported, modern app would still have problems with that.

-

Re: (Score:2)

+

Re: (Score:2)

by Ingenium13 ( 162116 )

Nope, I have a Windows VM that's essentially stock that I use for a couple applications. I had Chrome open in it earlier today, and noticed that the fonts were blurry and were giving me a headache after a few minutes of use. I thought maybe it was something with RDP messing it up, but after I read this, I logged in again and verified that the fuzzy fonts are only in Chrome. All other applications are fine.

-

Re: (Score:2)

+

Re: (Score:2)

by greenwow ( 3635575 )

And most Windows apps. For most of our users on Windows 10, Windows apps have blurry text no matter what settings we try. That really sucks for developers that need to read a lot of text.

-

+

-

Re: I bet you (Score:2)

+

Re: I bet you (Score:2)

by spongman ( 182339 )

They don't?

-

Not new (Score:2)

+

Not new (Score:2)

by Tailhook ( 98486 )

Chrome has been having this problem for certain desktop users for a while now. There are workaround flags and whatnot. Just another chronic quality problem in Chrome that never gets fixed....

-

Re: (Score:1)

+

Re: (Score:1)

by MidSpeck ( 1516577 )

True. I had to disable "Accelerated 2D canvas" in order to get the fuzziness to go away on mine on Chrome 68, which was working just fine before that.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by Z34107 ( 925136 )

Text wrapping is a "solved" problem, too, but you're still doing it by hand for some reason.

-

While they're at it (Score:2)

+

While they're at it (Score:2)

by Pedestrianwolf ( 1591767 )

..maybe they could also roll back all rounded rectangles they added in v69. Everything is so round it feels like I designed it in my basement.

-

Re: (Score:3)

+

Re: (Score:3)

by ArchieBunker ( 132337 )

Chrome has a major UI re-design? Firefox is going to be pulling some late nights to catch up!

-

It's also has performance regressions (Score:2)

+

It's also has performance regressions (Score:2)

by Suren Enfiajyan ( 4600031 )

On my Lenovo G570 the latest chrome also has very high CPU usage on [1]slither.io game [slither.io] and the game turns into a slideshow in places with many snakes. Firefox 61 doesn't suffer from the this problem, despite the fact that its slower almost in any regard. But not this time.

[1] http://slither.io/

-

BSOD (Score:2)

+

BSOD (Score:2)

by jimbrooking ( 1909170 )

After installing ALL pages I visit are pure black. No text or graphics.

-

Re: (Score:2)

+

Re: (Score:2)

by jimbrooking ( 1909170 )

Fix (Win 7 Home): Uninstall Chrome, delete all browsing date. reinstall Chrome, be dazzled by the curviness.

-

Can someone summarize the linked article? (Score:4, Funny)

+

Can someone summarize the linked article? (Score:4, Funny)

by kaizendojo ( 956951 )

I upgraded and I can't read it.

-

See Jeff Probst ... (Score:2)

+

See Jeff Probst ... (Score:2)

by CaptainDork ( 3678879 )

... about this.

I remember on Survivor®, back in the day, they had a "blurry tit," problem.

They fixed that by disallowing exposed tits.

Google should remove the tits from their fonts.

-

trivial subdomain hiding (Score:2)

+

trivial subdomain hiding (Score:2)

by Zaiff Urgulbunger ( 591514 )

So this "trivial subdomain hiding" thing... it's a crap idea right?

-

Here's my take as a Mac user (Score:2)

+

Here's my take as a Mac user (Score:2)

by DontBeAMoran ( 4843879 )

First of all, I really hate these thin fonts. They may look neat on hi-DPI displays but not everyone has one.

Secondly, the text on the left screen capture looks like it had its pixels hammered to the nearest pixel, which is the typical crappy-looking Microsoft anti-aliasing while the text on the right looks like normal anti-aliased text to me.

diff --git a/test/expected/SLASHDOT/0102639448 b/test/expected/SLASHDOT/0102639448 index 7fb3ce4..fc9fc16 100644 --- a/test/expected/SLASHDOT/0102639448 +++ b/test/expected/SLASHDOT/0102639448 @@ -3,6 +3,7 @@ Thursday September 06, 2018 @11:30PM (msmash) from the in-some-business-news dept. + o Reference: 0102639448 o News link: https://games.slashdot.org/story/18/09/06/1921222/eve-online-studio-acquired-by-korean-mmo-maker o Source link: https://www.engadget.com/2018/09/06/eve-online-pearl-abyss-ccp-games/ diff --git a/test/expected/SLASHDOT/0102639448.header.html b/test/expected/SLASHDOT/0102639448.header.html index a9cda4b..bad6182 100644 --- a/test/expected/SLASHDOT/0102639448.header.html +++ b/test/expected/SLASHDOT/0102639448.header.html @@ -9,7 +9,7 @@
-

'Eve Online' Studio Acquired By Korean MMO Maker (engadget.com)

+

'Eve Online' Studio Acquired By Korean MMO Maker (engadget.com)

(Thursday September 06, 2018 @11:30PM (msmash) from the in-some-business-news dept.)

diff --git a/test/expected/SLASHDOT/0102639448.html b/test/expected/SLASHDOT/0102639448.html index cc4be1a..0b800b7 100644 --- a/test/expected/SLASHDOT/0102639448.html +++ b/test/expected/SLASHDOT/0102639448.html @@ -9,11 +9,12 @@
-

'Eve Online' Studio Acquired By Korean MMO Maker (engadget.com)

+

'Eve Online' Studio Acquired By Korean MMO Maker (engadget.com)

(Thursday September 06, 2018 @11:30PM (msmash) from the in-some-business-news dept.)

@@ -23,98 +24,98 @@ from the in-some-business-news dept.)

-

RIP Eve (Score:3)

+

RIP Eve (Score:3)

by spiritplumber ( 1944222 )

Now watch the new owners completely misunderstand the userbase's culture and wreck a good thing.

-

Re: (Score:3)

+

Re: (Score:3)

by sinij ( 911942 )

If someone could make EVE more grindy, it would be a Korean MMO maker. I don't see them misunderstanding that aspect, as they invented Korean Grinder.

-

Re: (Score:3)

+

Re: (Score:3)

by duke_cheetah2003 ( 862933 )

> Now watch the new owners completely misunderstand the userbase's culture and wreck a good thing.

CCP already did that years ago.

-

+

-

Re: (Score:1)

+

Re: (Score:1)

by Anonymous Coward

Son, if Koreans will do anything it's inject sexy alien women and bikini-space-armor into it.

East Asia never suffered the retardation of puritanism, which is unique to the Western world owing to Abrahamic doctrine, to develop Gymnophobia and Genophobia, so they don't care about the Church-Feminist anti-sexualization offense alliance. The only exception are the "Communist" governments there.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by jeff4747 ( 256583 )

It's almost like you don't know there's already Korean and Chinese alliances in Eve.......and they're not doing all that well. I'm sure FRT will stop feeding Keepstars soon.

-

+

-

Re: (Score:3)

+

Re: (Score:3)

by St.Creed ( 853824 )

It was bad in the beta and never actually recovered from some pretty bad development choices. Have they discovered parallel processing yet? And version management? Okay, I guess the last one was a bit mean. They must have discovered Git by now.

But seriously, the game is an unstructured mess. Played it for a while, flew a Machariel and did incursions, level 4 missions etc. but after a while it got boring. May pick it up again though.

-

Not Good News (Score:4, Interesting)

+

Not Good News (Score:4, Interesting)

by Kunedog ( 1033226 )

Shamus Young has a series on Black Desert, explaining how shockingly aggressive, expensive and game-ruining he found the microtransactions system to be, even if you're familiar with the worst of the American systems. There's manadatory PvP and deliberately cramped inventory space but the "cash shop" can always make things better (i.e. playable).

I'd be worried if I were an EVE Online fan.

[1]https://www.shamusyoung.com/tw... [shamusyoung.com]

> I see all the default clothes are bland and I need to pay real money for a cool outfit. Aesthetics are important to me. (Which is why I spend so much time on sculpting my character.) So I really don’t want to spend the rest of my time looking at these blando outfits. Sigh. Fine. What’s a pretend suit of armor cost these days? Three bucks? Five bucks?

>

> FORTY SIX AMERICAN DOLLARS? ARE YOU TRYING TO START A FIGHT?

> The cheap outfits can be had for $22. They also offer ladies underwear sets for just $7, if you want to run around in your underpants. (I don’t, thanks.)

>

> (They also offer similar options for male characters. I was tempted to get the outfit that would let my kung-fu guy go shirtless, because he’s a kung-fu dude. But all of the choices looked like modern-day boxers. You can’t just wear baggy pants with no shirt.)

>

> Would you like to dye that super-expensive outfit you just bought? Or any other outfit? That will set you back another $10. And that’s somehow a rental. Your ten bucks gets you a month of being allowed to have dyed clothes. After the month is up, your clothes revert to their original colors and you gotta fork over another $10.

> Do you enjoy wheeling and dealing at the auction house in other games, but the egregious 35% tax on all your sales is making it impossible for you to have fun or turn a profit? Pay fifteen real-world dollars and the tax will go down to the normal 5%. (For one month.)

>

> Everything is exorbitantly priced like this. It’s so outrageously expensive that I get immediately pissed off. It’s not even about the money, it’s about the sheer audacity of the seller to ask this much[2] for what should be trivial virtual goods. Even if you’re a millionaire, you’re still likely to get offended if someone tries to sell you a stick of ordinary gum for five bucks.

[1] https://www.shamusyoung.com/twentysidedtale/?p=42507

-

Re: (Score:3, Interesting)

+

Re: (Score:3, Interesting)

by Anonymous Coward

> Everything is exorbitantly priced like this. It’s so outrageously expensive that I get immediately pissed off. It’s not even about the money, it’s about the sheer audacity of the seller to ask this much for what should be trivial virtual goods. Even if you’re a millionaire, you’re still likely to get offended if someone tries to sell you a stick of ordinary gum for five bucks.

Sometimes, I thought Stallman was being a pendant for gripes about terminology like "intellectual property".

Now I realize he was exactly right.

This guy uses the words "virtual goods", like it's something he'll actually own. Dollars to donuts, the EULA and TOS says these 'virtual goods' are nothing more than bits on their server, you don't own a single bit of it, and they do whatever they like, and fuck you we're keeping your money if you don't like it.

Seriously, this should be a legal term. If your company

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by Calydor ( 739835 )

Remember when they wanted to make players PAY for mods for Skyrim?

-

Re: (Score:2)

+

Re: (Score:2)

by JustAnotherOldGuy ( 4145623 )

$46 for a suit of armor?

If I ever had any interest in playing Eve*, this pricing would instantly cure me of that notion.

*Which I don't, but still...

-

Eve + Korean MMO + Pay To Win (Score:2)

+

Eve + Korean MMO + Pay To Win (Score:2)

by Crashmarik ( 635988 )

If that isn't a match made in hell I don't know what is.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by MAXOMENOS ( 9802 )

....if they can only get out of beta......

-

Re: (Score:2)

+

Re: (Score:2)

by blackomegax ( 807080 )

The current beta is 3 moons, 2 stations, and a shitty framework of a "game" that runs at 10fps on a GTX1060 at low settings and looks 5x worse than games like doom or E:D.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by St.Creed ( 853824 )

They're not even in Alpha. They call it that, but what it actually is, is "perpetual development hell". It doesn't have a version number but if it had, it would be 666.

@@ -123,49 +124,49 @@ from the in-some-business-news dept.)
-

Why didn't microsoft acquire it? (Score:3)

+

Why didn't microsoft acquire it? (Score:3)

by xxxJonBoyxxx ( 565205 )

Since its unofficial tagline is, ya know, "spreadsheet online"

-

Re: (Score:2)

+

Re: (Score:2)

by JustAnotherOldGuy ( 4145623 )

It's also known as "Spreadsheet Simulator".

-

Re: (Score:2)

+

Re: (Score:2)

by meglon ( 1001833 )

But...it's a really pretty spreadsheet.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by ctilsie242 ( 4841247 )

Makes me wonder too. I wonder if White Wolf would be sold off (likely) or spun off (unlikely, but would be nicer). My fear is that it gets tossed to some big company, and the IP completely shelved, never to see the light of day again, similar to how EA has done with a lot of Origin IP.

-

Re: (Score:2)

+

Re: (Score:2)

by jeff4747 ( 256583 )

CCP was making a World of Darkness MMO, but canceled the project a few years ago. I think they sold the IP.

-

Only half a billion? (Score:2)

+

Only half a billion? (Score:2)

by beheaderaswp ( 549877 ) *

My god... that number is kinda high...

That aside... this new owner will just accentuate the problem areas of Eve that kept it from truly meeting it's potential.

As it is, it's already a griefing sandbox with little wiggle room for anything except PVP and/or massive corporate/alliance industry or fleet ops. When it could be far more balanced and appeal to a larger player base.

Pushing it further into "gang warfare" style griefing will eventually make the player base smaller.

I stopped playing in 2016. So I play

-

Re: (Score:3)

+

Re: (Score:3)

by Luckyo ( 1726890 )

Your description of events is the exact opposite of your conclusion. It sounds like EVE has in fact achieved greatness, because the process you describe functions exactly like real world functions on macro level.

The fact that they apparently managed to recreated the world on macro level in a game through long standing player interactions in less than two decades is mind blowingly amazing.

-

Re: (Score:2)

+

Re: (Score:2)

by St.Creed ( 853824 )

And indeed, a subject of economic studies. Pretty brilliant work in that respect. Whether it's successful as an enjoyable game is something else entirely.

-

Re: (Score:2)

+

Re: (Score:2)

by Luckyo ( 1726890 )

Not economic. Political. This is literally the core tenets of concept of sovereignty. Economy is just a part of the picture here.

@@ -173,17 +174,17 @@ from the in-some-business-news dept.)
-

Eve Online New addon will contain loot boxes (Score:2)

+

Eve Online New addon will contain loot boxes (Score:2)

by Cito ( 1725214 )

No more expansion packs but eve online will offer season passes at 4 different tier prices; standard, deluxe edition, legacy and ultimate edition.

-

Also known as (Score:2)

+

Also known as (Score:2)

by JustAnotherOldGuy ( 4145623 )

"Eve Online", also affectionately known as "Spreadsheet Simulator".

-

made me laugh (Score:2)

+

made me laugh (Score:2)

by meglon ( 1001833 )

> Eve Online isn't the biggest MMORPG on the market

In other news: water is wet, and the sky is blue.

diff --git a/test/expected/SLASHDOT/0102639752 b/test/expected/SLASHDOT/0102639752 index 406db36..dcf97c8 100644 --- a/test/expected/SLASHDOT/0102639752 +++ b/test/expected/SLASHDOT/0102639752 @@ -4,6 +4,7 @@ Thursday September 06, 2018 @11:30PM (msmash) from the security-woes dept. + o Reference: 0102639752 o News link: https://tech.slashdot.org/story/18/09/06/1954253/400000-websites-vulnerable-through-exposed-git-directories o Source link: https://www.scmagazine.com/home/news/400000-websites-vulnerable-through-exposed-git-directories/ diff --git a/test/expected/SLASHDOT/0102639752.header.html b/test/expected/SLASHDOT/0102639752.header.html index 042810c..d5c2ac8 100644 --- a/test/expected/SLASHDOT/0102639752.header.html +++ b/test/expected/SLASHDOT/0102639752.header.html @@ -9,7 +9,7 @@
-

400,000 Websites Vulnerable Through Exposed .git Directories (scmagazine.com)

+

400,000 Websites Vulnerable Through Exposed .git Directories (scmagazine.com)

(Thursday September 06, 2018 @11:30PM (msmash) from the security-woes dept.)

diff --git a/test/expected/SLASHDOT/0102639752.html b/test/expected/SLASHDOT/0102639752.html index a4297bb..4a2ebbb 100644 --- a/test/expected/SLASHDOT/0102639752.html +++ b/test/expected/SLASHDOT/0102639752.html @@ -9,11 +9,12 @@
-

400,000 Websites Vulnerable Through Exposed .git Directories (scmagazine.com)

+

400,000 Websites Vulnerable Through Exposed .git Directories (scmagazine.com)

(Thursday September 06, 2018 @11:30PM (msmash) from the security-woes dept.)

@@ -23,101 +24,101 @@ from the security-woes dept.)

-

+

-

Re: (Score:2, Informative)

+

Re: (Score:2, Informative)

by MidSpeck ( 1516577 )

^/.*/\.git/

Protect git repositories in all subdirectories as well.

-

Re: (Score:2)

+

Re: (Score:2)

by jrumney ( 197329 )

Why stop there? Are there any dot files/directories that need to be served over HTTP?

-

Re: .htaccess (Score:3)

+

Re: .htaccess (Score:3)

by spongman ( 182339 )

Why doesn't Apache block all '.'-prefixed directories by default?

-

+

-

Re:https://slashdot.org/.git (Score:4, Informative)

+

Re:https://slashdot.org/.git (Score:4, Informative)

by ls671 ( 1122017 )

Slashdot is still using CVS try [1]https://slashdot.org/CVS/ [slashdot.org]

you will see, it works! :)

[1] https://slashdot.org/CVS/

-

Your central git repo ... (Score:1)

+

Your central git repo ... (Score:1)

by Qbertino ( 265505 )

... belongs behind ssh or, at least, behind http access and SSL.

If I catch you doing otherwise for anything other than FOSS software I'll smack you. Hard.

-

Re:Your central git repo ... (Score:4, Informative)

+

Re:Your central git repo ... (Score:4, Informative)

by tlhIngan ( 30335 )

> ... belongs behind ssh or, at least, behind http access and SSL.

> If I catch you doing otherwise for anything other than FOSS software I'll smack you. Hard.

And it probably is. The thing is, the website owners are using git to version control and deploy their website (not a bad idea). So they develop their web site, push it to the central git repo, and whenever they need to go live, they just do a "git pull" on the webserver and it'll pull down the latest version of the website.

Problem is, they forget about the hidden .git directory git makes that stores all sorts of useful information and with a little persistence, allow you access to the raw source code since you can access the individual git objects. (Or maybe even clone it using git).

-

Re: (Score:2)

+

Re: (Score:2)

by jrumney ( 197329 )

I do this, it is very convenient for deploying updates to the site. But I always put the web interface into a subdirectory, and only configure the web server to see that so the .git directory is not visible over HTTP. And dotfiles and directories are blocked in the webserver config for extra protection against accidental inclusion of invisible files.

-

reheating yesterday's food (Score:3)

+

reheating yesterday's food (Score:3)

by Tsolias ( 2813011 )

just an article from 2015 [1]https://en.internetwache.org/d... [internetwache.org]

I can give you also next year's article about .file vulnerabilities. (spoiler alert) [2]https://en.internetwache.org/s... [internetwache.org]

[1] https://en.internetwache.org/dont-publicly-expose-git-or-how-we-downloaded-your-websites-sourcecode-an-analysis-of-alexas-1m-28-07-2015/

[2] https://en.internetwache.org/scanning-the-alexa-top-1m-for-ds-store-files-12-03-2018/

-

+

-

KKK (Score:2)

+

KKK (Score:2)

by Tsolias ( 2813011 )

> Thats what you get on hiring those bootcamp "graduates"

Kode w/ Karlie Kloss, like it or not.

-

Alternate headline: 99.8% websites are OK (Score:2)

+

Alternate headline: 99.8% websites are OK (Score:2)

by jmichaelg ( 148257 )

230 million websites. 400k poorly configured. 4*10^5/2.3*10^8 is less than 0.2% of websites surveyed screwed this up.

400k is a big number but it's good to know most developers aren't that stupid on this issue.

-

+

-

Re: yarn dist (Score:2)

+

Re: yarn dist (Score:2)

by TimMD909 ( 260285 )

... Equifax types for free security tests from 3rd parties and press coverage, presumably...

-

So? (Score:2)

+

So? (Score:2)

by cshark ( 673578 )

An open git directory will be everything you need to reconstruct the site, more often than not from the same server you're targeting. Scary. Database servers are rarely open. Short of some serious hacking, there isn't a lot you're going to be able to do with this stuff once you've obtained the information you're waving around here.

Until such time as I see hackers actually logging in with this information and defacing github, I'm going to remain unconvinced of the severity of this one.

-

Re: (Score:2)

+

Re: (Score:2)

by OrangeTide ( 124937 )

My website's .git directories are open intentionally. Makes for convenient mirroring and viewing of archives without having to hope and pray wayback machine picked up my obscure website.

I'm not too worried. It's just data on the filesystem, it's not executing programs. And the data is not supposed to contain any secrets. If it ever does then I better rewrite my git history.

-

Re: (Score:1)

+

Re: (Score:1)

by Anonymous Coward

The most likely actual security implication is hard coded keys to 3rd party APIs.

Not that this is an inevitable threat, itâ(TM)s just something I could see being inadvertently exposed and useful without much additional effort.

-

Re: (Score:1)

+

Re: (Score:1)

by Orrin Bloquy ( 898571 )

> itâ(TM)s

Clear something up, are you typing curly quotes/apostrophes on purpose or do you have your browser configured to automatically do that.

-

Re: (Score:2)

+

Re: (Score:2)

by jonwil ( 467024 )

What about if that .git folder (and the website's source code) included private keys for stuff. Or credentials/API keys for 3rd party services. Or credentials for database and other servers.

diff --git a/test/expected/SLASHDOT/0102639856 b/test/expected/SLASHDOT/0102639856 index 1492add..e33af06 100644 --- a/test/expected/SLASHDOT/0102639856 +++ b/test/expected/SLASHDOT/0102639856 @@ -4,6 +4,7 @@ Thursday September 06, 2018 @11:30PM (msmash) from the there-is-no-spoon dept. + o Reference: 0102639856 o News link: https://tech.slashdot.org/story/18/09/06/205221/ive-seen-the-future-of-consumer-ai-and-it-doesnt-have-one o Source link: https://www.theregister.co.uk/2018/09/05/consumer_ai_ifa_2018_roundup/ diff --git a/test/expected/SLASHDOT/0102639856.header.html b/test/expected/SLASHDOT/0102639856.header.html index 7d44aab..7c2b334 100644 --- a/test/expected/SLASHDOT/0102639856.header.html +++ b/test/expected/SLASHDOT/0102639856.header.html @@ -9,7 +9,7 @@
-

'I've Seen the Future of Consumer AI, and it Doesn't Have One' (theregister.co.uk)

+

'I've Seen the Future of Consumer AI, and it Doesn't Have One' (theregister.co.uk)

(Thursday September 06, 2018 @11:30PM (msmash) from the there-is-no-spoon dept.)

diff --git a/test/expected/SLASHDOT/0102639856.html b/test/expected/SLASHDOT/0102639856.html index f8b7271..0625d73 100644 --- a/test/expected/SLASHDOT/0102639856.html +++ b/test/expected/SLASHDOT/0102639856.html @@ -9,11 +9,12 @@
-

'I've Seen the Future of Consumer AI, and it Doesn't Have One' (theregister.co.uk)

+

'I've Seen the Future of Consumer AI, and it Doesn't Have One' (theregister.co.uk)

(Thursday September 06, 2018 @11:30PM (msmash) from the there-is-no-spoon dept.)

@@ -23,347 +24,347 @@ from the there-is-no-spoon dept.)

-

Stupid industry fads (Score:5, Funny)

+

Stupid industry fads (Score:5, Funny)

by Spy Handler ( 822350 )

3D printer in every home will fundamentally change human society

IoT internet connected belt buckles and toothbrushes will take over the world

AI will revolutionize consumer electronics

Net PC from Sun will dominate the computer industry (this one is really old)

-

Re:Stupid industry fads (Score:5, Insightful)

+

Re:Stupid industry fads (Score:5, Insightful)

by ShanghaiBill ( 739463 )

Excessive hype is always followed by a trough of disillusionment. But as the TOD fades, plenty of mature, practical applications are likely to emerge. The technological naysayers are usually even more wrong than the hypesters.

[1]Hype cycle [wikipedia.org]

[1] https://en.wikipedia.org/wiki/Hype_cycle

-

Re: (Score:2)

+

Re: (Score:2)

by fahrbot-bot ( 874524 )

> Excessive hype is always followed by a trough of disillusionment.

Pro Tip: Get out in front and mention this *before* taking your date home. Better for her to hear it from you than her working it out on her own ... :-)

-

Re:Stupid industry fads (Score:4, Insightful)

+

Re:Stupid industry fads (Score:4, Insightful)

by CaptainDork ( 3678879 )

If smart phones and tablets are any indicator ...

AI, too, is an evolutionary dead end.

It's a buzz word with a vacuous definition.

-

Re: (Score:2)

+

Re: (Score:2)

by Q-Hack! ( 37846 )

Not a lot different than back in the 1950's when the trend was to create all manor of odd gadgets to make life easier. Those deemed useful are still around... The rest can be found in junk markets around the world. But hey, the Cracker-barrel's of the future will still need stuff to decorate their walls with.

-

Re: (Score:2)

+

Re: (Score:2)

by CaptainDork ( 3678879 )

In reaction to your sig:

I recently re-read "Nineteen Eighty-Four," because my first reading was so long ago.

Good read, but what a goddam depressing book!

-

Re: (Score:2)

+

Re: (Score:2)

by magzteel ( 5013587 )

> Excessive hype is always followed by a trough of disillusionment. But as the TOD fades, plenty of mature, practical applications are likely to emerge. The technological naysayers are usually even more wrong than the hypesters.

> [1]Hype cycle [wikipedia.org]

Back in the early PC days, when you had to hook up a cassette player to load your application, and then another one to load your data, we used to tell people they could store recipes on their TRS-80 personal computer. This was not much of a productivity enhancer. I'm sure based on this experience some people would have thought PC's were useless and had no future.

And then floppy disks and spreadsheets were invented.

[1] https://en.wikipedia.org/wiki/Hype_cycle

-

Re: (Score:2)

+

Re: (Score:2)

by jythie ( 914043 )

It is really difficult to say if the naysayers or hypesters are more often right or wrong. One problem with looking back at negative guesses is we only really remember the ones that turned out to be wrong since the evidence is in modern use today, while all the naysayers that we right, well, the things they were right about faded into obscurity.

-

Re: (Score:2)

+

Re: (Score:2)

by ShanghaiBill ( 739463 )

You only count as a "true" naysayer if you are negative about an overhyped trend with groupies and fanbois, not about an obviously stupid idea.

The naysayers were right about the Segway, but that was an easy target, since it reached peak hype before it had even been shown to the public.

Other tech failures were Iridium, Zune, Pebble, Juicero. But none of these were hyped as world changing technology.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by ShanghaiBill ( 739463 )

> In the long term only 1/20 companies really make it.

Success of a technology is rarely correlated with the success of particular companies. Silicon Valley is littered with plaques marking the graves of semiconductor pioneering companies. Few of them survived. Yet semiconductors have been the greatest technological success since fire was tamed.

For another example, look at aviation. It took 66 years to go from Kitty Hawk to the Sea of Tranquility. Yet how many airlines made money during those years? Almost none.

-

Re: (Score:1)

+

Re: (Score:1)

by atherophage ( 2481624 )

Prognosticators have been wrong before. While it is easy to poke fun at the unusual who knows, perhaps in a few years dental floss will come with AI. The thought of not having AI floss will be unthinkable.

-

Re: (Score:3, Interesting)

+

Re: (Score:3, Interesting)

by Anonymous Coward

As much as I am a nerd, I blame "nerds" for this. There is this whole new fad of being a "techie", watching Big Bang Theory, owning a Tesla, and generally being absolutely ignorant about real science, technology and math while "pretending" to be a nerd. I used "pretending" but there may be some legitimate attempt but it is hard to tell if someone is a fake nerd or just a stupid nerd. I think this trend partly follows from women trying to follow the (tech) money and then men trying to follow the women.

This

-

Re: (Score:2)

+

Re: (Score:2)

by AbRASiON ( 589899 ) *

I don't know that there's a lot of these people but they do exist, for certain yes. The 'watching big bang theory' is the kicker, once someone admits watching that, you know they're very unlikely to be a 'proper nerd' for lack of a better term.

Considering they only have partial skills in technology then, we can likely guess, if they work in the industry, they're probably higher on the ladder than us and paid more though :/ like most management / consultant types.

-

Re: (Score:3)

+

Re: (Score:3)

by JMJimmy ( 2036122 )

The thing no one can consider is time.

"AI" being jammed into things now is probably lame, awkward, and of very limited use. Much like computers were back in the punch card days with devices that. Less than 100 years later we've got computers in our pocket. We are in the early days of AI - we'll look back on it decades from now as we do with things like: [1]https://www.youtube.com/watch?... [youtube.com]

This article is just another example of someone who can't see past their nose to the road ahead and the million differen

[1] https://www.youtube.com/watch?v=Sp7MHZY2ADI

-

Re: (Score:2)

+

Re: (Score:2)

by AHuxley ( 892839 )

Good for a few workers over the decade of hype.

-

Re: (Score:2)

+

Re: (Score:2)

by m00sh ( 2538182 )

> 3D printer in every home will fundamentally change human society

> IoT internet connected belt buckles and toothbrushes will take over the world

> AI will revolutionize consumer electronics

> Net PC from Sun will dominate the computer industry (this one is really old)

I don't know about home but it plays a big part in manufacturing. There are very specialized and successful medical companies that use 3d printing.

Don't know about belt buckles but fitbit, apple watch, garmin has been worth billions of dollars and fundamentally changed the way a lot of people do things.

I don't know about NetPC but what about the cloud? The hype that we would all put all our stuff in the cloud blah blah actually materialized. There are many companies who own no hardware except the dev la

-

Re: (Score:2)

+

Re: (Score:2)

by lokedhs ( 672255 )

Net PC was not from Sun. I should I know, I worked for them during that era. What they had was JavaStation, which was a neat idea but ahead of its time. That concept is now realised by the Chromebook. Net PC was a Compaq thing, if I recall correctly. However, Wikipedia tells me it was Oracle, so perhaps the Compaq device was called something else.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by bobbied ( 2522392 )

> Example: Apple will go under...any day now....since 1984

But they've been totally correct in not predicting the "Year of the Linux Desktop" has come.

You win a few and lose a few.

-

Re: (Score:2)

+

Re: (Score:2)

by jythie ( 914043 )

*nod* to expand on this.... true, Apple never did go under. But look how many computer companies started up around the same time and did. It is fun to look at the successes and compare them to the naysayers who were wrong, but the ones who were right, well, their predictions did not leave much to talk about today.

-

+

-

Re:Now With AI! (Score:5, Informative)

+

Re:Now With AI! (Score:5, Informative)

by ShanghaiBill ( 739463 )

> Gee, I could have sworn we already HAD the AI craze back in the late 80s. Or was it early 90s?

It was the 1980s. It had faded long before 1990.

But there was an earlier AI craze in the 1960s, based on perceptrons. That faded by 1970.

The 1980 AI hype cycle was driven by "expert systems" and "Lisp machines".

The latest cycle started in 2006 with the publication of the [1]seminal paper on deep learning [sciencemag.org], and has so far lasted far longer than any previous AI hype cycle.

[1] http://science.sciencemag.org/content/313/5786/504

-

Re: (Score:2)

+

Re: (Score:2)

by CaptainDork ( 3678879 )

I go way back, too.

AI had an unambiguous definition that eroded under stress because the industry came to the realization that the "I" part (intelligence) used the human mind as the high bar.

The second epiphany came when no one could fabricate an AI that would simply refuse to cooperate if Facebook was unreachable.

-

Re: (Score:2)

+

Re: (Score:2)

by Pseudonym ( 62607 )

In the 90s it was all "knowledge-based systems" and in the noughties it was all "intelligent agents".

-

Re: (Score:2)

+

Re: (Score:2)

by ShanghaiBill ( 739463 )

> In the 90s it was all "knowledge-based systems" and in the noughties it was all "intelligent agents".

Yes, but those generated far less hype than what happened in the 60s, 80s, and teenies.

The big things in the 90s and noughties were the web and e-commerce.

-

Re: (Score:2)

+

Re: (Score:2)

by CWCheese ( 729272 )

Thanks for the Lisp reference! I fondly remember learning Lisp in an AI class during college in the 80s. Actually enjoyed programming Lisp because it could be so terse and do so much very rapidly. However, we really had no good applications to use for it, other than having an application learn the best way to win a chess game. I chose not to pursue AI as a career and haven't suffered for that.

-

Re: (Score:2)

+

Re: (Score:2)

by ShanghaiBill ( 739463 )

> I chose not to pursue AI as a career and haven't suffered for that.

Learning Lisp would not have helped you. Modern AI uses mostly Python based libraries such as Tensorflow and PyTorch. C++ is used for performance critical stuff. Nobody uses Lisp for AI anymore. It was a dead end.

-

Fifth Generation (Score:2)

+

Fifth Generation (Score:2)

by mcswell ( 1102107 )

Fueling the hype in the 1980s AI cycle was the Japanese Fifth Generation project, for which a stated goal was to leapfrog the West's computer technology and skills. People like Edward Feigenbaum and Pamela McCorduck used the FUD generated around this project to call for increased funding, claiming in their 1983 book 'The Fifth Generation: Japan’s Computer Challenge to the World' that "America needs a national plan of action, a kind of space shuttle program for the knowledge systems of the future." A

-

Re: (Score:2)

+

Re: (Score:2)

by Torodung ( 31985 )

> Cats on the blockchain, anyone?

Well, at the very least, every zig should be on the blockchain. Don't know about Cats.

-

You can stop reading at "Orlowski" (Score:4, Interesting)

+

You can stop reading at "Orlowski" (Score:4, Interesting)

by serviscope_minor ( 664417 )

Andrew Orlowski of The Register is basically a professional dickhead. His main goal seems to be to be as obnoxious and ignorant as possible presumably with the goal of trolling the readership. He's pretty much the reason I stopped reading the Register because of the constant streem of utter bullshit from that guy.

-

Re:You can stop reading at "Orlowski" (Score:4, Interesting)

+

Re:You can stop reading at "Orlowski" (Score:4, Interesting)

by starless ( 60879 )

And also appears to be climate change denier....

(at least for some of his Register articles.)

-

Re: (Score:2)

+

Re: (Score:2)

by TJ_Phazerhacki ( 520002 )

So, Walt Mossberg for a new generation? Shutup!

-

AI in a Toaster! (Score:2)

+

AI in a Toaster! (Score:2)

by Zorro ( 15797 )

Red Dwarf has already shown why this is a BAD Idea.

https://www.youtube.com/watch?v=lhnN4eUiei4

-

Re: (Score:2)

+

Re: (Score:2)

by Revek ( 133289 )

Please learn basic html K, thanks.

-

Re: (Score:2)

+

Re: (Score:2)

by AbRASiON ( 589899 ) *

How about slashdot stop being entirely backwards with that shit instead?

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by Applehu Akbar ( 2968043 )

But I do like being able to verbally ask my phone to navigate to a contact, without having to squint at a screen in the sun, and get turn by turn directions. Digital assistants have slipped into a place in my life where they do a few useful things. As time goes on, this set will grow larger.

But I know: "If it works, it's not AI!" "If it's AI, it won't work!"

-

Aibo (Score:1)

+

Aibo (Score:1)

by Anonymous Coward

If Sony's Aibo lives up to the demos I have seen - that would be one big application. AI as a pet.

I also use AI (maybe more ML) all the time with photo sorting, image recognition, etc. It is already in the home.

-

OP must be joking... (Score:4, Insightful)

+

OP must be joking... (Score:4, Insightful)

by JoeDuncan ( 874519 )

... because consumer AI is *ALREADY* ubiquitous and all around us.

From the face detection in your phone, to the fuzzy logic controllers in washing machines, to the ant colony algorithms being used to route network traffic, to finding directions with google maps, to Netflix and Amazon's recommendation algorithms, to OCR for cheques and mail, to NEST thermostats, to robot vacuum cleaners and lawn mowers, to expert systems in medical diagnosis... (I could keep going)

AI in consumer products is literally *already* ALL around us.

Saying that consumer AI "has no future" is like looking around at the world today and saying "personal cars have no future" - it's completely idiotic because to anyone with half an ounce of perception that future is ALREADY here.

It's like looking at a forest and claiming there are no trees

-

Re: (Score:2)

+

Re: (Score:2)

by grahamsz ( 150076 )

Yeah it seems like it is a natural fit in optimizing the things we do.

Even though I don't routinely use my phone as an alarm clock, it still knows when i'm likely to get up and if I plug it in at bed time it'll do a good job of figuring out when i'm likely to get up and adjusts its charging rate to be done about an hour before then. Yet if I plug it in a 3pm then it'll assume i want as much charge as possible and charge as fast as it can. It's not rocket science, but it's useful.

Do I need a dishwasher with

-

Re: (Score:2)

+

Re: (Score:2)

by JoeDuncan ( 874519 )

> Do I need a dishwasher with a screen that I can talk to?

Nope, but I'm willing to bet it has an embedded fuzzy logic controller in it to control water levels.

-

Re: (Score:2)

+

Re: (Score:2)

by mcswell ( 1102107 )

"Do I need a dishwasher with a screen that I can talk to?" Printers have a screen. You can't talk to it (at least you're not supposed to--when aggravated, I've been know to do so, and not kindly). But try to decipher what's on that screen. I claim that printers are not any easier to use than they were in 1984 (which is when I got my first dot matrix printer). You (ok, I) *still* can't figure out what's wrong with them, despite the screen.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by JoeDuncan ( 874519 )

> None of the tings you mention actually contain any real artificial intelligence in the sense of being able to making decisions in the face of unknown circumstances and data sources.

They do actually.

Roombas have to be able to adapt to unknown obstacles and uncertain sensory input (could get blocked, partially occluded etc...).

Embedded fuzzy logic controllers (also used in anti-lock brakes) have to be able to maintain a steady output signal given uncertain input (wear and tear on the mechanics, grit...) that can vary wildly in an unknown manner.

OCR systems need to be able to tell the difference between a cheque and unknown things, like night club flyers, and they deal with hand written

-

Re: (Score:1)

+

Re: (Score:1)

by AHuxley ( 892839 )

Re "face detection" is not AI. Its a really big and fast database. Filled with faces the police know about and random people walking past CCTV.

Re "fuzzy logic controllers in washing machines" A set amount of power, water, weight of laundry is not AI. Just good programming within set limits.

Re "'finding directions" with maps that are created and set.

Re "recommendation algorithms" that is set by past people buying things and another person showing the same interests. More to do with collecting lots

-

Re: (Score:2)

+

Re: (Score:2)

by JoeDuncan ( 874519 )

> ..."face detection" is not AI. Its a really big and fast database. Filled with faces the police know...

...and just HOW do the faces "police know" get matched to this database? Explain without reference to AI.

> ..."fuzzy logic controllers in washing machines" A set amount of power, water, weight of laundry is not AI.

No it isn't, but you're a fool if you think your washing machine is that simple these days. It DOES take fuzzy logic to adapt to things like wear and tear on the machine, arbitrarily changing water pressures and temperatures, etc... and still maintain consistent performance.

> "'finding directions" with maps that are created and set.

...and using AI algorithms to find the best path.

Blah blah blah... you get the point. You've deliberately downplayed the AI aspect

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by JoeDuncan ( 874519 )

You are clearly uneducated, Troll.

If you actually wish to enlighten yourself, I'd start here: [1]https://en.wikipedia.org/wiki/... [wikipedia.org]

[1] https://en.wikipedia.org/wiki/Artificial_intelligence

-

Re: (Score:2)

+

Re: (Score:2)

by hazem ( 472289 )

> From the face detection in your phone, to the fuzzy logic controllers in washing machines, to the ant colony algorithms being used to route network traffic, to finding directions with google maps, to Netflix and Amazon's recommendation algorithms, to OCR for cheques and mail, to NEST thermostats, to robot vacuum cleaners and lawn mowers, to expert systems in medical diagnosis... (I could keep going)

When I took an AI class a few years ago, one of my favorite things the professor said was, "What we called 'AI' yesterday is simply the algorithm for how we do a thing today."

-

AI's Strength (Score:2)

+

AI's Strength (Score:2)

by thePsychologist ( 1062886 )

AI (i.e. machine learning/neural networks) is really good at optimizing stuff, so its natural strength shows when you have hundreds of thousands of entities in a system. Examples are the electricity grid, playing Go, and a department store's inventory.

In our individual lives, AI seems more like another drop in the bucket of too much technology, and I think one day we'll realize that less is more when it comes to the stuff in our homes.

-

Getting concerned myself (Score:1)

+

Getting concerned myself (Score:1)

by SuperKendall ( 25149 )

I was looking at new fridges recently as a friend was asking for a recommendation, and it's alarming how trying to find a fridge without a screen is getting to be like trying to find a cell phone without a camera... it really limits your options.

The only way they could make fridges any worse is the if screens also played CNN constantly when not in use, like in an airport... you can absolutely see subsidized ad-fridges coming down the pipeline.

-

Re: (Score:2)

+

Re: (Score:2)

by lgw ( 121541 )

Seems like only the highest and lowest-end fridges lack screens these days (as well as ice/water in the door, something else I could do without).

-

Re: (Score:2)

+

Re: (Score:2)

by mcswell ( 1102107 )

Come to my house. The refr *has* an ice/water dispenser in the door, but it hasn't worked for over a year. I think the tube to the water dispenser is frozen, and if it gets thawed, it just freezes up again. Same with the water dispenser on the refr nearest my office at work.

As for the ice dispenser on our refr, we never used it, so I took it out and got lots more room in the freezer. If we want ice cubes, we make them in trays, like the 1960s.

-

+

-

Re: (Score:3)

+

Re: (Score:3)

by sheramil ( 921315 )

> What the hell does a fridge need a screen for?

You can connect it to a webcam inside the fridge and see if the light goes out when you close the door.

-

I remember a time... (Score:2)

+

I remember a time... (Score:2)

by Dallas May ( 4891515 )

My uncle was a computer scientist for a National Lab. He retired 15 or so years ago. I remember just after my grandmother first got internet, he didn't have it at his home yet because he didn't believe it was safe -this was probably 1997 or 98, and I remember him talking to me about how disappointed he was with the internet. "It was supposed to be this great thing. It's useless. It'll never amount to anything."

Yeah, he was wrong.

-

Re: (Score:2)

+

Re: (Score:2)

by bobbied ( 2522392 )

> My uncle was a computer scientist for a National Lab. He retired 15 or so years ago. I remember just after my grandmother first got internet, he didn't have it at his home yet because he didn't believe it was safe -this was probably 1997 or 98, and I remember him talking to me about how disappointed he was with the internet. "It was supposed to be this great thing. It's useless. It'll never amount to anything."

> Yeah, he was wrong.

Was he? Was he really?

How much of the internet is truly useful and how much is just trash? Judging by my inbox, the number of E-mail in my inbox the ratio 1s more than 10 to 1 SPAM to worth while messages (And that's AFTER the SPAM filters.)

I find that this ratio pretty much governs the whole of the internet.. Where 1/10th of it is actually something of use and the rest is just useless junk.

So he's not that wrong.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by mcswell ( 1102107 )

And here you (and I) are.

-

I heard... (Score:1)

+

I heard... (Score:1)

by Hentai007 ( 188457 )

AI is turning frogs gay.

-

Re: (Score:2)

+

Re: (Score:2)

by AbRASiON ( 589899 ) *

That's actually not true, the frogs are only gay for pay.

-

Nobody buys something because of AI (Score:3)

+

Nobody buys something because of AI (Score:3)

by Laxator2 ( 973549 )

I did not see any example where someone says: "I did not buy that product because it lacked AI".

I did not hear from anyone that they need AI so they are going out of their way to buy it. In its current form AI is good for pattern recognition in some cases, for example, face identification in photos.

The only customers are corporations with massive collections of personal data to analyze, but not individual consumers.

I believe AI has been over-hyped and pushed in areas where it is not usable in its current form (like self-driving cars) and we start to see the backlash.

I've already seen stories saying that the medical diagnoses made by IBM's Watson are just plain wrong. More examples will follow.

-

Re: (Score:2)

+

Re: (Score:2)

by m00sh ( 2538182 )

> I did not see any example where someone says: "I did not buy that product because it lacked AI".

> I did not hear from anyone that they need AI so they are going out of their way to buy it. In its current form AI is good for pattern recognition in some cases, for example, face identification in photos. The only customers are corporations with massive collections of personal data to analyze, but not individual consumers. I believe AI has been over-hyped and pushed in areas where it is not usable in its current form (like self-driving cars) and we start to see the backlash.

> I've already seen stories saying that the medical diagnoses made by IBM's Watson are just plain wrong. More examples will follow.

What about Google home and Alexa?

How do you recognize pedestrians in self-driving cars without AI?

IBM Watson was wrong quite a bit but it won jeopardy.

-

First they ignore you, ... (Score:1)

+

First they ignore you, ... (Score:1)

by Maxo-Texas ( 864189 )

First they ignore you, then they laugh at you, then they fight you, then you win.

Mahatma Gandhi

This field is moving so fast compared to the 90s.

-

It's a dead end because it's not very good anyway (Score:2)

+

It's a dead end because it's not very good anyway (Score:2)

by Rick Schumann ( 4662797 )

So-called 'AI' is over-hyped and under-performing.

-

Another AI winter? (Score:2)

+

Another AI winter? (Score:2)

by OneHundredAndTen ( 1523865 )

The AI bubble seems to be starting to deflate. It may not pop, but it will likely carry on shrinking. Most people already know that Alex and co. are little more than gimmicks, good for party games, grins and giggles, and little more. The AI community seems to be making the same mistakes they made in the late 60s and 70s. The second AI winter is nigh.

-

how do you see non-existent things ? (Score:2)

+

how do you see non-existent things ? (Score:2)

by bingoUV ( 1066850 )

If Consumer AI doesn't have a future, how can that non-existent future be seen ?

In an alternative interpretation, the author has seen the future of Consumer AI and so of course it exists. But the future of the future of Consumer AI doesn't exist. I.e. Future of Consumer AI doesn't have one - where "one" stands for future.

Any other interpretations ?

-

It's not "Consumer AI" (Score:1)

+

It's not "Consumer AI" (Score:1)

by themusicgod1 ( 241799 )

Since the consumer is not control of it.

It's Anti-Consumer AI if anything

diff --git a/test/expected/SLASHDOT/0102640098 b/test/expected/SLASHDOT/0102640098 index dc0bd6b..81e3f14 100644 --- a/test/expected/SLASHDOT/0102640098 +++ b/test/expected/SLASHDOT/0102640098 @@ -4,6 +4,7 @@ Thursday September 06, 2018 @11:30PM (BeauHD) from the new-breed-of-corporate-leaders dept. + o Reference: 0102640098 o News link: https://developers.slashdot.org/story/18/09/06/2024232/software-developers-are-now-more-valuable-to-companies-than-money-says-survey o Source link: https://www.cnbc.com/2018/09/06/companies-worry-more-about-access-to-software-developers-than-capital.html diff --git a/test/expected/SLASHDOT/0102640098.header.html b/test/expected/SLASHDOT/0102640098.header.html index 451416b..d07a8c5 100644 --- a/test/expected/SLASHDOT/0102640098.header.html +++ b/test/expected/SLASHDOT/0102640098.header.html @@ -9,7 +9,7 @@
-

Software Developers Are Now More Valuable To Companies Than Money, Says Survey (cnbc.com)

+

Software Developers Are Now More Valuable To Companies Than Money, Says Survey (cnbc.com)

(Thursday September 06, 2018 @11:30PM (BeauHD) from the new-breed-of-corporate-leaders dept.)

diff --git a/test/expected/SLASHDOT/0102640098.html b/test/expected/SLASHDOT/0102640098.html index 56a604e..9c6f5e7 100644 --- a/test/expected/SLASHDOT/0102640098.html +++ b/test/expected/SLASHDOT/0102640098.html @@ -9,11 +9,12 @@
-

Software Developers Are Now More Valuable To Companies Than Money, Says Survey (cnbc.com)

+

Software Developers Are Now More Valuable To Companies Than Money, Says Survey (cnbc.com)

(Thursday September 06, 2018 @11:30PM (BeauHD) from the new-breed-of-corporate-leaders dept.)

@@ -23,51 +24,51 @@ from the new-breed-of-corporate-leaders dept.)

-

So why not treat them well? (Score:5, Insightful)

+

So why not treat them well? (Score:5, Insightful)

by gweihir ( 88907 )

Naa, that would be un-capitalist. Developers must be cheap wage-slaves that do not have a real career-path and are unable to find a job once they hit 50. That will surely not have any impact on whether smart people go into software writing or not, right?

-

Re: So why not treat them well? (Score:1)

+

Re: So why not treat them well? (Score:1)

by Dannis12345 ( 5512754 )

This is really true. As the fact that the IT leads the world.

-

+

-

Re: (Score:3)

+

Re: (Score:3)

by ShanghaiBill ( 739463 )

> But even so, I hear these horror stories about how software developers are treated and I just have not seen it.

Me neither. I have worked for companies that had catered meals, free soda, laundry service, sky diving bonding trips, etc. I have had plenty of opportunities to travel. I have worked some late nights, and done a few death marches, but those only lasted a few weeks, out of a career lasting decades.

Software developers are likely the most spoiled employees in the history of the world.

People will alway whine.

-

Re: (Score:2)

+

Re: (Score:2)

by gweihir ( 88907 )

> People will alway whine.

And there you are wrong. I have a pretty good career myself. But I see how many coders are treated and I am not surprised at all that there are by far not enough good ones.

-

Re: (Score:1)

+

Re: (Score:1)

by NicknameUnavailable ( 4134147 )

As much as I'm for better treatment and perks for coders, the issue of "not enough good ones" isn't because of that. There's only so many smart people, dumb people and mediocre people don't make good coders. Some of the above-average ones might make the cut as maintenance coders or some incredibly soul-crushing AGILE environment where they don't actually have to think, but for the most part any programming position of note requires a 150+ IQ to do even moderately well.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by HornWumpus ( 783565 )

How many 3+ standard deviation people are we supposed to believe you know?

Same crit as you gave the GP. I doubt you know even one.

-

Re: (Score:2)

+

Re: (Score:2)

by gweihir ( 88907 )

The issue is very much that a lot of the few people that could be good at it, see the working conditions and career options and go somewhere else. Also, 150+IQ people basically do not exist. I gather this is some wired non-standard US scale...

-

Re: (Score:3)

+

Re: (Score:3)

by _Sharp'r_ ( 649297 )

Having a measured IQ >150, I can tell you with my excellent two-minute Googling skills there are approximately 300K in the U.S. if you're using the Stanford-Binet scale. For the Wechsler scale, it's more like 140K, which is still a lot of people. Heck, the Prometheus Society's cut-off for membership is 160+. I guess to you, they basically don't exist...

-

Re: (Score:2)

+

Re: (Score:2)

by ShanghaiBill ( 739463 )

> ... see the working conditions and career options and go somewhere else.

Where do they go?

Doctors, lawyers and investment bankers work longer hours than programmers. Nearly everyone else makes less money.

Maybe they become underwater welders?

@@ -77,175 +78,175 @@ from the new-breed-of-corporate-leaders dept.)
-

Re:So why not treat them well? (Score:5, Interesting)

+

Re:So why not treat them well? (Score:5, Interesting)

by spagthorpe ( 111133 )

It won't really have any impact, because young people don't think they'll ever get old. Or it will be different for them.

Had a 20-something at my last job make a number of comments about some of the older developers there, saying they'd hate to still be working at that age, and that they are probably stuck doing the same work because they can't learn anything new. I don't know why he was telling me this, as I was twice his age at the time, but it's obvious that he doesn't think he'll be in the same position.

They ultimately did lay off a lot of their senior engineers and replace a lot of the position with 20-somethings, including in project management positions. A number of those projects never saw the light of day after years of re-writes into new frameworks.

-

And yet there's agile (Score:2)

+

And yet there's agile (Score:2)

by xxxJonBoyxxx ( 565205 )

And open concept offices.

-

Re:And yet there's agile (Score:5, Interesting)

+

Re:And yet there's agile (Score:5, Interesting)

by Seven Spirals ( 4924941 )

I've quit one job and refused two others because of open offices. The two I refused were absolutely flabbergasted by my refusal. They literally could not understand why anyone wouldn't want to be in an open office space surrounded on 3.8 sides by glass-walled manager offices, loud ugly marketing girls, and a bunch of H1B dudes who couldn't be bothered to wear deodorant. That place (MX Logic) had the worst looking office I've ever seen. One of them offered me the job on the spot after the interview and I was already shutting them down and refusing it before they even got started. I told them there is about a zero percent chance of getting anyone really talented to take the gig, because they had this ridiculous noisy slave pit thing going. I nearly left before I even *did* the interview I was so disgusted with the place. The hiring manager was (of course) offended, but he was also clueless. About a year after that interview I had a guy come up to me at the local Maker Space who was one of the "technical resources" for the company during the interview (quiet guy in the back of the room). He told me "My god was I cheering when you refused them over the goddamn open workspace idiocy. My boss was upset over that for weeks. They still talk about it during the hiring process and argue about it."

-

Re: (Score:1)

+

Re: (Score:1)

by bkmoore ( 1910118 )

> ....One of them offered me the job on the spot after the interview and I was already shutting them down and refusing it before they even got started.....

It begs the question, why even apply there in the first place.

-

Re: (Score:3)

+

Re: (Score:3)

by Klaxton ( 609696 )

> It begs the question, why even apply there in the first place.

So you could see their office environment tucked away behind the job description on the internet?

-

Re: (Score:2)

+

Re: (Score:2)

by Ocker3 ( 1232550 )

"But I can See everyone and I know that they're working" - Manager If someone doesn't know enough about their direct report's job that they don't know whether they're working or not without seeing them at their desk, there's a problem. Not all jobs are reduced in efficiency by a cubicle farm, but if your job is primarily about mental focus for the time-intensive tasks, then most people will benefit from having their own room. And the employer will probably benefit enough that an actual room is a worthwhile

-

Re: (Score:2)

+

Re: (Score:2)

by erp_consultant ( 2614861 )

Sounds like a real horror show. Safe to say you made the right move.

-

Re: (Score:3)

+

Re: (Score:3)

by Klaxton ( 609696 )

I've worked in the industry for many years, usually with a private office or shared with one person. Recently got a job in an agile "scrum" shop, which went to an open floorplan a few months later. Miserable experience on both counts. Every day you get a Jira work ticket for some "the user wants to see" granule of a thing that you had no part in designing. Zero privacy. It is amazingly de-motivating.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by HornWumpus ( 783565 )

Microsoft owns javascript? You have things backwards.

-

Re: (Score:2)

+

Re: (Score:2)

by gweihir ( 88907 )

I was thinking the same thing. Although JavaScript, Java, and the surrounding ecosystems could have come from MS, no doubt.

-

Yeah, right (Score:5, Insightful)

+

Yeah, right (Score:5, Insightful)

by Anonymous Coward

If they considered developers more important than money, they'd pay the developers more to keep the skilled ones. Every time a developer leaves a company, a hunk of business knowledge walks out the door with him.

Companies care about that quarter's finance report, and the C-level execs care only about fleecing the company for all they can stuff into their own pockets. Look at what they do, not what some survey says.

-

+

-

Re: (Score:3, Interesting)

+

Re: (Score:3, Interesting)

by Anonymous Coward

LOL. You've massively understated the ageism and the issue of job qualifications.

First, the ageism problem is associated also with a problem that people aren't allowed to take breaks. After having great success even to the point of being a chief architect on an 80-man program, I quit working for a while and now can't find anyone who will let me start at the bottom.

But, the job qualification thing is really ridiculous. A good software engineer is a specialist at picking up new domains, languages, frameworks,

-

Re: (Score:2)

+

Re: (Score:2)

by Anonymous Brave Guy ( 457657 )

> Don't know where you live, but in most places I think developers are paid fairly well. We offer straight-out-of-school newbies $80-$90k, and still some turn us down for better offers.

Most places are not the Bay Area or a few big US cities. In most of the world, new starter salaries in software development are rarely more than 1/3 of that level, and in many places they are much lower.

-

Re: (Score:2)

+

Re: (Score:2)

by Ocker3 ( 1232550 )

Your post is probably at zero rep because it was posted AC, but you make good points.

-

+

-

Re: (Score:3)

+

Re: (Score:3)

by Klaxton ( 609696 )

Software developers generally have to do what they are told, and work on whatever the boss thinks is important. You don't get to decide whether it is going to bring in money or not.

-

Yeah haven't heard that one before (Score:2)

+

Yeah haven't heard that one before (Score:2)

by Crashmarik ( 635988 )

Maybe it just sounds too much like 40 years of businesses claiming there was a shortage of engineers in the U.S. when what they meant was there was a shortage of engineers that could be treated really badly.

Or maybe it's the fact that companies only seem to be willing to hire H1Bs that will do anything not to go back to their shitholes, or young kids who are stupid enough to believe managements promises and have no family or social life to distract from putting in 80+ hour weeks ?

-

Re: (Score:2)

+

Re: (Score:2)

by zlives ( 2009072 )

you misread, and i quote

"developer talent is a threat to the success of their business" thus the hiring of no talent, spot filling h1b. and if they accidentally get a talented h1b... replace and repeat.

-

FTFY (Score:5, Funny)

+

FTFY (Score:5, Funny)

by thevirtualcat ( 1071504 )

Software Developers Who Are Willing To Work For Uncompetitive Wages And No Benefits Are Now More Valuable To Companies Than Money, Says Survey

-

Re: (Score:2)

+

Re: (Score:2)

by Seven Spirals ( 4924941 )

Fucking-A right. Period.

-

.ORG (Score:4, Insightful)

+

.ORG (Score:4, Insightful)

by fluffernutter ( 1411889 )

This just tells me that developers need to get organized and start saying no to 80+ work weeks collectively. Otherwise it will be divided they fall, forever.

-

Re: (Score:2)

+

Re: (Score:2)

by Ocker3 ( 1232550 )

How do we re-invent Unions without calling them Unions and avoid the very real baggage that the term has in the USA? Guilds?

-

In other news... (Score:1)

+

In other news... (Score:1)

by Robobox Computer ( 5357621 )

The sun rose today.

-

Legacy systems are out of control (Score:2)

+

Legacy systems are out of control (Score:2)

by xack ( 5304745 )

Microsoft has just announced paid extended support for Windows 7 as too many companies are using it. There’s a lot of server 2003 systems out there too, with companies rather risking security exploits than upgrade.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by Ocker3 ( 1232550 )

A pity that new features aren't separated from security patches to allow users to keep their old platform secure without feature changes.

-

Re: (Score:2)

+

Re: (Score:2)

by xvan ( 2935999 )

> Newer file browsers no longer let you edit the file path, you have to click on everything to get somewhere

Ctrl+L , no, you don't need to thank me.

-

Re: (Score:1)

+

Re: (Score:1)

by Anonymous Coward

So I'm supposed to upgrade the single Windows 2003 system I have, running as a non-networked VM, hosting a proprietary application on a system we need to lookup legacy data that never changes so I can pay to upgrade to a modern system, figure out a way to migrate the data from one proprietary application to a new and different system just so I can have support I don't need on a system that can't realistically be exploited in the first place?

OR I'm supposed to pay a premium for extended support on the curren

-

Re: (Score:3)

+

Re: (Score:3)

by gweihir ( 88907 )

That is a different problem. Their new offerings are just really bad. Also, nobody sane used MS crap on server-side.

-

Yet us 50+ folks are unemployed (Score:4, Informative)

+

Yet us 50+ folks are unemployed (Score:4, Informative)

by Snotnose ( 212196 )

Forget how long I've been out of work, it's been 2-3 years now since I quit looking.

-

Re: (Score:3)

+

Re: (Score:3)

by Locke2005 ( 849178 )

I'm 57 and got at least 3 calls TODAY offering to submit me for contract software positions. Granted, a lot of recruiters try to low-ball me on the hourly rate, but they change their tune as soon as you call their bluff and tell them you're not interested at that low rate.

-

Re: (Score:1)

+

Re: (Score:1)

by Anonymous Coward

> I'm 57 and got at least 3 calls TODAY offering to submit me for contract software positions. Granted, a lot of recruiters try to low-ball me on the hourly rate, but they change their tune as soon as you call their bluff and tell them you're not interested at that low rate.

I get recruiters wanting to submit me all the time. Then after a week, I follow up and the "the position is closed." I think recruiters are assholes who got fired from see car lots for ethics violations.

So, when you get a real job with health insurance, you'll be an outlier.

Of course, that's assumimg you're not full of shit.

-

Re: (Score:2)

+

Re: (Score:2)

by Locke2005 ( 849178 )

I agree; I regard recruiters as people that weren't ethical enough to get jobs as used car salesmen. I interviewed for a job once, didn't get any response, so I started another position. A month after the initial interview, the recruiter for the first position offered me $1500 cash in a plain, unmarked envelope to quit the job I'd just started and take the other position instead! (Apparently the cash came out of his commission.) So yes, recruiters know nothing, rely almost entirely on keyword searching in r

@@ -253,42 +254,42 @@ from the new-breed-of-corporate-leaders dept.)
-

So, the old adage? (Score:2)

+

So, the old adage? (Score:2)

by fahrbot-bot ( 874524 )

Employees are our most valuable asset? I'm pretty sure it's actually still money.

-

Nonsensical headline... (Score:2)

+

Nonsensical headline... (Score:2)

by JoeDuncan ( 874519 )

It's like saying "gold is worth more than money!" - totally meaningless.

One (gold, developers) is a commodity that IS exchanged, the other (money) is the medium OF exchange.

Saying that "commodity X" is worth more than "exchange medium Y" makes no sense because a commodity CANNOT be worth "more" or "less" than the medium of exchange used - it can only ever be worth a specified amount of Y.

-

Talk about not understanding an article / Poll (Score:2)

+

Talk about not understanding an article / Poll (Score:2)

by Harlequin80 ( 1671040 )

No where does it say that companies think developers are more important than money.

The results state that the companies perceive the risk of not being able to find skills as higher than the risks of not being able to access capital.

This is especially true if you're a cash rich organisation.

In the current financial climate finding returns on your investments is hard. Interest rates are at historically low levels, bond returns are zero, and so that leaves higher risk investments to get returns. That effecti

-

lots of employees are "worth more than money"... (Score:2)

+

lots of employees are "worth more than money"... (Score:2)

by bkmoore ( 1910118 )

What management school fails to teach young inexperienced executives: If the company's future existence depends on whether or not an employee does the job correctly or not, they are "worth more than money".

-

Tech debt is a business decision (Score:2)

+

Tech debt is a business decision (Score:2)

by swm ( 171547 )

Incurring technical debt is a business decision.

And it may well be the right decision.

For example, in a startup, time to market typically trumps software quality.

And there are a lot of startups in the software field...

-

Not at my compamy (Score:1)

+

Not at my compamy (Score:1)

by dccase ( 56453 )

Not at my company, and certainly not at any other publicly-traded company.

Maybe at some privately-held company until it gets bought out.

-

Employees are our Most Valuable Asset (Score:3)

+

Employees are our Most Valuable Asset (Score:3)

by R3d M3rcury ( 871886 )

Right behind [1]carbon paper. [dilbert.com]

[1] http://dilbert.com/strip/1993-03-03

-

And this is why we keep them chained to (Score:2)

+

And this is why we keep them chained to (Score:2)

by Ranger ( 1783 )

a cubicle.

diff --git a/test/expected/SLASHDOT/0102640274 b/test/expected/SLASHDOT/0102640274 index 2d9f868..6129b0b 100644 --- a/test/expected/SLASHDOT/0102640274 +++ b/test/expected/SLASHDOT/0102640274 @@ -4,6 +4,7 @@ Thursday September 06, 2018 @11:30PM (BeauHD) from the easier-said-than-done dept. + o Reference: 0102640274 o News link: https://news.slashdot.org/story/18/09/06/2043213/professor-who-coined-term-net-neutrality-thinks-its-time-to-break-up-facebook o Source link: https://www.theverge.com/2018/9/4/17816572/tim-wu-facebook-regulation-interview-curse-of-bigness-antitrust diff --git a/test/expected/SLASHDOT/0102640274.header.html b/test/expected/SLASHDOT/0102640274.header.html index c70926c..ff323d0 100644 --- a/test/expected/SLASHDOT/0102640274.header.html +++ b/test/expected/SLASHDOT/0102640274.header.html @@ -9,7 +9,7 @@
-

Professor Who Coined Term 'Net Neutrality' Thinks It's Time To Break Up Facebook (theverge.com)

+

Professor Who Coined Term 'Net Neutrality' Thinks It's Time To Break Up Facebook (theverge.com)

(Thursday September 06, 2018 @11:30PM (BeauHD) from the easier-said-than-done dept.)

diff --git a/test/expected/SLASHDOT/0102640274.html b/test/expected/SLASHDOT/0102640274.html index 8cc1368..e071f7f 100644 --- a/test/expected/SLASHDOT/0102640274.html +++ b/test/expected/SLASHDOT/0102640274.html @@ -9,11 +9,12 @@
-

Professor Who Coined Term 'Net Neutrality' Thinks It's Time To Break Up Facebook (theverge.com)

+

Professor Who Coined Term 'Net Neutrality' Thinks It's Time To Break Up Facebook (theverge.com)

(Thursday September 06, 2018 @11:30PM (BeauHD) from the easier-said-than-done dept.)

@@ -23,151 +24,151 @@ from the easier-said-than-done dept.)

-

Safe Harbor (Score:5, Interesting)

+

Safe Harbor (Score:5, Interesting)

by Kunedog ( 1033226 )

There's a simpler way:

[1]https://www.youtube.com/watch?... [youtube.com]

If they want to curate content according to their political bias, then treat them like the politically-biased media outlets they are, legally liable for the content they host, instead of platforms under "safe harbor" protections. If they want to continue to be treated like platforms, then they can keep their hands off their political opponents' speech.

[1] https://www.youtube.com/watch?v=uMLLlnRCBqg

-

Re: (Score:2)

+

Re: (Score:2)

by HornWumpus ( 783565 )

They're already not 'common carriers' so they really didn't lose anything by curating.

The solution is to reestablish 'common carrier' protections for those web forums that deserve it.

-

Re:Safe Harbor (Score:4, Interesting)

+

Re:Safe Harbor (Score:4, Interesting)

by pots ( 5047349 )

I didn't read the article, but the summary has nothing to do with what you're talking about. The issue at hand is monopolies and the consequent stifling of innovation and lack of competitive pressure, that being the only thing which makes our economy work for people instead of against them.

-

Holy Fuck (Score:1)

+

Holy Fuck (Score:1)

by Anonymous Coward

Why do I bother coming here anymore?

-

+

-

Re: (Score:3)

+

Re: (Score:3)

by ArchieBunker ( 132337 )

We don't even have that anymore.

-

Re: (Score:1)

+

Re: (Score:1)

by DontBeAMoran ( 4843879 )

PHRASING.

-

+

-

Re: (Score:1)

+

Re: (Score:1)

by rojash ( 2567409 )

i really wanted to mod this up...but screw this mod point rationing here

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by LostMyBeaver ( 1226054 )

I honestly want the monopolies to pretend to strengthen democracy.

At this point in time,

Jeff Bezos owns Amazon and news papers and whatever else

Satya Nadella is in control of one of the biggest new networks (which slashdotters will never see because it's through Edge and Bing)

The Alphabet boys are in control of what almost everyone in the world sees

Zuck and Dorsey could easily control a MASSIVE amount of what everyone sees.

What's also important is that most of these people seem to have some inkling of wanti

-

Re: (Score:1)

+

Re: (Score:1)

by Tyger-ZA ( 1886544 )

It's correct that people want one point of access to a thing, but nobody really wants a monopoly.

Assuming that one inevitably leads to the other is part of the problem.

For example, with the video streaming sites, what we really need is for them to collaborate on the platform (how you login and watch shit) but compete on the content, meaning that if you watch American Gods on the shared platform, Amazon gets paid a share of your subscription, yet if you watch Luke Cage on the same platform , Netflix gets paid

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by LostMyBeaver ( 1226054 )

Nope... that was back before we had mass real-time media and we didn't fully understand how incredibly fucked the entire government was.

Then there was FDR who had the national radio and used it as a weapon against others in Washington to give him near-dictator powers. And then he completely without foresight fucked up the political system in America by imposing term limits which meant that politicians who have real plans that take more than 8 years to accomplish... won't.

When we got TV and had 1-3 channels,

-

Professor? Professor? (Score:2)

+

Professor? Professor? (Score:2)

by NoNonAlphaCharsHere ( 2201864 )

Professor Who???

-

Re: (Score:1)

+

Re: (Score:1)

by antdude ( 79039 )

Dr. Who! :D

-

How (Score:2)

+

How (Score:2)

by ArchieBunker ( 132337 )

exactly do you break up a company who offers a service for free?

-

Re: (Score:1)

+

Re: (Score:1)

by pots ( 5047349 )

Facebook's service is selling advertising. It is not free, they are the #2 advertiser in the world right now (I think that's right, but I'm not going to look it up).

-

Facebook, Google, and Apple need to be broken up. (Score:1)

+

Facebook, Google, and Apple need to be broken up. (Score:1)

by WCMI92 ( 592436 )

Microsoft has fallen below the zone they were once in.

-

And how would that solve anything for consumers? (Score:3, Interesting)

+

And how would that solve anything for consumers? (Score:3, Interesting)

by Anonymous Coward

Facebook has grown because it offered the best social platform for users. The point of social platforms is to connect with everyone else. Fragmentation means people needing to belong to and check multiple platforms. Trying to force competition won't solve any user issues. However, once Facebook stops providing a compelling service, people will move on their own. The same as they gave up MySpace and the same as they rejected Google+. The market chose Facebook and will purge it when time comes.

The same with Google. There were plenty of entrenched search services when Google came to be. Users chose it because it was better. The old search services died because they didn't evolve. If Google stops being the best fit option, people will go somewhere else. They already have choices like Bing and Duck Duck Go. As the service is free, people are choosing based on functionality, not on price. Those that don't like the privacy price of Google are opting for other services. You can't just declare another search service is required and then force the public to use it so that you can claim to have multiple services with comparable market share.

If people were given a choice of all you can eat steak or beets at equal cost, odds are that the majority would choose steak. When you remove cost and scarcity, the premium option will dominate. Digital services don't have scarcity like physical products do. It's a different economy.

-

Re: (Score:1)

+

Re: (Score:1)

by pots ( 5047349 )

> Facebook has grown because it offered the best social platform for users.

As stated in the summary: Facebook has grown by purchasing their competitors. The summary mentions WhatsApp and Instagram specifically.

Your comment about the problem with fragmentation is an example of why Facebook needs to be broken up by an outside entity: they have a natural monopoly, since real competition from startups would lead to fragmentation.

I've said this before, but if the government came along and broke up the company by splitting off Facebook's front-end from its back-end, then we could

-

Re: (Score:2)

+

Re: (Score:2)

by jrumney ( 197329 )

> As stated in the summary: Facebook has grown by purchasing their competitors. The summary mentions WhatsApp and Instagram specifically.

While this is true, so far they have not bought their competitors to shut them down, or to raise prices to the detriment of consumers. They are building a monopoly, but so far, it is not harmful from an economic perspective, and unfortunately I don't think anti-trust law is concerned with privacy, so the case for breaking up Facebook is not strong.

Apple would be a much juicier target, especially as they recently became the world's first trillion dollar company (with Amazon close behind). Splitting out the

-

ok (Score:1)

+

ok (Score:1)

by Alyks ( 798644 )

why do I care about a guy whose biggest contribution to this subject is clever phrasing?

-

Re: (Score:2)

+

Re: (Score:2)

by Zontar The Mindless ( 9002 )

> Are you with me Doctor Wu

> Are you really just a shadow

> Of the man that I once knew

> Are you crazy are you high

> Or just an ordinary guy

> Have you done all you can do

> Are you with me Doctor

-

We need open platforms (Score:1)

+

We need open platforms (Score:1)

by Karmashock ( 2415832 )

These proprietary social networks are bad for free speech.

I have no problem with facebook, google, twitter, except that they concentrate the internet in the hands of a few large companies.

We need open platforms like HTML, TCP/IP, Email, Newsgroups, etc.

All old retrograde stuff according to the children. But there isn't one of these social networks that couldn't be made P2P or something that anyone could set up their own personal server for that interlinked with each other.

A 20 dollar raspberry pi could host

-

Not a monopoly or required... (Score:2)

+

Not a monopoly or required... (Score:2)

by Archfeld ( 6757 )

I don't like Facebook either but its not a monopoly, nor is it required in anyway to use the internet. Anyone could come up with the next social network thing anytime now or you can just NOT use Facebook. It isn't like an OS or a browser that is necessary for use or access to anything. Facebook or Twitter are tools of convenience and can easily be done without. If you don't like what is being said filter it out or don't use either.

-

We had the chance... (Score:2)

+

We had the chance... (Score:2)

by erp_consultant ( 2614861 )

and blew it...with Microsoft. They should have been broken up just like Standard Oil. But they were not and that just created a precedent for companies like Facebook and Amazon and Google. We reap what we sow.

-

Why I posted this (Score:2)

+

Why I posted this (Score:2)

by pgmrdlm ( 1642279 )

Look, I don't get my news from Facebook. Local, National, World. Be it political or otherwise. I don't give a shit about who they ban, and who they don't. I don't give a shit on who they censor, and who they don't. Just don't care. Face book has purchased the following which was competition. At least they didn't kill them. They own Tinder, dating. They own Instagram, another form of social media. And a couple others were mentioned in the article. My profile was not used by that company that tried t

-

What the f____ (Score:2)

+

What the f____ (Score:2)

by WolfgangVL ( 3494585 )

"Look over here! See? We're thinking about maybe eventually doing something someday! (Pay no attention to the massive personal data collection feast that every-single-damn-corporation and government in the entire bloody world is gorging on behind the curtain)"

WHY do people give so many shits for instabook and facegram? It's not something anybody actually needs to begin with. For fucks sake. Big tech is not "The internet"... in fact, the case has been made that these companies are big evil time eaters that p

-

Re: (Score:2)

+

Re: (Score:2)

by pgmrdlm ( 1642279 )

Hell, let's start with the fact that before Facebook, what ever. Credit cards are tracked, companies record everything you purchase from them. Those company cards on your key change to save 3 cents. That is all tracked. And it is all shared via companies selling the information

diff --git a/test/expected/SLASHDOT/0102640424 b/test/expected/SLASHDOT/0102640424 index 2f07bce..86a6513 100644 --- a/test/expected/SLASHDOT/0102640424 +++ b/test/expected/SLASHDOT/0102640424 @@ -4,6 +4,7 @@ Thursday September 06, 2018 @11:30PM (BeauHD) from the leak-detecting dept. + o Reference: 0102640424 o News link: https://hardware.slashdot.org/story/18/09/06/2058201/mit-graduate-creates-robot-that-swims-through-pipes-to-find-out-if-theyre-leaking o Source link: https://www.fastcompany.com/90232363/this-leak-seeking-robot-just-won-the-u-s-james-dyson-award diff --git a/test/expected/SLASHDOT/0102640424.header.html b/test/expected/SLASHDOT/0102640424.header.html index a19ebe4..823a33b 100644 --- a/test/expected/SLASHDOT/0102640424.header.html +++ b/test/expected/SLASHDOT/0102640424.header.html @@ -9,7 +9,7 @@
-

MIT Graduate Creates Robot That Swims Through Pipes To Find Out If They're Leaking (fastcompany.com)

+

MIT Graduate Creates Robot That Swims Through Pipes To Find Out If They're Leaking (fastcompany.com)

(Thursday September 06, 2018 @11:30PM (BeauHD) from the leak-detecting dept.)

diff --git a/test/expected/SLASHDOT/0102640424.html b/test/expected/SLASHDOT/0102640424.html index 0579c10..9ac7385 100644 --- a/test/expected/SLASHDOT/0102640424.html +++ b/test/expected/SLASHDOT/0102640424.html @@ -9,11 +9,12 @@
-

MIT Graduate Creates Robot That Swims Through Pipes To Find Out If They're Leaking (fastcompany.com)

+

MIT Graduate Creates Robot That Swims Through Pipes To Find Out If They're Leaking (fastcompany.com)

(Thursday September 06, 2018 @11:30PM (BeauHD) from the leak-detecting dept.)

@@ -23,32 +24,32 @@ from the leak-detecting dept.)

-

What we are not told ... (Score:1)

+

What we are not told ... (Score:1)

by Alain Williams ( 2972 )

is he still with his partner who's dress he trod on ?

-

pig (Score:1, Informative)

+

pig (Score:1, Informative)

by Anonymous Coward

Congratulations, you reinvented the pig.

[1]https://en.wikipedia.org/wiki/... [wikipedia.org]

[1] https://en.wikipedia.org/wiki/Pigging

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by An Ominous Coward ( 13324 )

Ridiculous, how dare you plebeians libel our foremost technology elite. It's MIT, of course what they're doing is utterly novel and deserving of fawning media coverage.

( [1]https://puretechltd.com/technology/purerobotics-pipeline-inspection-system/ [puretechltd.com])

[1] https://puretechltd.com/technology/purerobotics-pipeline-inspection-system/

-

They tried that robot in Montreal... (Score:2)

+

They tried that robot in Montreal... (Score:2)

by ls671 ( 1122017 )

I hear they tried that robot in Montreal and it crashed due to memory exhaustion.

Montreal is one of the oldest city in North America and there are so many leaks in its water system that it loses 30% of its fresh water supply.

Makes you wonder what is the average water loss in other systems.

[1]https://montrealgazette.com/ne... [montrealgazette.com]

[2]https://www.cbc.ca/news/canada... [www.cbc.ca]

[1] https://montrealgazette.com/news/local-news/by-the-numbers-30-percent-of-montreals-water-is-lost-due-to-leaky-city-pipes

[2] https://www.cbc.ca/news/canada/city-water-leaks-wasting-millions-of-tax-dollars-1.1048035

-

Badminton Birdie? (Score:2)

+

Badminton Birdie? (Score:2)

by TechyImmigrant ( 175943 )

It's called a shuttlecock you blithering idiot.

diff --git a/test/expected/SLASHDOT/0102640864 b/test/expected/SLASHDOT/0102640864 index ef36c28..1d6886a 100644 --- a/test/expected/SLASHDOT/0102640864 +++ b/test/expected/SLASHDOT/0102640864 @@ -4,6 +4,7 @@ Thursday September 06, 2018 @11:30PM (BeauHD) from the ensuring-the-integrity-of-elections dept. + o Reference: 0102640864 o News link: https://politics.slashdot.org/story/18/09/06/2137245/blockchains-are-not-safe-for-voting-concludes-nap-report o Source link: https://www.nytimes.com/aponline/2018/09/06/technology/ap-us-tec-election-security-reform-report.html diff --git a/test/expected/SLASHDOT/0102640864.header.html b/test/expected/SLASHDOT/0102640864.header.html index 48fd911..49f3948 100644 --- a/test/expected/SLASHDOT/0102640864.header.html +++ b/test/expected/SLASHDOT/0102640864.header.html @@ -9,7 +9,7 @@
-

Blockchains Are Not Safe For Voting, Concludes NAP Report (nytimes.com)

+

Blockchains Are Not Safe For Voting, Concludes NAP Report (nytimes.com)

(Thursday September 06, 2018 @11:30PM (BeauHD) from the ensuring-the-integrity-of-elections dept.)

diff --git a/test/expected/SLASHDOT/0102640864.html b/test/expected/SLASHDOT/0102640864.html index e622934..4c2a8d7 100644 --- a/test/expected/SLASHDOT/0102640864.html +++ b/test/expected/SLASHDOT/0102640864.html @@ -9,11 +9,12 @@
-

Blockchains Are Not Safe For Voting, Concludes NAP Report (nytimes.com)

+

Blockchains Are Not Safe For Voting, Concludes NAP Report (nytimes.com)

(Thursday September 06, 2018 @11:30PM (BeauHD) from the ensuring-the-integrity-of-elections dept.)

@@ -23,127 +24,127 @@ from the ensuring-the-integrity-of-elections dept.)

-

+

-

Re:All security = an implementation. (Score:5, Insightful)

+

Re:All security = an implementation. (Score:5, Insightful)

by PopeRatzo ( 965947 )

> To say blockchain is inherently unsafe is like saying software is inherently unsafe

Oh, you are so close to a breakthrough.

When it comes to voting, blockchain, like software, IS inherently unsafe. If the main goal for voting security is maintaining the people's confidence in an election, the only system that will meet that standard is a system where people are actually keeping an eye on one another. And I mean physically watching one another. And that's the system we had in place before the advent of voting machines and election software. You had a room full of election judges from both sides, and they sat side-by-side checking in voters as they approached the voting booth and physically watched them put the ballot in the box. When the votes were counted, there was a whole bunch of people from both parties standing around keeping a close eye. When the ballots were sent for storage, one person from each party rode in the truck to drop them off after sealing the container - together - and signing off.

It was trust, but verify. Was it possible to jigger with an election like that? Of course. But you had a list of names of people you could hold accountable at every step in the process. Electronic voting will never, ever be trusted. That is the effect of transparency.

-

+

-

Re: (Score:1, Insightful)

+

Re: (Score:1, Insightful)

by Anonymous Coward

> " If the main goal for voting security is maintaining the people's confidence in an election " - Well I don't agree with that starting point definition. I think security = security, not theater of.

Then you're bad at security. Security is theater.

There is no impregnable system. Security can only increase the difficulty of entering a system, it cannot stop a determined opponent. Is a CCTV system going to stop someone from breaking into your store? No, but it will make the person think twice about it, because they are likely to be recorded, found, and caught. Is the TSA likely to stop all bad guys from getting on planes? No, but it alters how much they must prepare to get on board the plane so hop

-

Re: (Score:2)

+

Re: (Score:2)

by Ocker3 ( 1232550 )

Sadly, the TSA haven't shown themselves to be any good at their job, repeatedly. It's hard to get good help when the work is shite, the 'customers' range from sullen to hating you, and the pay is peanuts.

-

Transparency is the key (Score:1)

+

Transparency is the key (Score:1)

by victor_alarcon ( 5520418 )

I thought that was the main selling point. Yes, I'm sure someone can come up with some anonymity scheme but transparency should be top priority. Apologies if the point is too naive.

-

Re: (Score:1)

+

Re: (Score:1)

by Anonymous Coward

Paper votes aren't any better, just look at Russia's vote stuffing. Literately. Someone comes up to the booth and stuffs fake/coerced votes into the box.

Now the way most US, Canadian, and UK elections are run, the paper vote is a two-step process.

A) You go to a scrutineer to check your name off a PAPER list, they hand you a ballot with no identifying information on it

B) You mark an X on the ballot, fold it in half or stick it in a privacy envelope and then stick it in a cardboard box with a hole on top.

Now

-

Re: (Score:2)

+

Re: (Score:2)

by PopeRatzo ( 965947 )

> Paper votes aren't any better, just look at Russia's vote stuffing. Literately. Someone comes up to the booth and stuffs fake/coerced votes into the box.

That's right, because Russia doesn't have the same safeguards built into their elections that we have. You don't have election judges from both sides watching every vote from the time it's cast to the time it's counted to the time it's sent for storage. In the US, there have to be two election judges on hand when absentee ballots are opened.

People can sti

-

Re: (Score:2)

+

Re: (Score:2)

by Ocker3 ( 1232550 )

I'd invite you to visit us in Australia, where we have the Australian Electoral Commission (AEC), a non-partisan (not bi-partisan) body of people who are collectively considered the Platinum Standard of running elections around the world. We actually send people to the USA to train election staff. We don't have party reps in the voting area until the polls close, then the parties can send in scrutineers who check that the paper ballots are being counted as per the regulations (when I did this I actually not

-

Re: (Score:2)

+

Re: (Score:2)

by PopeRatzo ( 965947 )

> I'd invite you to visit us in Australia,

I've spent a fair amount of time in Australia. Yes, I've heard you guys do a good job with elections, but I'm not coming back until you get rid of those spiders that jump up and bite you on the eye. Oh, and drop bears and yowgwai. I don't need that kind of stress, thanks.

-

Re: (Score:2)

+

Re: (Score:2)

by shellster_dude ( 1261444 )

Blockchains are obviously a terrible solution to election fraud. The only thing that prevents blockchain tampering is a ton of neutral third party machines checking the transactions (typically miners). We've already seen that this is a non-trivial problem when there is plenty of incentive for random people to fulfill that role (mining of crypto currency). National elections have very little incentive for people to invest thousands in hardware and electricity, and a ton of incentive for nation states like

-

Oh the irony (Score:4, Insightful)

+

Oh the irony (Score:4, Insightful)

by the_skywise ( 189793 )

> All elections should use human-readable paper ballots by 2020. Such systems are intended to assure voters that their vote was recorded accurately. They also create a lasting record of "voter intent" that can be used for reliable recounts,

Now I agree with this and am happy to move back to paper ballots - But the entire reason we moved away from paper ballots was because of the 2000 elections where Florida used punch cards and political officers kept trying to argue over "partial punches", "dimpled chads" and "dangling chads" where they tried to reassess what the voter's INTENT was.

And, of course, let's not forget magical disappearing and appearing boxes of ballots.

Any system can be hacked but the electronic one is harder to track hacking than the good ol' traditional methods with paper ballots.

-

Re: (Score:3)

+

Re: (Score:3)

by Dare nMc ( 468959 )

Their have been academic papers proposing electronic system that would be safe, where you could verify that your vote was counted (IE received at the server.)

In theory with open software, hardware, and multiple servers (again all open source) we could have a very robust electronic voting system. This would require a large project likely done with universities, and it may even be similar to some bitcoin concepts.

The technology side is very solvable, getting the project started, past the politics, and accept

-

Key statement (Score:2, Insightful)

+

Key statement (Score:2, Insightful)

by Anonymous Coward

They key statement in the finding that most technology solutions fail to solve is this:

"Such systems are intended to *assure* voters that their vote was recorded accurately."

In the end, paper ballots may seem inefficient from a processing perspective, but that inefficiency becomes inherently difficult to tamper with and builds in systems for checks and recounts. The argument here is that blockchain is vulnerable before the data is stored in the blockchain, at the UI and the machine level, and blockchain th

-

Re: (Score:2)

+

Re: (Score:2)

by presidenteloco ( 659168 )

Blanket arguments against computer algorithms for secure voting (or secure anything) are illogical, emotional, and flawed.

People argue to the effect: Because many programs have been found to have a security flaw in either A) the algorithm mathematics and logical assumptions, or in B) the implementation, therefore ALL programs must have some flaw in A) or B) therefore there is no such thing is a secure computer program. That is just bullshit. It's incorrect, unsupported generalization from specific examples.

-

Re: (Score:2)

+

Re: (Score:2)

by presidenteloco ( 659168 )

Ok, there's a stupid bug in slashdot apparently, not including my less-than sign.

There. One bug.

What's up with that. Let me try again. Hmm. There was a less-than in there just to the left of this sentence. That's lame on slashdot software's part.

So you proved that ALL programs have bugs?

Didn't think so.

-

Paper ballots are by far the most secure solution (Score:4, Insightful)

+

Paper ballots are by far the most secure solution (Score:4, Insightful)

by Seven Spirals ( 4924941 )

Gimme a break. Use paper. Computers will be better tools for tabulating and processing the votes after they are cast, but it's tough to beat paper for a recount. Even paper has it's flaws, but the hand waving crypto-bullshit is pathetic "Oh but this counter signature will detect if the previous initialization vector was properly zeroed inside of the S-Box" *rolls eyes*. KISS baby. Things don't get more secure by making them more complex and I can't think of any way to make something more complex than to introduce computers. Computers are great at some things, ideal for some tasks: not for voting. They suck at that.

-

paper ballots (Score:1)

+

paper ballots (Score:1)

by Anonymous Coward

The only way you can have some measure of accountability while keeping votes anonymous.

-

Or, for heaven's sake, you can just use paper (Score:3)

+

Or, for heaven's sake, you can just use paper (Score:3)

by mark-t ( 151149 )

Make a simple mark on a paper ballot indicating your vote, fold it, put it in a box.

done

Now theoretically you could bribe people who do the counting, but you'd have to bribe a *LOT* of people to make any kind of difference because each individual ballot box with the folded ballots contains but a tiny fraction of the number of votes, and nobody ever counts the ballots from more than one or sometimes two different boxes.

-

the real story (Score:2)

+

the real story (Score:2)

by slashmydots ( 2189826 )

Blockchains are perfect, right? WRONG. And also right. They are mathmatically flawless BUT if you outprocess the rest of the network, you can finalize a block with whatever the hell you want in it. You can form a block that says you own all bitcoins, all transactions put them in your wallet, and you're also the queen of England. The reason this "51% attack" doesn't happen it because that amount of processing power doesn't exist. That many ASICs don't exist on Earth. But let's set up a separate blockchain an

-

Re: (Score:2)

+

Re: (Score:2)

by Kaenneth ( 82978 )

Even with a 51% attack, the Bitcoin blockchain is filled with digital signatures; noone but your own nodes would accept the blocks, and you would only be 'fooling' yourself.

Electronic voting could only work if every citizen had their own private, secure, digital signature key. Which can't happen in the US because poor people can't afford them, and a certain party would never give anything for free, while the other would protect the poor.

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by jwymanm ( 627857 )

This was the dumbest comment in the article. Obviously software methods exist to verify after the fact that what you saved is what you expected.

-

It's not how the vote was recorded... (Score:2)

+

It's not how the vote was recorded... (Score:2)

by LynnwoodRooster ( 966895 )

> The report goes on to say that "Blockchains do not provide the anonymity often ascribed to them." It continues: "In the particular context of elections, voters need to be authorized as eligible to vote and as not having cast more than one ballot in the particular election.

It's who casts the vote. Before we even worry about Blockchain, we need to ensure people casting the ballots are legally eligible to vote. Guaranteeing a vote was cast is no more important than guaranteeing who cast the vote was eligible to actually cast that vote.

-

Paper ballots (Score:2)

+

Paper ballots (Score:2)

by burtosis ( 1124179 )

Let me start out saying 100% electronic voting is going to be a disaster, triply so when done remotely and not at a secure voting machine. But what most people don't realize is we currently use unencrypted images of paper ballots in many states as backups. These are very insecure. Why not use paper ballots for the primary method, blockchain for the electronic backups? This ultimately seems far more secure than what we are doing now. We also could use open source machines and have audits at each polling

diff --git a/test/expected/SLASHDOT/0102640946 b/test/expected/SLASHDOT/0102640946 index 5fced27..a0d866c 100644 --- a/test/expected/SLASHDOT/0102640946 +++ b/test/expected/SLASHDOT/0102640946 @@ -4,6 +4,7 @@ Thursday September 06, 2018 @11:30PM (BeauHD) from the behind-the-scenes dept. + o Reference: 0102640946 o News link: https://games.slashdot.org/story/18/09/06/2146237/valve-explains-how-it-decides-whos-a-straight-up-troll-publishing-video-games-on-steam o Source link: https://motherboard.vice.com/en_us/article/9kmej7/valve-it-really-does-seem-bad-games-are-made-by-bad-people diff --git a/test/expected/SLASHDOT/0102640946.header.html b/test/expected/SLASHDOT/0102640946.header.html index be1df65..2dec2fa 100644 --- a/test/expected/SLASHDOT/0102640946.header.html +++ b/test/expected/SLASHDOT/0102640946.header.html @@ -9,7 +9,7 @@
-

Valve Explains How It Decides Who's a 'Straight Up Troll' Publishing Video Games On Steam (vice.com)

+

Valve Explains How It Decides Who's a 'Straight Up Troll' Publishing Video Games On Steam (vice.com)

(Thursday September 06, 2018 @11:30PM (BeauHD) from the behind-the-scenes dept.)

diff --git a/test/expected/SLASHDOT/0102640946.html b/test/expected/SLASHDOT/0102640946.html index daf01bd..644d7d4 100644 --- a/test/expected/SLASHDOT/0102640946.html +++ b/test/expected/SLASHDOT/0102640946.html @@ -9,11 +9,12 @@
-

Valve Explains How It Decides Who's a 'Straight Up Troll' Publishing Video Games On Steam (vice.com)

+

Valve Explains How It Decides Who's a 'Straight Up Troll' Publishing Video Games On Steam (vice.com)

(Thursday September 06, 2018 @11:30PM (BeauHD) from the behind-the-scenes dept.)

@@ -23,102 +24,102 @@ from the behind-the-scenes dept.)

-

Just charge a $5K "listing fee" (Score:5, Interesting)

+

Just charge a $5K "listing fee" (Score:5, Interesting)

by west ( 39918 )

98% of the total garbage disappears (as well as a few percent of the good). Of course "not terribly good games" will still appear, but it gets rid of the absolute garbage.

Or if people are appalled at paying to appear on Steam, allow spending $10K for a Steam "check-mark of marketing", and allow users to filter to show only check-marked games.

-

+

-

Re: (Score:1)

+

Re: (Score:1)

by Anonymous Coward

"Choices"???

Thirty-five (35) games were released on Steam today alone .

Go fuck yourself.

-

Steam wants the garbage (Score:3)

+

Steam wants the garbage (Score:3)

by rsilvergun ( 571051 )

because there's no accounting for taste, and if you took away garbage there'd be no Goat Simulator. As the saying goes, one man's trash is another's treasure.

Plus, a lot of good devs get their start making trash.

-

Re: (Score:3)

+

Re: (Score:3)

by AC-x ( 735297 )

> because there's no accounting for taste, and if you took away garbage there'd be no Goat Simulator. As the saying goes, one man's trash is another's treasure.

I'm sorry, but anyone with a functioning brain would see that infinitely more effort and polish has been put in to games like Goat Simulator than any of those garbage "asset flips" that litter the Steam store.

Yes the difference between a good and bad game is subjective, but broken zero effort trash is much easier to agree on...

-

Re: (Score:2)

+

Re: (Score:2)

by mentil ( 1748130 )

Will never happen. There are way too many games like PUBG that would've never become Steam hits if they had such a policy. It only needs to be enough to make the trolls miss it/lose out with their scams; $100 would likely be enough.

-

Re: (Score:2)

+

Re: (Score:2)

by Escogido ( 884359 )

Either would shut a lot of starting indie games developers out of the system, thus preventing said developers and the gaming industry in general from making future hits. Basically, all new games are either essentially reskins/clones of existing games, or trying new mechanics and/or interactions, and sometimes (rarely) stories and characters. Given the typical indie level production values are garbage, in general, only the ones that try to innovate actually do have some value for the industry. However, first

-

Best New Feature (Score:2)

+

Best New Feature (Score:2)

by Kunedog ( 1033226 )

> A second set of changes was focused on improving how you can ignore things you're not interested in. In the past you've been able to ignore individual games or product types (like VR, or Early Access) you didn't want to see again. But now we've added ways for you to also easily ignore individual developers, publishers, and curators.

Imagine how much easier browsing Netflix would be if you could filter out whole franchises and showrunners. Of course, that might make it obvious how little on Netflix actually interests you.

-

Re: (Score:2, Funny)

+

Re: (Score:2, Funny)

by Anonymous Coward

Then they could charge a fee to shows that don't want to be filtered by you

-

Re: (Score:2)

+

Re: (Score:2)

by Archfeld ( 6757 )

Sounds like Amazon, and the Kindle Library. No matter what you search, every 7th listing is a 'Sponsored' listing, and even if you specify a particular author or absolute title, you always get 10 or 12 additional 'bonus' items listed.

-

Early Access Garbage and abandonment (Score:2)

+

Early Access Garbage and abandonment (Score:2)

by shendar ( 674986 )

How about if a developer starts a EA Project and walks away (takes forever with no progress) they are banned from further EA? How about if they are banned from the store entirely?

-

Re: (Score:3)

+

Re: (Score:3)

by AC-x ( 735297 )

I'm sure the type of developer who does that would simply abandon their old label and create a new developer account to carry on.

-

Re: (Score:2)

+

Re: (Score:2)

by mentil ( 1748130 )

"I'm sick of development, so here's version '1.0'."

Also define 'forever' in a timescale that doesn't apply to Notch, Rockstar or Valve.

-

Re: (Score:2)

+

Re: (Score:2)

by Calydor ( 739835 )

Wait. I see what you did there.

You mentioned three developers.

CONFIRMED: Half-Life 3 is being produced by Notch and Rockstar!

-

Great Yet Another Meaning For Troll (Score:1)

+

Great Yet Another Meaning For Troll (Score:1)

by Crashmarik ( 635988 )

Already May well be the most overloaded operator in the English language. As it seems to mean anything anyone anywhere takes objection to, or otherwise makes them feel bad.

-

Re: Great Yet Another Meaning For Troll (Score:2)

+

Re: Great Yet Another Meaning For Troll (Score:2)

by Nidi62 ( 1525137 )

The troll in me wants to say that "nazi" probably has "troll" beat ;)

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by tepples ( 727027 )

Furthermore, unlike console and mobile platforms, Steam has very little switching cost. An end user can always just up and switch to Itch or Origin or GOG or Humble or wherever else.

-

Steam's progression (Score:3)

+

Steam's progression (Score:3)

by Luckyo ( 1726890 )

So Steam started as "shove it down their throats" Counter Strike 1.6 launcher. Evolved into highly curated game store over about a decade.

Then decided to suddenly drop all curation and allow anything and everything on the platform. Got flooded with garbage. Added weird "meta gaming" shit like trading cards. Got games that literally existed just to allow people to get cards. Allowed some trading and other meta gaming of the system. Even got pressured by some SJW types to drop politically controversial games like Hatred and even had their recent porn games brouhaha.

And now, they're doing this. I guess there's just too much pressure from all directions, and they really just decided that no, we're not bending to various pressure groups, and instead just making sure that asset flips and such are not on the store. If true, good on them.

-

Early Access (Score:2)

+

Early Access (Score:2)

by tylersoze ( 789256 )

Eh, all I really want from Valve is a filter that blocks all "Early Access" games from ever appearing, as I'm browsing for games on their web site.

diff --git a/test/expected/SLASHDOT/0102641010 b/test/expected/SLASHDOT/0102641010 index fcd0c4e..32bc4e7 100644 --- a/test/expected/SLASHDOT/0102641010 +++ b/test/expected/SLASHDOT/0102641010 @@ -4,6 +4,7 @@ Thursday September 06, 2018 @11:30PM (BeauHD) from the contrary-to-popular-belief dept. + o Reference: 0102641010 o News link: https://science.slashdot.org/story/18/09/06/2153223/study-finds-probiotics-not-as-beneficial-for-gut-health-as-previously-thought o Source link: https://www.theguardian.com/science/2018/sep/06/probiotics-not-as-beneficial-for-gut-health-as-previously-thought diff --git a/test/expected/SLASHDOT/0102641010.header.html b/test/expected/SLASHDOT/0102641010.header.html index 793a5a9..a0a8b44 100644 --- a/test/expected/SLASHDOT/0102641010.header.html +++ b/test/expected/SLASHDOT/0102641010.header.html @@ -9,7 +9,7 @@
-

Study Finds Probiotics 'Not As Beneficial For Gut Health As Previously Thought' (theguardian.com)

+

Study Finds Probiotics 'Not As Beneficial For Gut Health As Previously Thought' (theguardian.com)

(Thursday September 06, 2018 @11:30PM (BeauHD) from the contrary-to-popular-belief dept.)

diff --git a/test/expected/SLASHDOT/0102641010.html b/test/expected/SLASHDOT/0102641010.html index 38d3b5d..2348a61 100644 --- a/test/expected/SLASHDOT/0102641010.html +++ b/test/expected/SLASHDOT/0102641010.html @@ -9,11 +9,12 @@
-

Study Finds Probiotics 'Not As Beneficial For Gut Health As Previously Thought' (theguardian.com)

+

Study Finds Probiotics 'Not As Beneficial For Gut Health As Previously Thought' (theguardian.com)

(Thursday September 06, 2018 @11:30PM (BeauHD) from the contrary-to-popular-belief dept.)

@@ -23,66 +24,66 @@ from the contrary-to-popular-belief dept.)

-

+

-

Re: (Score:2)

+

Re: (Score:2)

by jblues ( 1703158 )

Bacteria are are naturally present in raw fruit and vegetables and naturally fermented foods, including naturally fermented bread. Most cold climate cultures relied on fermented vegetables to get them through the winter. Salt fermentation of raw vegetables allows the lactobacillus bacterias to proliferate. Almost all of the sugars are consumed, however most of the rest of nutritional profile is intact, including the vitamin C. In some cases the nutritional profile is enhanced. This is why viking sailors di

-

Bitter sweet (Score:3, Informative)

+

Bitter sweet (Score:3, Informative)

by Anonymous Coward

Been saying this for years. I get some people have IBS but the reliance on things like yogurt is crazy.

Fun little tip for a stomach ache - saliva. Let it build in your mouth (without water) and swallow in one gulp. Not only does it give your mouth a natural way to break down any bateria / sugar, but helps to calm your gut. Mouthwash is the nuclear option.

So much of how your body functions comes down to diet. It's interesting they do not go into what foods were consumed.

-

+

-

Re: (Score:3)

+

Re: (Score:3)

by omnichad ( 1198475 )

The "S" stands for syndrome, which identifies it as a collection of symptoms and not a disease. It's a diagnosis only in that there are good ways to treat the symptoms even when you don't understand the root cause fully.

-

I guess it's back to (Score:2)

+

I guess it's back to (Score:2)

by bobstreo ( 1320787 )

shit transplants for the health crazed. /s

Seriously, is anything really good or really bad for you in moderation?

-

Don't take probiotic pills (Score:5, Insightful)

+

Don't take probiotic pills (Score:5, Insightful)

by PopeRatzo ( 965947 )

Don't waste your money on probiotic capsules. If you want to try to increase the amount or variety of bacteria in your guts, there are tons of delicious foods that are chock full of probiotics. Olives, pickles, fermented meats like the Italian delicacy soprasetta (which might be the tastiest thing ever invented by humans). Kimchi is also good, but it will make you smell bad, so if you're single, you might want to go easy on the kimchi.

Also, if you use vinegar on salads, try getting some of that good cider vinegar that still has the "mother" in it. Shake the bottle and use like any other vinegar. And of course, yogurt, kefir, that kind of stuff is delicious too.

I'm not crazy about kombucha. It's a big fad now and there are places here in California that have kombucha on tap, but it's not really to my taste. Some people swear by it. I notice that now when you buy it in the store, they ask for an ID since there's a small amount of alcohol in it.

Also, alcohol is not really good for your gut bacteria, but there are more important things in life than gut bacteria, you know? Just eat a lot of different kinds of food and you'll end up with good gut bacteria without even trying.

-

Re: Don't take probiotic pills (Score:3)

+

Re: Don't take probiotic pills (Score:3)

by ljw1004 ( 764174 )

Why would you advise people on natural sources of probiotics - in response to an article which said that they're either ineffectual or actually bad?

-

Re: (Score:2)

+

Re: (Score:2)

by omnichad ( 1198475 )

They likely contain a lot more biodiversity vs. a monoculture or handful of strains in probiotic supplements. And they would still probably be ineffectual most of the time, except after antibiotic use. This study doesn't cover any of that. Of course if you're trying to feed the microbiome you already have, eating unfermented vegetables makes more sense as they still have the complex sugars like oligosaccharides, fructans and so on that would feed it. That depends on whether you are repopulating after an

-

Re: (Score:2)

+

Re: (Score:2)

by PopeRatzo ( 965947 )

> Why would you advise people on natural sources of probiotics - in response to an article which said that they're either ineffectual or actually bad?

Because on the high probability that this new "study" actually gets overturned by future research, I want people to know they can eat delicious healthy food.

Remember when fats were bad? And coffee? And wine was good for you? And eggs were bad for you? And low-fat diets were good for losing weight?

And chocolate was bad for you? Do you need me to go on? When

-

Makes sense to me. (Score:5, Informative)

+

Makes sense to me. (Score:5, Informative)

by Vegan Cyclist ( 1650427 )

Most probiotics are a pretty small range of bacteria, and I don't know if I've ever seen anywhere that confirms these are actually the ones we want on a large scale...especially when some supplements have pretty large doses of these.

From all the reading I've done it seems the best direction will be to focus on prebiotics, aka the foods that the microbiome thrives on, which is typically fibrous vegetable matter. Feed the good ones you've got (rather than trying to implant others), and you'll probably be better off.

-

This study is done by morons (Score:2)

+

This study is done by morons (Score:2)

by gurps_npc ( 621217 )

What idiot thinks that if you give pills of a specific biome you will get something BESIDES that specific biome???? Look, if you take probiotic pills, you are replacing your normal biome WITH the biome of the pills.

That was the presumed GOAL of taking the pills. The fact that your biome change is the thing you were trying to do, that's why you take the pills.

If you have a blue car, and then paint it with red paint you are an idiot if you complain that the car is no longer red.

There are lots of good reas

-

Re: (Score:2)

+

Re: (Score:2)

by omnichad ( 1198475 )

> Look, if you take probiotic pills, you are replacing your normal biome WITH the biome of the pills.

The study concluded the opposite (in all cases except with antibiotic use). And the results are surprising. What it sounds like is happening is that all of the bacteria in the probiotic compete for food with the biofilm in your intestines. However, the probiotic has no way to supplant the biofilm - that's a protective layer that keeps out competing bacteria. It just starves the resident population a little bit as it passes on through. Either way, more or less none of it stays behind and it all leaves t

diff --git a/test/expected/SLASHDOT/0102641672 b/test/expected/SLASHDOT/0102641672 index 3de9aca..e1b800d 100644 --- a/test/expected/SLASHDOT/0102641672 +++ b/test/expected/SLASHDOT/0102641672 @@ -4,6 +4,7 @@ Thursday September 06, 2018 @11:30PM (BeauHD) from the no-cellphones-allowed dept. + o Reference: 0102641672 o News link: https://mobile.slashdot.org/story/18/09/06/235254/icelanders-seek-to-keep-remote-nordic-peninsula-digital-free o Source link: https://www.apnews.com/71cdfb7b1c2245069a6f681f8b8f906f/Wired-Icelanders-seek-to-keep-remote-peninsula-digital-free diff --git a/test/expected/SLASHDOT/0102641672.header.html b/test/expected/SLASHDOT/0102641672.header.html index 68d1dba..63ff0f2 100644 --- a/test/expected/SLASHDOT/0102641672.header.html +++ b/test/expected/SLASHDOT/0102641672.header.html @@ -9,7 +9,7 @@
-

Icelanders Seek To Keep Remote Nordic Peninsula Digital-Free (apnews.com)

+

Icelanders Seek To Keep Remote Nordic Peninsula Digital-Free (apnews.com)

(Thursday September 06, 2018 @11:30PM (BeauHD) from the no-cellphones-allowed dept.)

diff --git a/test/expected/SLASHDOT/0102641672.html b/test/expected/SLASHDOT/0102641672.html index d149f25..9ba4bfc 100644 --- a/test/expected/SLASHDOT/0102641672.html +++ b/test/expected/SLASHDOT/0102641672.html @@ -9,11 +9,12 @@
-

Icelanders Seek To Keep Remote Nordic Peninsula Digital-Free (apnews.com)

+

Icelanders Seek To Keep Remote Nordic Peninsula Digital-Free (apnews.com)

(Thursday September 06, 2018 @11:30PM (BeauHD) from the no-cellphones-allowed dept.)

@@ -23,59 +24,59 @@ from the no-cellphones-allowed dept.)

-

Yeah it's real annoying (Score:3, Insightful)

+

Yeah it's real annoying (Score:3, Insightful)

by Crashmarik ( 635988 )

You're out in the wilderness and somebody's WiFi is screwing up the colors of the forest and making everything look strange, while the cell towers are driving the wildlife nuts. / sarcasm

I'd love to hear these people justify how this in anyway diminishes them.

-

Because people no longer have self discipline? (Score:3)

+

Because people no longer have self discipline? (Score:3)

by thesupraman ( 179040 )

Because they CAN get Farcebook, I guess they Must get Farcebook.

I mean, you would think they could just choose to turn off their devices, not bring a charger, whatever.

Although knowing people from such areas, I suspect it is more about giving one big finger to 'thems city folks' (even if most of these people live in the cit\y most of the time).

Anyway, good on them for caring, but good luck in keeping such things out. The safety point is also quite valid.

-

Re: (Score:3, Interesting)

+

Re: (Score:3, Interesting)

by ShanghaiBill ( 739463 )

> I mean, you would think they could just choose to turn off their devices

They don't want to just stop using Facebook, they want their NEIGHBORS to stop using it too.

This isn't about self-control. It is about controlling others, which is a near universal human desire.

-

Re: (Score:3)

+

Re: (Score:3)

by e3m4n ( 947977 )

exactly. I just posted a more descriptive explanation of that very thing a thread above this one. Sometimes it's easier to buy a vacation that makes the choice for you, than having to, repeatedly, make the same choice throughout the entire vacation. Picking a destination that has no access means you can re-focus on other forms of entertainment. Its easy to fall back into habits. By picking a spot with no access, you are not fighting temptation, and i dare say withdrawal, the entire time. The price of vacati

-

Re:Yeah it's real annoying (Score:5, Informative)

+

Re:Yeah it's real annoying (Score:5, Informative)

by Rei ( 128717 )

Forest? *snicker*. Here's the joke everyone over the age of 8 here knows:

Q: What do you do if you get lost in an Icelandic forest?

A: Stand up.

I've actually not been to Hornstrandir; it's been on my TODO list for a long, long time, but I've lacked one of the obligatory "round tuits". So it's actually surprising to hear that there's not internet access (via cell towers) there, because in general even the most remote places here have cell access. When Bárðarbunga erupted, deep in the highlands, the eruption was livestreamed. And there's a lot more people in Vestfirðir then in the highlands!

This would of course be more about visitors than residents, given that there's no permanent residents in Hornstrandir. And in some ways I can sympathize. For example, there's always a lot of opposition to improving the highland roads because we don't want to have more cars driving through and tons of people flooding in, and driving really fast on some paved road would totally change the experience of going into the highlands... it would just turn into a set of "sites to see" rather than a journey. The effect of the isolation on you can really be profound. You feel like a person exploring Mars - so tiny in an endless empty expanse, completely devoid of any signs of human civilization except the half-bulldozed-out "road" you take, the endless travel punctured by rushes of adrenaline as you try to ford a river or trying to avoid ruining your car crossing a lava field. And people who know that experience generally don't want to see it altered. So I imagine it's the same thing for Hornstrandir. The difference being, as previously mentioned, in much of the highlands there's cell coverage. At least as far as I know, when I go out I'm not checking Facebook all the time. ;) But I don't recall any meaningful loss of coverage events.

ED: Just checked [1]a map [wp.com] from my cell provider. Looks like most of Hornstrandir is indeed marked in white (no coverage), while most of the highlands is light blue (2G) or in some places blue (3G) - even a good chunk of Vatnajökull (largest glacier in Europe).

[1] https://i2.wp.com/www.icelandnorthernlightshq.com/wp-content/uploads/2015/06/Screen-Shot-2015-06-27-at-09.57.16.png?ssl=1

-

Re: (Score:3)

+

Re: (Score:3)

by e3m4n ( 947977 )

Actually this intrigues me. I go on cruises for the same getaway. Sure one can declare a weekend of no devices or technology, but theres always something that comes up that eventually screws that up. I go on cruises with the family and we do not buy the internet package. The fact that its ridiculously expensive helps 'cut the cord' when on vacation. The most online time the kids ever experience is when we pull into a port and visit a place that has 'free wifi'; giving them 30-60 min of checking their email

-

Re: (Score:3)

+

Re: (Score:3)

by GumphMaster ( 772693 )

> You're out in the wilderness and somebody's ...

bloody mobile phone is playing something loosely called "music" over the shittiest, tinny piezoelectric "speaker" you ever heard. I have personally experienced this scenario while walking the Milford Track (NZ) and in Torres del Payne (Chile). I can only imagine how much worse it would be _with_ coverage: Youtube videos turned up to 11, incessant need to share the latest "news" from home, inattentive walking in dangerous places etc. If your region's livelihood depends on people coming to experience wil

-

Satellite Internet (Score:2)

+

Satellite Internet (Score:2)

by crow ( 16139 )

We may only be a few years away from Starlink or something similar providing practical high-bandwidth Internet service globally. So they may hold back the tide a bit longer, but the reality is that modern communications will become a fact of life everywhere for anyone that wants it. Yes, that will mean some significant changes to the lifestyles of the people living there, and yes, it won't all be for the better, but I don't see the point of fighting it now.

-

Re: (Score:2)

+

Re: (Score:2)

by rossdee ( 243626 )

How far north are we talking about? Satellite coverage is always going to be a problem at the poles

-

Re:Satellite Internet (Score:4, Informative)

+

Re:Satellite Internet (Score:4, Informative)

by quenda ( 644621 )

> Satellite coverage is always going to be a problem at the poles

No, that applies to geosynchronous broadcast satellites, but not to LEO constellations such as Starlink or Irridium.

-

Re: (Score:3)

+

Re: (Score:3)

by crow ( 16139 )

Good point. A quick look at Google Maps suggests around 66 degrees north. I'm not the best a geography, and I had thought Iceland was a bit further south. I didn't realize it was north of the southern tip of Greenland. That could well be outside the range of satellite Internet, depending on the orbits involved. I have no idea what the plans are.

-

Re: (Score:3)

+

Re: (Score:3)

by Mashiki ( 184564 )

Seem to remember there was active satellite links in Resolute, Nvt.(74deg/N), so I don't think that's a problem. The real problem was the astronomical cost of those links, short of a stationary polar orbit satellite there is no real way to keep it cheap. So they've been building fiber as a replacement since 2012ish for the far north remote communities at least here in Canada. I think Resolute was finished in 2016ish or so.

@@ -83,17 +84,17 @@ from the no-cellphones-allowed dept.)
-

Fuck yes. (Score:3)

+

Fuck yes. (Score:3)

by DogDude ( 805747 )

Fuck yes, I fucking love Icelanders. I'm so sick of seeing smartphone zombies everywhere. The addicts and the stupid will be addicted and stupid anywhere there's an Internet connection. What a wonderful, thoughtful, human decision to make. Wonderful idea.

-

Re: (Score:2)

+

Re: (Score:2)

by Gojira Shipi-Taro ( 465802 )

I don't see it as thoughtful or "human" at all. Simply reactionary.

As long as EVERYONE in that area agrees, fine.

-

safety, use a friggin' PLB (Score:1)

+

safety, use a friggin' PLB (Score:1)

by Anonymous Coward

I spend a lot of time in the woods of British Columbia, Canada. There is no celphone coverage in probably 95% of our woods/wilderness. I don't ask for cel towers, I carry a Personal Locator Beacon (PLB) for safety. If it is that important to someone to be connected, let them use satellite. We don't need more cel coverage for narcisists.

diff --git a/test/expected/SLASHDOT/0102643378 b/test/expected/SLASHDOT/0102643378 index d49df82..8d44a93 100644 --- a/test/expected/SLASHDOT/0102643378 +++ b/test/expected/SLASHDOT/0102643378 @@ -4,6 +4,7 @@ Thursday September 06, 2018 @11:30PM (BeauHD) from the sorry-not-sorry dept. + o Reference: 0102643378 o News link: https://it.slashdot.org/story/18/09/07/0247228/380000-card-payments-compromised-in-british-airways-breach o Source link: https://news.sky.com/story/ba-calls-in-police-over-customer-data-theft-from-website-11491980 diff --git a/test/expected/SLASHDOT/0102643378.header.html b/test/expected/SLASHDOT/0102643378.header.html index 9c263e7..84f47a3 100644 --- a/test/expected/SLASHDOT/0102643378.header.html +++ b/test/expected/SLASHDOT/0102643378.header.html @@ -9,7 +9,7 @@
-

380,000 Card Payments Compromised In British Airways Breach (sky.com)

+

380,000 Card Payments Compromised In British Airways Breach (sky.com)

(Thursday September 06, 2018 @11:30PM (BeauHD) from the sorry-not-sorry dept.)

diff --git a/test/expected/SLASHDOT/0102643378.html b/test/expected/SLASHDOT/0102643378.html index a189e49..464b2a3 100644 --- a/test/expected/SLASHDOT/0102643378.html +++ b/test/expected/SLASHDOT/0102643378.html @@ -9,11 +9,12 @@
-

380,000 Card Payments Compromised In British Airways Breach (sky.com)

+

380,000 Card Payments Compromised In British Airways Breach (sky.com)

(Thursday September 06, 2018 @11:30PM (BeauHD) from the sorry-not-sorry dept.)

@@ -23,27 +24,27 @@ from the sorry-not-sorry dept.)

-

when not if (Score:2)

+

when not if (Score:2)

by johnsnails ( 1715452 )

when not if

-

And that should be really expensive for them (Score:5, Insightful)

+

And that should be really expensive for them (Score:5, Insightful)

by gweihir ( 88907 )

Say, $100 per customer, payable to the customer for their hassle. But likely this will not cost them a thing. So it will happen again and again and again.

-

For 380,000 ... (Score:2)

+

For 380,000 ... (Score:2)

by CaptainDork ( 3678879 )

... years, the universe was in an expanding opaque plasma state so dense that photons could not travel very far.

Coincidence?

Yes, I'm sure of it.

-

What else is new. (Score:2)

+

What else is new. (Score:2)

by Hallux-F-Sinister ( 5127197 )

-Sigh-.

This is why we can’t have nice things.

-

Not enough (Score:2)

+

Not enough (Score:2)

by hcs_$reboot ( 1536101 )

"We take the protection of your personal information very seriously" Almost insulting to put that in the email sent to affected clients.

diff --git a/test/expected/TOO_LINUX/2018-09-18T07_14_32Z b/test/expected/TOO_LINUX/2018-09-18T07_14_32Z index 4138d36..864298a 100644 --- a/test/expected/TOO_LINUX/2018-09-18T07_14_32Z +++ b/test/expected/TOO_LINUX/2018-09-18T07_14_32Z @@ -2,6 +2,7 @@ 2018/09/18 + o Reference: 2018-09-18T07_14_32Z o News link: https://www.toolinux.com/?Vous-bossez-dans-PHP-Participez-au-barometre-2018 o Source link: diff --git a/test/expected/TOO_LINUX/2018-09-18T07_14_32Z.header.html b/test/expected/TOO_LINUX/2018-09-18T07_14_32Z.header.html index 03ca967..7aea0e2 100644 --- a/test/expected/TOO_LINUX/2018-09-18T07_14_32Z.header.html +++ b/test/expected/TOO_LINUX/2018-09-18T07_14_32Z.header.html @@ -9,7 +9,7 @@
-

Vous bossez dans PHP ? Participez au baromètre 2018

+

Vous bossez dans PHP ? Participez au baromètre 2018

(2018/09/18)

diff --git a/test/expected/TOO_LINUX/2018-09-18T07_14_32Z.html b/test/expected/TOO_LINUX/2018-09-18T07_14_32Z.html index 7ad3e97..6e78d20 100644 --- a/test/expected/TOO_LINUX/2018-09-18T07_14_32Z.html +++ b/test/expected/TOO_LINUX/2018-09-18T07_14_32Z.html @@ -9,10 +9,11 @@
-

Vous bossez dans PHP ? Participez au baromètre 2018

+

Vous bossez dans PHP ? Participez au baromètre 2018

(2018/09/18)

diff --git a/test/expected/TOO_LINUX/2018-09-19T12_45_06Z b/test/expected/TOO_LINUX/2018-09-19T12_45_06Z index da3af27..b0ea25d 100644 --- a/test/expected/TOO_LINUX/2018-09-19T12_45_06Z +++ b/test/expected/TOO_LINUX/2018-09-19T12_45_06Z @@ -2,6 +2,7 @@ 2018/09/19 + o Reference: 2018-09-19T12_45_06Z o News link: https://www.toolinux.com/?Quand-des-logiciels-utiles-se-revelent-dangereux o Source link: diff --git a/test/expected/TOO_LINUX/2018-09-19T12_45_06Z.header.html b/test/expected/TOO_LINUX/2018-09-19T12_45_06Z.header.html index 90bc4a4..9e3eea9 100644 --- a/test/expected/TOO_LINUX/2018-09-19T12_45_06Z.header.html +++ b/test/expected/TOO_LINUX/2018-09-19T12_45_06Z.header.html @@ -9,7 +9,7 @@
-

Quand des logiciels "utiles" se révèlent... dangereux

+

Quand des logiciels "utiles" se révèlent... dangereux

(2018/09/19)

diff --git a/test/expected/TOO_LINUX/2018-09-19T12_45_06Z.html b/test/expected/TOO_LINUX/2018-09-19T12_45_06Z.html index 90ee2e7..ee6a2c3 100644 --- a/test/expected/TOO_LINUX/2018-09-19T12_45_06Z.html +++ b/test/expected/TOO_LINUX/2018-09-19T12_45_06Z.html @@ -9,10 +9,11 @@
-

Quand des logiciels "utiles" se révèlent... dangereux

+

Quand des logiciels "utiles" se révèlent... dangereux

(2018/09/19)

diff --git a/test/expected/TOO_LINUX/2018-09-19T12_51_05Z b/test/expected/TOO_LINUX/2018-09-19T12_51_05Z index ab4f0a7..ee9968d 100644 --- a/test/expected/TOO_LINUX/2018-09-19T12_51_05Z +++ b/test/expected/TOO_LINUX/2018-09-19T12_51_05Z @@ -2,6 +2,7 @@ 2018/09/19 + o Reference: 2018-09-19T12_51_05Z o News link: https://www.toolinux.com/?CloudBees-Jenkins-Support-se-presente-sur-abonnement o Source link: diff --git a/test/expected/TOO_LINUX/2018-09-19T12_51_05Z.header.html b/test/expected/TOO_LINUX/2018-09-19T12_51_05Z.header.html index 9cc95ff..b130f86 100644 --- a/test/expected/TOO_LINUX/2018-09-19T12_51_05Z.header.html +++ b/test/expected/TOO_LINUX/2018-09-19T12_51_05Z.header.html @@ -9,7 +9,7 @@
-

CloudBees Jenkins Support se présente sur abonnement

+

CloudBees Jenkins Support se présente sur abonnement

(2018/09/19)

diff --git a/test/expected/TOO_LINUX/2018-09-19T12_51_05Z.html b/test/expected/TOO_LINUX/2018-09-19T12_51_05Z.html index 29937d9..04cafda 100644 --- a/test/expected/TOO_LINUX/2018-09-19T12_51_05Z.html +++ b/test/expected/TOO_LINUX/2018-09-19T12_51_05Z.html @@ -9,10 +9,11 @@
-

CloudBees Jenkins Support se présente sur abonnement

+

CloudBees Jenkins Support se présente sur abonnement

(2018/09/19)

diff --git a/test/expected/TOO_LINUX/2018-09-20T10_57_00Z b/test/expected/TOO_LINUX/2018-09-20T10_57_00Z index 7bcec78..52de90c 100644 --- a/test/expected/TOO_LINUX/2018-09-20T10_57_00Z +++ b/test/expected/TOO_LINUX/2018-09-20T10_57_00Z @@ -2,6 +2,7 @@ 2018/09/20 + o Reference: 2018-09-20T10_57_00Z o News link: https://www.toolinux.com/?Lancement-de-DevoCloudBees-Suite-a-Jenkins-World o Source link: diff --git a/test/expected/TOO_LINUX/2018-09-20T10_57_00Z.header.html b/test/expected/TOO_LINUX/2018-09-20T10_57_00Z.header.html index 1b7889b..2936c19 100644 --- a/test/expected/TOO_LINUX/2018-09-20T10_57_00Z.header.html +++ b/test/expected/TOO_LINUX/2018-09-20T10_57_00Z.header.html @@ -9,7 +9,7 @@
-

Lancement de CloudBees Suite à Jenkins World

+

Lancement de CloudBees Suite à Jenkins World

(2018/09/20)

diff --git a/test/expected/TOO_LINUX/2018-09-20T10_57_00Z.html b/test/expected/TOO_LINUX/2018-09-20T10_57_00Z.html index 810dc58..2a46ef9 100644 --- a/test/expected/TOO_LINUX/2018-09-20T10_57_00Z.html +++ b/test/expected/TOO_LINUX/2018-09-20T10_57_00Z.html @@ -9,10 +9,11 @@
-

Lancement de CloudBees Suite à Jenkins World

+

Lancement de CloudBees Suite à Jenkins World

(2018/09/20)

diff --git a/test/expected/TOO_LINUX/2018-09-21T09_22_00Z b/test/expected/TOO_LINUX/2018-09-21T09_22_00Z index f36768b..db6d0e2 100644 --- a/test/expected/TOO_LINUX/2018-09-21T09_22_00Z +++ b/test/expected/TOO_LINUX/2018-09-21T09_22_00Z @@ -2,6 +2,7 @@ 2018/09/21 + o Reference: 2018-09-21T09_22_00Z o News link: https://www.toolinux.com/?Acquisition-Adimeo-s-offre-la-societe-OpCoding o Source link: diff --git a/test/expected/TOO_LINUX/2018-09-21T09_22_00Z.header.html b/test/expected/TOO_LINUX/2018-09-21T09_22_00Z.header.html index 36f6cc1..753b114 100644 --- a/test/expected/TOO_LINUX/2018-09-21T09_22_00Z.header.html +++ b/test/expected/TOO_LINUX/2018-09-21T09_22_00Z.header.html @@ -9,7 +9,7 @@
-

Acquisition : Adimeo s’offre la société OpCoding

+

Acquisition : Adimeo s’offre la société OpCoding

(2018/09/21)

diff --git a/test/expected/TOO_LINUX/2018-09-21T09_22_00Z.html b/test/expected/TOO_LINUX/2018-09-21T09_22_00Z.html index b451906..33f8b0a 100644 --- a/test/expected/TOO_LINUX/2018-09-21T09_22_00Z.html +++ b/test/expected/TOO_LINUX/2018-09-21T09_22_00Z.html @@ -9,10 +9,11 @@
-

Acquisition : Adimeo s’offre la société OpCoding

+

Acquisition : Adimeo s’offre la société OpCoding

(2018/09/21)

diff --git a/test/expected/TOO_LINUX/2018-09-22T18_19_00Z b/test/expected/TOO_LINUX/2018-09-22T18_19_00Z index b4f6ce4..3483365 100644 --- a/test/expected/TOO_LINUX/2018-09-22T18_19_00Z +++ b/test/expected/TOO_LINUX/2018-09-22T18_19_00Z @@ -2,6 +2,7 @@ 2018/09/22 + o Reference: 2018-09-22T18_19_00Z o News link: https://www.toolinux.com/?Voici-le-programme-de-devops-REX-2018-a-Paris o Source link: diff --git a/test/expected/TOO_LINUX/2018-09-22T18_19_00Z.header.html b/test/expected/TOO_LINUX/2018-09-22T18_19_00Z.header.html index 95504aa..be75abd 100644 --- a/test/expected/TOO_LINUX/2018-09-22T18_19_00Z.header.html +++ b/test/expected/TOO_LINUX/2018-09-22T18_19_00Z.header.html @@ -9,7 +9,7 @@
-

Voici le programme de devops REX 2018 à Paris

+

Voici le programme de devops REX 2018 à Paris

(2018/09/22)

diff --git a/test/expected/TOO_LINUX/2018-09-22T18_19_00Z.html b/test/expected/TOO_LINUX/2018-09-22T18_19_00Z.html index c49a042..b409e30 100644 --- a/test/expected/TOO_LINUX/2018-09-22T18_19_00Z.html +++ b/test/expected/TOO_LINUX/2018-09-22T18_19_00Z.html @@ -9,10 +9,11 @@
-

Voici le programme de devops REX 2018 à Paris

+

Voici le programme de devops REX 2018 à Paris

(2018/09/22)

diff --git a/test/expected/TOO_LINUX/2018-09-23T09_29_00Z b/test/expected/TOO_LINUX/2018-09-23T09_29_00Z index de23389..2994ddb 100644 --- a/test/expected/TOO_LINUX/2018-09-23T09_29_00Z +++ b/test/expected/TOO_LINUX/2018-09-23T09_29_00Z @@ -2,6 +2,7 @@ 2018/09/23 + o Reference: 2018-09-23T09_29_00Z o News link: https://www.toolinux.com/?Linagora-a-fete-ses-18-ans-cet-ete-la-video o Source link: diff --git a/test/expected/TOO_LINUX/2018-09-23T09_29_00Z.header.html b/test/expected/TOO_LINUX/2018-09-23T09_29_00Z.header.html index 2b4e992..5d6a74e 100644 --- a/test/expected/TOO_LINUX/2018-09-23T09_29_00Z.header.html +++ b/test/expected/TOO_LINUX/2018-09-23T09_29_00Z.header.html @@ -9,7 +9,7 @@
-

Linagora a fêté ses 18 ans cet été : la vidéo

+

Linagora a fêté ses 18 ans cet été : la vidéo

(2018/09/23)

diff --git a/test/expected/TOO_LINUX/2018-09-23T09_29_00Z.html b/test/expected/TOO_LINUX/2018-09-23T09_29_00Z.html index 0011d02..aac7caa 100644 --- a/test/expected/TOO_LINUX/2018-09-23T09_29_00Z.html +++ b/test/expected/TOO_LINUX/2018-09-23T09_29_00Z.html @@ -9,10 +9,11 @@
-

Linagora a fêté ses 18 ans cet été : la vidéo

+

Linagora a fêté ses 18 ans cet été : la vidéo

(2018/09/23)

diff --git a/test/expected/TOO_LINUX/2018-09-24T04_59_08Z b/test/expected/TOO_LINUX/2018-09-24T04_59_08Z index 11028b1..b8a84bf 100644 --- a/test/expected/TOO_LINUX/2018-09-24T04_59_08Z +++ b/test/expected/TOO_LINUX/2018-09-24T04_59_08Z @@ -2,6 +2,7 @@ 2018/09/24 + o Reference: 2018-09-24T04_59_08Z o News link: https://www.toolinux.com/?CLIP-OS-le-systeme-d-exploitation-made-in-France o Source link: diff --git a/test/expected/TOO_LINUX/2018-09-24T04_59_08Z.header.html b/test/expected/TOO_LINUX/2018-09-24T04_59_08Z.header.html index a2fbfba..1a56bd6 100644 --- a/test/expected/TOO_LINUX/2018-09-24T04_59_08Z.header.html +++ b/test/expected/TOO_LINUX/2018-09-24T04_59_08Z.header.html @@ -9,7 +9,7 @@
-

CLIP OS, le système d’exploitation "made in France"

+

CLIP OS, le système d’exploitation "made in France"

(2018/09/24)

diff --git a/test/expected/TOO_LINUX/2018-09-24T04_59_08Z.html b/test/expected/TOO_LINUX/2018-09-24T04_59_08Z.html index 5f18245..4e72b3f 100644 --- a/test/expected/TOO_LINUX/2018-09-24T04_59_08Z.html +++ b/test/expected/TOO_LINUX/2018-09-24T04_59_08Z.html @@ -9,10 +9,11 @@
-

CLIP OS, le système d’exploitation "made in France"

+

CLIP OS, le système d’exploitation "made in France"

(2018/09/24)

diff --git a/test/expected/TOO_LINUX/2018-09-25T02_31_00Z b/test/expected/TOO_LINUX/2018-09-25T02_31_00Z index e592627..7dbb98e 100644 --- a/test/expected/TOO_LINUX/2018-09-25T02_31_00Z +++ b/test/expected/TOO_LINUX/2018-09-25T02_31_00Z @@ -2,6 +2,7 @@ 2018/09/25 + o Reference: 2018-09-25T02_31_00Z o News link: https://www.toolinux.com/?Voici-le-programme-du-Forum-PHP-2018 o Source link: diff --git a/test/expected/TOO_LINUX/2018-09-25T02_31_00Z.header.html b/test/expected/TOO_LINUX/2018-09-25T02_31_00Z.header.html index d0da0f6..23adf8b 100644 --- a/test/expected/TOO_LINUX/2018-09-25T02_31_00Z.header.html +++ b/test/expected/TOO_LINUX/2018-09-25T02_31_00Z.header.html @@ -9,7 +9,7 @@
-

Dans un mois aura lieu le Forum PHP 2018 à Paris

+

Dans un mois aura lieu le Forum PHP 2018 à Paris

(2018/09/25)

diff --git a/test/expected/TOO_LINUX/2018-09-25T02_31_00Z.html b/test/expected/TOO_LINUX/2018-09-25T02_31_00Z.html index 7b44a14..37adb25 100644 --- a/test/expected/TOO_LINUX/2018-09-25T02_31_00Z.html +++ b/test/expected/TOO_LINUX/2018-09-25T02_31_00Z.html @@ -9,10 +9,11 @@
-

Dans un mois aura lieu le Forum PHP 2018 à Paris

+

Dans un mois aura lieu le Forum PHP 2018 à Paris

(2018/09/25)

diff --git a/test/expected/TOO_LINUX/2018-09-25T19_07_16Z b/test/expected/TOO_LINUX/2018-09-25T19_07_16Z index 6f6ac35..fd5fac2 100644 --- a/test/expected/TOO_LINUX/2018-09-25T19_07_16Z +++ b/test/expected/TOO_LINUX/2018-09-25T19_07_16Z @@ -2,6 +2,7 @@ 2018/09/25 + o Reference: 2018-09-25T19_07_16Z o News link: https://www.toolinux.com/?ChromeOS-69-les-applications-Linux-sont-la o Source link: diff --git a/test/expected/TOO_LINUX/2018-09-25T19_07_16Z.header.html b/test/expected/TOO_LINUX/2018-09-25T19_07_16Z.header.html index ea70edd..e66920a 100644 --- a/test/expected/TOO_LINUX/2018-09-25T19_07_16Z.header.html +++ b/test/expected/TOO_LINUX/2018-09-25T19_07_16Z.header.html @@ -9,7 +9,7 @@
-

ChromeOS 69 : les applications Linux sont là

+

ChromeOS 69 : les applications Linux sont là

(2018/09/25)

diff --git a/test/expected/TOO_LINUX/2018-09-25T19_07_16Z.html b/test/expected/TOO_LINUX/2018-09-25T19_07_16Z.html index be384d5..93e07cd 100644 --- a/test/expected/TOO_LINUX/2018-09-25T19_07_16Z.html +++ b/test/expected/TOO_LINUX/2018-09-25T19_07_16Z.html @@ -9,10 +9,11 @@
-

ChromeOS 69 : les applications Linux sont là

+

ChromeOS 69 : les applications Linux sont là

(2018/09/25)

-- 2.27.0