# rss_item

guid: https://liens.strak.ch/?dl52_Q
title: Combo
url: https://www.memepasmal.ch/2017/08/04/combo/
feedurl: https://liens.strak.ch/?do=rss
content:
<div class="markdown"><p>:)<br />
&#8212; <a href="https://liens.strak.ch/?dl52_Q" title="Permalink">Permalink</a></p></div>


guid: https://liens.strak.ch/?Pccd_w
title: Lancement de Nootropique Zone
url: https://psychedeli.cat/lancement-de-nootropique-zone/
feedurl: https://liens.strak.ch/?do=rss
content:
<div class="markdown"><p>Ça m'intrigue, du coup j'irai surement y faire un tour, ne serait-ce que pour m'informer.<br />
&#8212; <a href="https://liens.strak.ch/?Pccd_w" title="Permalink">Permalink</a></p></div>


guid: https://liens.strak.ch/?L-GyBg
title: Antivirus Kaspersky Lab gratuit. Le monde entier sera sécurisé.
url: https://www.kaspersky.fr/blog/kaspersky-free-goes-global/9322/
feedurl: https://liens.strak.ch/?do=rss
content:
<div class="markdown"><p>-&gt; <a href="https://www.kaspersky.com/downloads/thank-you/free-antivirus-download">https://www.kaspersky.com/downloads/thank-you/free-antivirus-download</a></p>
<p>&quot;Il s’agit d’une version dotée du strict nécessaire : antivirus des fichiers, e-mails et du web, mises à jour automatiques, autoprotection [...] Parallèlement, Kaspersky Free n’est pas lié à toutes ces absurdités habituelles<br />
telles que les atteintes à la vie privée et le suivi des habitudes publicitaires des utilisateurs, dont les antivirus gratuits abusent en général dans le but de les rendre intéressants financièrement parlant aux yeux de leurs fabricants.&quot;<br />
&#8212; <a href="https://liens.strak.ch/?L-GyBg" title="Permalink">Permalink</a></p></div>


guid: https://liens.strak.ch/?o503pw
title: Firefox en voie d’extinction ?
url: https://korben.info/firefox-voie-dextinction.html
feedurl: https://liens.strak.ch/?do=rss
content:
<div class="markdown"><p>Je continue à lire mes flux en retard, vacances obligent, et je vois passer cette affligeante nouvelle.<br />
Je me souviens être passé un beau jour de Internet Explorer (si, si) à Firefox, et je ne suis jamais revenu en arrière.<br />
Franchement, testez Firefox et toutes les addons qu'il propose, vous ne serez pas déçu.</p>
<p>&#8212; <a href="https://liens.strak.ch/?o503pw" title="Permalink">Permalink</a></p></div>


guid: https://liens.strak.ch/?3jjiZg
title: Faites parler votre Powershell
url: http://www.antoniodealmeida.net/faites-parler-votre-powershell/
feedurl: https://liens.strak.ch/?do=rss
content:
<div class="markdown"><p>À tester pour le lol !<br />
&#8212; <a href="https://liens.strak.ch/?3jjiZg" title="Permalink">Permalink</a></p></div>


guid: 4ed194ff5935f31f3eff4e46ca1cafa7
title: Politicizing history
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Politicizing_history%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Around the world, authoritarian regimes are <a href="https://www.theguardian.com/commentisfree/2017/aug/04/fake-news-fake-history-turkey-china-rewrite-past">rewriting history</a> to justify themselves.
<p>
Distorting history for political purposes is not new.  See the book, Lies My Teacher Told Me, for examples from American history as taught in the US.  However, the existence of past lies does not excuse new lies.
 


guid: ec97ece5b3202bc2c78cd742c9a09b67
title: Fair Trade
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Fair_Trade%29
feedurl: https://www.stallman.org/rss/
content:
<p>
The <a href="https://www.theguardian.com/commentisfree/2017/aug/04/fairtrade-benefits-supermarkets-global-south-outdated-model">weaknesses of Fair Trade</a> for helping farmers.


guid: 6d432ac5381118e901e324c8eec2846c
title: Health insurance big data
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Health_insurance_big_data%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Private medical insurance plans to use AI to figure out <a href="https://www.bloomberg.com/view/articles/2017-08-04/big-data-is-coming-to-take-your-health-insurance">which clients to accept</a> and which to chase away.


guid: 0c05e36755a512b604ad2787a56c5857
title: Border wall environment
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Border_wall_environment%29
feedurl: https://www.stallman.org/rss/
content:
<p>
The Department of Homeland Spoilage plans to <a href="https://thinkprogress.org/border-communities-environmental-destruction-wall/">disregard environmental laws</a> to build the border wall near San Diego.
<p>
As the troll admitted on the phone with the president of Mexico, the wall is of no importance to the troll except to give the impression that there is one thing he didn't lie about.


guid: 3fae45ea307e698606ad377678be3259
title: Progressive groups abortion rights
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Progressive_groups_abortion_rights%29

content:
<p>
Progressive organizations insist that the Democratic Party and its candidates <a href="https://www.commondreams.org/newswire/2017/08/02/leading-progressive-groups-party-must-stand-and-proudly-support-abortion-rights">stand firm for abortion rights</a>.


guid: 57d9897d42e891217568b0e465087d54
title: Quebec Haitian refugees
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Quebec_Haitian_refugees%29
feedurl: https://www.stallman.org/rss/
content:
<p>
As thousands of refugees sneak into Canada to have a chance to ask the <a href="https://www.commondreams.org/news/2017/08/03/asylum-seekers-fleeing-trumps-hostility-overwhelm-quebecs-refugee-resources">authorities for asylum</a>, Canadians are going to court to make the government accept refugees that passed through the unsafe United States.


guid: 3591cea1c1c72d4b0ae8c49420bbcce9
title: China social media astroturf
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28China_social_media_astroturf%29
feedurl: https://www.stallman.org/rss/
content:
<p>
The Chinese government's organized astroturf messaging on social media does not present political arguments.  Rather, the <a href="https://harvardgazette.files.wordpress.com/2016/06/50c.pdf">messages</a> praise China and the Communist Party in general ways.
<p>
It appears that their purpose is to distract the public from events that might arouse a wave of criticism of the state.


guid: 0f4d15184a10e71522deacd6484132c4
title: Protest related executions
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Protest_related_executions%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Salafi Arabia is about to <a href="https://www.commondreams.org/newswire/2017/08/04/saudi-government-defends-imminent-protest-related-executions">execute 14 people for protesting</a>, after trying them in a Guantanamo-style kangaroo court.
<p>
That the autocratic state responded shows that campaigns of criticism are making progress.  If we keep on, we can make <a href="/glossary.html#salafi">Salafi Arabia</a> too toxic for other countries to ally with.


guid: c837163379a6a835f96e714b4923db29
title: Singapore citizen prosecution
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Singapore_citizen_prosecution%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Singapore's government is demonstrating its repressive nature by <a href="https://www.theguardian.com/world/2017/aug/04/lee-kuan-yews-grandson-faces-legal-action-by-singapore-government">seeking to prosecute a citizen for criticizing repression</a>.
<p>
The private dispute this arose from is a side issue.  We need not have any opinion about that dispute to condemn the repression.


guid: 2db9adccb982d4d21a74074ba4d61aa1
title: Global heating forecast
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Global_heating_forecast%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Extreme weather events, caused by global heating, are <a href="https://www.theguardian.com/science/2017/aug/04/extreme-weather-deaths-in-europe-could-increase-50-fold-by-next-century">forecast to kill 150,000 people a year</a> in Europe in the last third of this century.
<p>
That is using a middling climate scenario.  With the worst climate scenario, it would be worse.
<p>
Of course, this does not include spreading tropical diseases, food shortages, and wars.  They could kill hundreds of millions of people each year.


guid: 5558ad5cf3c023bf3255e75bd5859147
title: Venezuela Ortega replaced
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Venezuela_Ortega_replaced%29
feedurl: https://www.stallman.org/rss/
content:
<p>
The constituent assembly of Venezuela has <a href="https://www.theguardian.com/world/2017/aug/05/venezuela-chief-prosecutor-luisa-ortega-removed">replaced the chief prosecutor</a>, a Chavista who opposed the plan to replace Chavez's constitution.


guid: ef4208305446092c4dff642046f11b09
title: UK landlords
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28UK_landlords%29
feedurl: https://www.stallman.org/rss/
content:
<p>
An eviction company in the UK <a href="https://www.theguardian.com/society/2017/aug/05/eviction-company-advert-calls-tenants-household-pests">revealed what landlords really think</a> about their tenants by calling tenants "household pests".
<p>
"This would be a great apartment building if only there were no tenants getting in the way."


guid: 8eea8dd41622285fac12d3f3d805a278
title: Algorithm-driven economy
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Algorithm-driven_economy%29
feedurl: https://www.stallman.org/rss/
content:
<p>
<a href="https://www.fastcompany.com/40447841/you-are-being-exploited-by-the-opaque-algorithm-driven-economy">Profiled consumers</a>, manipulated by marketing algorithms, are  living lives comparable to The Truman Show.


guid: 6fe459dd7c2c7ec2725fa1c62cf48a6b
title: Parental monitoring technology
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Parental_monitoring_technology%29
feedurl: https://www.stallman.org/rss/
content:
<p>
<a href="http://feedproxy.google.com/~r/reason/Articles/~3/jqWu6HysMks/want-to-treat-your-kid-like-a">New technology for monitoring</a> everything that children do, and everything that happens to them, will teach parents that they must monitor everything, and teach children to expect to be always monitored.


guid: 65a0c7eb19c0a49f373cfc94a71c6922
title: Business systems that harm most of society
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Business_systems_that_harm_most_of_society%29

content:
<p>
Many sectors of business operate in ways that harm most of society.
These business systems are 
<a href="https://www.commondreams.org/views/2017/08/02/talking-about-media-revolution">propped
up by the corporate media</a>.
<p>
The article mentions fossil fuel use and medical care, but there are
more.  Big agriculture, for instance.
<p>
Beyond the corporate media, we find 
<a href="https://stallman.org/archives/2017-jan-apr.html#10_April_2017_(Young_Americans_longing_for_1950s_world)">plutocracy</a>,
the overall system which keeps business in power over society.


guid: 9c124e44bcc1a2f6d3910cbaf49cba0b
title: Venezuelans fleeing to Colombia
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Venezuelans_fleeing_to_Colombia%29
feedurl: https://www.stallman.org/rss/
content:
<p>
People in Venezuela are starting to 
<a href="https://www.theguardian.com/world/2017/aug/05/here-there-is-a-chance-venezuela-crisis-triggers-exodus-to-colombia">flee
to Colombia</a>.  Others go there to buy everyday goods that can't be
found in Venezuela.
<p>
To go to Colombia to buy goods is an ironic reversal.  A few years
ago, Venezuelans crossed the bridge to CÃºcuta to
<a href="https://stallman.org/archives/2016-jul-oct.html#11_July_2016_(Food_shortages_in_Venezuela)">resell
goods they had bought in Venezuela</a> at low prices subsidized by the
state.  These subsidies caused occasional shortages in Venezuela.


guid: 5436357cdc1ac0d963a907073f4f1086
title: Nissan's illegal bullying
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Nissans_illegal_bullying%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Nissan 
<a href="https://www.theguardian.com/us-news/2017/aug/05/mississippi-nissan-workers-vote-against-union">defeated
unionization in its Mississippi factory</a> using 
<a href="https://stallman.org/archives/2017-may-aug.html#2_August_2017_(Nissan_workers)">illegal
bullying measures</a>.


guid: fd70422cee72a5dba71f144a30919df5
title: Suspicious 99% victory in election
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Suspicious_99%2525_victory_in_election%29

content:
<p>
Authoritarian President Kagame of Rwanda, running for reelection,
<a href="https://www.theguardian.com/world/2017/aug/05/paul-kagame-secures-third-term-in-rwanda-presidential-election">reports
winning 99% of the votes</a>.
<p>
Kagame has 
<a href="https://stallman.org/archives/2012-sep-dec.html#13_October_2012_(Kagame_imprisons_and_kills_opposition_and_journalists)">brought
peace and prosperity, as well as some repression, to Rwanda</a>, and I
can believe he received the majority of the votes.  However, the
reported 99% victory makes me suspect falsification.  It reminds me of
Russia, where Putin would surely win a free and fair election, but
<a href="https://stallman.org/archives/2012-mar-jun.html#11_May_2012_(Putin)">prefers
to make them unfair</a>.


guid: 6acc93ebe90654afc05fd2576dc9f53e
title: Birmingham trash collectors on strike
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Birmingham_trash_collectors_on_strike%29

content:
<p>
The trash collectors of Birmingham, England, are on strike to 
<a href="https://www.theguardian.com/public-leaders-network/2017/aug/05/birmingham-refuse-workers-strike-council-cuts">reject
pay cuts</a>.


guid: 90bd408d433c910723cd5c80cc01faf8
title: How Americans are taught to regard snooping
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28How_Americans_are_taught_to_regard_snooping%29

content:
<p>
Today's Americans have been 
<a href="https://www.theguardian.com/commentisfree/2017/aug/04/surveillance-employers-spy-implanted-chipped">taught
to regard surveillance of them as a sign that someone cares</a>.
<p>
How pathetic!  And how dangerous to all of us who recognize the power
advantage that the surveillers have over us!


guid: 09dce8056ac625a0ac88d4936de1f6e4
title: Gene editing
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Gene_editing%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Gene editing could someday make possible the choice of improved traits
for human babies.  I don't see anything wrong with that, a priori; but
if enhancement is available only to rich parents, they will use it to
<a href="https://www.theguardian.com/commentisfree/2017/aug/04/editing-human-genome-consumer-eugenics-designer-babies">cement
their families' domination of society</a>.
<p>
This can't happen very soon.  Many experiments would be needed to
develop a technology so reliable that people would willingly use it on
their children, outside of avoiding a bad disease.  Then people would
arrive at the difficult question of which genes are preferable for
their children, which often begs the question, "better for what?"
<p>
Even determining whether a given combination of genes will have some
horrible result is not easy.  In general, it would require an advanced
understanding of how various specific human alleles interact.


guid: 53fb82fc496eced6576e4b1c0ee9674d
title: Evoting machines cracked
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Evoting_machines_cracked%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Hackers at Defcon went to work on four different models of US voting
machines, and cracked all of them 
<a href="https://www.fastcompany.com/40448876/how-hackers-are-teaching-election-officials-to-protect-their-voting-machines-learned-from-hackers-to-improve-security-for-future-elections">within
hours of seeing them for the first time</a>.
<p>
Even if some model were totally secure against crackers, it can't be
secure against the company that develops its proprietary software.
<p>
If, however, the software is free, and the local election authority
can change it, then the machine can't be secure against the local
election authority.  There is always someone that can change the
software, and we can't trust that someone.
<p>
For secure elections, we must vote on paper.


guid: 7d61536e683f3cf49634aec25bdd608c
title: Urgent: Oppose thug violence
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#6_August_2017_%28Urgent%3A_Oppose_thug_violence%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Everyone: 
<a href="https://campaigns.organizefor.org/petitions/tell-police-unions-stop-defending-trump-for-encouraging-police-brutality-1">tell
US thug unions</a> to stop tolerating the troll's endorsement of
criminal violence by thugs.


guid: 6e45d81c39d757cc2f20eaeaeb9f4f27
title: Face recognition at carnival
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Face_recognition_at_carnival%29
feedurl: https://www.stallman.org/rss/
content:
<p>
UK thugs plan to
<a href="https://www.theguardian.com/uk-news/2017/aug/05/met-police-facial-recognition-software-notting-hill-carnival">
apply face recognition to everyone
</a>
attending the
Notting Hill Carnival.


guid: ae390d847ce7aa0695bfd5f023055f91
title: Right-wing generals
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Right-wing_generals%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Beware of
<a href="https://www.commondreams.org/views/2017/08/05/are-we-egypt">
right-wing generals bringing "order"
</a>
to the chaotic US
regime.


guid: a86ce3b4a0e80594379351d3f181c33d
title: Unconsenting car insurance
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Unconsenting_car_insurance%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Wells Fargo Bank gave half a million customers
<a href="https://www.dailykos.com/stories/2017/8/4/1686951/-Wells-Fargo-caught-signing-up-490-000-people-for-car-insurance-they-didn-t-need?detail=emaildkre">
automobile insurance
without their consent,
</a>
even without their knowledge.  Some of them
lost their cars when they missed the payments they didn't properly owe.
<p>
When banks do this, it is not through carelessness.  It is a clever
scheme for cheating customers.
<a href="https://stallman.org/archives/2016-nov-feb.html#31_December_2016_(Wells_Fargo)">
Wells Fargo already admitted another
such dishonest scheme.
</a>
  Naturally, no banksters were imprisoned for it.


guid: 088386a04c2191a27ecbc214c099b975
title: Investments in Haiti
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Investments_in_Haiti%29
feedurl: https://www.stallman.org/rss/
content:
<p>
<a href="http://www.huffingtonpost.com/entry/china-extends-her-silk-road-to-haiti_us_5984927ae4b0bd8232029723">
China is making big construction investments in Haiti,
</a>
along with many
other countries.
<p>
  Maybe this will reduce poverty in those countries, as well as
increasing Chinese influence around the world.


guid: f2287906b0ae97b4e1af5aaa534a4a92
title: Marriage
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Marriage%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Are
<a href="https://www.theguardian.com/lifeandstyle/2017/aug/05/i-love-being-married-am-i-the-exception-kasey-edwards">
most married couples
</a>
soldiering on through misery?


guid: 48a614d2e2e430ece41c5c9e8f4e099b
title: Unneeded labor
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Unneeded_labor%29
feedurl: https://www.stallman.org/rss/
content:
<p>
<a href="https://www.commondreams.org/views/2017/08/04/medias-grim-addiction-perseverance-porn">
"Perseverance porn" stories,
</a>
about how someone walks 10 miles to work
every day,
have the effect of normalizing the big disadvantages from society
that make people do hard labor that society should not need.


guid: 3ae05ae5cbc11eafc99c722787d6ee3f
title: Palestinian VPN ban
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Palestinian_VPN_ban%29
feedurl: https://www.stallman.org/rss/
content:
<p>
<a href="https://globalvoices.org/2017/08/03/will-palestines-new-cybercrime-law-pave-the-way-for-more-rights-violations/">
Palestine's new "cyber crime" law
</a>
imposes many kinds of censorship,
abolishes privacy, and represses freedom of speech on line.
<p>
  It also bans using VPNs to access banned web sites.


guid: 5d21c1e96aa96a0c7fa66726d86b8183
title: Face recognition in airports
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Face_recognition_in_airports%29
feedurl: https://www.stallman.org/rss/
content:
<p>
ACLU:
<a href="https://www.aclu.org/blog/free-future/whats-wrong-airport-face-recognition">
using face recognition on people leaving the US is a threat
to everyone.
</a>


guid: bb9141baf591ca38a83023ea96065f2c
title: North Korea sanctions
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28North_Korea_sanctions%29
feedurl: https://www.stallman.org/rss/
content:
<p>
The UN adopted <a href="https://www.theguardian.com/commentisfree/2017/aug/06/north-korea-un-vote-russia-china-resolution-2371">new, biting sanctions</a> against North Korea with the support
or Russia and China as well as the US.
<p>
Tillerson could perhaps convert this into a negotiating point to
advance towards stability in the Korean nuclear situation.


guid: a67db154b918bab01486b7f1313475fa
title: Banning al-Jazeera
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Banning_al-Jazeera%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Israel plans to join Egypt in <a href="https://www.theguardian.com/world/2017/aug/06/israeli-government-impose-ban-al-jazeera-news-network">banning al-Jazeera's reporters</a> from
operating there and blocking access to broadcasts.


guid: 2fb05169067900adf8afafe83bc03a5b
title: Chicago mental health
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Chicago_mental_health%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Chicago has <a href="https://theintercept.com/2017/08/06/chicago-police-mental-health-swat-raids-militarized/">ceased offering</a> mentally ill people any help. But if they
flip out, it sends a SWAT team to arrest them.


guid: 26ab7aa5c6d6f2249a228f7d04412936
title: Today's capitalism
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Today%27s_capitalism%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Most Americans are fed up with <a href="https://www.theguardian.com/commentisfree/2017/aug/01/capitalism-excesses-dustbin-history">capitalism as it is today</a>.
<p>
Capitalism was not always so narrowly focused. The idea that a
corporation's primary duty is to its stockholders alone was not
accepted in the US until a few decades ago, and in some European
countries it still is not accepted.


guid: 20036ba4cda903e03fe50017d5c390ff
title: Software vulnerabilities
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Software_vulnerabilities%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Software vulnerabilities are frequently <a href="https://lawfareblog.com/rediscovering-vulnerabilities">discovered independently more than once</a>. When intelligence agencies keep a vulnerability secret so
as to be able to use it, with the result that it isn't fixed, there is
a substantial chance this gives someone else chance to rediscover it
and exploit it.


guid: ce1a173141a6a67570ae3b66c8412b01
title: Credit card tracking
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Credit_card_tracking%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Google's plan to correlate credit card purchasing with browsing is the
target of a <a href="https://www.washingtonpost.com/news/the-switch/wp/2017/07/30/googles-new-program-to-track-shoppers-sparks-a-federal-privacy-complaint/">federal privacy complaint</a>.
<p>
It is easy to make an informed decision about whether to pay by credit
card: <em>don't</em>. If you pay in a way that isn't anonymous,
<em>someone</em> will know what you bought, and give the data to
someone else that will use that information against you. We don't
know precisely how or when, but we don't need to know that to draw the
pertinent conclusion.


guid: 8c2ed263b18dbc64f543e7b9268ca886
title: Tesla tracking device
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Tesla_tracking_device%29
feedurl: https://www.stallman.org/rss/
content:
<p>
 The Tesla car version 2 was a tracking device. The Tesla 3 requires
the driver to carry a <a href="https://www.theguardian.com/technology/2017/jul/31/tesla-model-3-electric-car-doesnt-have-key-things-we-learned-speedometer-battery-sleep">separate tracking device</a> (portable phone) and
run a proprietary app on it.


guid: ed41f9c63687922393c08129d527a3e1
title: Targeted Facebook ads
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Targeted_Facebook_ads%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Facebook ads targeted at people selected for high or low authoritarianism
can effectively persuade them either to <a href="https://www.theguardian.com/technology/2017/jul/31/facebook-dark-ads-can-swing-opinions-politics-research-shows">support massive state surveillance or to oppose it</a>.
<p>
Such targeting gives well-funded campaigns the power to win by saying
different things to different people.


guid: 051e939917888abeebf8b4fd354132a6
title: Kleptocracy
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Kleptocracy%29
feedurl: https://www.stallman.org/rss/
content:
<p>
The troll's <a href="https://www.theguardian.com/us-news/2017/jul/31/trump-ethics-chief-walter-shaub-kleptocracy">corrupt self-dealing</a> risks branding the US as a kleptocracy.


guid: f7b0e627763a2f694780fff970c4ba50
title: Anti-terrorism
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Anti-terrorism%29
feedurl: https://www.stallman.org/rss/
content:
<p>
<a href="https://edri.org/draconian-anti-terrorism-measures-instil-terror/">Draconian Anti-Terrorism Measures</a> Instill Terror.
<p>
Innocent people are charged with imaginary "crimes" detected
by surveillance.


guid: 24a2a9d37bccc7af70233779a2a4ba17
title: DJI drones snoop on users
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28DJI_drones_snoop_on_users%29
feedurl: https://www.stallman.org/rss/
content:
<p>
While you're using a DJI drone to snoop on other people, DJI is in
many cases
<a href="https://www.theverge.com/2017/8/4/16095244/us-army-stop-using-dji-drones-cybersecurity">snooping
on you</a>.


guid: 6ed4db89a11382f9526ea63d70d77926
title: Immigration thugs in labor commission offices
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Immigration_thugs_in_labor_commission_offices%29

content:
<p>
Employers in California are calling US immigration thugs to
<a href="https://www.dailykos.com/stories/2017/8/3/1686666/-In-California-disgruntled-employees-may-be-siccing-ICE-on-workers-who-report-labor-violations">grab
and deport their employees that have reported violations of labor
laws</a>.  California has responded by kicking immigration thugs out
of the labor commission offices.


guid: 986589e2e00ae1721023f2960554a5fa
title: Seismic blasting harms sea mammals
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Seismic_blasting_harms_sea_mammals%29

content:
<p>
The US government has recognized that seismic blasting to search for
oil in the Gulf of Mexico harm
<a href="https://www.commondreams.org/newswire/2017/08/04/feds-seismic-oil-surveys-gulf-mexico-would-injure-30-million-marine-mammals">large
numbers of whales, dolphins, and other sea mammals</a>.


guid: 97dfb4fb7302a43868128630474208a9
title: Genetic engineering and ecosystem preservation
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Genetic_engineering_and_ecosystem_preservation%29

content:
<p>
<a href="http://e360.yale.edu/features/should-new-genetic-engineering-be-used-as-a-conservation-tool">Can
genetic engineering be used</a> to preserve ecosystems?
<p>
I don't think eradicating an intrusive species from an area with a
gene drive is significantly ethically different from doing so with
traps.  For safety, there must be multiple levels of safety systems to
prevent the gene drive from spreading off the target area.
<p>
However, I think any scheme that involves modifying large numbers of
species will not be feasible for a long time.  For instance, the idea
of genetically modifying coral to cope with heat and acidity is far
fetched, because preserving the ecosystem would require modifying
<em>all</em> the coral species and varieties there.  How many coral
species are found in any given reef?  Can we be sure we have
identified them all?  It doesn't seem feasible.


guid: 43daa41daac738f8f0a548667ce4926f
title: Human consumption outpacing Earth's production
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Human_consumption_outpacing_Earths_production%29

content:
<p>
"<a href="https://www.commondreams.org/news/2017/08/02/earth-exhausted-humans-have-already-consumed-planets-annual-resources">In
seven months</a> [January through July], we emitted more carbon than
the oceans and forests can absorb in a year, we caught more fish,
felled more trees, harvested more, and consumed more water than the
Earth was able to produce in the same period."


guid: ea7e624fd2ee9f6cadbc94934964a122
title: India's secular, tolerant, free society
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Indias_secular%2C_tolerant%2C_free_society%29

content:
<p>
India is
<a href="https://www.theguardian.com/commentisfree/2017/aug/02/70-years-independence-india-mumbai">losing
the secular, tolerant and free society</a> that its founders hoped
for.
<p>
The current ruling party is related to the religious fanatical
movement that assassinated Gandhi.


guid: 2052cee87ddfe9d0f997e63c512295e0
title: Proposed fracking in Australia
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Proposed_fracking_in_Australia%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Proposed fracking in Australia would emit
<a href="https://www.theguardian.com/environment/2017/aug/02/emissions-from-nts-mcarthur-basin-would-dwarf-those-from-adani-coalmine">far
more</a> than the giant proposed coal mine.


guid: 4c11cd90b5c5a4bcdb6b324bd840434f
title: Excessive tourism
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Excessive_tourism%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Excessive tourism is
<a href="https://www.theguardian.com/commentisfree/2017/aug/05/only-governments-can-stem-tide-of-tourism-sweeping-the-globe">making
the inhabitants of many cities very unhappy</a>.
<p>
Taxing flights for their contribution to global heating would have the
side effect of limiting tourism.  It would also reduce the cost of
airport expansion.


guid: 00cd3834b96fac518fc20b3e89e29905
title: Venezuela
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Venezuela%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Chavez was
<a href="https://www.theguardian.com/commentisfree/2017/aug/06/observer-view-on-venezuela-nicolas-maduro">both
right and wrong</a>, and some of the wrong was his response to
plutocratist sabotage.


guid: ed55e5f7e0a2d35af99cbe0c4239c5aa
title: Resurgent wolves in France
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Resurgent_wolves_in_France%29
feedurl: https://www.stallman.org/rss/
content:
<p>
<a href="https://www.theguardian.com/world/2017/aug/06/french-farmers-demand-action-against-wolves-killing-livestock">Resurgent
wolves in France</a> have killed 3000 to 4000 farm sheep this year, as
well as some cattle and horses.
<p>
Surely France can afford to reimburse farmers for the cost of losing a
tiny fraction of their animals to wolves.


guid: 6ac249221a296c87b452615051b1477a
title: Urgent: Moral budget
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Urgent%3A_Moral_budget%29
feedurl: https://www.stallman.org/rss/
content:
<p>
US citizens:
<a href="https://actionnetwork.org/forms/demand-a-moralbudget">call on
Congress</a> to pass a moral budget.


guid: 20abbe44a2d47a1f42e2b0e0b7617655
title: Urgent: Block Sinclair-Tribune merger
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Urgent%3A_Block_Sinclair-Tribune_merger%29

content:
<p>
US citizens:
<a href="http://act.freepress.net/sign/journ_trump_sinclair">call on
the FCC</a> to block the Sinclair-Tribune TV merger.


guid: f31b77c6a1f8aca709ebffb40c5dbc40
title: Urgent: Protect the Johnson Amendment
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Urgent%3A_Protect_the_Johnson_Amendment%29

content:
<p>
US citizens:
<a href="http://go.fightforreform.org/page/s/johnson-amendment">Protect
the Johnson Amendment</a> from SCROTUS.


guid: 0140f3b8d529fc251384d66fbb7d4e28
title: Urgent: Block troll's housing cuts
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Urgent%3A_Block_trolls_housing_cuts%29

content:
<p>
US citizens:
<a href="https://actionnetwork.org/petitions/sign-the-petition-tell-ben-carson-to-stop-trumps-housing-cuts">call
on Ben Carson</a> to block the troll's housing cuts.


guid: 4f85d825f077c8e0eca9f526f8b2e58b
title: Abortion rights
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#7_August_2017_%28Abortion_rights%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Campaigning for abortion rights in the Philippines
<a href="https://www.theguardian.com/global-development/2017/jul/10/how-bitter-herbs-and-botched-abortions-kill-three-women-a-day-in-the-philippines">requires overcoming
the resistance of the Catholic Church</a>.


guid: tag:linuxfr.org,2005:News/37934
title: Sortie de GHC 8.2.1
author: octachron
url: https://linuxfr.org/news/sortie-de-ghc-8-2-1
feedurl: http://linuxfr.org/news.atom
content:
<div><p>Une nouvelle version majeure du compilateur GHC pour <a href="https://www.haskell.org/">Haskell</a> est sortie.</p>

<p><img src="//img.linuxfr.org/img/68747470733a2f2f6768632e6861736b656c6c2e6f72672f747261632f6768632f6368726f6d652f736974652f6768635f6c6f676f2e706e67/ghc_logo.png" alt="GHC" title="Source : https://ghc.haskell.org/trac/ghc/chrome/site/ghc_logo.png"></p>

<p>Cette dépêche présente rapidement le langage Haskell, puis les nouveautés de la version 8.2.1 qui vient de sortir. En fin de dépêche, un exemple plus complet d’un code Haskell est présenté afin de motiver à l’usage de ce langage.</p></div><ul><li>lien n°1 : <a title="https://linuxfr.org/news/sortie-de-ghc-8-0-2-et-une-petite-histoire-de-typage-statique" hreflang="fr" href="https://linuxfr.org/redirect/100392">DLFP : Sortie de GHC 8.0.2 et une petite histoire de typage statique</a></li><li>lien n°2 : <a title="https://mail.haskell.org/pipermail/ghc-devs/2017-April/014096.html" hreflang="en" href="https://linuxfr.org/redirect/100393">[ANNOUNCE] GHC 8.2.1 release candidate 1</a></li><li>lien n°3 : <a title="https://mail.haskell.org/pipermail/ghc-devs/2017-May/014197.html" hreflang="en" href="https://linuxfr.org/redirect/100394">[ANNOUNCE] GHC 8.2.1 release candidate 2</a></li><li>lien n°4 : <a title="https://mail.haskell.org/pipermail/ghc-devs/2017-July/014364.html" hreflang="en" href="https://linuxfr.org/redirect/100395">[ANNOUNCE] GHC 8.2.1 release candidate 3 available</a></li><li>lien n°5 : <a title="https://mail.haskell.org/pipermail/ghc-devs/2017-July/014422.html" hreflang="en" href="https://linuxfr.org/redirect/100396">[ANNOUNCE] GHC 8.2.1 available</a></li><li>lien n°6 : <a title="https://downloads.haskell.org/%7Eghc/8.2.1/docs/html/users_guide/8.2.1-notes.html" hreflang="en" href="https://linuxfr.org/redirect/100397">Notes de version de la 8.2.1</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#pr%C3%A9sentation-dhaskell-et-de-ghc">Présentation d’Haskell et de GHC</a></li>
<li>
<a href="#changements">Changements</a><ul>
<li><a href="#performance">Performance</a></li>
<li><a href="#join-points">Join points</a></li>
<li><a href="#compact-regions">Compact regions</a></li>
<li><a href="#types-somme-d%C3%A9pack%C3%A9s">Types somme dépackés</a></li>
<li><a href="#numa">Numa</a></li>
<li><a href="#meilleure-gestion-du-format-dwarf">Meilleure gestion du format DWARF</a></li>
<li><a href="#backpack">BackPack</a></li>
<li><a href="#strat%C3%A9gie-de-d%C3%A9rivation">Stratégie de dérivation</a></li>
<li><a href="#am%C3%A9lioration-du-typage-dynamique">Amélioration du typage dynamique</a></li>
<li><a href="#overloaded-record-fields">Overloaded record fields</a></li>
<li><a href="#un-meilleur-support-du-polymorphisme-levity">Un meilleur support du polymorphisme "levity"</a></li>
<li><a href="#exhaustivit%C3%A9-des-patterns">Exhaustivité des patterns</a></li>
</ul>
</li>
<li><a href="#l%C3%A9cosyst%C3%A8me">L'écosystème</a></li>
<li>
<a href="#le-futur">Le futur</a><ul>
<li><a href="#typage-d%C3%A9pendant">Typage dépendant</a></li>
<li>
<a href="#typage-lin%C3%A9aire">Typage linéaire</a><ul>
<li><a href="#s%C3%A9curit%C3%A9-et-mod%C3%A9lisation">Sécurité et modélisation</a></li>
<li><a href="#performance-1">Performance</a></li>
</ul>
</li>
</ul>
</li>
<li>
<a href="#exemple-dhaskell--le-d%C3%AEner-des-philosophes">Exemple d'Haskell : le dîner des philosophes</a><ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#stm-et-haskell">STM et Haskell</a></li>
<li><a href="#exemple-dex%C3%A9cution">Exemple d’exécution</a></li>
<li>
<a href="#impl%C3%A9mentation">Implémentation</a><ul>
<li><a href="#pr%C3%A9lude">Prélude</a></li>
<li><a href="#fourchettes">Fourchettes</a></li>
<li><a href="#philosophes">Philosophes</a></li>
<li><a href="#vie-dun-philosophe">Vie d'un philosophe</a></li>
<li><a href="#forkphilosopher">forkPhilosopher</a></li>
<li><a href="#main"><code>main</code></a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#conclusion">Conclusion</a></li>
</ul><h2 id="présentation-dhaskell-et-de-ghc">Présentation d’Haskell et de GHC</h2>

<p><a href="https://fr.wikipedia.org/wiki/Haskell">Haskell</a> est un <a href="https://fr.wikipedia.org/wiki/Programmation_fonctionnelle">langage de programmation fonctionnelle</a>. Je vous invite à lire la <a href="//linuxfr.org/news/le-compilateur-ghc-haskell-en-version-8-0-1">dépêche de la sortie de GHC 8.0.1</a> qui réalise une présentation plus complète du langage.</p>

<p>Une reformulation de <a href="https://www.haskell.org">la page de présentation du langage</a> pourrait être la suivante :</p>

<ul>
<li>Haskell est un langage statiquement typé. Chaque expression a un type qui est déterminé à la compilation et le compilateur s'assure que l'assemblage d'expressions a un sens. Ceci permet de fournir quelques garanties sur le programme, mais cela permet aussi beaucoup d'expressivité.</li>
<li>Haskell est un langage au typage inféré. Cela signifie que tous les avantages du typage statique viennent gratuitement, sans devoir écrire de  déclaration complexe de type.</li>
<li>Haskell est purement fonctionnel. C'est un des langages (sans parler des langages dérivés d'Haskell ou d'un de ses ancêtres, Miranda, purement fonctionnel et à évaluation paresseuse) qui a cette propriété où, de façon simplifiée, les effets de bords apparaissent explicitement.</li>
<li>Haskell est concurrent. GHC, son compilateur le plus connu propose des primitives efficaces pour la concurrence et est capable d'exploiter tous les cœurs de calcul d'une machine.</li>
<li>Haskell est rapide : dans certains cas, on peut approcher les performances de langages comme C++</li>
<li>Haskell est paresseux, c'est un des rares langages à ma connaissance ayant cette caractéristique.</li>
<li>Haskell vient avec de nombreux paquets pour de nombreuses applications.</li>
</ul><p>À mon avis, Haskell / GHC est un outil intéressant à regarder, car il est un des rares langages « grand public » à proposer certaines fonctionnalités, comme la séparation explicite des effets de bords ou l'évaluation paresseuse. En outre, Haskell propose un système de type très puissant permettant de modéliser son domaine de travail de façon élégante. Il s'agit d'un outil capable dans beaucoup de domaines, allant du web au HPC, proposant de très bonnes performances et une sécurité accrue.</p>
<h2 id="changements">Changements</h2>

<p>Comme d'habitude, de nombreux bugs et autres subtilités ont été réglés. J'ai essayé de résumer dans cette section les points que je trouve intéressants dans les notes de mise à jour.</p>

<p>Mon changement préféré est que le compilateur affiche maintenant ses messages d'erreur avec de la couleur et un petit symbole montrant la zone de l'erreur.</p>
<h3 id="performance">Performance</h3>

<p>Un des gros apports de cette 8.2.1 concerne la performance du compilateur qui est annoncé comme plus rapide, mais les notes de versions sont pauvres d'informations à ce sujet.</p>

<p>De nombreux points visant les performances du code exécuté ont été traités, certains sont discutés dans les points suivants.</p>
<h3 id="join-points">Join points</h3>

<p>Les « join points » sont <a href="https://ghc.haskell.org/trac/ghc/wiki/SequentCore">décrits sur le wiki</a> et dans cette vidéo de Simon Peyton Jones : <a href="https://www.youtube.com/watch?v=LMTr8yw0Gk4">Compiling without continuations</a>.</p>

<p>Il s'agit d'une optimisation permettant de détecter plus de code sujet à être transformé en appel récursif terminal, ceci permettant une réduction non négligeable des allocations, puisqu'un appel récursif terminal se résume à peu de choses près à un saut dans le programme.</p>
<h3 id="compact-regions">Compact regions</h3>

<p>Un des gros reproches faits à la gestion de mémoire par <a href="https://fr.wikipedia.org/wiki/Ramasse-miettes_(informatique)" title="Définition Wikipédia">Ramasse-miettes_(informatique)</a> est le temps que peuvent prendre les phases de collection de mémoire. Dans le cas d'Haskell, l’implémentation choisie est en mode « Stop the world », dit autrement, tout s’arrête pendant la phase de récupération de la mémoire. Cette phase peut être longue car toute la mémoire utilisée par le processus doit être scannée pour mettre à jour la liste des objets vivants ou morts, et ceci peut introduire des pauses peu acceptables dans certains contextes temps réel.</p>

<p>GHC 8.2 propose les <a href="https://hackage.haskell.org/package/compact-0.1.0.1/docs/Data-Compact.html">compact regions</a> qui sont des espaces de stockage d'objets qui ne font pas référence à d'autres objets en dehors de cet espace. Ainsi le ramasse-miettes peut ignorer cet espace pendant sa phase de parcours de la mémoire pour un gain de temps proportionnel à la quantité de mémoire qui n'a pas été parcourue.</p>

<p>Point intéressant, une région compacte peut être sérialisée sur le disque de façon efficace.</p>
<h3 id="types-somme-dépackés">Types somme dépackés</h3>

<p>La représentation en mémoire d'un objet hiérarchique en Haskell dans GHC est composée de nombreuses indirections de pointeurs qui consomment de la mémoire et coûtent cher en performance du fait de l'absence de localité et d'un stress supplémentaire sur le ramasse-miettes.</p>

<p>Le travail sur l'extension <a href="https://ghc.haskell.org/trac/ghc/wiki/UnpackedSumTypes">UnpackedSumTypes</a> permet de représenter plus efficacement les types somme (i.e. les enums).</p>
<h3 id="numa">Numa</h3>

<p>Des optimisations pour les architectures Numa (<a href="https://fr.wikipedia.org/wiki/Non_Uniform_memory_Access" title="Définition Wikipédia">Non_Uniform_memory_Access</a>) sont en place. Pour rappel, les architectures Numa ont des zones de la mémoire qui sont privilégiées par certains cœurs de calcul. Ainsi, il est plus efficace d'allouer la mémoire nécessaire pour un cœur dans une zone proche de celui-ci.</p>
<h3 id="meilleure-gestion-du-format-dwarf">Meilleure gestion du format DWARF</h3>

<p>Le format <a href="https://en.wikipedia.org/wiki/DWARF">DWARF</a> est utilisé par de nombreux outils de debug ou d'analyse de performance comme <a href="https://www.gnu.org/software/gdb/">gdb</a>, <a href="valgrind.org">valgrind</a>, <a href="https://perf.wiki.kernel.org">perf</a>. L'amélioration de sa gestion permet, entre autres, une meilleure prise en charge de ces outils.</p>

<p>Pour information, <a href="https://perf.wiki.kernel.org">perf</a> est un outil qui permet de faire du profiling statistique de tout programme. Au lieu d'instrumenter le code pour compter très précisément les appels de fonctions, ce que pourrait faire un compilateur, perf se contente de regarder l'état du programme à différent instants.</p>

<p>Cette méthode de profiling a de nombreux avantages. Elle ne nécessite pas de recompiler le code source pour ajouter l'instrumentation et ainsi elle ne modifie pas l'exécution du programme. Les résultats sont plus pertinents qu'une méthode avec instrumentation car celle-ci peut avoir un coût qui biaise les résultats. Elle permet aussi de lancer le profiling sur un programme qui s'exécute déjà.</p>

<p>Malheureusement, GHC génère des programmes avec un modèle d’exécution bien différent de ceux des langages plus traditionnels, d'où la difficulté d'utiliser ces outils. La <a href="https://ghc.haskell.org/trac/ghc/wiki/DWARF/Status">page du wiki GHC sur DWARF</a> détaille ces problématiques et les améliorations réalisées dans GHC 8.2.</p>
<h3 id="backpack">BackPack</h3>

<p><a href="https://ghc.haskell.org/trac/ghc/wiki/Backpack">BackPack</a>  vise à proposer un système de module plus puissant.</p>

<p>On rappelle qu'en Haskell il existe une quantité impressionnante de types pouvant représenter une chaîne de caractères :</p>

<ul>
<li>
<code>String</code>, qui n'est autre qu'une liste chaînée de caractères Unicode. (<code>[Char]</code>). Celle-ci est déconseillée pour la gestion de vraie chaîne de caractères, du fait du coût en mémoire et des performances associées aux listes chaînées.</li>
<li>
<code>Text</code>, qui est une représentation compacte de chaînes Unicode. Performante, elle est cependant critiquée par son choix de l'encodage interne — utf-16 —  du fait du surcoût en mémoire comparé à de l'utf-8. Ce type vient en version stricte et paresseuse.</li>
<li>
<code>ByteString</code>, qui est une représentation compacte de suite d'octets. Utilisée principalement pour les interactions binaires, elle vient en version stricte et paresseuse.</li>
<li>les <a href="https://hackage.haskell.org/package/foundation">Foundation</a> <code>String</code> qui se veulent une alternative au <code>Text</code> en utilisant le codage interne en utf-8.</li>
</ul><p>Il en existe sûrement d'autres.</p>

<p>Bref, c'est la jungle, car chaque type a son utilité en fonction de ses besoins en traitement correct des caractères, en traitement binaire, en évaluation paresseuse ou stricte.</p>

<p>Avant BackPack, faire un module gérant les différents types de chaîne de caractères disponibles dans Haskell revenait à devoir faire autant de modules que d’implémentations à gérer… bonjour la duplication de code.</p>

<p>Grâce à BackPack, les modules peuvent être paramétrés par une interface de type, permettant une implémentation générique du module. C'est très similaire aux <a href="https://caml.inria.fr/pub/docs/oreilly-book/html/book-ora132.html">modules paramétrés de OCaml</a>.</p>
<h3 id="stratégie-de-dérivation">Stratégie de dérivation</h3>

<p>Haskell propose un mécanisme de dérivation de comportement automatique. Par exemple :</p>

<pre><code class="haskell"><span class="kr">data</span> <span class="kt">Vector</span> <span class="ow">=</span> <span class="kt">Vector</span> <span class="p">{</span>
    <span class="n">x</span> <span class="ow">::</span> <span class="kt">Float</span><span class="p">,</span>
    <span class="n">y</span> <span class="ow">::</span> <span class="kt">Float</span><span class="p">,</span>
    <span class="n">z</span> <span class="ow">::</span> <span class="kt">Float</span>
    <span class="p">}</span> <span class="kr">deriving</span> <span class="p">(</span><span class="kt">Show</span><span class="p">,</span> <span class="kt">Eq</span><span class="p">)</span></code></pre>

<p>Crée une classe <code>Vector</code>, représentant un triplet de flottant. La clause <code>deriving</code> permet au compilateur d'écrire automatiquement les fonctions d'affichage des égalités, par exemple :</p>

<pre><code class="haskell"><span class="o">&gt;&gt;&gt;</span> <span class="n">v</span> <span class="ow">=</span> <span class="kt">Vector</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span>
<span class="o">&gt;&gt;&gt;</span> <span class="n">v</span>
<span class="kt">Vector</span> <span class="p">{</span><span class="n">x</span> <span class="ow">=</span> <span class="mf">1.0</span><span class="p">,</span> <span class="n">y</span> <span class="ow">=</span> <span class="mf">2.0</span><span class="p">,</span> <span class="n">z</span> <span class="ow">=</span> <span class="mf">3.0</span><span class="p">}</span>
<span class="o">&gt;&gt;&gt;</span> <span class="n">v2</span> <span class="ow">=</span> <span class="kt">Vector</span> <span class="mi">4</span> <span class="mi">5</span> <span class="mi">6</span>
<span class="o">&gt;&gt;&gt;</span> <span class="n">v</span> <span class="o">==</span> <span class="n">v2</span>
<span class="kt">False</span>
<span class="o">&gt;&gt;&gt;</span> <span class="n">v</span> <span class="o">==</span> <span class="n">v</span>
<span class="kt">True</span></code></pre>

<p>On peut aussi imaginer dériver automatiquement les comportements de séralisation, hash, conversion avec JSON, …</p>

<p>Ce mécanisme a évolué au cours de la vie de Haskell, au départ il permettait de ne dériver que certains comportements fixes proposés par le compilateur. Puis de nouveaux comportements ont été ajoutés. Puis il est devenu possible pour un utilisateur de proposer son propre système pour dériver automatiquement des comportements. Du fait de la profusion de mécanismes de dérivation, certains cas sont devenus ambigus.</p>

<p>GHC 8.2 fait un peu le ménage en proposant <code>DerivingStrategies</code> qui permet de choisir explicitement la stratégie à utiliser. <a href="https://ryanglscott.github.io/2017/04/12/improvements-to-deriving-in-ghc-82/">Cet article résume le problème et démontre la solution</a>.</p>
<h3 id="amélioration-du-typage-dynamique">Amélioration du typage dynamique</h3>

<p>Haskell est un langage au typage statique, à ce titre il prend en charge bien évidemment la notion de typage dynamique par le biais du module <code>Data.Dynamic</code>.</p>

<p>On peut encapsuler n’importe quel type dans un type <code>Dynamic</code>, mais pour le récupérer il faudra explicitement fournir le bon type :</p>

<pre><code class="haskell"><span class="kt">Prelude</span> <span class="kt">Data</span><span class="o">.</span><span class="kt">Dynamic</span><span class="o">&gt;</span> <span class="n">a</span> <span class="ow">=</span> <span class="n">toDyn</span> <span class="s">"Hello"</span>
<span class="kt">Prelude</span> <span class="kt">Data</span><span class="o">.</span><span class="kt">Dynamic</span><span class="o">&gt;</span> <span class="n">b</span> <span class="ow">=</span> <span class="n">toDyn</span> <span class="kt">True</span>
<span class="kt">Prelude</span> <span class="kt">Data</span><span class="o">.</span><span class="kt">Dynamic</span><span class="o">&gt;</span> <span class="kt">:</span><span class="kr">type</span> <span class="n">a</span>
<span class="nf">a</span> <span class="ow">::</span> <span class="kt">Dynamic</span>
<span class="kt">Prelude</span> <span class="kt">Data</span><span class="o">.</span><span class="kt">Dynamic</span><span class="o">&gt;</span> <span class="kt">:</span><span class="kr">type</span> <span class="n">b</span>
<span class="nf">b</span> <span class="ow">::</span> <span class="kt">Dynamic</span>
<span class="kt">Prelude</span> <span class="kt">Data</span><span class="o">.</span><span class="kt">Dynamic</span><span class="o">&gt;</span> <span class="p">(</span><span class="n">fromDynamic</span> <span class="n">a</span><span class="p">)</span> <span class="ow">::</span> <span class="kt">Maybe</span> <span class="kt">String</span>
<span class="kt">Just</span> <span class="s">"Hello"</span>
<span class="kt">Prelude</span> <span class="kt">Data</span><span class="o">.</span><span class="kt">Dynamic</span><span class="o">&gt;</span> <span class="p">(</span><span class="n">fromDynamic</span> <span class="n">a</span><span class="p">)</span> <span class="ow">::</span> <span class="kt">Maybe</span> <span class="kt">Bool</span>
<span class="kt">Nothing</span>
<span class="kt">Prelude</span> <span class="kt">Data</span><span class="o">.</span><span class="kt">Dynamic</span><span class="o">&gt;</span> <span class="p">(</span><span class="n">fromDynamic</span> <span class="n">b</span><span class="p">)</span> <span class="ow">::</span> <span class="kt">Maybe</span> <span class="kt">String</span>
<span class="kt">Nothing</span>
<span class="kt">Prelude</span> <span class="kt">Data</span><span class="o">.</span><span class="kt">Dynamic</span><span class="o">&gt;</span> <span class="p">(</span><span class="n">fromDynamic</span> <span class="n">b</span><span class="p">)</span> <span class="ow">::</span> <span class="kt">Maybe</span> <span class="kt">Bool</span>
<span class="kt">Just</span> <span class="kt">True</span></code></pre>

<p>GHC 8.2 apporte l'implémentation du papier <a href="https://www.seas.upenn.edu/%7Esweirich/papers/wadlerfest2016.pdf">A reflection on types</a> de Simon Peyton Jones, Stephanie Weirich, Richard A. Eisenberg et Dimitrios Vytiniotis, détaillé dans cette <a href="https://www.youtube.com/watch?v=k5sxhU65dHg">vidéo de SPJ</a>. Ces changements ne seront pas forcément visibles pour un utilisateur final, mais ils simplifient et sécurisent l'implémentation de bibliothèques comme <code>Dynamic</code> en remplaçant un hack (un cast) par une opération garantie par le compilateur.</p>
<h3 id="overloaded-record-fields">Overloaded record fields</h3>

<p>La situation des <code>record</code>, i.e. des structures avec des champs nommés, <a href="http://nikita-volkov.github.io/record/">n'est pas parfaite en Haskell</a>.</p>

<p>Depuis GHC 8.0, beaucoup de travail est fait à ce sujet, notamment avec l'arrivée des extensions :</p>

<ul>
<li>
<a href="https://downloads.haskell.org/%7Eghc/latest/docs/html/users_guide/glasgow_exts.html#duplicate-record-fields">DuplicateRecordField</a> qui permet de définir dans le même module deux types avec des noms de champs égaux.</li>
<li>
<a href="https://downloads.haskell.org/%7Eghc/latest/docs/html/users_guide/glasgow_exts.html#overloaded-labels">OverloadedLabels</a> qui permet de définir des labels, syntaxiquement <code>#foo</code> qui seront surchargés en fonction du type.</li>
</ul><p>GHC 8.2 va un peu plus loin et propose la classe <a href="https://downloads.haskell.org/%7Eghc/8.2.1/docs/html/users_guide/glasgow_exts.html#record-field-selector-polymorphism"><code>HasField</code></a> qui permet d'extraire un champ de record de façon polymorphique, par exemple <code>getField @"x" v</code> permet d'extraire le champ <code>x</code> de <code>v</code> quel que soit le type de v.</p>

<p>Notez que GHC 8.2 est incompatible avec le code de <code>OverloadedLabels</code> de GHC 8.2 et qu'il faudra adapter son code.</p>
<h3 id="un-meilleur-support-du-polymorphisme-levity">Un meilleur support du polymorphisme "levity"</h3>

<p><a href="https://www.youtube.com/watch?v=lSJwXZ7vWBw">Richard A. Eisenberg - Levity Polymorphism</a> (en anglais).</p>

<p>En Haskell (et dans de nombreux autres langages), il existe des objets « boxés » et des objets non « boxés ». Par exemple, un <code>Int#</code> est représenté par un entier machine sur 64 bits, alors qu'un <code>Int</code> est représenté par un pointeur de constructeur, que l'on pourrait assimiler à un tag de type, et par un <code>Int#</code>, tout cela pour deux fois plus de mémoire.</p>

<p>Généralement, on n'utilise pas les types "non boxés" et le compilateur optimise cela comme il peut. Cependant quand les performances sont attendues, il peut être intéressant d'écrire du code sur des types non "boxés" et à un moment, il devient important de pouvoir écrire des fonctions polymorphiques travaillant aussi bien sur des types "boxés" que "non boxés".</p>
<h3 id="exhaustivité-des-patterns">Exhaustivité des patterns</h3>

<p>Le nouveau pragma <a href="https://downloads.haskell.org/%7Eghc/8.2.1/docs/html/users_guide/glasgow_exts.html?highlight=pragma#complete-pragmas">COMPLETE</a> permet de forcer l'exhaustivité des patterns.</p>

<p>Par défaut, chaque type crée aussi un pattern utilisable pour construire / déconstruire le type :</p>

<pre><code class="haskell"><span class="kr">data</span> <span class="kt">Point</span> <span class="ow">=</span> <span class="kt">Point</span> <span class="kt">Float</span> <span class="kt">Float</span> <span class="kr">deriving</span> <span class="p">(</span><span class="kt">Show</span><span class="p">)</span>

<span class="nf">isOrigin</span> <span class="p">(</span><span class="kt">Point</span> <span class="mi">0</span> <span class="mi">0</span><span class="p">)</span> <span class="ow">=</span> <span class="kt">True</span>
<span class="nf">isOrigin</span> <span class="kr">_</span> <span class="ow">=</span> <span class="kt">False</span>

<span class="nf">getX</span> <span class="p">(</span><span class="kt">Point</span> <span class="n">x</span> <span class="kr">_</span><span class="p">)</span> <span class="ow">=</span> <span class="n">x</span>

<span class="nf">translate</span> <span class="p">(</span><span class="kt">Point</span> <span class="n">x</span> <span class="n">y</span><span class="p">)</span> <span class="p">(</span><span class="n">dx</span><span class="p">,</span><span class="n">dy</span><span class="p">)</span> <span class="ow">=</span> <span class="kt">Point</span> <span class="p">(</span><span class="n">x</span> <span class="o">+</span> <span class="n">dx</span><span class="p">)</span> <span class="p">(</span><span class="n">y</span> <span class="o">+</span> <span class="n">dy</span><span class="p">)</span></code></pre>

<p>Il est cependant possible de créer ses propres patterns pour créer de nouvelles façons de construire / déconstruire ses types :</p>

<pre><code class="haskell"><span class="cm">{-# LANGUAGE ViewPatterns #-}</span>
<span class="cm">{-# LANGUAGE PatternSynonyms #-}</span>

<span class="nf">pattern</span> <span class="kt">PolarPoint</span> <span class="n">r</span> <span class="n">phi</span> <span class="ow">&lt;-</span> <span class="p">(</span><span class="nf">\</span> <span class="p">(</span><span class="kt">Point</span> <span class="n">x</span> <span class="n">y</span><span class="p">)</span> <span class="ow">-&gt;</span> <span class="p">(</span><span class="n">sqrt</span> <span class="p">(</span><span class="n">x</span><span class="o">*</span><span class="n">x</span><span class="o">+</span><span class="n">y</span><span class="o">*</span><span class="n">y</span><span class="p">),</span> <span class="n">atan2</span> <span class="n">y</span> <span class="n">x</span><span class="p">))</span> <span class="ow">-&gt;</span> <span class="p">(</span><span class="n">r</span><span class="p">,</span> <span class="n">phi</span><span class="p">)</span> <span class="kr">where</span>
    <span class="kt">PolarPoint</span> <span class="n">r</span> <span class="n">phi</span> <span class="ow">=</span> <span class="kt">Point</span> <span class="p">(</span><span class="n">r</span> <span class="o">*</span> <span class="n">cos</span> <span class="n">phi</span><span class="p">)</span> <span class="p">(</span><span class="n">r</span> <span class="o">*</span> <span class="n">sin</span> <span class="n">phi</span></code></pre>

<p>Ici, je crée un pattern <code>PolarPoint r phi</code> qui représente un point en coordonnées polaires. On peut s'en servir autant pour créer que pour déconstruire :</p>

<pre><code class="haskell"><span class="o">&gt;</span> <span class="kt">PolarPoint</span> <span class="mi">10</span> <span class="mi">0</span>
<span class="kt">Point</span> <span class="mf">10.0</span> <span class="mf">0.0</span>
<span class="o">&gt;</span> <span class="kt">PolarPoint</span> <span class="mi">10</span> <span class="p">(</span><span class="n">pi</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)</span>
<span class="kt">Point</span> <span class="p">(</span><span class="o">-</span><span class="mf">4.371139e-7</span><span class="p">)</span> <span class="mf">10.0</span>
<span class="o">&gt;</span> <span class="kt">PolarPoint</span> <span class="n">r</span> <span class="n">angle</span> <span class="ow">=</span> <span class="kt">Point</span> <span class="mi">2</span> <span class="mi">2</span>
<span class="o">&gt;</span> <span class="n">r</span>
<span class="mf">2.8284271247461903</span>
<span class="o">&gt;</span> <span class="n">angle</span>
<span class="mf">0.7853981633974483</span></code></pre>

<p>Cependant, avant GHC 8.2, le compilateur râlait sur les fonctions utilisant ce pattern :</p>

<pre><code class="haskell"><span class="c1">-- | Retourne `True` si le point est plus loin qu'un rayon de 10</span>
<span class="nf">isFar</span> <span class="ow">::</span> <span class="kt">Point</span> <span class="ow">-&gt;</span> <span class="kt">Bool</span>
<span class="nf">isFar</span> <span class="p">(</span><span class="kt">PolarPoint</span> <span class="n">r</span> <span class="kr">_</span><span class="p">)</span> <span class="ow">=</span> <span class="n">r</span> <span class="o">&gt;</span> <span class="mi">10</span></code></pre>

<pre><code>Polar.hs:18:1: warning: [-Wincomplete-patterns]
    Pattern match(es) are non-exhaustive
    In an equation for ‘isFar’: Patterns not matched: _
   |
18 | isFar (PolarPoint r _) = r &gt; 10
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
</code></pre>

<p>En effet, le compilateur ne peut pas prouver tous les cas de figure des patterns, ce qui se traduit par beaucoup de faux positifs dans lesquels les vrais positifs sont cachés, rendant cette fonctionnalité peu utilisable.</p>

<p>Depuis GHC 8.2, l'utilisateur peut fournir une directive de compilation <code>{-# COMPLETE PolarPoint #-}</code> permettant de spécifier que le pattern <code>PolarPoint</code> couvre tous les cas de figure.</p>
<h2 id="lécosystème">L'écosystème</h2>

<p><a href="https://docs.haskellstack.org/en/stable/README/">Stack</a> est un outil de gestion de dépendance pour Haskell. Il peut sous-traiter à <a href="https://nixos.org/nix/">Nix</a> pour les dépendances non Haskell, permettant ainsi la compilation dans un environnement contrôlé. Pour faire simple, un programme Haskell peut être compilé en une seule ligne de commande <code>stack build</code> sans devoir se préoccuper de l'installation de dépendances.</p>

<p>L'utilisation de <a href="https://www.stackage.org/">Stackage</a> qui fournit des snapshots de packages versionnés garantit qu'un programme compilé il y a quelques mois le sera dans les mêmes conditions.</p>

<p>Stack a gagné dernièrement une nouvelle commande <code>script</code> qui permet d’exécuter un programme Haskell comme un script en installant les dépendances listées dans le script lui-même. Nous verrons un cas d'usage dans la section d'exemples plus loin.</p>
<h2 id="le-futur">Le futur</h2>

<p>Haskell (et GHC) évolue constamment. Cette section liste quelques projets excitants pour l'avenir.</p>
<h3 id="typage-dépendant">Typage dépendant</h3>

<p><a href="https://typesandkinds.wordpress.com/2016/07/24/dependent-types-in-haskell-progress-report/">Cet article de blog détaille le travail sur les types dépendants en Haskell</a> qui devrait arriver plus ou moins rapidement, l'auteur parlant de GHC 8.6.</p>

<p>Les <a href="https://fr.wikipedia.org/wiki/Type_d%C3%A9pendant">Types dépendants</a> permettent d'enrichir le système de type afin de garantir plus de choses.</p>

<p>Pour expliciter cela, nous allons traiter un petit problème de multiplication de matrices.</p>

<p>Soit un type <code>Matrice</code> qui pourrait être représenté comme suit en Haskell :</p>

<pre><code class="haskell"><span class="kr">data</span> <span class="kt">Matrice</span> <span class="ow">=</span> <span class="kt">Matrice</span> <span class="p">{</span>
     <span class="n">nLignes</span> <span class="ow">::</span> <span class="kt">Int</span><span class="p">,</span>
     <span class="n">nColonnes</span> <span class="ow">::</span> <span class="kt">Int</span><span class="p">,</span>
     <span class="n">donnée</span> <span class="ow">::</span> <span class="p">(</span><span class="o">...</span> <span class="n">structure</span> <span class="n">non</span> <span class="n">détaillée</span> <span class="o">...</span><span class="p">)</span>
<span class="p">}</span></code></pre>

<p><a href="https://fr.wikipedia.org/wiki/Produit_matriciel">Le produit matriciel</a> est une opération classique d’algèbre qui s'effectue entre deux matrices et renvoie une nouvelle matrice. Cependant il y a une contrainte entre la taille des matrices d'entrées et le résultat de la matrice de sortie. Une matrice de taille <code>(m, n)</code> ne peut être multipliée que par une matrice de taille <code>(n, p)</code> pour obtenir une matrice de taille <code>(m, p)</code>.</p>

<p>Bien souvent cette contrainte est assurée par une vérification à l’exécution :</p>

<pre><code class="haskell"><span class="nf">produitMatrice</span> <span class="ow">::</span> <span class="kt">Matrice</span> <span class="ow">-&gt;</span> <span class="kt">Matrice</span> <span class="ow">-&gt;</span> <span class="kt">Matrice</span>
<span class="nf">produitMatrice</span> <span class="p">(</span><span class="kt">Matrice</span> <span class="n">m</span> <span class="n">n</span> <span class="n">dataA</span><span class="p">)</span> <span class="p">(</span><span class="kt">Matrice</span> <span class="n">n'</span> <span class="n">p</span> <span class="n">dataB</span><span class="p">)</span>
    <span class="o">|</span> <span class="n">n</span> <span class="o">==</span> <span class="n">n'</span> <span class="ow">=</span> <span class="p">(</span><span class="kt">Matrice</span> <span class="n">m</span> <span class="n">p</span> <span class="p">(</span><span class="o">...</span> <span class="n">calcul</span> <span class="n">non</span> <span class="n">détaillé</span> <span class="o">...</span><span class="p">))</span>
    <span class="o">|</span> <span class="n">otherwise</span> <span class="ow">=</span> <span class="ne">error</span> <span class="s">"Pas les bonnes tailles"</span></code></pre>

<p>Il est à l'heure actuelle possible en Haskell de spécifier ces tailles directement dans le type, tel que :</p>

<pre><code class="haskell"><span class="kr">data</span> <span class="kt">Matrice</span> <span class="n">nLignes</span> <span class="n">nColonnes</span> <span class="ow">=</span> <span class="kt">Matrice</span> <span class="p">{</span>
      <span class="n">donnée</span> <span class="ow">::</span> <span class="p">(</span><span class="o">...</span> <span class="n">structure</span> <span class="n">non</span> <span class="n">détaillée</span> <span class="o">...</span><span class="p">)</span>
   <span class="p">}</span></code></pre>

<p>Donnant ainsi le produit suivant :</p>

<pre><code class="haskell"><span class="nf">produitMatrice</span> <span class="ow">::</span> <span class="kt">Matrice</span> <span class="n">m</span> <span class="n">n</span> <span class="ow">-&gt;</span> <span class="kt">Matrice</span> <span class="n">n</span> <span class="n">p</span> <span class="ow">-&gt;</span> <span class="kt">Matrice</span> <span class="n">m</span> <span class="n">p</span>
<span class="nf">produitMatrice</span> <span class="p">(</span><span class="kt">Matrice</span> <span class="n">dataA</span><span class="p">)</span> <span class="p">(</span><span class="kt">Matrice</span> <span class="n">dataB</span><span class="p">)</span> <span class="ow">=</span> <span class="kt">Matrice</span> <span class="p">(</span><span class="o">...</span> <span class="n">calcul</span> <span class="n">non</span> <span class="n">détaillé</span> <span class="o">...</span><span class="p">)</span></code></pre>

<p>Cette approche force le compilateur à vérifier que les tailles de nos matrices sont correctes pendant la compilation, ce qui supprime totalement toute une classe d'erreur à l’exécution.</p>

<p>Justin Le a rédigé une très bonne série d'articles qui traite de l'état actuel du typage dépendant en Haskell en implémentant <a href="https://blog.jle.im/entry/practical-dependent-types-in-haskell-1.html">un réseau de neurone multi couches</a>.</p>

<p>Une des limitations de cette approche est que les tailles, des réseaux de neurone ou des matrices de notre exemple, doivent être connue intégralement à la compilation, empêchant l'écriture d'un outil pouvant charger depuis le disque une matrice de taille quelconque.</p>

<p>Dans la seconde partie de son article, Justin Le parle de ce problème et montre les solutions existantes pour réaliser ce type d'opérations. On peut donc écrire une fonction de chargement de matrice depuis le disque avec des tailles statiques :</p>

<pre><code class="haskell"><span class="nf">chargerMatrice</span> <span class="ow">::</span> <span class="kt">Filename</span> <span class="ow">-&gt;</span> <span class="kt">IO</span> <span class="p">(</span><span class="kt">Matrice</span> <span class="n">n</span> <span class="n">m</span><span class="p">)</span></code></pre>

<p>Je ne détaillerais pas la solution, c'est, à mon avis, lourd et rébarbatif. Le travaille sur le typage dépendant qui est en cours dans GHC vise à simplifier cela.</p>
<h3 id="typage-linéaire">Typage linéaire</h3>

<p>Le typage linéaire devrait arriver sous peu dans GHC. Ce travail est en grande partie réalisé par une société française, <a href="http://www.tweag.io/">tweag.io</a>, donc cocorico ;) On note <a href="https://github.com/tweag/linear-types/releases/download/v2.0/hlt.pdf">leur publication sur les types linéaires</a> et leur <a href="http://www.tweag.io/posts/2017-03-13-linear-types.html">premier article de Blog expliquant le projet</a>.</p>

<p>Les types linéaires apportent à la fois un potentiel de performance et de sécurité / modélisation.</p>

<p>Pour simplifier, c'est une façon de dire qu'une valeur ne sera utilisée qu'une et une seule fois. Je ne rentrerai pas dans les détails de son implémentation en Haskell puisque c'est tout nouveau et que les choses peuvent beaucoup bouger, je me contenterai de donner deux exemples de problématiques que les types linéaires peuvent résoudre.</p>
<h4 id="sécurité-et-modélisation">Sécurité et modélisation</h4>

<p><a href="http://www.tweag.io/posts/2017-08-03-linear-typestates.html">Cet article de Blog</a> détaille ce point, l'exemple qui suit est similaire.</p>

<p>Quand on utilise des sockets, on peut faire de nombreuses actions en fonction de l'état de la socket, qui sont résumées dans le graphe suivant:</p>

<pre><code>Non initialisée ---bind()---&gt; En attente ----listen()---&gt; En écoute
     \                                                     /
      \                                                   accept()
       \-----connect()----&gt; Envoyer/Recevoir  &lt;==========/
</code></pre>

<p>Ici, une flèche simple représente un changement d'état de la socket. Et la flèche <code>===</code> représente le fait que la fonction <code>accept</code> retourne une nouvelle socket directement dans l'état d'envoi et de réception de message.</p>

<p>À chaque état est associé une liste d'opérations possibles, par exemple <code>recv</code> et <code>send</code> ne sont possibles que dans l'état de transfert.</p>

<p>On pourrait modéliser ces états par des types différents :</p>

<pre><code class="haskell"><span class="kr">data</span> <span class="kt">NonInitSocket</span> <span class="ow">=</span> <span class="kt">NonInitSocket</span> <span class="kt">Int</span>
<span class="kr">data</span> <span class="kt">AttenteSocket</span> <span class="ow">=</span> <span class="kt">AttenteSocket</span> <span class="kt">Int</span>
<span class="kr">data</span> <span class="kt">EcouteSocket</span> <span class="ow">=</span> <span class="kt">EcouteSocket</span> <span class="kt">Int</span>

<span class="kr">data</span> <span class="kt">TransfertSocket</span> <span class="ow">=</span> <span class="kt">TransfertSocket</span> <span class="kt">Int</span></code></pre>

<p>L'<code>Int</code> représentant le descripteur de fichier bas niveau de la socket.</p>

<p>Et à cela s'ajoute des fonctions :</p>

<pre><code class="haskell"><span class="nf">create</span> <span class="ow">::</span> <span class="kt">IO</span> <span class="kt">NonInitSocket</span>

<span class="nf">bind</span> <span class="ow">::</span> <span class="kt">NonInitSocket</span> <span class="ow">-&gt;</span> <span class="kt">Addr</span> <span class="ow">-&gt;</span> <span class="kt">IO</span> <span class="kt">AttenteSocket</span>
<span class="nf">listen</span> <span class="ow">::</span> <span class="kt">AttenteSocket</span> <span class="ow">-&gt;</span> <span class="kt">Int</span> <span class="ow">-&gt;</span> <span class="kt">IO</span> <span class="kt">EcouteSocket</span>
<span class="nf">connect</span> <span class="ow">::</span> <span class="kt">NonInitSocket</span> <span class="ow">-&gt;</span> <span class="kt">Addr</span> <span class="ow">-&gt;</span> <span class="kt">IO</span> <span class="kt">TransfertSocket</span>

<span class="nf">accept</span> <span class="ow">::</span> <span class="kt">EcouteSocket</span> <span class="ow">-&gt;</span> <span class="kt">IO</span> <span class="kt">TransfertSocket</span>
<span class="nf">send</span> <span class="ow">::</span> <span class="kt">TransfertSocket</span> <span class="ow">-&gt;</span> <span class="kt">String</span> <span class="ow">-&gt;</span> <span class="kt">IO</span> <span class="nb">()</span>
<span class="nf">recv</span> <span class="ow">::</span> <span class="kt">TransfertSocket</span> <span class="ow">-&gt;</span> <span class="kt">Int</span> <span class="ow">-&gt;</span> <span class="kt">IO</span> <span class="kt">String</span>
<span class="nf">closeEcoute</span> <span class="ow">::</span> <span class="kt">EcouteSocket</span> <span class="ow">-&gt;</span> <span class="kt">IO</span> <span class="nb">()</span>
<span class="nf">closeTransfert</span> <span class="ow">::</span> <span class="kt">TransfertSocket</span> <span class="ow">-&gt;</span> <span class="kt">IO</span> <span class="nb">()</span></code></pre>

<p>Les <code>IO</code> matérialisant que chacune de ces fonctions réalise des effets de bord.</p>

<p>Et là tout est beau dans le meilleur des mondes, on ne peut pas exécuter une fonction qui n'a pas de sens sur une socket qui n'est pas dans le bon état.</p>

<p>Sauf que si… Observons le code suivant :</p>

<pre><code class="haskell"><span class="nf">fonctionBugée</span> <span class="ow">=</span> <span class="kr">do</span>
   <span class="n">s</span> <span class="ow">&lt;-</span> <span class="n">create</span>

   <span class="n">attenteSocket</span> <span class="ow">&lt;-</span> <span class="n">bind</span> <span class="n">s</span> <span class="n">anAddr</span>
   <span class="n">ecouteSocket</span> <span class="ow">&lt;-</span> <span class="n">listen</span> <span class="n">attenteSocket</span> <span class="mi">3</span>

   <span class="o">...</span>

   <span class="n">transfertSocket</span> <span class="ow">&lt;-</span> <span class="n">connect</span> <span class="n">s</span> <span class="n">anotherAddr</span></code></pre>

<p>Ici on voit qu’on se sert deux fois de <code>s</code> ce qui est faux puisque à ce moment le descripteur de socket qui est stocké dans s correspond à une socket en état d'écoute.</p>

<p>On remarque aussi qu'on ne ferme jamais nos sockets.</p>

<p>Les types linéaires peuvent ici nous sauver en refusant à la compilation le second usage de <code>s</code>. De même, la compilation pourrait refuser ce code qui n'utilise pas <code>ecouteSocket</code> ni <code>transfertSocket</code>, la seule façon de les utiliser étant de les fermer. Ainsi les types linéaires permettent de détecter à la compilation des mauvais usages de ressources.</p>
<h4 id="performance-1">Performance</h4>

<p>Haskell est un langage où on maximise la non mutabilité. Ainsi on va préférer créer une nouvelle structure de données plutôt que d'en modifier une. Haskell tire profit de cette non mutabilité pour partager au maximum les parties communes entre plusieurs données.</p>

<p>S'il existe des <a href="https://www.cs.cmu.edu/%7Erwh/theses/okasaki.pdf">structures non mutables performantes</a> (à lire, c'est très instructif), ce n'est pas le cas de toutes les structures. Ainsi, un vecteur n'est pas du tout adapté à la non mutabilité, car il faut recopier intégralement celui-ci en cas de modification d'une unique case.</p>

<p>Une des premières choses qui vient à l'esprit c'est que si personne d'autre n'utilise la donnée, on pourrait la modifier sans scrupule. Cette information n'est cependant pas connue à la compilation et serait trop coûteuse à calculer lors de l’exécution.</p>

<p>Les types linéaires permettent de garantir que notre valeur ne sera utilisée qu'une seule fois, sous peine de refuser de compiler. Cette information en main, une bibliothèque pourra proposer des fonctions optimisées avec mutation pour remplacer les fonctions qui copient. Et cela sans faire apparaître de mutation dans le code utilisateur.</p>
<h2 id="exemple-dhaskell--le-dîner-des-philosophes">Exemple d'Haskell : le dîner des philosophes</h2>

<p>La fin de cette dépêche est consacrée à un exemple de résolution d'un problème en Haskell. Merci à <a href="//linuxfr.org/users/jiehong">jiehong</a> de m'avoir soufflé l'idée de présenter la mémoire transactionnelle.</p>
<h3 id="introduction">Introduction</h3>

<p>Nous allons nous intéresser au problème des <a href="https://fr.wikipedia.org/wiki/D%C3%AEner_des_philosophes">philosophes</a>. Il s'agit d'un problème classique de <a href="https://fr.wikipedia.org/wiki/Programmation_concurrente">programmation concurrente</a> qui brille autant par son énoncé trivial que par le nombre de problématiques d’implémentation qu'il soulève.</p>

<p>À une table <em>ronde</em> d'un restaurant italien, des philosophes discutent en mangeant. Chaque philosophe a à sa droite et sa gauche une fourchette, qu'il partage avec son voisin de droite et de gauche.</p>

<p>Pour manger, un philosophe doit prendre les deux fourchettes, il pourra ensuite manger pendant un laps de temps variable, puis reposera les fourchettes. Cependant, en prenant les fourchettes, il empêche son voisin de droite et de gauche de manger.</p>

<p>Le problème est donc d'ordonnancer le repas des philosophes en évitant des <a href="https://fr.wikipedia.org/wiki/Interblocage">situations d'interblocage</a> courantes tel que :</p>

<ul>
<li>des « dead lock », où un philosophe sera en attente d'une fourchette prise par une autre philosophe lui-même en attente d'une autre fourchette. On peut imaginer une situation ou tous les philosophes sont bloqués de cette manière.</li>
<li>des « live lock », où les fourchettes changent de main en permanence, mais sans que personne ne puisse manger.</li>
</ul><p>Une solution simple à ce problème consiste en l'usage d'un verrou global. Chaque philosophe désirant manger va tenter de prendre le verrou global et une fois celui-ci verrouillé, il prendra ses deux fourchettes si et seulement si les deux sont disponibles. Cette solution est triviale à implémenter, mais ne passe pas à l'échelle, car elle séquence toutes les opérations de prise ou de dépose des fourchettes. Il faut donc employer une stratégie plus fine.</p>

<p>Il existe de nombreuses solutions à ce problème, nombreuses sont complexes à implémenter, et impose une grande rigueur. Par exemple en s'assurant de ne prendre et rendre les verrous toujours dans le même ordre, on s'assure théoriquement qu'il n'y a pas d'interblocage, par exemple si un philosophe s'assure de prendre la fourchette gauche avant la droite. Mais il y a le cas du dernier philosophe de la table qui doit prendre sa fourchette droite avant la gauche, la fourchette droite étant en fait la première de la table. Bref, vous l'aurez compris, ce n'est pas trivial.</p>

<p>Dans cet exemple de code Haskell, nous présenterons une solution utilisant les primitives de <em>STM</em>, "Software Transactional Memory", <a href="https://fr.wikipedia.org/wiki/M%C3%A9moire_transactionnelle_logicielle">Mémoire transactionnelle logicielle</a>. Cette technique offre de nombreux avantages, en termes de facilité de programmation et de composition du code.</p>
<h3 id="stm-et-haskell">STM et Haskell</h3>

<p>En Haskell, nous pouvons créer une zone de mémoire modifiable par STM grâce à la fonction <code>newTMVarIO</code>. Cette zone contiendra ou pas une valeur. Grâce à <code>putTMVar</code>, nous pouvons mettre une valeur dans la zone. <code>takeTMVar</code> vide la zone et renvoie la valeur. Cette opération est bloquante.</p>

<p>Nous pouvons représenter une fourchette par une <code>TMVar ()</code> contenant simplement un <code>()</code>. On aurait pu mettre n'importe quoi dedans, la seule chose nous intéressant étant de savoir si la valeur est dedans ou pas.</p>

<p>On peut composer ensemble un certain nombre d'opérations sur des <code>TMVar</code> et exécuter atomiquement le bloc grâce à <code>atomically</code>.</p>

<p>Les STM divergent d'une stratégie plus classique à base de mutex par :</p>

<ul>
<li>des opérations sont composables. On peut créer une action plus complexe à partir d'une ensemble de petits actions. Bien évidemment, plus l'action est complexe, plus la transaction a des chances d'échouer et de devoir recommencer.</li>
<li>les opérations atomiques ont une granularité très fine, car elles ne « verrouillent » que les variables impliquées dans la transaction. Ainsi on peut facilement imaginer modifier une structure de données en plusieurs points par plusieurs threads sans qu'il n'y ait de conflit.</li>
</ul><h3 id="exemple-dexécution">Exemple d’exécution</h3>

<p>Pour exécuter le programme, nous ferons appel à <code>stack</code> qui après installation des bibliothèques nécessaires va utiliser GHC en mode interprété, ce programme ne demandant pas de performance particulière.</p>

<p>Le programme prend en paramètre le nombre de philosophes autour de la table. Chaque philosophe est nommé par une lettre. Quand celui-ci commence à manger, la console affiche une lettre majuscule, quand celui-ci s’arrête, elle affichera une lettre minuscule. Les philosophes essayent de manger pendant 30 secondes.</p>

<p>Avec deux philosophes, on est en situation où seulement l'un peut manger :</p>

<pre><code>$ ./Philosopher.hs 2
AaBbAaBbAaBbAaBbA
</code></pre>

<p>Avec trois philosophes, seulement un peut manger</p>

<pre><code>$ ./Philosopher.hs 3
AaBbCcAaBbCcA
</code></pre>

<p>Avec quatre, c'est plus intéressant. Les philosophes ne peuvent manger ensemble que par groupes de 2, c’est-à-dire soit A et C, soit B et D. Ainsi, pour changer de groupe, il faut que les deux philosophes du même groupe arrêtent de manger en même temps. L’implémentation fait manger les philosophes pendant un temps aléatoire compris entre 0 et 2 secondes, et ils se reposent pendant 100 ms avant de recommencer à essayer de prendre les fourchettes. Ainsi, le moment ou les deux philosophes d'un groupe viennent de s’arrêter de manger ensemble est assez rare :</p>

<pre><code>$ ./Philosopher.hs 4
ACcCaAcCaAcCaAcCcaBDdDdDbBdDbdACcaBDdDbB
# ----------------| ICI
</code></pre>

<p>Avec plusieurs philosophes, c'est bien plus drôle :</p>

<pre><code>$ ./Philosopher.hs 10
ACEGIcgCGcCgGcaBiJjIeDgFbAiHdChIfGEgGeiEcICaAcCaAeiEIicICgGiIaAeEeEcCgGiIaAeEicICcCigH
</code></pre>
<h3 id="implémentation">Implémentation</h3>

<p>Cette section détaille une solution en Haskell de ce problème. Des paragraphes d'explications s’intercalent entre les blocs de code qui peuvent être copiés collés en tant que tels dans un fichier <code>Philosopher.hs</code>.</p>
<h4 id="prélude">Prélude</h4>

<p>On commence par le <a href="https://en.wikipedia.org/wiki/Shebang_(Unix)">Shebang</a> décrivant interpréteur à utiliser. Ici <code>stack</code>. La ligne suivante liste les packages nécessaires pour ce fichier, à savoir <code>stm</code> pour l'usage de la mémoire transactionnelle, <code>random</code> pour générer des nombres aléatoires et <code>optparse-generic</code> pour lire la ligne de commande.</p>

<pre><code class="haskell"><span class="o">#!/</span><span class="n">usr</span><span class="o">/</span><span class="n">bin</span><span class="o">/</span><span class="n">env</span> <span class="n">stack</span>
<span class="c1">-- stack script --resolver lts-9.0 --package "stm random optparse-generic"</span>
<span class="cm">{-# LANGUAGE OverloadedStrings #-}</span></code></pre>

<p>Viennent l'import des modules nécessaires pour notre code. J'ai choisi d'importer de façon qualifier chaque fonction afin que le lecteur puisse connaitre sa provenance.</p>

<pre><code class="haskell"><span class="kr">module</span> <span class="nn">Main</span> <span class="kr">where</span>

<span class="kr">import</span> <span class="nn">Control.Monad</span> <span class="p">(</span><span class="nf">replicateM</span><span class="p">,</span> <span class="nf">forever</span><span class="p">)</span>
<span class="kr">import</span> <span class="nn">Control.Concurrent.STM</span> <span class="p">(</span><span class="kt">TMVar</span><span class="p">,</span> <span class="nf">putTMVar</span><span class="p">,</span> <span class="nf">takeTMVar</span><span class="p">,</span> <span class="nf">newTMVarIO</span><span class="p">,</span> <span class="kt">STM</span><span class="p">,</span> <span class="nf">atomically</span><span class="p">)</span>
<span class="kr">import</span> <span class="nn">Control.Concurrent</span> <span class="p">(</span><span class="nf">forkIO</span><span class="p">,</span> <span class="nf">killThread</span><span class="p">,</span> <span class="nf">threadDelay</span><span class="p">,</span> <span class="kt">ThreadId</span><span class="p">)</span>
<span class="kr">import</span> <span class="nn">System.Random</span> <span class="p">(</span><span class="nf">randomRIO</span><span class="p">)</span>
<span class="kr">import</span> <span class="nn">Data.Char</span> <span class="p">(</span><span class="nf">toLower</span><span class="p">)</span>
<span class="kr">import</span> <span class="nn">Options.Generic</span> <span class="p">(</span><span class="nf">getRecord</span><span class="p">)</span></code></pre>
<h4 id="fourchettes">Fourchettes</h4>

<p>La gestion des fourchettes. En premier lieu, le type <code>Fork</code> qui représente une fourchette. Celui-ci contient un <code>TMVar ()</code>, c’est-à-dire un conteneur STM qui peut contenir un <code>()</code>, c’est-à-dire « rien ». Mais on peut connaitre la présence ou l'absence de ce rien et c'est ce qui nous intéressera.</p>

<pre><code class="haskell"><span class="kr">data</span> <span class="kt">Fork</span> <span class="ow">=</span> <span class="kt">Fork</span> <span class="p">(</span><span class="kt">TMVar</span> <span class="nb">()</span><span class="p">)</span></code></pre>

<p><code>takeFork</code> et <code>releaseFork</code> respectivement prennent et reposent une fourchette. <code>takeFork</code> sera bloquant. On note au type des fonctions que ces opérations s'effectuent sous le contrôle de la <code>STM</code>.</p>

<pre><code class="haskell"><span class="c1">-- | Prend une fourchette. Bloquant.</span>
<span class="nf">takeFork</span> <span class="ow">::</span> <span class="kt">Fork</span> <span class="ow">-&gt;</span> <span class="kt">STM</span> <span class="nb">()</span>
<span class="nf">takeFork</span> <span class="p">(</span><span class="kt">Fork</span> <span class="n">var</span><span class="p">)</span> <span class="ow">=</span> <span class="n">takeTMVar</span> <span class="n">var</span>

<span class="c1">-- | Repose une fourchette. Non Bloquant.</span>
<span class="nf">releaseFork</span> <span class="ow">::</span> <span class="kt">Fork</span> <span class="ow">-&gt;</span> <span class="kt">STM</span> <span class="nb">()</span>
<span class="nf">releaseFork</span> <span class="p">(</span><span class="kt">Fork</span> <span class="n">var</span><span class="p">)</span> <span class="ow">=</span> <span class="n">putTMVar</span> <span class="n">var</span> <span class="nb">()</span></code></pre>

<p>La création d'une fourchette avec <code>mkFork</code> implique la création d'une <code>TMVar</code> avec <code>newTMVarIO</code> :</p>

<pre><code class="haskell"><span class="c1">-- | Crée une fourchette</span>
<span class="nf">mkFork</span> <span class="ow">::</span> <span class="kt">IO</span> <span class="kt">Fork</span>
<span class="nf">mkFork</span> <span class="ow">=</span> <span class="kr">do</span>
  <span class="n">var</span> <span class="ow">&lt;-</span> <span class="n">newTMVarIO</span> <span class="nb">()</span>
  <span class="n">pure</span> <span class="p">(</span><span class="kt">Fork</span> <span class="n">var</span><span class="p">)</span></code></pre>

<p>Ce morceau de code implique énormément de choses sur Haskell, nous allons nous y attarder un moment. Le type de la fonction est <code>IO Fork</code>, c'est une action d'entrée / sortie qui renvoie une fourchette. La première ligne réalise une action <code>newTMVarIO ()</code> qui crée une nouvelle <code>TMVar</code> contenant un <code>()</code>. Celle-ci est stockée dans <code>var</code>. Il ne s'agit pas d'une égalité, mais d'une affectation, ici <code>var</code> est bien le résultat de l’exécution d'une action et non pas une égalité qui serait représentée avec le signe <code>=</code>.</p>

<p>La valeur de retour de la fonction est <code>Fork var</code> c’est-à-dire la <code>TMVar</code> encapsulée dans le type <code>Fork</code>. Cette expression <code>Fork var</code>, de type <code>Fork</code> ne représente pas une action à effet de bord, ainsi elle ne peut pas être la valeur finale de la fonction (qui est de type <code>IO Fork</code>). Il faut donc encapsuler de nouveau le <code>Fork</code> dans une <code>IO</code>, est cela est fait grâce à la fonction <code>pure</code>.</p>

<p>Ne vous en formaliser pas trop, c'est surprenant au début, mais on s'y fait vite.</p>

<p>La création de <code>n</code> fourchettes se fait grace à la fonction <code>replicateM</code> qui réplique l'action <code>mkFork</code> et donc renvoie une liste de <code>Fork</code>. le <code>M</code> ici signifie que on réplique une action. Sinon on pourrait écrire <code>replicate 3 True == [True, True, True]</code> sans le <code>M</code> car <code>True</code> n'est pas une action.</p>

<pre><code class="haskell"><span class="c1">-- | `mkForks n` crée une liste de `n` `Fork` disponibles</span>
<span class="nf">mkForks</span> <span class="ow">::</span> <span class="kt">Int</span> <span class="ow">-&gt;</span> <span class="kt">IO</span> <span class="p">[</span><span class="kt">Fork</span><span class="p">]</span>
<span class="nf">mkForks</span> <span class="n">n</span> <span class="ow">=</span> <span class="n">replicateM</span> <span class="n">n</span> <span class="n">mkFork</span></code></pre>
<h4 id="philosophes">Philosophes</h4>

<p>Un philosophe est simplement une structure qui comprend un nom, sous la forme d'un <code>Char</code>, et deux <code>Fork</code>.</p>

<pre><code class="haskell"><span class="c1">-- | Un `Philosopher` est représenté par son nom et deux fourchettes</span>
<span class="kr">data</span> <span class="kt">Philosopher</span> <span class="ow">=</span> <span class="kt">Philosopher</span> <span class="kt">Char</span> <span class="kt">Fork</span> <span class="kt">Fork</span></code></pre>

<p>La création de plusieurs philosophes, en se servant de fourchettes est la suivante :</p>

<pre><code class="haskell"><span class="c1">-- | Crée le nombre de philosophes associés aux fourchettes </span>
<span class="nf">mkPhilosophers</span> <span class="ow">::</span> <span class="p">[</span><span class="kt">Fork</span><span class="p">]</span> <span class="ow">-&gt;</span> <span class="p">[</span><span class="kt">Philosopher</span><span class="p">]</span>
<span class="nf">mkPhilosophers</span> <span class="n">forks</span> <span class="ow">=</span> <span class="n">zipWith3</span> <span class="kt">Philosopher</span> <span class="p">[</span><span class="sc">'A'</span><span class="o">..</span><span class="p">]</span> <span class="n">forks</span> <span class="p">(</span><span class="n">last</span> <span class="n">forks</span> <span class="kt">:</span> <span class="n">forks</span><span class="p">)</span></code></pre>

<p>Cette fonction est très concise mais complexe. Nous avons une liste de fourchettes (pour simplifier <code>[fork0, fork1, fork2]</code>) et nous voulons crée une liste de Philosophes chacun associé à une lettre et à deux fourchettes. </p>

<p>On aimerait la liste suivante : <code>[Philosopher 'A' fork0 fork2, Philosopher 'B' fork1 fork0, Philosopher 'C' fork2 fork1]</code>.</p>

<p>Un motif apparaît, on voit qu'il s'agit de la fonction <code>Philosopher</code> appliquée à 3 arguments pris respectivement dans 3 listes distinctes grace à la fonction <code>zipWith3</code> :</p>

<ul>
<li>
<code>['A', 'B', 'C']</code>, que nous représentons ici avec la liste infinie <code>['A' .. ]</code>
</li>
<li>
<code>[fork0, fork1, fork2]</code>, c'est tout simplement <code>forks</code>
</li>
<li>
<code>[fork2, fork0, fork1]</code>, qui est ici <code>(last forks : forks)</code>
</li>
</ul><p>Cela fonctionne car <code>zipWith3</code> ne consomme qu'en fonction de la longueur de la liste la plus courte.</p>
<h4 id="vie-dun-philosophe">Vie d'un philosophe</h4>

<p>Une étape de la vie d'un philosophe est une fonction assez longue, mais peu complexe. La prise et la relâche des fourchettes est réalisée dans un bloc <code>atomically</code>, le reste n’étant que des attentes et un peu d'affichage.</p>

<pre><code class="haskell"><span class="c1">-- | Un `Philosopher` essaye de manger.</span>
<span class="nf">runPhilosopher</span> <span class="ow">::</span> <span class="kt">Philosopher</span> <span class="ow">-&gt;</span> <span class="kt">IO</span> <span class="nb">()</span>
<span class="nf">runPhilosopher</span> <span class="p">(</span><span class="kt">Philosopher</span> <span class="n">name</span> <span class="n">forkA</span> <span class="n">forkB</span><span class="p">)</span> <span class="ow">=</span> <span class="kr">do</span>
  <span class="c1">-- Prends les fourchettes de façon atomique, garantie par STM</span>
  <span class="n">atomically</span> <span class="o">$</span> <span class="kr">do</span>
    <span class="n">takeFork</span> <span class="n">forkA</span>
    <span class="n">takeFork</span> <span class="n">forkB</span>

  <span class="c1">-- Affiche son nom en majuscules</span>
  <span class="n">putChar</span> <span class="n">name</span>

  <span class="c1">-- Mange pendant un temps aléatoire compris entre 0 et 2 secondes</span>
  <span class="n">time</span> <span class="ow">&lt;-</span> <span class="n">randomRIO</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">2</span> <span class="o">*</span> <span class="mi">1000</span> <span class="o">*</span> <span class="mi">1000</span><span class="p">)</span>
  <span class="n">threadDelay</span> <span class="n">time</span>

  <span class="c1">-- Affiche la fin du repas (nom en minuscule)</span>
  <span class="n">putChar</span> <span class="p">(</span><span class="n">toLower</span> <span class="n">name</span><span class="p">)</span>

  <span class="c1">-- Repose les fourchettes de façon atomique</span>
  <span class="n">atomically</span> <span class="o">$</span> <span class="kr">do</span>
    <span class="n">releaseFork</span> <span class="n">forkA</span>
    <span class="n">releaseFork</span> <span class="n">forkB</span>

  <span class="c1">-- Attend avant de recommencer pendant 100 ms</span>
  <span class="n">threadDelay</span> <span class="p">(</span><span class="mi">1000</span> <span class="o">*</span> <span class="mi">100</span><span class="p">)</span></code></pre>
<h4 id="forkphilosopher">forkPhilosopher</h4>

<p>Cette fonction, pour un philosophe donné <code>p</code>, crée un <a href="https://en.wikipedia.org/wiki/Green_threads">green thread</a> qui exécute en boucle infinie grâce à <code>forever</code> une étape de la vie de notre philosophe.</p>

<pre><code class="haskell"><span class="nf">forkPhilosopher</span> <span class="ow">::</span> <span class="kt">Philosopher</span> <span class="ow">-&gt;</span> <span class="kt">IO</span> <span class="kt">ThreadId</span>
<span class="nf">forkPhilosopher</span> <span class="n">p</span> <span class="ow">=</span> <span class="n">forkIO</span> <span class="p">(</span><span class="n">forever</span> <span class="p">(</span><span class="n">runPhilosopher</span> <span class="n">p</span><span class="p">))</span></code></pre>
<h4 id="main"><code>main</code></h4>

<p>Le main contient un peu de logique pour lire la ligne de commande et crée les philosophes.</p>

<pre><code class="haskell"><span class="nf">main</span> <span class="ow">::</span> <span class="kt">IO</span> <span class="nb">()</span>
<span class="nf">main</span> <span class="ow">=</span> <span class="kr">do</span>
  <span class="c1">-- Lit le nombre de philosophe sur la ligne de commande</span>
  <span class="n">nPhilosopher</span> <span class="ow">&lt;-</span> <span class="n">getRecord</span> <span class="s">"Philosopher"</span>

  <span class="c1">-- Crée les fourchettes et les philosophes</span>
  <span class="n">forks</span> <span class="ow">&lt;-</span> <span class="n">mkForks</span> <span class="n">nPhilosopher</span>
  <span class="kr">let</span> <span class="n">philosophers</span> <span class="ow">=</span> <span class="n">mkPhilosophers</span> <span class="n">forks</span>

  <span class="c1">-- Crée les threads par philosophe</span>
  <span class="n">tIds</span> <span class="ow">&lt;-</span> <span class="n">mapM</span> <span class="n">forkPhilosopher</span> <span class="n">philosophers</span>

  <span class="c1">-- Attend 10 secondes et tue les threads</span>
  <span class="n">threadDelay</span> <span class="p">(</span><span class="mi">1000</span> <span class="o">*</span> <span class="mi">1000</span> <span class="o">*</span> <span class="mi">10</span><span class="p">)</span>
  <span class="n">mapM_</span> <span class="n">killThread</span> <span class="n">tIds</span></code></pre>

<p>Quelques points à discuter dans cette fonction <code>main</code>. En premier lieu j'utilise <code>getRecord</code> pour lire la ligne de commande. Cette fonction, du module <code>optparse-generic</code>, est capable de créer toute seule une interface ligne de commande en fonction du type de retour demandé, ici un <code>Int</code>, en gérant automatiquement la lecture de la ligne de commande, la validation des arguments et l'affichage de l'aide si nécessaire. Cela m'a économisé 3 lignes de logique pour lire les arguments, vérifier qu'il y en avait au moins un, et le convertir en <code>Int</code> et afficher une erreur le cas échéant. Ce n'était pas forcement nécessaire dans ce contexte, mais cela devient extraordinaire avec une interface plus complexe impliquant des arguments optionnels, des drapeaux booléens, ou autres.</p>

<p>La création des fourchettes est une opération avec effets de bord, d'où l'affectation du résultat avec <code>&lt;-</code>. La création des philosophes elle ne réalise pas d'effet de bord, c'est une fonction pure, d'où l’égalité <code>=</code> qui signifie réellement que <code>philosophers</code> est sémantiquement équivalent à <code>mkPhilosopher forks</code> dans les lignes qui suivent. C'est un outil de compréhension de code que je trouve plaisant.</p>

<p>Pour finir, la création des threads se fait avec <code>mapM</code> qui va applique la fonction <code>forkPhilosopher</code> à chaque philosophe et renvoyer l'identifiant du thread crée.</p>
<h2 id="conclusion">Conclusion</h2>

<p>GHC 8.2 c'est sympa, il y a pleins de nouvelles fonctionnalités qui rendent heureux un développeur Haskell régulier. Mais soyons réaliste, ce n'est pas ces nouvelles fonctionnalités qui vont vous motiver à utiliser Haskell, c'est pourquoi j'ai essayé de présenter un cas concret d'utilisation du langage sur un problème assez classique d'algorithmie.</p></div><div><a href="https://linuxfr.org/news/sortie-de-ghc-8-2-1.epub">Télécharger ce contenu au format Epub</a></div>    <p><a href="https://linuxfr.org/news/sortie-de-ghc-8-2-1#comments">Lire les commentaires</a></p>


guid: https://liens.strak.ch/?LycGVQ
title: Hébergement Web Gratuit avec PHP, MySQL et cPanel, sans publicite
url: https://fr.000webhost.com/
feedurl: https://liens.strak.ch/?do=rss
content:
<div class="markdown"><p>L'offre est alléchante, à voir.</p>
<p>&#8212; <a href="https://liens.strak.ch/?LycGVQ" title="Permalink">Permalink</a></p></div>


guid: http://korben.info/?p=87824
title: Des icônes animées pour votre site
author: Korben
url: https://korben.info/icones-animees-site.html
feedurl: https://korben.info/feed
content:
<p>Voici un truc qui va faire plaisir aux développeurs. Proposé par le site icons8, <a href="https://icons8.com/c/animated-icons">le projet <strong>Titanic</strong></a> permet à qui le veut de mettre en place des icônes animées sur son site.</p>
<p style="text-align: center;"><a href="http://korben.info/wp-content/uploads/2017/07/animated-icons-preview.gif"><img class="aligncenter wp-image-87826 " src="http://korben.info/wp-content/uploads/2017/07/animated-icons-preview.gif" alt="" width="581" height="436" /></a></p>
<p>Titanic se compose d'un jeu d'icônes animées et d'un code JS à intégrer dans vos pages, pour que vous n'ayez ensuite qu'à spécifier l'icône via un attribut de type class et à choisir le déclencheur de l'animation (au survol de la souris, au clic...etc.)</p>
<p style="text-align: center;"><a href="http://korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-03-11-09-06.png"><img class="aligncenter size-new-size wp-image-87825" src="http://korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-03-11-09-06-650x303.png" alt="" width="650" height="303" srcset="//korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-03-11-09-06-650x303.png 650w, //korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-03-11-09-06-429x200.png 429w, //korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-03-11-09-06-768x358.png 768w, //korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-03-11-09-06-1024x478.png 1024w, //korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-03-11-09-06-475x221.png 475w, //korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-03-11-09-06-750x350.png 750w, //korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-03-11-09-06-1250x583.png 1250w, //korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-03-11-09-06-400x187.png 400w, //korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-03-11-09-06.png 1514w" sizes="(max-width: 650px) 100vw, 650px" /></a></p>
<div class="repository-meta mb-0 js-repo-meta-edit js-details-container"></div>
<p><a href="https://github.com/icons8/titanic">Plus d'infos ici</a></p>
<p>Cet article merveilleux et sans aucun égal intitulé : <a rel="nofollow" href="https://korben.info/icones-animees-site.html">Des icônes animées pour votre site</a> ; a été publié sur <a rel="nofollow" href="https://korben.info">Korben</a>, le seul site qui t'aime plus fort que tes parents.</p>
<hr><p>Voici un truc qui va faire plaisir aux développeurs. Proposé par le site icons8, le projet Titanic permet à qui le veut de mettre en place des icônes animées sur son site. Titanic se compose d'un jeu d'icônes animées et d'un code JS à intégrer dans vos pages, pour que vous n'ayez ensuite qu'à spécifier <a class="read-more" href="https://korben.info/icones-animees-site.html">> Lire la suite</a></p>
<p>Cet article merveilleux et sans aucun égal intitulé : <a rel="nofollow" href="https://korben.info/icones-animees-site.html">Des icônes animées pour votre site</a> ; a été publié sur <a rel="nofollow" href="https://korben.info">Korben</a>, le seul site qui t'aime plus fort que tes parents.</p>


guid: https://shaar.libox.fr/?zvAfVA
title: Faites parler votre Powershell ⋆ Le blog IT & Société
url: http://www.antoniodealmeida.net/faites-parler-votre-powershell/
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><p>Via <a href="https://liens.strak.ch/?3jjiZg">https://liens.strak.ch/?3jjiZg</a><br />
&#8212; <a href="https://shaar.libox.fr/?zvAfVA" title="Permalink">Permalink</a></p></div>


guid: https://shaar.libox.fr/?yU2v-w
title: La face cachée d'Internet, un livre à découvrir • CPC Hardware
url: https://www.cpchardware.com/face-cachee-dinternet-livre-a-decouvrir/
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><p>Même sur CPC :p<br />
&#8212; <a href="https://shaar.libox.fr/?yU2v-w" title="Permalink">Permalink</a></p></div>


guid: https://shaar.libox.fr/?4ajf6Q
title: apt - Ubuntu 16.04 command line sendmail installation hanged - Ask Ubuntu
url: https://askubuntu.com/questions/937666/ubuntu-16-04-command-line-sendmail-installation-hanged
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><p>Le paquet &quot;csf&quot; de Quickbox qui hang à l'installation : </p>
<pre><code>cd /etc/mail/tls
sudo openssl dsaparam -out sendmail-common.prm 2048
sudo chown root:smmsp sendmail-common.prm
sudo chmod 0640 sendmail-common.prm
sudo dpkg --configure -a</code></pre>
<p>Et relancer l'installation.<br />
&#8212; <a href="https://shaar.libox.fr/?4ajf6Q" title="Permalink">Permalink</a></p></div>


guid: https://shaar.libox.fr/?IgnRwg
title: Gramblr - Upload photos to Instagram from your PC, Mac, Computer!
url: http://www.gramblr.com/uploader/#home
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><blockquote>
<p>Gramblr is a desktop application that allows you to upload pictures or videos on Instagram. It features a similar upload wizard - so that you don't need a smartphone!<br />
&#8212; <a href="https://shaar.libox.fr/?IgnRwg" title="Permalink">Permalink</a></p>
</blockquote></div>


guid: https://shaar.libox.fr/?WUY8DA
title: George R. R. Martin | Rare, weird & awesome celebrity photos
url: http://www.thisisnotporn.net/2017/08/06/george-r-r-martin/
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><p>&#8212; <a href="https://shaar.libox.fr/?WUY8DA" title="Permalink">Permalink</a></p></div>


guid: https://shaar.libox.fr/?TuDtZw
title: Windows 10 : le guide des raccourcis clavier à connaître
feedurl: https://shaar.libox.fr/?do=atom
url:
http://fr.ubergizmo.com/2015/08/01/windows-10-raccourcis-clavier.html?inf_by=59881e3f681db86c318b4860

content:
<div class="markdown"><p>Via <a href="http://qosgof.fr/fosteb/?ZcHAeQ">http://qosgof.fr/fosteb/?ZcHAeQ</a><br />
&#8212; <a href="https://shaar.libox.fr/?TuDtZw" title="Permalink">Permalink</a></p></div>


guid: https://shaar.libox.fr/?ZryySw
title: Top 100 anime that are 2 cour (26 episodes) or less, updated for 2017! : anime
url: https://www.reddit.com/r/anime/comments/6s1a6i/top_100_anime_that_are_2_cour_26_episodes_or_less/
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><p>Top 100 recoupé selon leur note MAL, pour des séries de 2 cycles ou moins en durée.<br />
&#8212; <a href="https://shaar.libox.fr/?ZryySw" title="Permalink">Permalink</a></p></div>


guid: https://shaar.libox.fr/?pp4AOQ
title: Sense8 : malgré l'annulation, la créatrice écrit une saison 3 complète
url: https://www.tomsguide.fr/actualite/sense8-saison-3,58529.html
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><blockquote>
<p>Alors que l’on pensait devoir se contenter d’un simple épisode pour clore la série, Lana Wachowski, la créatrice de sense8, a indiqué samedi qu’elle travaillait sur une saison 3 complète dans l’espoir qu’elle voit le jour.<br />
&#8212; <a href="https://shaar.libox.fr/?pp4AOQ" title="Permalink">Permalink</a></p>
</blockquote></div>


guid: https://shaar.libox.fr/?nW_nnw
title: Moetron News - “Attack on Titan: Lost Girls” spin-off to have...
url: http://www.moetron.com/post/163907992388/attack-on-titan-lost-girls-spin-off-to-have
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><blockquote>
<p>“Attack on Titan: Lost Girls” spin-off to have three OADs; bundled w/ the following manga volumes:<br />
Vol. 24: 12/08/2017<br />
Vol. 25: 04/09/2018<br />
Vol. 26: 08/09/2018<br />
&#8212; <a href="https://shaar.libox.fr/?nW_nnw" title="Permalink">Permalink</a></p>
</blockquote></div>


guid: http://sebsauvage.net/links/?JSLF_w
title: Pesto
url: http://sebsauvage.net/links/?JSLF_w
feedurl: http://sebsauvage.net/links/?do=atom
content:
Hier j'ai appris qu'on peut faire un pesto avec des feuilles de radis, des noisettes, une gousse d'ail et de l'huile d'olive, le tout au mixeur. <br />
Sur du pain grillé, c'est une tuerie.<br>(<a href="http://sebsauvage.net/links/?JSLF_w">Permalink</a>)


guid: http://sebsauvage.net/links/?8vhoGw
title: Comment OVH sauvegarde un million de bases de données chaque jour ?
url: https://www.ovh.com/fr/blog/realiser-un-million-de-backup-bases-de-donnees-par-jour/
feedurl: http://sebsauvage.net/links/?do=atom
content:
OVH est l'un des plus importants hébergeurs mondiaux.<br />
Ils sont donc confrontés à des problèmes peu communs, comme celui de sauvegarder un million (glups) de bases de données chaque jour.<br />
C'est toujours intéressant de voir comment ils s'y prennent (et j'aime les entreprises qui partagent leur expérience).<br />
(via <a href="http://links.kevinvuilleumier.net/?SwboWA" rel="nofollow">http://links.kevinvuilleumier.net/?SwboWA</a>)<br>(<a href="http://sebsauvage.net/links/?8vhoGw">Permalink</a>)


guid: https://www.ecirtam.net/opennews/?XNtf9A
title: https://www.ecirtam.net/opennews/?BcaqIQ
url: https://www.ecirtam.net/opennews/?BcaqIQ
feedurl: https://www.ecirtam.net/opennews/?do=atom
content:
Étienne Chouard,très intéressant... Thinkerview rejoint ma liste de média confusionnistes.<br>(<a href="https://www.ecirtam.net/opennews/?XNtf9A">Permalink</a>)


guid: https://www.ecirtam.net/opennews/?ZXqx6Q
title: https://www.ecirtam.net/opennews/?BcaqIQ
url: https://www.ecirtam.net/opennews/?XNtf9A
feedurl: https://www.ecirtam.net/opennews/?do=atom
content:
Le problème avec E. Chouard c’est qu’il est dans la sphère CONFUSIONNISTE et mérite bien cette place. <br />
<br />
Cela n’empêche pas de voir ces vidéo, mais cela veut surtout dire qu’il faut lui mettre un gros WARNING clignotant sur la tête pour bien se le rappeler. Et éviter de le partager.<br />
Pourquoi? Parce que ce n’est pas une source TOTALEMENT fiable. <br />
Ici un personnage idéologiquement TOTALEMENT non fiable comme on verra plus bas. <br />
<br />
L’un des problèmes du confusionnisme, c’est avant tout leurs non-rigueurs dans leur choix de leurs source et des sources de leurs sources. En gros, pour faire simple c’est l’antagonisme du travail sur les sources d’un scientifique.<br />
Un autre s’est qu’un certain nombre des gens qui sont “gourous” dans cette sphère ont un intérêt lucratif direct ou non à véhiculer certaines idées, quand ce ne sont pas des névrotiques tout court qui sont prêts a tout pour leur 15minutes de gloire.<br />
Ce qui amène au dernier des problèmes que j’évoquerais ici sur eux en relation avec la phrase ci-dessus, c’est quand générale les idées défendues par cette sphère sont pro-conservatisme voir très libérale économiquement et raciste [sous-produit idéologique de ces deux précédentes].<br />
<br />
Chouard ne veut pas comprendre [volontairement ou non] que quand l’on a acquis une certaine notoriété politique il faut être clean sur le message que l’on veut faire passer et ne pas le corrompre. <br />
À essayer de convaincre des ennemies politiques, on peut peut-être en décrocher certain de l’extrême droite et de ces gourous, mais malheureusement on en fait glisser beaucoup plus vers ces mêmes idées d’extrême droite. <br />
<br />
Exemple similaire: cas BFMTV, rebaptiser BFNTV vu l’accueille qu’ils font au FN sur leur plateau, [Je tire sur BFM mais vous avez compris c’est toutes la presse à l’info caviardée qui est visé.] <br />
Certes le format des media privés joue sur le fait qui ont les mêmes sujets de prédilection que ce côté de l’échiquier politique, surtout que s’il faisait le contraire pour traiter de sujet de fond, il faudrait politiquement le vouloir et assumer des idées qui ne plairaient surement pas à leur patron. <br />
Bref ce qui fait qu'année après année les thèses du FN se banalisent dans la population et les fait monter. <br />
<br />
Pour en revenir à Chouard, on va analyser un peu la vidéo «Très intéressant[e] !» et les «Pleins de livres de proposés à lire.»(<a href="https://www.ecirtam.net/opennews/?BcaqIQ" rel="nofollow">https://www.ecirtam.net/opennews/?BcaqIQ</a>) <br />
Bref, vous l’aurez compris j’ai regardé la vidéo, c’est du Chouard, on n'en apprend pas grand-chose, enfin pas plus que celle de lui avant. <br />
<br />
Bref, voici les bouquins par ordre chronologique de citation qu'il nous recommande:<br />
<br />
1. Pierre-Joseph Proudhon : L'anarchie sans le désordre Broché – de Thibault Isabel (Avec la contribution de), Michel Onfray (Préface)<br />
└── Michel Onfray, pseudo-philosophe médiacrate que l’on ne présente plus, contribution et préface ; Proudhon a dû prendre chère<br />
2. L’Éthique hacker – de Pekka Himanen<br />
└── Pekka Himanen philosophe de l’informatique finlandais, clin d’œil de Chouard à Thinkerview<br />
3. La finance de l'ombre a pris le contrôle Broché – de Myret Zaki (Auteur), Dominique Morisod (Auteur)<br />
└── Myret Zaki copine confusionniste suisse de Chouard, avec un titre de bouquin pareil cela ne m’étonne qu’a moitié.<br />
4. Reprendre le contrôle de la dette – de Adair Turner <br />
└── D’après Wikipédia, baron Turner of Ecchinswell, homme d’affaires britannique, actuel président de l’autorité britannique de régulation des services financiers et ancien dirigeant de la confédération de l’industrie britannique [la parfaite blague en gros] , se décrit comme un « technocrate »<br />
5. Du Nouvel Esprit des Lois et de la Monnaie Broché – de V. Bugault &amp; J. Remy (Auteur)<br />
└── Valérie Bugault UPR [Conspi sphère], TV Libertés [Extrême droite]<br />
6. Principes élémentaires de propagande de guerre : Utilisables en cas de guerre, chaude ou tiède... – de Anne Morelli (Auteur)<br />
└── Anne Morelli, extrême gauche<br />
7. La Gouvernance par les nombres – de Alain Supiot (Auteur)<br />
└── juriste français spécialiste du droit du travail, de la sécurité sociale et de théorie du droit, professeur au Collège de France<br />
8. Le toujours moins cher : à quel prix ? – de Vincent Le Coq (Auteur), Anne-Sophie Poiroux (Auteur)<br />
├── Vincent Le Coq, maître de conférences en droit public, auteur au Contrepoints journal libéral<br />
└── Anne-Sophie Poiroux, Avocate<br />
9. Deux libertaires gascons unis par une pensée commune – de Bernard Charbonneau &amp; Jacques Ellul.<br />
└── penseurs français de la technique et de l’aliénation, DCD<br />
<br />
À vous de juger, le confusionnisme porte bien son nom, et si on fait pas une recherche sur chaque nom sur Qwant on se fait avoir et on lit du TV Libertés<br>(<a href="https://www.ecirtam.net/opennews/?ZXqx6Q">Permalink</a>)


guid: http://sebsauvage.net/links/?SVNZkg
title: TÊTU | "Si t'es pédé, je vais te descendre ici et maintenant" : le cauchemar tchétchène continue
url: https://tetu.com/2017/08/07/pede-vais-te-descendre-lenfer-tchetchene-continue/
feedurl: http://sebsauvage.net/links/?do=atom
content:
Les horreurs de la purge anti-LGBT continuent en Tchétchénie. Les témoignages des personnes exfiltrées commencent à remonter. <br />
<br />
&quot;Ils lui ont enfilé un tube creux, dans l’anus, puis ils ont inséré le fil barbelé dans le tube. Ils ont ensuite retiré le tube et après ils ont lentement tiré le fil barbelé.&quot;<br>(<a href="http://sebsauvage.net/links/?SVNZkg">Permalink</a>)


guid: tag:linuxfr.org,2005:Diary/37438
title: "Et si on libérait (vraiment) les licences libres de la propriété intellectuelle ?"
author: Nicolas Boulay
feedurl: http://linuxfr.org/journaux.atom
url:
https://linuxfr.org/users/niconico/journaux/et-si-on-liberait-vraiment-les-licences-libres-de-la-propriete-intellectuelle

content:
<p>Calimaq suggère d'utiliser les traités internationaux pour poser les bases juridiques du libre au sens large sans passer par le hack juridique du copyleft, qui est sous attaques constantes des ayants droits: redevance pour l'usage de photo libres, redevance pour l'usage de musique libre en public, et la proposition de loi qui rendrait possible pour tout auteur de réclamer à tout instant une rémunération, quelle que soit la licence acceptée.</p>

<p><a href="https://scinfolex.com/2017/08/05/et-si-on-liberait-vraiment-les-licences-libres-de-la-propriete-intellectuelle/">https://scinfolex.com/2017/08/05/et-si-on-liberait-vraiment-les-licences-libres-de-la-propriete-intellectuelle/</a></p><div><a href="https://linuxfr.org/users/niconico/journaux/et-si-on-liberait-vraiment-les-licences-libres-de-la-propriete-intellectuelle.epub">Télécharger ce contenu au format Epub</a></div>    <p><a href="https://linuxfr.org/users/niconico/journaux/et-si-on-liberait-vraiment-les-licences-libres-de-la-propriete-intellectuelle#comments">Lire les commentaires</a></p>


guid: http://korben.info/?p=87849
title: FotoApparat – Une bibliothèque pour éviter de souffrir avec l’API Camera d’Android
author: Korben
url: https://korben.info/fotoapparat-bibliotheque-eviter-de-souffrir-lapi-camera-dandroid.html
feedurl: https://korben.info/feed
content:
<p>Alors je ne développe pas sous Android, mais il parait que <a href="https://developer.android.com/training/camera/cameradirect.html">l'API officielle de l'appareil photo</a> (Camera) est foireuse et très galère à implémenter dans une application. C'est pourquoi  Dmitry Zaitsev a développé <strong><a href="https://github.com/Fotoapparat/Fotoapparat">Fotoapparat</a></strong>, une bibliothèque libre qui permet d'utiliser l'appareil photo d'un téléphone Android sans se prendre la tête.</p>
<p>Voici comment prendre une photo avec FotoApparat : </p>
<blockquote><p>Fotoapparat fotoapparat = Fotoapparat .with(context) .into(cameraView) .build();</p>
<p>fotoapparat.start();</p>
<p>fotoapparat .takePicture() .saveToFile(someFile);</p></blockquote>
<p>Grâce à Fotoapparat, vous spécifiez quel type de photo vous voulez (résolution, activation du flash, mise au point...etc), vous lancez ou stoppez la preview et vous pouvez fournir à vos utilisateurs l'interface pour prendre la photo.</p>
<p>Par exemple pour activer ou stopper la preview : </p>
<blockquote><p>@Override protected void onStart() { super.onStart();</p>
<p>fotoapparat.start();<br />
}</p>
<p>@Override protected void onStop() { super.onStop();</p>
<p>fotoapparat.stop();<br />
}</p></blockquote>
<p>Et pour sauver la photo en JPG et en BMP : </p>
<blockquote><p>PhotoResult photoResult = fotoapparat.takePicture();</p>
<p>// save to file<br />
photoResult.saveToFile(new File( getExternalFilesDir("photos"), "photo.jpg" ));</p>
<p>// obtain<br />
Bitmap photoResult .toBitmap() .whenAvailable(bitmapPhoto -&gt; { imageView.setImageBitmap(bitmapPhoto.bitmap);
</p></blockquote>
<p>De plus, il est possible de récupérer les images de la preview, d'utiliser la camera frontale, dorsale ou une camera extérieure et il y a des fonctionnalités de logs si vous voulez débugger.</p>
<p>Bref, c'est cool. Par contre, ça ne gère pas encore tout ce qui est vidé.</p>
<p><a href="https://github.com/Fotoapparat/Fotoapparat">+ d'infos ici.</a></p>
<p><a href="https://lorentzos.com/making-pictures-capture-in-android-simple-74416a19e800">Source</a></p>
<p>Cet article merveilleux et sans aucun égal intitulé : <a rel="nofollow" href="https://korben.info/fotoapparat-bibliotheque-eviter-de-souffrir-lapi-camera-dandroid.html">FotoApparat &#8211; Une bibliothèque pour éviter de souffrir avec l&#8217;API Camera d&#8217;Android</a> ; a été publié sur <a rel="nofollow" href="https://korben.info">Korben</a>, le seul site qui t'aime plus fort que tes parents.</p>
<hr><p>Alors je ne développe pas sous Android, mais il parait que l'API officielle de l'appareil photo (Camera) est foireuse et très galère à implémenter dans une application. C'est pourquoi Dmitry Zaitsev a développé Fotoapparat, une bibliothèque libre qui permet d'utiliser l'appareil photo d'un téléphone Android sans se prendre la tête. Voici comment prendre une photo <a class="read-more" href="https://korben.info/fotoapparat-bibliotheque-eviter-de-souffrir-lapi-camera-dandroid.html">> Lire la suite</a></p>
<p>Cet article merveilleux et sans aucun égal intitulé : <a rel="nofollow" href="https://korben.info/fotoapparat-bibliotheque-eviter-de-souffrir-lapi-camera-dandroid.html">FotoApparat &#8211; Une bibliothèque pour éviter de souffrir avec l&#8217;API Camera d&#8217;Android</a> ; a été publié sur <a rel="nofollow" href="https://korben.info">Korben</a>, le seul site qui t'aime plus fort que tes parents.</p>


guid: https://shaar.libox.fr/?e5twEg
title: Le vote de la loi de moralisation menacé par l'absentéisme des députés
feedurl: https://shaar.libox.fr/?do=atom
url:
http://www.lefigaro.fr/politique/le-scan/2017/08/07/25001-20170807ARTFIG00197-loi-de-moralisation-de-la-vie-publique-inquietudes-sur-l-absenteisme-des-deputes.php

content:
<div class="markdown"><blockquote>
<p>LE SCAN POLITIQUE - Texte de loi organique, le projet de loi sur la moralisation de la vie publique nécessite d'être adopté par au moins 289 députés, un quorum qui pourrait ne pas être atteint, craignent certains élus de la majorité.<br />
&#8212; <a href="https://shaar.libox.fr/?e5twEg" title="Permalink">Permalink</a></p>
</blockquote></div>


guid: 1192a0fde54c1eda60b2bb9d1a34df83
title: Saboteur of Health
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Saboteur_of_Health%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Tom Price, the <a href="/glossary.html#saboteur">Saboteur</a> of Health, has
<a href="https://www.commondreams.org/views/2017/08/05/i-grew-tom-prices-district-sex-ed-he-promotes-dangerous">cut
the budget for dozens of programs that reduce teenage pregnancy</a>.


guid: 5bb9a0dd25273901d6e9db51aee04a09
title: Military government of Thailand
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Military_government_of_Thailand%29
feedurl: https://www.stallman.org/rss/
content:
<p>
The military government of Thailand
<a href="https://globalvoices.org/2017/08/06/thai-journalist-and-two-other-critics-of-military-led-government-face-sedition-charges-over-facebook-posts/">prosecutes
journalists and dissidents</a> for criticizing the military
government.
<p>
I think it is a mistake to use the vague and deemotionalized word
<a href="https://stallman.org/antiglossary.html#detained">"detain"</a>
to refer to imprisoning people.


guid: 351b07bccc80ca697888665dd304e109
title: Ban on "spice" in the UK
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Ban_on_spice_in_the_UK%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Banning the drug called "spice" in the UK has
<a href="https://www.theguardian.com/uk-news/2017/aug/06/spice-ban-prisoners-homeless-at-risk-drug-goes-underground">made
it more dangerous</a>.


guid: bb35ce9270477f68d9b581c3d5167b6c
title: Effect of smartphones on teenagers
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Effect_of_smartphones_on_teenagers%29

content:
<p>
Today's teenagers
<a href="https://www.theatlantic.com/magazine/archive/2017/09/has-the-smartphone-destroyed-a-generation/534198/">remain
childish</a> instead of seeking to become independent.  They stay at
home, communicating by smartphone, instead of seeing each other
physically.
<p>
And that makes them feel lonely and depressed.


guid: b75db96623b7b04db371e4a047fa1675
title: Urgent: Cancel BSA honor for president
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Urgent%3A_Cancel_BSA_honor_for_president%29

content:
<p>
In the US: call on the Boy Scouts of America to
<a href="https://petitions.moveon.org/sign/boy-scouts-take-away">cancel
the honorary status</a> accorded to the president of the US.


guid: fcea914fd948531c102f6fc9f31cf2c5
title: Urgent: Replace NAFTA
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Urgent%3A_Replace_NAFTA%29
feedurl: https://www.stallman.org/rss/
content:
<p>
US citizens:
<a href="https://act.credoaction.com/sign/Replace_NAFTA">call for
replacing NAFTA</a> with something less plutocratic.


guid: 1acd54fa19c45ce91bc14f2a9da4ca81
title: Urgent: Tongass National Forest
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Urgent%3A_Tongass_National_Forest%29

content:
<p>
US citizens:
<a href="https://secure.defenders.org/site/Advocacy?cmd=display&page=UserAction&id=3228">protect</a>
the Tongass National Forest from logging.


guid: 17c38aa87fcc09deaea54b4be01dbb4a
title: Urgent: Stop import of chicken from China
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Urgent%3A_Stop_import_of_chicken_from_China%29

content:
<p>
US citizens:
<a href="https://secure.foodandwaterwatch.org/site/Advocacy?pagename=homepage&page=UserAction&id=3055">call
on the USDA</a> to stop import of chicken from China as long as China
doesn't maintain US-style food safety standards.


guid: bf4f63b4d041c6614b5ce9283da3dc0d
title: Losing money to global heating
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Losing_money_to_global_heating%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Two shareholders in an Australian bank are suing the bank for
<a href="https://www.theguardian.com/australia-news/2017/aug/08/commonwealth-bank-shareholders-sue-over-inadequate-disclosure-of-climate-change-risks">downplaying the risk</a> of losing money due to global heating effects.


guid: a7e0760671e4ee7ed54a7c5295c9a8ce
title: US patriotism
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28US_patriotism%29
feedurl: https://www.stallman.org/rss/
content:
<p>
An American <a href="https://www.theguardian.com/us-news/2017/aug/08/unlearning-the-myth-of-american-innocence">learns to see the nationalist prejudice</a> in US "patriotism"
by living in Turkey.


guid: 58c7f05a504e764604e44626e889c179
title: Caste documentary
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Caste_documentary%29
feedurl: https://www.stallman.org/rss/
content:
<p>
An Indian documentarian <a href="http://www.minoritiesofindia.org/filmmaker-terrorized-exposing-caste-slavery-tamil-nadu/">made a movie about caste-based slavery</a>.
Showings have been banned, and the filmmaker faces prosecution,
for saying things that make people uncomfortable.


guid: c51185634bb957f527ce991e987a3da7
title: Employing slaves
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Employing_slaves%29
feedurl: https://www.stallman.org/rss/
content:
<p>
<a href="https://www.theguardian.com/global-development/2017/aug/08/how-big-brands-including-sports-direct-unwittingly-used-slave-labour">Subcontracting</a> enables and encourages well-known companies to employ
slaves without identifying them a such.
<p>
The low pay that the subcontracted workers get tends to push out
those who are not slaves.


guid: 26d7a0ab23bbde8eb1cee06056c4c762
title: Surface laptop
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Surface_laptop%29
feedurl: https://www.stallman.org/rss/
content:
<p>
The Microsoft "Surface" laptop is <a href="https://hardware.slashdot.org/story/17/06/16/201232/you-cant-open-the-microsoft-surface-laptop-without-literally-destroying-it">almost impossible to open up</a>, and if
through heroic efforts you manage to do so, you can't replace any of
the parts that a laptop usually permits replacing, such as the network
card, the memory, or the disk.
<p>
Basically, it is designed for use by subject peoples.


guid: a0295ac61959a9684a55f5e7248c4298
title: Venezuelan protesters killed
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Venezuelan_protesters_killed%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Venezuelan thugs and pro-government groups have killed at least 73 dissident
protesters, and jailed at least 5000, <a href="https://www.theguardian.com/world/2017/aug/08/venezuela-un-rights-chief-decries-excessive-force-used-against-protesters">according to a UN investigation</a>.
<p>
1000 of them remain jailed.


guid: f8e89c499115c9f14e7f65e9c8181c5d
title: Biological ransomware
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Biological_ransomware%29
feedurl: https://www.stallman.org/rss/
content:
<p>
A <a href="https://www.technologyreview.com/s/608388/biological-teleporter-could-seed-life-through-galaxy/">printer for biological viruses</a> will pave the way for biological
ransomware.


guid: 304ab0c65d5d31e604c4be2ff856f5a0
title: Police and teachers unions
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Police_and_teachers_unions%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Police, Teachers Unions <a href="http://reason.com/archives/2017/08/04/police-teachers-unions-protect-workers-a">Protect Workers at Expense of Public</a>.
<p>
Concealing a thug's past crimes, especially that of framing someone else
previously, is in spirit obstruction of justice.


guid: fb4468abb62f5f42578953acc2d7feca
title: Public school spending
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Public_school_spending%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Plutocratic government in the US is <a href="https://www.commondreams.org/views/2017/08/07/back-school-more-expensive-year-yes-and-heres-why">cutting spending</a> on public schools,
making parents take up the slack.


guid: 282fb49e089d6d18f9005c2d8d6e6e82
title: Bank and Wall Street fines
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Bank_and_Wall_Street_fines%29
feedurl: https://www.stallman.org/rss/
content:
<p>
The troll has <a href="https://www.commondreams.org/news/2017/08/07/wall-street-fines-down-66-under-trumps-goldman-sachs-filled-administration">cut fines issued to banks and Wall Street</a> by 2/3, for
the first half of 2017, compared with one year earlier.


guid: 942a2053d8c7225f1a58a528554b9c6b
title: Next terrorist incident
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Next_terrorist_incident%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Americans, prepare for the next terrorist incident: prepare <em>not</em>
to <a href="https://www.dailykos.com/stories/2017/8/6/1687312/-A-Stark-Warning-How-Trump-s-Popularity-Could-Skyrocket">rally 'round the troll</a>, who threatens us more than any mere terrorist.


guid: fd71ef0fd7d400d9c13294320bb66b8a
title: Economic inequality in US
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Economic_inequality_in_US%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Economic (and thus political) inequality in the US is <a href="https://www.commondreams.org/views/2017/08/07/even-more-evidence-us-kleptocracy-not-meritocracy">racing forward</a>.


guid: 235523eeed1acbaeda20a4d21a887096
title: 100 year floods
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28100_year_floods%29
feedurl: https://www.stallman.org/rss/
content:
<p>
"100 year floods", that used happen on the average just once per century,
<a href="https://www.theguardian.com/environment/2017/jun/07/us-coastal-flooding-carbon-emissions-study">will happen once per year</a> in San Francisco by 2050, and once per month
in New York City by 2100.


guid: 304bbc57ea45711f953c6fb52acf6e4d
title: Human rights laws
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Human_rights_laws%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Keir Starmer, the UK's former chief prosecutor, says that human rights
laws <a href="https://www.theguardian.com/commentisfree/2017/jun/07/theresa-may-tearing-up-human-rights-laws-terrorist">never blocked the prosecution of terrorists</a>, while they protect
everyone from oppression.


guid: 8cd92dfc5bb50add6e276123866c6645
title: Extreme weather
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Extreme_weather%29
feedurl: https://www.stallman.org/rss/
content:
<p>
<a href="/glossary.html#trump">The troll</a>'s saboteurs have told staff at the Department of Agriculture
<a href="https://www.commondreams.org/news/2017/08/07/emails-show-usda-staff-told-avoid-term-climate-change-under-trump">not to use the term "climate change"</a>. They have been ordered to say
"extreme weather" instead.
<p>
Ironically, the reason they used the term "climate change" is that
denialist officials appointed by Dubya <a href="https://stallman.org/archives/2014-may-aug.html#16_June_2014_(Destroyed_by_global_heating)">told them to say that</a> instead
of "global warming".


guid: c29c16d8cc1aaba9553bf7bb5b83e51d
title: Urgent: Trans Mountain pipeline
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Urgent%3A_Trans_Mountain_pipeline%29

content:
<p>
 Everyone: <a href="https://act.credoaction.com/sign/transmountain">call on banks</a> not to fund the Trans Mountain pipeline.


guid: 0ef187195e2f3db0c81382a3d7ac27d9
title: Transhumanist future
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Transhumanist_future%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Transhumanist technologies that can enhance individuals, in the context of a society organized by extreme capitalism that makes most people choose between all-out competition and abandonment, would tend to <a href="https://theconversation.com/super-intelligence-and-eternal-life-transhumanisms-faithful-follow-it-blindly-into-a-future-for-the-elite-78538">become oppressive</a> and effectively compulsory.


guid: 94214da3bf5f12adc9d2412ea88c6940
title: Afghanistan US Plan
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Afghanistan_US_Plan%29
feedurl: https://www.stallman.org/rss/
content:
<p>
<a href="https://www.commondreams.org/news/2017/08/08/blackwater-founders-disturbing-plan-privatize-afghan-war-gains-ground">Blackwater Founder's "Disturbing" Plan</a> to Privatize Afghan War Gains Ground.


guid: 89629da4e0620b77ddd61fd70ea61d31
title: Autonomous vehicles
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Autonomous_vehicles%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Some Americans, such as truck drivers, dare to start to <a href="https://www.theguardian.com/us-news/2017/aug/08/humans-v-robots-defending-jobs">think about retarding "progress"</a> in automation that they see will benefit the rich and harm most everyone else.
<p>
However, they don't dare to propose strong measures adequate to the task, because they are afraid of the stigma of the term "Luddite": a stigma against saying that technology should be or servant rather than our master.  They are afraid to propose that we limit technology for people's good.
<p>
All we need, to stop driverless trucks and driverless cars from putting millions of Americans out of work, is a state law in some important state to prohibit them.  While we're at it, let's make Uber treat its drivers as employees and give them the benefits of employees.
<p>
If this means <a href="/uber.html">Uber</a> disappears, good riddance! That will put a crimp in massive surveillance.


guid: 8220dbdce13745e616a46c7f0260a609
title: Evolution science Darwin
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Evolution_science_Darwin%29
feedurl: https://www.stallman.org/rss/
content:
<p>
How can science engage with people that are so predisposed to disbelieve science that they can't consider the <a href="https://www.theguardian.com/commentisfree/2017/aug/08/attack-darwin-evolution-science-an-wilson">rational evidence</a> for evolution?


guid: 8e2e028fccab99930ad89361e8e10518
title: US voters Atheism
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28US_voters_Atheism%29
feedurl: https://www.stallman.org/rss/
content:
<p>
One of the <a href="https://www.theguardian.com/us-news/shortcuts/2017/aug/08/in-god-we-trust-why-americans-wont-vote-in-an-atheist-president">many fantastic beliefs</a> that religious Americans go in for is the belief that Atheists are more likely to do evil than religious believers.


guid: 30a834ac028e93ebf41261736eff4279
title: Urgent: Call on MPD to fire racist thugs
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Urgent%3A_Call_on_MPD_to_fire_racist_thugs%29

content:
<p>
Everyone: <a href="https://campaigns.organizefor.org/petitions/kick-racist-cops-out-our-community-tell-mpd-to-fire-officer-altieri?akid=7740.1242918.G5zHpI&bucket=COC&rd=1&source=mailing&t=1005">call on Washington DC to fire the thugs</a> that wore white supremacist symbols, and investigate racism in the thug department.


guid: 4c3d1942b15a313b6f67f9239aa55a35
title: Fossil fuel subsidies
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Fossil_fuel_subsidies%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Fossil fuel subsidies amount to 
<a href="https://www.theguardian.com/environment/climate-consensus-97-per-cent/2017/aug/07/fossil-fuel-subsidies-are-a-staggering-5-tn-per-year">five
trillion dollars per year</a>.


guid: b38d744c1b1e54671d45535d7913cbb5
title: Poverty and hunger
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Poverty_and_hunger%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Reporting on the Millenium Development Goals says the world has
greatly reduced poverty and hunger, but this is 
<a href="https://www.researchgate.net/publication/293191457_The_true_extent_of_global_poverty_and_hunger_Questioning_the_good_news_narrative_of_the_Millennium_Development_Goals">exaggerated
by the way the figures are computed</a>.


guid: af4d457ae60c1820b8b1f8fdab847d67
title: Toxic emissions from diesel cars
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Toxic_emissions_from_diesel_cars%29

content:
<p>
Diesel car manufacturers have 
<a href="https://www.theguardian.com/environment/2017/aug/07/death-diesel-why-no-reverse-gear">cheated
at many levels to cover up toxic emissions</a>, and continue lobbying
to prevent corrective measures.  Under proper pollution safety
standards, diesel cars would be so expensive they wouldn't sell.  We
might as well put an end to them.


guid: 54b392b07845b097ebb27ec4899f260b
title: Droughts
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Droughts%29
feedurl: https://www.stallman.org/rss/
content:
<p>
An unusual kind of drought 
<a href="http://grist.org/food/flash-drought-could-devastate-half-the-high-plains-wheat-harvest/">could
ruin the wheat harvest in the High Plains</a>, an area which only
recently became a center for growing wheat.
<p>
<a href="/glossary.html#global heating">Global heating</a> made wheat production feasible there, but global
heating also makes the droughts.


guid: 2985212e2a80f44aa5ffffd738d8761f
title: Medical research
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Medical_research%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Really important medical research 
<a href="http://www.truth-out.org/opinion/item/41522-the-zika-vaccine-the-miracle-of-government-funded-research">should
be funded by the government</a> — so why even think of giving
one company a monopoly on it?


guid: 077608fe440866554e5817b8bed7b4c3
title: Sustainable electronics standards
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Sustainable_electronics_standards%29

content:
<p>
Big Tech Has 
<a href="https://motherboard.vice.com/en_us/article/evzeep/big-tech-has-destroyed-americas-sustainable-electronics-standards">Destroyed</a>
Americaâs Sustainable Electronics Standards.


guid: 5c6c76edb916e141b1984e8e8124d8cb
title: Women in patriarchal societies
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Women_in_patriarchal_societies%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Using foreign aid to help women in Afghanistan, or any strongly
patriarchal society, is a lot
<a href="https://www.theguardian.com/commentisfree/2017/aug/07/canada-international-aid-feminist-women-afghanistan">harder
than one might suppose</a>.
<p>
Syrian women are 
<a href="https://www.theguardian.com/global-development-professionals-network/2017/aug/07/syrian-feminists-chance-the-war-gave-us-to-empower-women">doing
their own organizing</a> for equality.


guid: 112c74201c7520b54bb507370a283a4b
title: Urgent: Reject denialist as USDA head
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Urgent%3A_Reject_denialist_as_USDA_head%29

content:
<p>
US citizens: 
<a href="http://act.climatehawksvote.com/stopclovis">call on the
Senate</a> to reject denialist Sam Clovis as head of the USDA's
scientists.
<p>
Clovis is not only a global heating denialist, he's a 
<a href="http://gizmodo.com/trumps-pick-for-usda-chief-scientist-isnt-a-scientist-1797485411">rabid
racist</a> as well.


guid: tag:linuxfr.org,2005:News/38137
title: Loi Finances 2016 : un soulagement pour les logiciels de compta
author: palm123
url: https://linuxfr.org/news/loi-finances-2016-un-soulagement-pour-les-logiciels-de-compta
feedurl: http://linuxfr.org/news.atom
content:
<div><p>Pour petit rappel la loi finances 2016, mise en application pour le 1<sup>er</sup> janvier 2018 introduit des contraintes pour les logiciels de caisse et de comptabilité (en gros, ne pas pouvoir supprimer des données) et un système d’attestation et de certification pour engager la responsabilité de quelqu’un en cas de fraude constatée avec le logiciel. Elle concerne tous les assujettis à la TVA.</p>

<p>Le 15 juin dernier (oui, ça date un peu), le gouvernement a indiqué que le champ d’application de cette loi ne concernerait plus les logiciels de comptabilité, et donc uniquement les logiciels d’encaissement. Le communiqué indique également une volonté de simplifier les contraintes.</p>

<p><em>LinuxFr.org</em> a publié plusieurs dépêches sur le sujet grâce à la mobilisation de l’April et de la société Scil, éditrice du logiciel (libre) de caisse <a href="https://www.pasteque.org/">Pastèque</a>.</p></div><ul><li>lien n°1 : <a title="http://proxy-pubminefi.diffusion.finances.gouv.fr/pub/document/18/22503.pdf" hreflang="fr" href="https://linuxfr.org/redirect/100398">Communiqué de presse du gouvernement (en PDF)</a></li><li>lien n°2 : <a title="http://bofip.impots.gouv.fr/bofip/10691-PGP.html?identifiant=BOI-TVA-DECLA-30-10-30-20160803" hreflang="fr" href="https://linuxfr.org/redirect/100399">Texte de la Loi Finances 2016</a></li><li>lien n°3 : <a title="https://linuxfr.org/news/projet-de-loi-de-finances-fr-2016-interdiction-des-logiciels-libres-de-comptabilite-et-de-caisse" hreflang="fr" href="https://linuxfr.org/redirect/100400">Projet de loi de finances 2016 : interdiction des logiciels libres (décembre 2015)</a></li><li>lien n°4 : <a title="https://linuxfr.org/news/loi-de-finances-2016-en-france-des-nouvelles-du-front" hreflang="fr" href="https://linuxfr.org/redirect/100401">Loi de finances 2016 : des nouvelles du front (février 2016)</a></li><li>lien n°5 : <a title="https://linuxfr.org/news/point-d-etape-sur-loi-francaise-de-finances-2016-article-88-et-les-logiciels-libres-de-caisse" hreflang="fr" href="https://linuxfr.org/redirect/100402">Point d’étape sur la loi française de finances 2016 (mai 2016)</a></li></ul><div><p>C’est une très bonne nouvelle pour les logiciels de comptabilité qui évite ainsi l’obligation d’être certifiés ou attestés. Ouf !</p>

<p>En revanche, pas encore de détails du périmètre précis. Les nouveaux textes seront disponibles « d’ici la fin de l’année ». On espère juste que ce ne sera pas le 20 décembre.</p>

<p>Le texte indique qu’il reste six mois pour se mettre en conformité. C’est donc un flou par rapport à d’autres informations qui circulent indiquant que la mise en application serait repoussée de six mois. Information pour laquelle je n’ai pas trouvé de référence officielle. Le communiqué indique bien la mise en application de la loi au 1<sup>er</sup> janvier 2018.</p></div><div><a href="https://linuxfr.org/news/loi-finances-2016-un-soulagement-pour-les-logiciels-de-compta.epub">Télécharger ce contenu au format Epub</a></div>    <p><a href="https://linuxfr.org/news/loi-finances-2016-un-soulagement-pour-les-logiciels-de-compta#comments">Lire les commentaires</a></p>


guid: tag:linuxfr.org,2005:Diary/37439
title: LinuxFr.org : seconde quinzaine de juillet 2017
author: Benoît Sibaud
url: https://linuxfr.org/users/oumph/journaux/linuxfr-org-seconde-quinzaine-de-juillet-2017
feedurl: http://linuxfr.org/journaux.atom
content:
<p>Septante-septième épisode dans la communication entre les différents intervenants autour du site <em>LinuxFr.org</em> : l’idée est tenir tout le monde au courant de ce qui est fait par les rédacteurs, les admins, les modérateurs, les codeurs, les membres de l’association, etc.</p>

<p>L’actu résumée (<code>[*]</code> signifie une modification du sujet du courriel) :</p>
<h2 id="statistiques">Statistiques</h2>

<ul>
<li>1475 commentaires publiés (dont 14 masqués depuis) ;</li>
<li>235 tags posés ;</li>
<li>95 comptes ouverts (dont 6 fermés depuis) ;</li>
<li>44 entrées de forums publiées (dont 1 masquée depuis) ;</li>
<li>18 dépêches publiées ;</li>
<li>25 journaux publiés ;</li>
<li>8 entrées dans le système de suivi ;</li>
<li>1 sondage publié ;</li>
<li>1 page wiki publiée.</li>
</ul><h2 id="listes-de-diffusion-hors-pourriel">Listes de diffusion (hors pourriel)</h2>

<p>Liste <em>linuxfr-membres@</em> — [restreint]</p>

<ul>
<li>R.A.S.</li>
</ul><p>Liste <em>meta@</em> - [restreint]</p>

<ul>
<li>R.A.S.</li>
</ul><p>Liste <em>moderateurs@</em> - [restreint]</p>

<ul>
<li>[Modérateurs] Purge de mon compte</li>
<li>[Modérateurs] Obligations légales (Re: Purge de mon compte)</li>
<li>[Modérateurs] Publication dépêche</li>
</ul><p>Liste <em>prizes@</em> - [restreint]</p>

<ul>
<li>[Prizes] LinuxFr prizes recap du lundi 3 juillet 2017, 09:32:03 (UTC+0200)</li>
<li>[Prizes] Choix livre offert</li>
<li>[Prizes] LIVRE EYROLLES</li>
</ul><p>Liste <em>redacteurs@</em> - [public]</p>

<ul>
<li>[Rédacteurs] New live-dvd gnu-linux radioamateur : Hambrew</li>
</ul><p>Liste <em>team@</em> - [restreint]</p>

<ul>
<li>[team linuxfr] Anonymisation/suppression d'un contenu LinuxFr.org</li>
</ul><p>Liste <em>webmaster@</em> — [restreint]</p>

<ul>
<li>R.A.S.</li>
</ul><h2 id="canal-irc-adminsys-résumé">Canal IRC adminsys (résumé)</h2>

<ul>
<li>plein de mises à jour de sécurité</li>
<li>mise à jour du serveur bak, de Debian Jessie à Stretch</li>
</ul><h2 id="tribune-de-rédaction-résumé">Tribune de rédaction (résumé)</h2>

<ul>
<li>un souci signalé sur un <a href="//linuxfr.org/suivi/http-500-sur-un-type-d-url-particulier-un-lien-de-depeche">type d'URL particulier en lien de dépêche</a>
</li>
<li>un cas d'édition impossible en rédaction, mais non reproductible/non identifié</li>
</ul><h2 id="tribune-de-modération-résumé">Tribune de modération (résumé)</h2>

<ul>
<li>on a passé le 99000<sup>e</sup> contenu publié</li>
<li>du spam</li>
<li>quelques contenus/commentaires alambiqués</li>
<li>une purge de compte traitée</li>
</ul><h2 id="commitspushs-de-code-httpsgithubcomlinuxfrorg">Commits/pushs de code <a href="https://github.com/linuxfrorg/">https://github.com/linuxfrorg/</a>
</h2>

<ul>
<li>New icon for the mozilla section</li>
</ul><h2 id="divers">Divers</h2>

<ul>
<li>c'est calme depuis les RMLL 2017 Saint-Étienne (rappel de la <a href="https://prog2017.rmll.info/programme/partage-aspects-collectifs-du-libre/article/linuxfr-org-c-etait-mieux-apres-et-avec-vous?lang=fr">conférence donnée</a>, <a href="https://rmll.ubicast.tv/videos/linuxfr_22904/">enregistrement vidéo</a> (<a href="//linuxfr.org/images/historique/rmll2017/index.html">sources et copies locales</a>))</li>
</ul><div><a href="https://linuxfr.org/users/oumph/journaux/linuxfr-org-seconde-quinzaine-de-juillet-2017.epub">Télécharger ce contenu au format Epub</a></div>    <p><a href="https://linuxfr.org/users/oumph/journaux/linuxfr-org-seconde-quinzaine-de-juillet-2017#comments">Lire les commentaires</a></p>


guid: tag:linuxfr.org,2005:Diary/37440
title: Gentlemen farmers
author: Toufou
url: https://linuxfr.org/users/toufou/journaux/gentlemen-farmers
feedurl: http://linuxfr.org/journaux.atom
content:
<p>un petit article sur des gens coincés par la non publication des specs de leur matos : <a href="http://www.lemonde.fr/pixels/visuel/2017/08/08/agro-hackeurs-du-nebraska_5170156_4408996.html">http://www.lemonde.fr/pixels/visuel/2017/08/08/agro-hackeurs-du-nebraska_5170156_4408996.html</a><br>
Attendons nous a ne plus pouvoir mettre les mains dans quoi que ce soit dans un <s>avenir</s> présent proche. </p><div><a href="https://linuxfr.org/users/toufou/journaux/gentlemen-farmers.epub">Télécharger ce contenu au format Epub</a></div>    <p><a href="https://linuxfr.org/users/toufou/journaux/gentlemen-farmers#comments">Lire les commentaires</a></p>


guid: https://liens.strak.ch/?QLtKbw
title: La communauté #sysadmin_fr débarque sur Discord
url: https://sys-advisor.com/2017/08/07/la-communaute-sysadmin_fr-debarque-sur-discord/
feedurl: https://liens.strak.ch/?do=rss
content:
<div class="markdown"><p>Sympa l'initiative !</p>
<p>&quot;Chaque personne qui rejoint le discord est invitée à se présenter : métier, passion, matériel / technos maitrisées afin de lui attribuer un rôle : sysAdmin, étudiants, devOps, sécu, etc. De sorte à pouvoir identifier un profil rapidement en cas de pépin.&quot;<br />
&#8212; <a href="https://liens.strak.ch/?QLtKbw" title="Permalink">Permalink</a></p></div>


guid: http://korben.info/?p=87876
title: Une extension pour intégrer Mastodon à Firefox
author: Korben
url: https://korben.info/extension-integrer-mastodon-a-firefox.html
feedurl: https://korben.info/feed
content:
<p>Si vous êtes utilisateur de <a href="https://korben.info/mastodon-copie-colle-de-twitter-libre-decentralise.html">Mastodon</a>, le réseau social décentralisé, voici une extension Firefox qui devrait vous intéresser. Il s'agit de "<strong><a href="https://addons.mozilla.org/en-US/firefox/addon/mastodon-as-a-sidebar/">Mastodon as a sidebar</a></strong>" qui comme son nom l'indique, vous permet d'afficher votre flux social en provenance de l'instance de votre choix, directement dans Firefox.</p>
<p style="text-align: center;"><a href="http://korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-05-09-52-00.png"><img class="aligncenter size-new-size wp-image-87877" src="http://korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-05-09-52-00-650x470.png" alt="" width="650" height="470" srcset="//korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-05-09-52-00-650x470.png 650w, //korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-05-09-52-00-277x200.png 277w, //korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-05-09-52-00-768x555.png 768w, //korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-05-09-52-00-1024x740.png 1024w, //korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-05-09-52-00-475x343.png 475w, //korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-05-09-52-00-750x542.png 750w, //korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-05-09-52-00-400x289.png 400w, //korben.info/wp-content/uploads/2017/07/capture-decran-2017-07-05-09-52-00.png 1191w" sizes="(max-width: 650px) 100vw, 650px" /></a></p>
<p>Pratique !</p>
<p>Et si vous n'utilisez pas Firefox, et <a href="https://www.mozilla.org/fr/firefox/new/">bien refaite un essai</a> car il est maintenant plus performant en terme de consommation mémoire que Chrome ou Edge.</p>
<p>Cet article merveilleux et sans aucun égal intitulé : <a rel="nofollow" href="https://korben.info/extension-integrer-mastodon-a-firefox.html">Une extension pour intégrer Mastodon à Firefox</a> ; a été publié sur <a rel="nofollow" href="https://korben.info">Korben</a>, le seul site qui t'aime plus fort que tes parents.</p>
<hr><p>Si vous êtes utilisateur de Mastodon, le réseau social décentralisé, voici une extension Firefox qui devrait vous intéresser. Il s'agit de "Mastodon as a sidebar" qui comme son nom l'indique, vous permet d'afficher votre flux social en provenance de l'instance de votre choix, directement dans Firefox. Pratique ! Et si vous n'utilisez pas Firefox, et <a class="read-more" href="https://korben.info/extension-integrer-mastodon-a-firefox.html">> Lire la suite</a></p>
<p>Cet article merveilleux et sans aucun égal intitulé : <a rel="nofollow" href="https://korben.info/extension-integrer-mastodon-a-firefox.html">Une extension pour intégrer Mastodon à Firefox</a> ; a été publié sur <a rel="nofollow" href="https://korben.info">Korben</a>, le seul site qui t'aime plus fort que tes parents.</p>


guid: urn:md5:260c771c57bd4b6bbae3bb30c85f02e1
title: Perspective critique
author: alterlibriste
url: http://alterlibriste.free.fr/index.php?post/2017/08/09/Perspective-critique
feedurl: http://alterlibriste.free.fr/index.php?feed/atom
content:
<p><img src="http://www.zdnet.fr/i/edit/ne/2017/08/Firefox57-620.jpg" alt="" /></p>


<p>Je vais revenir sur <a href="http://alterlibriste.free.fr/index.php?post/2017/07/31/Dans-le-doute-abstiens-toi">mon article de la semaine dernière</a> pour repréciser l&rsquo;objet de ce billet aux défenseurs de panda roux qui ont laissé des commentaires.</p> <p>J&rsquo;essayais d&rsquo;aller plus loin que l&rsquo;analyse de mes confrères blogueurs sur l&rsquo;analyse de l&rsquo;avenir plus ou moins radieux de Firefox en notant principalement que par manque de concurrence, les développeurs web n&rsquo;allaient bientôt ne tester que sur Chrome utilisé par la quasi-totalité des utilisateurs. Je donnais pour exemple le site de demande de carte de transport de mon agglo pour lequel je n&rsquo;ai pas eu d&rsquo;autre solution que de passer par Chrome (j&rsquo;avais oublié de préciser que le standard téléphonique d&rsquo;assistance sonnait dans le vide).</p>


<p>La plupart des commentaires sont repartis sur le sempiternel argument de la performance pas si mauvaise (voire meilleure) de Firefox. Où ai-je écrit que Firefox était moins bon ? J&rsquo;ai juste dit que c&rsquo;était un des arguments de ceux qui passaient à Chrome, ce qui n&rsquo;est pas mon cas, et j&rsquo;ai bien précisé que ce n&rsquo;était pas la priorité pour moi, qui est d&rsquo;abord le respect de ma vie privée et la possibilité de me laisser régler le maximum de paramètres comme je l&rsquo;entends en plus que ce soit libre bien évidemment.</p>


<p>Et donc dans son dernier commentaire, Tranche m&rsquo;invite à installer la dernière version de Firefox et faire remonter ce qui ne fonctionne pas à l&rsquo;équipe. Encore une fois, je n&rsquo;ai pas déploré le fait que le navigateur soit (plus) mauvais (qu&rsquo;un autre), mais qu&rsquo;il arrivait que des sites ne fonctionnent pas. Sachant que tester ou remonter des informations ne seront jamais des actions faites par la plupart des utilisateurs qui iront sans poser de question sur l&rsquo;outil qui marche (même s&rsquo;il bouffe des données à tous les repas), j&rsquo;ai téléchargé la dernière version en nigthly (57) dont <a href="http://www.zdnet.fr/actualites/firefox-contre-attaque-prends-garde-a-toi-google-chrome-39855812.htm">on nous annonce qu&rsquo;elle pulvérisera tout sur son chemin</a>.</p>


<p>J&rsquo;ai d&rsquo;abord voulu reprendre la version que j&rsquo;utilise (52ESR) afin de voir où ça bloquait et faire le test en parallèle. Oh, surprise, depuis la dernière fois le site a été corrigé et fonctionne (faut croire qu&rsquo;il y a quand même encore quelques utilisateurs de Firefox et que l&rsquo;anomalie a pu être remontée un jour où l&rsquo;assistance n&rsquo;était pas en vacances). Cela confirme mes dires et craintes : le jour où Firefox ne sera plus assez utilisé, les sites ne seront plus tous compatibles, ce qui est problématique lorsque les démarches sur internet deviennent obligatoires.</p>


<p>Mais revenons à la Nightly build dont Tranche me dit que l&rsquo;utiliser, c&rsquo;est l&rsquo;adopter, et qu&rsquo;une nouvelle version toutes les six semaines, c&rsquo;est merveilleux pour la dynamique d&rsquo;un projet et sa sécurité. Il faut préciser ici que je suis convaincu par Debian Stable (même si d&rsquo;autres choix sont respectables) parce que je veux que mon outil de travail fonctionne sans modification (qui sont parfois mieux mais aussi moins bien quand ça ne marche plus) pendant au moins un an. Pour les mêmes raisons, j&rsquo;utilise donc la version ESR de Firefox.</p>


<p>Autant je n&rsquo;ai rien contre les mises à jour de sécurité que j&rsquo;applique aussi rapidement que possible (et qui s&rsquo;appliquent aussi sur les outils stables), autant changer un truc de droite à gauche pour qu&rsquo;il passe ensuite au milieu et revienne finalement à droite, ça me gonfle. Et là, comme par magie, on retrouve du Firefox au look d&rsquo;avant Australis avec les onglets carrés. Perso, je m&rsquo;en fous un peu, ça ne changera rien à ma navigation, mais il y a quand même des gens très intelligents qui disent à un moment qu&rsquo;il faut tout faire pour ressembler à Chrome et quelque temps plus tard, que c&rsquo;est quand même mieux de garder son identité.</p>


<p>2 pas en avant, 1 pas en arrière, ça ne m&rsquo;intéresse pas. Je veux un truc constant auquel on n&rsquo;a pas à se réhabituer en permanence et surtout qui ne me casse pas les outils dont j&rsquo;ai besoin (une bonne moitié des quelques modules que j&rsquo;utilise non compatibles avec le multi-processus, ça va faire mal dans les chaumières). Si je décide de passer à une version supérieure (que ce soit de distro, de bureau ou de navigateur), c&rsquo;est parce que je sais ce qui m&rsquo;attend, il y a bien sûr toujours des améliorations, des gains de performances ou d&rsquo;ergonomie mais aussi des choses qui vont changer et d&rsquo;autres qui ne vont plus marcher et qu&rsquo;il faudra remplacer. Pour cela, je veux être préparé, avoir testé et décider l&rsquo;upgrade quand je suis prêt.</p>


<p>Revenons quand même à la fin des commentaires. Comme j&rsquo;intitulais mon billet <em>“Dans le doute, abstiens-toi”</em> (sous entendu, dans le doute que Firefox ne soit pas à la hauteur, abstiens-toi de lui planter un coup de couteau dans le dos), on me dit que dans ma grande ignorance technique de ce qu&rsquo;il y a sous le capot, je ferais mieux aussi de m&rsquo;abstenir. Une forme de <a href="http://m.memegen.com/8u8cgt.jpg">tagglisation</a> qu&rsquo;aurait apprécié <a href="https://cyrille-borne.com">Cyrille</a> à qui je dédie ce billet parce qu&rsquo;il vient à nouveau de suicider son blog sous la pression d&rsquo;une trop grande audience. Donc si on avait un moteur de course monté sur une voiture mal finie ou dont les options seraient incohérentes, en tant que conducteur, on n&rsquo;aurait qu&rsquo;à la fermer parce qu&rsquo;on ne sait pas apprécier ce qu&rsquo;il y a sous le capot. Soit.</p>


<p>Ce qui me gêne ici, et quelques autres partageront mon avis, c&rsquo;est que l&rsquo;on n&rsquo;a pas le droit de critiquer le libre (et j&rsquo;entends ici, la critique en tant qu&rsquo;analyse des points positifs et négatifs, pas du bashing). De tout mon article, je ne cesse de répéter, qu&rsquo;hors de Firefox, point de salut mais que Mozilla fait parfois des erreurs et c&rsquo;est tout juste si je ne suis pas un traître à la cause qui fait plus de mal que de bien.</p>


guid: https://shaar.libox.fr/?T4hMkg
title: The Marble of Michelangelo's Dreams - The Atlantic
url: https://www.theatlantic.com/photo/2017/08/the-marble-of-michelangelos-dreams/535836/
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><p>D'un côté, c'est beau, de l'autre, c'est dévasté. Via <a href="http://jcfrog.com/shaarli41/?nS9zCw">http://jcfrog.com/shaarli41/?nS9zCw</a><br />
&#8212; <a href="https://shaar.libox.fr/?T4hMkg" title="Permalink">Permalink</a></p></div>


guid: https://shaar.libox.fr/?O6xYKw
title: Contravention -Il est interdit de stationner devant son propre garage | service-public.fr
url: https://www.service-public.fr/particuliers/actualites/A11922
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><p>Rire. Via <a href="http://sebsauvage.net/links/?yfByXQ">http://sebsauvage.net/links/?yfByXQ</a><br />
&#8212; <a href="https://shaar.libox.fr/?O6xYKw" title="Permalink">Permalink</a></p></div>


guid: https://shaar.libox.fr/?maB0Ew
title: 87434c7d5b958756.png (Image PNG, 1280 × 805 pixels)
feedurl: https://shaar.libox.fr/?do=atom
url:
https://framapiaf.org/system/media_attachments/files/000/190/505/original/87434c7d5b958756.png?1502267750

content:
<div class="markdown"><p><img src="https://framapiaf.org/system/media_attachments/files/000/190/505/original/87434c7d5b958756.png?1502267750" alt="" /></p>
<p>Via <a href="https://mastodon.xyz/users/pourrito/updates/314963">https://mastodon.xyz/users/pourrito/updates/314963</a><br />
&#8212; <a href="https://shaar.libox.fr/?maB0Ew" title="Permalink">Permalink</a></p></div>


guid: https://shaar.libox.fr/?cxqovA
title: Valve annonce un nouveau jeu par surprise
url: http://www.lesnumeriques.com/jeux-video/valve-annonce-nouveau-jeu-par-surprise-n65459.html
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><blockquote>
<p>On sait cependant qu'il s'agira un jeu orienté &quot;versus&quot; en 1 contre 1 assez similaire à Hearthstone, mais avec un look Dota et plusieurs mécaniques de jeu inspirés de MOBA. À la tête du projet chez Valve, on trouve Brad Muir, ancien de chez Double Fine, débauché par le studio de Seattle en octobre 2015. Il avait notamment travaillé sur le RPG Tactique Massive Chalice, le jeu d'action Brütal Legend ou encore le tower-defense Iron Brigade. Artifact, quant à lui, devrait sortir en 2018.<br />
&#8212; <a href="https://shaar.libox.fr/?cxqovA" title="Permalink">Permalink</a></p>
</blockquote></div>


guid: https://shaar.libox.fr/?gfZPFA
title: Note: XCOM 2 : LongWar - Choses vues, sur le web et ailleurs - Les liens du Lapin Masqué
url: http://www.mypersonnaldata.eu/shaarli/?VIKZiw
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><p>Tu peux toujours tester <a href="https://shaar.libox.fr/?8_GXAA">https://shaar.libox.fr/?8_GXAA</a> :0<br />
&#8212; <a href="https://shaar.libox.fr/?gfZPFA" title="Permalink">Permalink</a></p></div>


guid: https://shaar.libox.fr/?TCM45Q
title: Reduce Proxmox LXC Backup Size and Time – JamesCoyle.net
url: https://www.jamescoyle.net/how-to/2804-reduce-proxmox-lxc-backup-size-and-time
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><p>&#8212; <a href="https://shaar.libox.fr/?TCM45Q" title="Permalink">Permalink</a></p></div>


guid: http://sebsauvage.net/links/?eN-3SA
feedurl: http://sebsauvage.net/links/?do=atom
title:
Hotspot Shield VPN throws your privacy in the fire, injects ads, JS into browsers – claim • The Register

url:
https://www.theregister.co.uk/2017/08/07/hotspot_shield_deceives_with_false_privacy_promises_complaint_claims/

content:
Hotspot Shield VPN, l'un des services VPN les plus connus, fait depuis longtemps sa publicité sur la protection de la vie privée.<br />
Sauf qu'ils injectent du javascript dans les pages, ajoutent des iframes, de la publicité, du tracking, localisation, empreinte des appareils... et dans les faits, s'accordent même le droit d'exploiter commercialement vos informations.<br />
Comme quoi il faut extrêmement bien choisir ses fournisseurs.<br>(<a href="http://sebsauvage.net/links/?eN-3SA">Permalink</a>)


guid: http://sebsauvage.net/links/?yfByXQ
title: Contravention -Il est interdit de stationner devant son propre garage | service-public.fr
url: https://www.service-public.fr/particuliers/actualites/A11922
feedurl: http://sebsauvage.net/links/?do=atom
content:
Face-palm du jour :<br />
&quot;Laisser stationner son véhicule devant son garage constitue l'infraction de stationnement gênant passible d'une amende pénale.&quot;<br />
(via <a href="https://mastodon.xyz/users/Fo0/updates/313700" rel="nofollow">https://mastodon.xyz/users/Fo0/updates/313700</a>)<br>(<a href="http://sebsauvage.net/links/?yfByXQ">Permalink</a>)


guid: http://sebsauvage.net/links/?hbrg7w
title: Levallois-Perret : une voiture fonce sur des militaires de l’opération « Sentinelle », six blessés
feedurl: http://sebsauvage.net/links/?do=atom
url:
http://www.lemonde.fr/police-justice/article/2017/08/09/un-conducteur-fonce-sur-des-militaires-a-levallois-perret-et-fait-six-blesses_5170342_1653578.html

content:
Tiens, pas une seule utilisation du mot &quot;terroriste&quot;, &quot;djihasite&quot; ou &quot;radicalisé&quot;.<br />
Il était blanc, c'est ça ?<br />
Ou les journalistes ont fini par apprendre de leurs erreurs ?<br />
(via <a href="http://www.sammyfisherjr.net/Shaarli/?8GNF3w" rel="nofollow">http://www.sammyfisherjr.net/Shaarli/?8GNF3w</a>)<br>(<a href="http://sebsauvage.net/links/?hbrg7w">Permalink</a>)


guid: https://www.ecirtam.net/opennews/?814Nnw
title: Abolition des armes nucléaires : Carte postale à envoyer à Emmanuel Macron - Les Amis de la Terre
url: http://www.amisdelaterre.org/Abolition-des-armes-nucleaires-Carte-postale-pour-Emmanuel-Macron.html
feedurl: https://www.ecirtam.net/opennews/?do=atom
content:
<a href="http://dijon-ecolo.fr/doc-telechargeable/nucleaire/carte-postale-Macron-armes-nucleaires-2017.pdf" rel="nofollow">http://dijon-ecolo.fr/doc-telechargeable/nucleaire/carte-postale-Macron-armes-nucleaires-2017.pdf</a><br>(<a href="https://www.ecirtam.net/opennews/?814Nnw">Permalink</a>)


guid: 20170808222729-article
title: Disney se retire de Netflix et veut fonder son propre truc
feedurl: https://lehollandaisvolant.net/rss.php
url:
https://lehollandaisvolant.net/?d=2017/08/08/22/27/29-disney-se-retire-de-netflix-et-veut-fonder-son-propre-truc

content:
<p>Je n’ai pas Netflix.<br />
Je n’habite pas à Paris : mon débit est pourri (il est où Macron et sa fibre pour tous ?) et ne permet pas de streamer un flux vidéo fHD convenablement. Netflix, donc, j’oublie.</p>

<p>Mais… je vois quand même un gros problème avec cette news : <a href="https://www.cnbc.com/2017/08/08/disney-will-pull-its-movies-from-netflix-and-start-its-own-streaming-services.html">Disney qui se retire du catalogue pour faire son propre système de streaming.</a></p>

<p>Vous savez, avant on avait le DVD. C’était pas pratique, ces trucs en plastique, mais au moins que ce soit Disney, Dreamworks, Universal, 4Kids ou Pathé ou n’importe quel autre, tout le monde produisait des DVD qui rentraient dans mon lecteur DVD.</p>

<p>Aujourd’hui t’as Netflix qui produit ses trucs.<br />
Youtube qui fait les siens, avec Youtube Red.<br />
Y a ADN pour les anime japonais.</p>

<p>Bientôt Disney aussi, donc. Peut-être Apple/Microsoft/Facebook également ?</p>

<p>À chaque fois il faudra une applications dédiée, du matériel compatible et même peut-être un investissement spécifique dans une box ou un décodeur spécial (oui, le retour au temps des décodeurs canal+ ou câble).</p>

<p>Et… bien-sûr un abonnement — payant — à chaque fois…</p>

<p>Eh… et sans oublier que rien ne vous appartient : si avant vous aviez votre DVD à vous dans votre salon, là vous n’avez rien du tout.</p>

<p>Sinon c’est quand qu’ils font une licence globale directement facturé soit chez le FAI, soit dans les impôts, pour pouvoir télécharger en P2P en illimité sans risques légaux ?<br />
Au moins j’aurais un MKV lisible partout, de qualité normal, dans la langue que je veux, enregistré sur mon PC/tablette/téléphone/console/cafetière/toaster, et le tout obtenu en 2 clics et sur un système qui existe déjà et qu’ils n’ont même pas à construire.</p>

<p>Parce que contrairement à ce disent Mr. Netflix ou Mr. Deezer, les clients ils veulent pas tous du streaming.<br />
Certains vivent dans des zones où y a pas de réseau, où ce dernier est merdique, où le streaming est juste pas possible ; où ils n’ont juste pas envie de laisser leur connexion de données activée pour écouter de la musique qui peut très bien être placée en local sur l’appareil.<br />
On est sur le net décentralisé (pas sur minitel), mon ordinateur n’est pas juste un terminal de connexion à une interface à 2 balles et mon téléphone a de l’espace disque : c’est pas pour saturer le réseau à chaque fois que j’écoute un titre en boucle.</p>

<p>Merde.</p>


guid: https://shaar.libox.fr/?ww4goQ
title: Etats-Unis. Trump lance sa web TV de "vraies infos" - Monde - LeTelegramme.fr
feedurl: https://shaar.libox.fr/?do=atom
url:
http://www.letelegramme.fr/monde/etats-unis-trump-lance-sa-web-tv-de-vraies-infos-09-08-2017-11624525.php

content:
<div class="markdown"><blockquote>
<p>On n'est jamais mieux servi que par soi-même. Mécontent du traitement médiatique qui lui est réservé, le président américain a lancé son propre service de &quot;vraies informations&quot;. De la propagande pour ses détracteurs.<br />
&#8212; <a href="https://shaar.libox.fr/?ww4goQ" title="Permalink">Permalink</a></p>
</blockquote></div>


guid: https://shaar.libox.fr/?DlxgXQ
title: Ardennes. Il tue son chien en le traînant accroché à sa voiture - France - LeTelegramme.fr
feedurl: https://shaar.libox.fr/?do=atom
url:
http://www.letelegramme.fr/france/ardennes-il-tue-son-chien-en-le-trainant-accroche-a-sa-voiture-09-08-2017-11624615.php

content:
<div class="markdown"><blockquote>
<p>Le propriétaire du chien ne sera pas jugé pour cruauté ou sévices envers un animal. L'individu conduisait fortement alcoolisé.<br />
&#8212; <a href="https://shaar.libox.fr/?DlxgXQ" title="Permalink">Permalink</a></p>
</blockquote></div>


guid: https://shaar.libox.fr/?owux3g
title: AMD Threadripper 1950X Benchmarks Leaked, 45%+ Faster Than Intel
url: http://wccftech.com/amd-ryzen-threadripper-1950x-benchmarks-leaked-42-faster-competition/
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><p>&#8212; <a href="https://shaar.libox.fr/?owux3g" title="Permalink">Permalink</a></p></div>


guid: https://shaar.libox.fr/?Fu9NKQ
title: Hyper-V : Réplication en HTTPS - Adrien Furet
url: https://www.adrienfuret.fr/2017/08/09/hyper-v-replication-https/
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><p>&#8212; <a href="https://shaar.libox.fr/?Fu9NKQ" title="Permalink">Permalink</a></p></div>


guid: https://shaar.libox.fr/?sZQaDA
title: TVアニメ「だがしかし2」ティザーPV - YouTube
url: https://www.youtube.com/watch?v=I6u8kuSdi7g
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><p>Trailer de la saison 2 de la série qui te donne envie de bouffer plein de saloperies.<br />
&#8212; <a href="https://shaar.libox.fr/?sZQaDA" title="Permalink">Permalink</a></p></div>


guid: https://shaar.libox.fr/?q4M_OQ
title: Blog Stéphane Bortzmeyer: jq, traiter du JSON en ligne de commande
url: http://www.bortzmeyer.org/jq.html
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><p>&#8212; <a href="https://shaar.libox.fr/?q4M_OQ" title="Permalink">Permalink</a></p></div>


guid: https://www.ecirtam.net/opennews/?hlazwQ
title: Le Ghana a envoyé son premier satellite en orbite
url: https://usbeketrica.com/article/le-ghana-a-desormais-un-satellite-en-orbite
feedurl: https://www.ecirtam.net/opennews/?do=atom
content:
Cool :-)<br />
via <a href="https://links.neros.fr/?9cO3vA" rel="nofollow">https://links.neros.fr/?9cO3vA</a><br>(<a href="https://www.ecirtam.net/opennews/?hlazwQ">Permalink</a>)


guid: 2764ac92b9d4b58f34822fbb25e9bac5
title: Next terrorist incident
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#8_August_2017_%28Next_terrorist_incident%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Americans, prepare for the next terrorist incident: prepare <em>not</em> 
to <a href="https://www.dailykos.com/stories/2017/8/6/1687312/-A-Stark-Warning-How-Trump-s-Popularity-Could-Skyrocket">rally 'round the troll</a>, who threatens us more than any mere terrorist.


guid: 23a66750975631a4028049a50f095f42
title: British banks' lack of security
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28British_banks_lack_of_security%29
feedurl: https://www.stallman.org/rss/
content:
<p>
British banks' lack of security 
<a href="https://www.theguardian.com/commentisfree/2017/aug/08/banks-online-banking-fraud-ross-mcewan-rbs">exposes
customers to fraud</a>, then the banks refuse to be responsible.
<p>
Professor Ross Anderson refuses to do online banking because, he says,
banks have taken advantage of the change in technology to dump the
responsibility on the customer.


guid: 6b96c8592eb4e73889da8f451f6ecee2
title: Scientists leak report on global heating
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28Scientists_leak_report_on_global_heating%29

content:
<p>
US government scientists have finished a report on likely effects of
global heating.  Fearing that the troll's saboteurs will suppress it,
some of them 
<a href="https://www.commondreams.org/news/2017/08/08/fearing-trump-censorship-govt-scientists-leak-alarming-climate-report">leaked
it</a>.


guid: c00306deda1852acca48eb6464ae2a64
title: Weakened US antitrust law
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28Weakened_US_antitrust_law%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Reagan's Republicans weakened US antitrust law in the 1980s
in a way that 
<a href="http://www.yalelawjournal.org/note/amazons-antitrust-paradox">blinds
it to the danger of Amazon's power</a>.
<p>
The sheer size of some companies makes them threatening to democracy,
so we should stop asking whether a company's practices are
anticompetitive and start making sure companies don't get too big.


guid: bae63bcf392dc05fe275d9730850fae0
title: Troll thanks bot for praise
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28Troll_thanks_bot_for_praise%29
feedurl: https://www.stallman.org/rss/
content:
<p>
<a href="/glossary.html#trump">The troll</a> 
<a href="http://www.rawstory.com/2017/08/twitter-suspends-army-of-fake-accounts-after-trump-thanks-propaganda-bot-for-supporting-him/">thanked
a Twitter account for praising him over and over</a>.  Turns out the
account was stolen, and the messages it sent were repeats from various
bots.


guid: 432c7e6270a0fc3b67611e55652b0802
title: Reducing inequality and poverty
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28Reducing_inequality_and_poverty%29
feedurl: https://www.stallman.org/rss/
content:
<p>
A 
<a href="https://www.commondreams.org/news/2017/08/07/us-inequality-breeds-oligarchy-new-report-details-pathway-equity">set
of proposals</a> for how to reduce inequality and poverty in the US.


guid: 00c9513acc52c5756ac69db57854ba4c
title: Pacific bluefin tuna
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28Pacific_bluefin_tuna%29
feedurl: https://www.stallman.org/rss/
content:
<p>
<a href="/glossary.html#trump">The troll</a> regime has 
<a href="https://www.commondreams.org/newswire/2017/08/08/trump-administration-denies-pacific-bluefin-tuna-endangered-species-act">refused
to protect Pacific bluefin tuna</a>, which is in danger of extinction
if humans keep catching those fish.


guid: b4eee3073d31dcdacc826ab65554b80c
title: Crash of the FCC comment-filing site
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28Crash_of_the_FCC_comment-filing_site%29

content:
<p>
A former employee of the FCC says that its CIO, Bray, 
<a href="https://www.commondreams.org/newswire/2017/08/07/breaking-former-fcc-security-employee-destroys-agencys-claims-ddos-attacks">fabricated
claims</a> that the crash of its comment-filing site was due to a DDoS
attack.


guid: 08baf76d9aab1b616581cb509a66cc6a
title: Significance of events in US history
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28Significance_of_events_in_US_history%29

content:
<p>
<a href="https://www.theguardian.com/commentisfree/2017/aug/08/us-history-debate-pandoras-box">Calling
for more debate</a> — fact-based debate — about the
significance of events in US history.


guid: 94cd6727b9bec1cd104d3a11baf7544a
title: Global heating continues
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28Global_heating_continues%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Government 
<a href="https://www.theguardian.com/commentisfree/2017/aug/08/trump-administration-climate-change-ban-usda">efforts
to avoid naming "global warming" and "climate change"</a> have proved
ineffective at stopping them from occurring.


guid: 5d23bce6062a15fa426eddbf8eda1b85
title: How Finland achieves academic excellence
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28How_Finland_achieves_academic_excellence%29

content:
<p>
Finland achieves academic excellence by 
<a href="https://www.theguardian.com/teacher-network/2017/aug/09/worlds-best-school-system-trust-teachers-education-finland">trusting
teachers instead of imposing standardized tests</a>.
<p>
I suppose Finland also funds public education adequately, so that
there are plenty of teachers, not overworked, and not distracted by
shortages of school supplies.


guid: 266722e71a2fdd627ca8211569c9cdbc
title: Giving birth dangerous
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28Giving_birth_dangerous%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Giving birth is dangerous, and especially so in the US.
<a href="https://www.theguardian.com/commentisfree/2017/aug/09/pregnancy-can-kill-right-to-chose-jessica-valenti">No
one should be forced</a> to go through with a pregnancy.


guid: bd650d806de3e292316ccd5898c31826
title: Urgent: Quit the US Chamber of Commerce
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28Urgent%3A_Quit_the_US_Chamber_of_Commerce%29

content:
<p>
Everyone: 
<a href="https://act.credoaction.com/sign/quit_chamber">call on the
Gap, Disney and Pepsico</a> to quit the US Chamber of Commerce.


guid: 96d6347936b2674b0730e6c7c2f692c1
title: Urgent: Oppose Sam Clovis as USDA head
author: Richard Stallman
feedurl: https://www.stallman.org/rss/
url:
https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28Urgent%3A_Oppose_Sam_Clovis_as_USDA_head%29

content:
<p>
US citizens: phone your senators to oppose the choice of 
<a href="https://stallman.org/archives/2017-may-aug.html#8_August_2017_(Urgent:_Reject_denialist_as_USDA_head)">Sam
Clovis</a> to head the USDA's scientists.
<p>
The Capitol Switchboard numbers are 202-224-3121, 888-818-6641
and 888-355-3588.


guid: bd9602b7d447aec6625fd31c3bb0c3da
title: Novel words nature
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28Novel_words_nature%29
feedurl: https://www.stallman.org/rss/
content:
<p>
The <a href="https://www.theguardian.com/commentisfree/2017/aug/09/forget-the-environment-new-words-lifes-wonders-language">words we use</a> to refer to wildlife and wild areas divest them of any emotional resonance.


guid: c0296233c6a8f05f3d0f81f1a006f62f
title: US NK threat
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28US_NK_threat%29
feedurl: https://www.stallman.org/rss/
content:
<p>
North Korea seems to have <a href="https://www.theguardian.com/us-news/2017/aug/08/donald-trump-north-korea-missile-threats-fire-fury">nuclear missile capability</a>.  The troll threatened massive retaliation—with ambiguous words that could mean real retaliation for a nuclear attack, or could mean real retaliation for threatening an attack.
<p>
The latter would be a threat of pre-emptive war.
<p>
The former would be nothing new, in terms of policy, and not very shocking either.  However, emphasizing it just now might be counterproductive for the negotiations that are needed.
<p>
Here are comments from some <a href="https://www.theguardian.com/world/2017/aug/09/north-korea-v-the-us-how-likely-is-war">experts</a>.
<p>
I disagree with the one who says that sanctions have proved ineffective.  The new sanctions will not make North Korea collapse, but they can affect the outcome of negotiations.
<p>
Negotiations are the only way to convert the new sanctions into some of the changes that the rest of the world wants.


guid: fe33b6b94b16ba9a5be488ce03030489
title: UK poverty women's health
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28UK_poverty_women%27s_health%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Many women in the UK that <a href="https://www.theguardian.com/society/2017/aug/09/scotland-stop-period-poverty-food-banks">live in poverty</a> can't afford tampons. Or they can't afford tampons as well as food for their children.
<p>
Unstated, but clearly part of the root of the problem, is a feeling of shame about being poor.  It makes no sense for poor people to feel ashamed because <em>other people</em> (Tories) did something wrong to them.


guid: 3de4bb0a67b23559ae74bf5d0ce8787c
title: Monsanto archive revelations
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28Monsanto_archive_revelations%29
feedurl: https://www.stallman.org/rss/
content:
<p>
<a href="https://www.theguardian.com/environment/2017/aug/09/monsanto-continued-selling-pcbs-for-years-despite-knowing-health-risks-archives-reveal">Monsanto Continued Selling PCBs</a> for Years Despite Knowing Health Risks.


guid: 534315f2099737bb639ec8e384d937a0
title: Yemen humanitarian crisis
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28Yemen_humanitarian_crisis%29
feedurl: https://www.stallman.org/rss/
content:
<p>
The official (US- and Salafi-supported) government of Yemen says that the semi-closure of the airport of Sana'a due to <a href="https://www.theguardian.com/global-development/2017/aug/09/yemen-health-ministry-airport-closure-nearly-10000-deaths">war has killed 10,000 Yemenis</a>.


guid: 70ecc98103a43dc6ccb9d4435e411961
title: Western US global heating
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28Western_US_global_heating%29
feedurl: https://www.stallman.org/rss/
content:
<p>
This July was the <a href="http://www.climatecentral.org/news/july-record-hot-alaska-and-west-21693">hottest July</a> ever recorded in some parts of the western US.


guid: 667aa1622b7fb2ac84b1248d5a07ecba
title: Britain Labour establishment
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28Britain_Labour_establishment%29
feedurl: https://www.stallman.org/rss/
content:
<p>
If Labour under Corbyn is voted into power, or if it seems to be headed for that, the "deep state" will try to <a href="https://www.theguardian.com/commentisfree/2017/aug/09/prime-minister-corbyn-very-british-coup-establishment-backlash">sabotage it</a> with dirty tricks.


guid: 158d0e2316e8001051f9ada422251dcd
title: Vehicle tracking
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28Vehicle_tracking%29
feedurl: https://www.stallman.org/rss/
content:
<p>
Danger Ahead: The <a href="https://www.eff.org/deeplinks/2017/05/danger-ahead-governments-plan-vehicle-vehicle-communication-threatens-privacy">Governmentâs Plan</a> for Vehicle-to-Vehicle Communication Threatens Privacy, Security, and Common Sense.


guid: d21976f8e7409f67f6e7d783d9b2feed
title: New Zealand poverty
author: Richard Stallman
url: https://stallman.org/archives/2017-may-aug.html#9_August_2017_%28New_Zealand_poverty%29
feedurl: https://www.stallman.org/rss/
content:
<p>
New Zealand Greens leader Metiria Turei has resigned after a campaign condemned her for lying to get enough money to feed her child rather than condemning the state for <a href="https://www.theguardian.com/world/2017/aug/09/new-zealand-green-party-leader-metiria-turei-resigns-lied-to-claim-benefits">making benefits inadequate</a>.
<p>
People who can't get enough food, in a country which has a sufficiency, are morally entitled to steal food.  By contrast, this was nothing.


guid: 05b1a882ff9a0c5b88687d7b30989443
title: Volunteer
author: Richard Stallman
url: https://stallman.org/index.html#volunteerListAnc
feedurl: https://www.stallman.org/rss/
content:
<p>I am looking for people to help install new political notes on the site.  If you'd like to
	   help me in this way,
	   please write to rms at gnu period org.</p>


guid: tag:linuxfr.org,2005:News/38104
title: Firefox 55 est prêt pour la rentrée 2017
author: Yvan Munoz
url: https://linuxfr.org/news/firefox-55-est-pret-pour-la-rentree-2017
feedurl: http://linuxfr.org/news.atom
content:
<div><p>Le 8 août dernier, Mozilla a annoncé la sortie de Firefox 55.</p>

<p>Les profils utilisateurs reçoivent des mises à jour incompatibles avec les anciennes versions de Firefox, ne vous précipitez donc pas sur la mise à jour et faites d'abord une sauvegarde de votre dossier <code>.mozilla</code>.</p>


<p>Mozilla indique que cette nouvelle version apporte des améliorations de performance, des technologies innovantes telle que la réalité augmentée pour le web (<em>WebVR</em>), de nouvelles options d'optimisation de gestion du matériel et des processus, plus de confidentialité et des améliorations de l'expérience utilisateur. Tous les détails sont disponibles dans la suite de la dépêche.</p></div><ul><li>lien n°1 : <a title="https://www.mozilla.org/en-US/firefox/55.0/releasenotes/" hreflang="en" href="https://linuxfr.org/redirect/100271">Notes de version pour Firefox 55 Desktop</a></li><li>lien n°2 : <a title="https://www.mozilla.org/en-US/firefox/android/55.0/releasenotes/" hreflang="en" href="https://linuxfr.org/redirect/100272">Notes de version pour Firefox 55 Mobile</a></li><li>lien n°3 : <a title="https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/55" hreflang="en" href="https://linuxfr.org/redirect/100273">Notes de version WebRTC/WebAudio de Firefox 55</a></li><li>lien n°4 : <a title="https://www.fxsitecompat.com/en-CA/versions/55/" hreflang="en" href="https://linuxfr.org/redirect/100274">Compatibilité des sites Web avec Firefox 55</a></li><li>lien n°5 : <a title="https://linuxfr.org/news/printemps-2017-de-mozilla-firefox-52-a-54-et-thunderbird-52" hreflang="fr" href="https://linuxfr.org/redirect/100275">Dépêche traitant de la sortie des versions 52 à 54</a></li><li>lien n°6 : <a title="https://developer.mozilla.org/en-US/Firefox/Releases/55" hreflang="en" href="https://linuxfr.org/redirect/100405">Notes de version pour les développeurs</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#nouveaut%C3%A9s-g%C3%A9n%C3%A9rales">Nouveautés générales</a></li>
<li><a href="#firefox-pour-bureau">Firefox pour bureau</a></li>
<li><a href="#firefox-pour-android">Firefox pour Android</a></li>
<li><a href="#prochaines-versions">Prochaines versions</a></li>
<li>
<a href="#autour-de-firefox">Autour de Firefox</a><ul>
<li><a href="#campagne-de-financement-r%C3%A9ussie-pour-grammalecte">Campagne de financement réussie pour Grammalecte</a></li>
<li><a href="#pol%C3%A9mique-dutilisation-de-google-analytics-dans-firefox-via-les-pages-web-de-mozilla-int%C3%A9gr%C3%A9es-dans-linterface">Polémique d’utilisation de Google Analytics dans Firefox via les pages web de Mozilla intégrées dans l’interface</a></li>
</ul>
</li>
</ul><h2 id="nouveautés-générales">Nouveautés générales</h2>

<p>Tout d’abord, des modifications sont apportées dans les profils Firefox, ce qui rend les profils à partir de Firefox 55 incompatibles avec les anciennes versions de Firefox. Avant de mettre à jour votre navigateur, faites une sauvegarde de votre profil actuel afin de pouvoir revenir sur les anciennes versions si nécessaire.</p>

<p>Avec ces dernières versions (Firefox pour bureau et pour Android), Firefox améliore la confidentialité de votre vie privée par le refus d’utilisation des interfaces de géolocalisation pour les sites qui fournissent une connexion non-sécurisée à leurs services.</p>

<p>Une nouveauté intéressante pour les développeurs est que Firefox pour Linux peut être utilisé sans interface graphique (mode <em>headless</em> à activer avec le paramètre de commande éponyme). Ceci permettra par exemple d’utiliser le moteur de Firefox pour exécuter des tests d’intégration continue, même si la machine d’intégration n’a pas de serveur graphique à disposition.</p>
<h2 id="firefox-pour-bureau">Firefox pour bureau</h2>

<p>La nouveauté la plus mise en avant par Mozilla est que Firefox <a href="https://blog.mozilla.org/blog/2017/06/01/mozilla-brings-virtual-reality-to-all-firefox-users/">peut utiliser</a> les périphériques de réalité virtuelle depuis le web grâce à l’introduction de l’API <a href="https://w3c.github.io/webvr/">WebVR</a>. Un <a href="https://mozvr.com/">site dédié</a> est à disposition pour découvrir cela. Mozilla insiste sur cette nouveauté dans leur annonce pour bien afficher leur intention de continuer à être un navigateur au cœur des innovations technologiques.</p>

<p>À côté de cette nouveauté, Firefox pour le bureau connaît plusieurs améliorations de son interface graphique dans cette version:</p>

<ul>
<li>La barre de navigation principale a été retravaillée:
<img src="//img.linuxfr.org/img/68747470733a2f2f636c6f75642e61646f7273617a2e63682f696e6465782e7068702f732f4547473567634274344f4d54776c6a2f646f776e6c6f6164/download" alt="Barre de navigation retravaillée" title="Source : https://cloud.adorsaz.ch/index.php/s/EGG5gcBt4OMTwlj/download"><ul>
<li>Les suggestions de recherche sont activées par défaut pour les utilisateurs qui ne l’ont pas désactivé explicitement (passage de <code>opt-in</code> à <code>opt-out</code>)</li>
<li>La recherche peut enfin y être effectuée avec un des différents moteurs configurés au lieu de l'unique moteur par défaut</li>
</ul>
</li>
<li>Les <a href="https://support.mozilla.org/kb/firefox-sidebar-access-bookmarks-history-social">barres latérales</a> (marque-pages, historique, onglets synchronisés) peuvent être déplacées vers le côté droit de la fenêtre
<img src="//img.linuxfr.org/img/68747470733a2f2f636c6f75642e61646f7273617a2e63682f696e6465782e7068702f732f377054516e4c584f30566c795244352f646f776e6c6f6164/download" alt="Barre latérale à droite" title="Source : https://cloud.adorsaz.ch/index.php/s/7pTQnLXO0VlyRD5/download">
</li>
<li>La capture d’écran des pages est possible directement depuis le navigateur avec l’outil <a href="https://screenshots.firefox.com/">Firefox Screenshots</a>. Cet outil permet de créer des captures d’écran de pages entières ou d’une partie seulement et de les enregistrer localement ou sur le cloud de Firefox. Ce nouvel outil sera activé uniquement pour une partie des utilisateurs afin de continuer les tests du service.
<img src="//img.linuxfr.org/img/68747470733a2f2f636c6f75642e61646f7273617a2e63682f696e6465782e7068702f732f61417031417a3071427479487738702f646f776e6c6f6164/download" alt="Une capture d'écran en direct!" title="Source : https://cloud.adorsaz.ch/index.php/s/aAp1Az0qBtyHw8p/download">
</li>
<li>L’impression depuis le mode lecture a été simplifiée</li>
<li>Sur OS X et macOS, Firefox permet d'assigner des raccourcis personnalisés aux menus via le menu Préférences système → Clavier → Raccourcis</li>
</ul><p>Firefox pour bureau continue de développer ses performances:</p>

<ul>
<li>Les sessions comportant un grand nombre d’onglets sont dorénavant restaurées instantanément</li>
<li>Les <a href="https://support.mozilla.org/en-US/kb/performance-settings">performances peuvent être optimisées</a>:

<ul>
<li>Par l’activation de l’accélération matérielle quand elle est disponible. Pour le format vidéo VP9, par exemple, il est nécessaire d’utiliser Windows 10 Anniversary Edition. L’option est désactivée si aucune accélération matérielle n’est disponible pour la configuration matérielle et logicielle de la machine.</li>
<li>Par l’ajustement de la limite maximale du nombre de processus utilisés pour effectuer le rendu des pages web (un maximum de 4 processus est recommandé, mais il peut être poussé jusqu’à 7)</li>
</ul>
</li>
</ul><p>Mozilla simplifie l’installation de Firefox sur Windows:</p>

<ul>
<li>L’installateur par défaut est simplifié: son exécution télécharge et installe automatiquement Firefox sans action supplémentaire par l’utilisateur.</li>
<li>Firefox 64 bits est automatiquement installé pour les ordinateurs disposant de Windows 64 bits et d’au moins 2 Gio de mémoire vive.</li>
<li>Les <a href="https://www.mozilla.org/firefox/all/">installateurs complets</a> sont toujours disponibles pour les utilisateurs avancés.</li>
</ul><p><img src="//img.linuxfr.org/img/68747470733a2f2f636c6f75642e61646f7273617a2e63682f696e6465782e7068702f732f7a65487976386d6d776145546762382f646f776e6c6f6164/download" alt="Le nouvel installateur de Firefox" title="Source : https://cloud.adorsaz.ch/index.php/s/zeHyv8mmwaETgb8/download"></p>

<p>Quelques modifications permettent de protéger un peu mieux la confidentialité des données utilisateurs:</p>

<ul>
<li>Lors de la saisie d’un nom de domaine sans schéma (<code>http://</code>, <code>https://</code>) dans la barre de navigation, Firefox tente d’abord la connexion avec le protocole sécurisé <code>https://</code> au lieu de <code>http://</code>
</li>
<li>Le plugin Flash est par défaut en « cliquer pour activer » et uniquement autorisé sur <code>http://</code> et <code>https://</code>. Ce changement va être lancé progressivement et ne sera pas visible par tous les utilisateurs immédiatement. Plus d’informations sur la <a href="https://developer.mozilla.org/en-US/docs/Plugins/Roadmap">feuille de route des plugins dans Firefox (en)</a>
</li>
</ul><p>En vrac, les autres modifications apportées pour cette version:</p>

<ul>
<li>Firefox pour bureau est traduit en biélorusse (be)</li>
<li>L’implémentation WebRTC supporte maintenant les microphones stéréos.</li>
<li>L’interface utilisateur pour les mises à jour a été modernisée pour être moins intrusive et plus alignée avec le reste du navigateur. Seul les utilisateurs qui n’ont pas redémarré leur navigateur 8 jours après le téléchargement d’une mise à jour ou ceux qui ont désactivé les mises à jour automatiques verront ce changement.</li>
</ul><p>Les développeurs ne sont pas en reste et les outils disponibles reçoivent aussi des mises à jour:</p>

<ul>
<li>Le moniteur réseau permet de sélectionner les colonnes à afficher. De nouvelles colonnes apparaissent également: l’adresse IP distante, le protocole, le schéma, les cookies, les cookies créés</li>
<li>Ce dernier fournit en plus une interface de filtre des connexions à afficher (par des filtres sur les valeurs des colonnes ou par expressions régulières)</li>
<li>L’en-tête HTTP <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/SourceMap"><code>SourceMap</code></a> est pris en compte pour <a href="https://developer.mozilla.org/en-US/docs/Tools/Debugger/How_to/Use_a_source_map">aider le débuggage</a> des codes Javascript minifiés ou générés automatiquement depuis d’autres sources].</li>
</ul><p>Comme d’habitude, pour connaître tous les changements sur les technologies invisibles de Firefox (moteur de rendu <em>HTML</em>, <em>DOM</em>, <em>JavaScript</em>, <em>API</em>, <em>WebExtensions</em>…), vous pouvez vous référer aux <a href="https://developer.mozilla.org/en-US/Firefox/Releases/55">notes de versions pour développeur</a> (en).</p>
<h2 id="firefox-pour-android">Firefox pour Android</h2>

<p>La version 55 de Firefox pour Android est la dernière qui sera installable sur Android 4.0 (sorti en 2011). Ainsi, les dernières mises à jour apportées pour Android 4.0 contiennent:</p>

<ul>
<li>De nouvelles actions qui ont été ajoutées pour gérer les onglets: il est maintenant possible d’ordonner les onglets par le maintien et le déplacement d’un onglet dans la boîte à onglet.</li>
<li>Une option d’accessibilité a été ajoutée pour respecter la configuration système des polices lors de l’affichage des pages web</li>
<li>Pour les vidéos non visibles sur une page web, le rendu des images ne sera plus effectué pour économiser l’énergie de la batterie. L’audio de ces vidéos quant à lui continuera d’être joué.</li>
<li>Firefox pour Android est traduit en grec (el) et en lao (lo)</li>
</ul><h2 id="prochaines-versions">Prochaines versions</h2>

<ul>
<li>La version 56 de Firefox est <a href="https://wiki.mozilla.org/Firefox/Roadmap">prévue</a> pour le 26 septembre, une aide dans l’<a href="/redaction">espace de rédaction</a> est bienvenue pour sortir la prochaine dépêche à temps</li>
<li>Recherche dans l’écran Préférences pour trouver les options rapidement de n’importe quelle catégorie</li>
<li>Une restructuration de l’interface de Firefox arrivera avec la version 57. Le projet nommé <a href="http://design.firefox.com/photon/welcome.html">Photon</a> est déjà activé pour les utilisateurs de Firefox Nightly (la version de test de Firefox). Un débat a été lancé dans <a href="//linuxfr.org/users/jiehong/journaux/firefox-photon-comment-l-interface-va-redevenir-ce-qu-elle-etait">le journal de Jiehong</a> : est-ce que le nouveau projet Photon est un retour en arrière par rapport à l’ancien projet <a href="https://blog.mozilla.org/ux/2013/11/australis-is-landing-in-firefox-nightly/">Australis</a> ?</li>
</ul><h2 id="autour-de-firefox">Autour de Firefox</h2>
<h3 id="campagne-de-financement-réussie-pour-grammalecte">Campagne de financement réussie pour Grammalecte</h3>

<p>Le développeur de Grammalecte pourra mettre à jour son extension Firefox grâce au succès de sa seconde campagne de financement participatif.</p>

<p>Comme Mozilla a changé de fusil d’épaule pour les recommandations des technologies à utiliser pour les développeurs d’extensions (WebExtensions à la place du SDK qui remplaçait déjà XUL), Olivier devra reprendre le code de l’extension Grammalecte crée suite à son premier financement participatif pour rester compatible avec les futures versions de Mozilla Firefox.</p>

<p>Pour plus d’informations, référez-vous à la dépêche dédiée à la <a href="//linuxfr.org/news/grammalecte-correcteur-grammatical-2">seconde campagne de financement de Grammalecte</a>.</p>
<h3 id="polémique-dutilisation-de-google-analytics-dans-firefox-via-les-pages-web-de-mozilla-intégrées-dans-linterface">Polémique d’utilisation de Google Analytics dans Firefox via les pages web de Mozilla intégrées dans l’interface</h3>

<p>Le recours à Google Analytics dans Firefox même, sur la page des modules (<code>about:addons</code>), dans l’onglet « Catalogue », fait polémique auprès des utilisateurs attachés au respect de leur vie privée.</p>

<p>Techniquement cette page interne à Firefox n’utilise pas directement Google Analytics, elle contient uniquement un objet XUL <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/browser"><code>browser</code></a> qui est l’équivalent du conteneur <code>iframe</code> d’HTML. Cependant, le contenu de la page pointée par le conteneur pointe sur une page du site web <a href="https://discovery.addons.mozilla.org">https://discovery.addons.mozilla.org</a> qui, lui, recourt à Google Analytics.</p>

<p>À noter d’une part que ce recueil de données ne semble pas pouvoir être bloqué avec la version <a href="https://github.com/mozilla/addons-frontend/issues/2785#issuecomment-314807534">WebExtension de uBlock Origin</a>, d’autre part que le navigateur Tor Browser (une version spécialisée de Firefox pour mieux protéger la vie privée) est aussi concerné.</p>

<p>Un correctif conçu le 13 juillet par Mozilla pour ses sites consiste à bloquer l’envoi de données à Google lorsque le visiteur de <a href="https://addons.mozilla.org">https://addons.mozilla.org</a> a activé la fonction « Ne pas me pister » du navigateur. Ainsi, l’activation cette fonction empêche le recueil de données, que ce soit directement sur la page Web addons.mozilla.org ou indirectement par la page <code>about:addons</code> de Firefox.</p>

<p>Confronté à cette polémique, Mozilla a donc finalement décidé d’offrir le choix à l’utilisateur, mais selon la technique de l’<em>opt-out</em>. Comme il s’agit de collecte de données à l’intérieur du navigateur, le choix de la technique de l’<em>opt-in</em> aurait sans doute été plus éthique.</p>

<p>De leur côté, les utilisateurs de Tor Browser ont évidemment réagi et <a href="https://trac.torproject.org/projects/tor/ticket/22900">ouvert un rapport</a>. La solution appliquée sera la suppression de cet onglet « Catalogue » dans l’interface de Tor Browser, comme <a href="https://trac.torproject.org/projects/tor/ticket/22073">c’était déjà prévu</a> pour d’autres raisons dans ce projet.</p>

<p>Vous pouvez lire <a href="//linuxfr.org/users/antistress/journaux/polemique-concernant-le-recours-a-google-analytics-sur-la-page-about-addons-de-firefox">le journal d’antistress</a> pour plus de détails et de débats à ce sujet.</p></div><div><a href="https://linuxfr.org/news/firefox-55-est-pret-pour-la-rentree-2017.epub">Télécharger ce contenu au format Epub</a></div>    <p><a href="https://linuxfr.org/news/firefox-55-est-pret-pour-la-rentree-2017#comments">Lire les commentaires</a></p>


guid: http://korben.info/?p=87882
title: Zeus – Un script qui va vous aider à sécuriser votre AWS
author: Korben
url: https://korben.info/zeus-script-va-aider-a-securiser-aws.html
feedurl: https://korben.info/feed
content:
<p>Si vous utilisez AWS (Amazon WebServices) et que vous voulez vérifier que niveau sécurité, ce n’est pas trop la cata, je vous propose d'utiliser Zeus.</p>
<p>Cet outil écrit en python est destiné à contrôler et sécuriser la config d'AWS EC2 / S3 / CloudTrail / CloudWatch / KMS. Zeus s'assure que vous n'utilisiez pas de compte root, que l'authentification multi facteur (MFA) est bien activé pour tous les utilisateurs, que les identifiants non utilisés depuis 90 jours ou plus soient bien désactivés, que les clés d'accès changent bien tous les 90 jours et que les règles concernant les mots de passe IAM soient bien respectées.</p>
<p>Zeus vérifie aussi que CloudTrail est bien activé dans toutes les régions, que la validation du fichier de log est active, que les logs Cloudtrail des buckets S3 ne sont pas accessibles publiquement...etc.</p>
<p>Pour que Zeus fonctionne vous devez avant tout installer et configurer le client <a href="https://aws.amazon.com/fr/cli/?tag=amazon0d16-21" rel="nofollow" target="_blank">aws (aws-cli)</a> sur votre machine Linux/Unix/OSX.</p>
<p>Ensuite, installez et lancez Zeus comme ceci :</p>
<blockquote><p>git clone <a href="https://github.com/DenizParlak/Zeus.git">https://github.com/DenizParlak/Zeus.git</a></p>
<p>cd Zeus</p>
<p>chmod +x zeus.sh</p>
<p>./zeus.sh</p></blockquote>
<p><a href="https://camo.githubusercontent.com/f9305b8dbbf777cf5a625aaa0f4302a33bf4b197/68747470733a2f2f692e68697a6c69726573696d2e636f6d2f44644259626d2e6a7067" target="_blank" rel="noopener"><img class="aligncenter" src="https://camo.githubusercontent.com/f9305b8dbbf777cf5a625aaa0f4302a33bf4b197/68747470733a2f2f692e68697a6c69726573696d2e636f6d2f44644259626d2e6a7067" alt="alt text" width="650" height="447" data-canonical-src="https://i.hizliresim.com/DdBYbm.jpg" /></a></p>
<p>Amusez-vous bien !</p>
<p>Cet article merveilleux et sans aucun égal intitulé : <a rel="nofollow" href="https://korben.info/zeus-script-va-aider-a-securiser-aws.html">Zeus &#8211; Un script qui va vous aider à sécuriser votre AWS</a> ; a été publié sur <a rel="nofollow" href="https://korben.info">Korben</a>, le seul site qui t'aime plus fort que tes parents.</p>
<hr><p>Si vous utilisez AWS (Amazon WebServices) et que vous voulez vérifier que niveau sécurité, ce n’est pas trop la cata, je vous propose d'utiliser Zeus. Cet outil écrit en python est destiné à contrôler et sécuriser la config d'AWS EC2 / S3 / CloudTrail / CloudWatch / KMS. Zeus s'assure que vous n'utilisiez pas de <a class="read-more" href="https://korben.info/zeus-script-va-aider-a-securiser-aws.html">> Lire la suite</a></p>
<p>Cet article merveilleux et sans aucun égal intitulé : <a rel="nofollow" href="https://korben.info/zeus-script-va-aider-a-securiser-aws.html">Zeus &#8211; Un script qui va vous aider à sécuriser votre AWS</a> ; a été publié sur <a rel="nofollow" href="https://korben.info">Korben</a>, le seul site qui t'aime plus fort que tes parents.</p>


guid: http://korben.info/?p=88460
title: iPad Pro 10.5″ & iOS11 : Au Boulot ! – test complet
author: Korben
url: https://korben.info/ipad-pro-10-5-ios11-boulot-test-complet.html
feedurl: https://korben.info/feed
content:
<p>iOS 11 est sorti et avec lui une floppée de nouvelles features qui lui donnent une tête qui ressemble de plus en plus au PC.</p>
<p>D'ailleurs, ceux qui voudraient se mettre à jour sur iOS 11 ou souhaiteraient commencer à coder en Swift, vous avez une promo à 10 € <a href="http://korben.info/kbn/ios11" target="_blank">chez Udemy ici</a></p>
<p>Et avec les 10;5 pouces de l'éran de <a href="http://amzn.to/2feteN1" target="_blank">l'iPad Pro</a>, forcé de constater que la tablette d'Apple tend à effacer sensiblement la frontière qui la sépare de son grand frère le Macbook.</p>
<p>Une identité produit déjà abordée par Microsoft avec la Surface Book, mais Apple tente le pari de proposer la maniabilité d'une tablette avec la compétence technique d'un ordinateur.</p>
<p>Du coup, pour vous faire une opinion, on vous propose le test complet de l'iPad Pro version 2017 et d'IOS11 d'Apple.</p>
<p>Le duo gagnant pour remplacer votre PC ?</p>
<p><iframe width="560" height="315" src="https://www.youtube.com/embed/_Uyzk8UGy90" frameborder="0" allowfullscreen></iframe></p>
<p>Cet article merveilleux et sans aucun égal intitulé : <a rel="nofollow" href="https://korben.info/ipad-pro-10-5-ios11-boulot-test-complet.html">iPad Pro 10.5&#8243; &#038; iOS11 : Au Boulot ! &#8211; test complet</a> ; a été publié sur <a rel="nofollow" href="https://korben.info">Korben</a>, le seul site qui t'aime plus fort que tes parents.</p>
<hr><p>iOS 11 est sorti et avec lui une floppée de nouvelles features qui lui donnent une tête qui ressemble de plus en plus au PC. D'ailleurs, ceux qui voudraient se mettre à jour sur iOS 11 ou souhaiteraient commencer à coder en Swift, vous avez une promo à 10 € chez Udemy ici Et avec <a class="read-more" href="https://korben.info/ipad-pro-10-5-ios11-boulot-test-complet.html">> Lire la suite</a></p>
<p>Cet article merveilleux et sans aucun égal intitulé : <a rel="nofollow" href="https://korben.info/ipad-pro-10-5-ios11-boulot-test-complet.html">iPad Pro 10.5&#8243; &#038; iOS11 : Au Boulot ! &#8211; test complet</a> ; a été publié sur <a rel="nofollow" href="https://korben.info">Korben</a>, le seul site qui t'aime plus fort que tes parents.</p>


guid: https://shaar.libox.fr/?06gQww
title: Le réalisateur de Deadpool va adapter Neuromancien au cinéma
url: https://www.tomsguide.fr/actualite/film-neuromancien-tim-miller,58590.html
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><blockquote>
<p>Alors que Tim Miller ne reviendra pas réaliser la suite de Deadpool, on a appris ce mercredi que le cinéaste travaillait sur une adaptation du roman fondateur du mouvement cyberpunk, Neuromancien de William Gibson.<br />
&#8212; <a href="https://shaar.libox.fr/?06gQww" title="Permalink">Permalink</a></p>
</blockquote></div>


guid: https://shaar.libox.fr/?qBfDTw
title: Lemmings
feedurl: https://shaar.libox.fr/?do=atom
url:
https://framapiaf.org/system/media_attachments/files/000/191/555/original/8cc30e3bd7852b7d.mp4?1502313890

content:
<div class="markdown"><p>Via <a href="https://social.wxcafe.net/@bram">https://social.wxcafe.net/@bram</a><br />
&#8212; <a href="https://shaar.libox.fr/?qBfDTw" title="Permalink">Permalink</a></p></div>


guid: https://shaar.libox.fr/?SO4AJg
title: Migration d’une version majeure de PostgreSQL à une autre (pour Debian Stretch) | Fiat Tux
feedurl: https://shaar.libox.fr/?do=atom
url:
https://fiat-tux.fr/2017/08/10/migration-dune-version-majeure-de-postgresql-a-une-autre-pour-debian-stretch/

content:
<div class="markdown"><p>&#8212; <a href="https://shaar.libox.fr/?SO4AJg" title="Permalink">Permalink</a></p></div>


guid: https://shaar.libox.fr/?LRXbzg
title: technique:ganeti [Alsace Réseau Neutre]
url: https://wiki.arn-fai.net/technique:ganeti
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><blockquote>
<p>Ganeti est un outil de gestion de cluster de machines virtuelles développé par Google. l'empilage de solutions utilise Xen ou KVM comme plate-forme de virtualisation, LVM pour la gestion de disques, et éventuellement DRBD pour la réplication de disque sur des hôtes physiques.<br />
&#8212; <a href="https://shaar.libox.fr/?LRXbzg" title="Permalink">Permalink</a></p>
</blockquote></div>


guid: https://shaar.libox.fr/?dsw5Zg
url: https://links.kevinvuilleumier.net/?RzHi-Q
feedurl: https://shaar.libox.fr/?do=atom
title:
Guide de mise en conformité de Piwik à destination des éditeurs de sites Web - CNIL - Liens en bazar

content:
<div class="markdown"><p><a href="https://www.cnil.fr/sites/default/files/typo/document/Configuration_piwik.pdf">https://www.cnil.fr/sites/default/files/typo/document/Configuration_piwik.pdf</a><br />
&#8212; <a href="https://shaar.libox.fr/?dsw5Zg" title="Permalink">Permalink</a></p></div>


guid: https://shaar.libox.fr/?NoMQBg
title: Humaan Website Checklist
url: http://humaan.com/checklist/
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><p>Via <a href="https://links.kalvn.net/?HWjNYw">https://links.kalvn.net/?HWjNYw</a><br />
&#8212; <a href="https://shaar.libox.fr/?NoMQBg" title="Permalink">Permalink</a></p></div>


guid: https://shaar.libox.fr/?w1_n3w
feedurl: https://shaar.libox.fr/?do=atom
title:
.Net Standard 2.0 est disponible en version finale, avec plus de 30 000 API et une compatibilité avec les packages NuGet ciblant le Framework .Net

url:
https://www.developpez.com/actu/153937/-Net-Standard-2-0-est-disponible-en-version-finale-avec-plus-de-30-000-API-et-une-compatibilite-avec-les-packages-NuGet-ciblant-le-Framework-Net/

content:
<div class="markdown"><blockquote>
<p>À la fin de l’année dernière, Microsoft et les contributeurs aux projets .Net ont publié la feuille de route des différentes implémentations majeures de l’environnement .Net à savoir .Net Core 2.0 et .Net Standard 2.0. Dans ce programme, il a été annoncé que .Net Core 2.0 et .Net Standard 2.0 seraient disponibles en version stable au troisième trimestre de cette année. Depuis quelques heures .Net Standard 2.0 est disponible en version finale.<br />
&#8212; <a href="https://shaar.libox.fr/?w1_n3w" title="Permalink">Permalink</a></p>
</blockquote></div>


guid: https://shaar.libox.fr/?1q-1JQ
title: Update: What's Going On with Anime News Network? - Anime News Network
feedurl: https://shaar.libox.fr/?do=atom
url:
http://www.animenewsnetwork.cc/site-news/2017-08-08/update-what-going-on-with-anime-news-network/.119882

content:
<div class="markdown"><blockquote>
<p>Last night, Anime News Network suffered a pretty major hack, one that took down our original domain (www.animenewsnetwork.com) and compromised our email domain — meaning that for the moment, you can't reach us through any animenewsnetwork.com email accounts. We're working on getting this fixed.<br />
&#8212; <a href="https://shaar.libox.fr/?1q-1JQ" title="Permalink">Permalink</a></p>
</blockquote></div>


guid: https://shaar.libox.fr/?hh0joA
title: C'est quoi l'urbex, cette pratique qui séduit de nombreux jeunes ?
url: http://www.letelegramme.fr/soir/c-est-quoi-l-urbex-10-08-2017-11625583.php
feedurl: https://shaar.libox.fr/?do=atom
content:
<div class="markdown"><p>Bisous Oros.<br />
&#8212; <a href="https://shaar.libox.fr/?hh0joA" title="Permalink">Permalink</a></p></div>


guid: https://liens.strak.ch/?AhsWkQ
title: Group Policy Search
url: https://gpsearch.azurewebsites.net/
feedurl: https://liens.strak.ch/?do=rss
content:
<div class="markdown"><p>Un site pour rechercher une fonctionnalité spécifique dans les GPO ! En plusieurs langues, awesome.</p>
<p>via <a href="https://www.tech2tech.fr/gpsearch-un-moteur-de-recherche-pour-gpo/">https://www.tech2tech.fr/gpsearch-un-moteur-de-recherche-pour-gpo/</a><br />
&#8212; <a href="https://liens.strak.ch/?AhsWkQ" title="Permalink">Permalink</a></p></div>


guid: https://www.ecirtam.net/opennews/?84Rx5g
feedurl: https://www.ecirtam.net/opennews/?do=atom
content: (<a href="https://www.ecirtam.net/opennews/?84Rx5g">Permalink</a>)
title:
QIFF (14) – Détournements filmiques, déconstruction politique : « c’est ça l’histoire » ! | L'Indigné du Canapé

url:
http://www.indigne-du-canape.com/qiff-14-detournements-filmiques-deconstruction-politique-cest-ca-lhistoire/


