update link to cv
This commit is contained in:
parent
fc2d717f3b
commit
34ed10dfbf
393 changed files with 3158 additions and 3820 deletions
|
@ -26,7 +26,7 @@
|
|||
<a class="btn" href="../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><article class="listpage"><header><h1>Posts for year 2015</h1>
|
||||
</header><ul class="postlist">
|
||||
<li>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<a class="btn" href="../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><article class="listpage"><header><h1>Posts for year 2016</h1>
|
||||
</header><ul class="postlist">
|
||||
<li>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<a class="btn" href="../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><article class="listpage"><header><h1>Posts for year 2017</h1>
|
||||
</header><ul class="postlist">
|
||||
<li>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<a class="btn" href="../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><article class="listpage"><header><h1>Posts for year 2018</h1>
|
||||
</header><ul class="postlist">
|
||||
<li>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<a class="btn" href="../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><article class="listpage"><header><h1>Posts for year 2019</h1>
|
||||
</header><ul class="postlist">
|
||||
<li>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<a class="btn" href="../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><article class="listpage"><header><h1>Posts for year 2020</h1>
|
||||
</header><ul class="postlist">
|
||||
<li>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<a class="btn" href="rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><article class="listpage"><header><h1>Archive</h1>
|
||||
</header><ul class="postlist">
|
||||
<li>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<a class="btn" href="rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><article class="listpage"><header><h1>Archive</h1>
|
||||
</header><ul class="postlist">
|
||||
<li style="list-style-type:none">2020 (1):
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/* Minimal style sheet for the HTML output of Docutils. */
|
||||
/* */
|
||||
/* :Author: Günter Milde, based on html4css1.css by David Goodger */
|
||||
/* :Id: $Id: minimal.css 7952 2016-07-26 18:15:59Z milde $ */
|
||||
/* :Copyright: © 2015 Günter Milde. */
|
||||
/* :Id: $Id: minimal.css 9079 2022-06-19 14:00:56Z milde $ */
|
||||
/* :Copyright: © 2015, 2021 Günter Milde. */
|
||||
/* :License: Released under the terms of the `2-Clause BSD license`_, */
|
||||
/* in short: */
|
||||
/* */
|
||||
|
@ -14,89 +14,73 @@
|
|||
/* */
|
||||
/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */
|
||||
|
||||
/* This CSS2.1_ stylesheet defines rules for Docutils elements without */
|
||||
/* HTML equivalent. It is required to make the document semantic visible. */
|
||||
/* */
|
||||
/* .. _CSS2.1: http://www.w3.org/TR/CSS2 */
|
||||
/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */
|
||||
|
||||
/* alignment of text and inline objects inside block objects*/
|
||||
.align-left { text-align: left; }
|
||||
.align-right { text-align: right; }
|
||||
.align-center { clear: both; text-align: center; }
|
||||
.align-top { vertical-align: top; }
|
||||
.align-middle { vertical-align: middle; }
|
||||
.align-bottom { vertical-align: bottom; }
|
||||
/* This CSS3 stylesheet defines rules for Docutils elements without */
|
||||
/* HTML equivalent. It is required to make the document semantics visible. */
|
||||
/* */
|
||||
/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */
|
||||
|
||||
/* titles */
|
||||
h1.title, p.subtitle {
|
||||
text-align: center;
|
||||
}
|
||||
p.admonition-title,
|
||||
p.topic-title,
|
||||
p.sidebar-title,
|
||||
p.rubric,
|
||||
p.admonition-title,
|
||||
p.system-message-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
h1 + p.subtitle,
|
||||
h1 + p.section-subtitle {
|
||||
font-size: 1.6em;
|
||||
p.sidebar-title,
|
||||
p.rubric {
|
||||
font-weight: bold;
|
||||
font-size: larger;
|
||||
}
|
||||
p.rubric {
|
||||
color: maroon;
|
||||
}
|
||||
h2 + p.section-subtitle { font-size: 1.28em; }
|
||||
p.subtitle,
|
||||
p.section-subtitle,
|
||||
p.sidebar-subtitle {
|
||||
font-weight: bold;
|
||||
margin-top: -0.5em;
|
||||
}
|
||||
p.sidebar-title,
|
||||
p.rubric {
|
||||
font-size: larger;
|
||||
h1 + p.subtitle {
|
||||
font-size: 1.6em;
|
||||
}
|
||||
p.rubric { color: maroon; }
|
||||
a.toc-backref {
|
||||
color: black;
|
||||
text-decoration: none; }
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Warnings, Errors */
|
||||
div.caution p.admonition-title,
|
||||
div.attention p.admonition-title,
|
||||
div.danger p.admonition-title,
|
||||
div.error p.admonition-title,
|
||||
div.warning p.admonition-title,
|
||||
div.system-messages h1,
|
||||
div.error,
|
||||
span.problematic,
|
||||
p.system-message-title {
|
||||
.system-messages h2,
|
||||
.system-message-title,
|
||||
span.problematic {
|
||||
color: red;
|
||||
}
|
||||
|
||||
/* inline literals */
|
||||
span.docutils.literal {
|
||||
/* Inline Literals */
|
||||
.docutils.literal {
|
||||
font-family: monospace;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
/* do not wraph at hyphens and similar: */
|
||||
/* do not wrap at hyphens and similar: */
|
||||
.literal > span.pre { white-space: nowrap; }
|
||||
|
||||
/* Lists */
|
||||
|
||||
/* compact and simple lists: no margin between items */
|
||||
.simple li, .compact li,
|
||||
.simple ul, .compact ul,
|
||||
.simple ol, .compact ol,
|
||||
.simple > li p, .compact > li p,
|
||||
dl.simple > dd, dl.compact > dd {
|
||||
.simple li, .simple ul, .simple ol,
|
||||
.compact li, .compact ul, .compact ol,
|
||||
.simple > li p, dl.simple > dd,
|
||||
.compact > li p, dl.compact > dd {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
/* Nested Paragraphs */
|
||||
p:first-child { margin-top: 0; }
|
||||
p:last-child { margin-bottom: 0; }
|
||||
details > p:last-child { margin-bottom: 1em; }
|
||||
|
||||
/* Table of Contents */
|
||||
/*div.topic.contents { margin: 0; }*/
|
||||
ul.auto-toc {
|
||||
.contents ul.auto-toc { /* section numbers present */
|
||||
list-style-type: none;
|
||||
padding-left: 1.5em; }
|
||||
}
|
||||
|
||||
/* Enumerated Lists */
|
||||
ol.arabic { list-style: decimal }
|
||||
|
@ -105,15 +89,22 @@ ol.upperalpha { list-style: upper-alpha }
|
|||
ol.lowerroman { list-style: lower-roman }
|
||||
ol.upperroman { list-style: upper-roman }
|
||||
|
||||
dt span.classifier { font-style: italic }
|
||||
dt span.classifier:before {
|
||||
/* Definition Lists and Derivatives */
|
||||
dt .classifier { font-style: italic }
|
||||
dt .classifier:before {
|
||||
font-style: normal;
|
||||
margin: 0.5em;
|
||||
content: ":";
|
||||
}
|
||||
|
||||
/* Field Lists and drivatives */
|
||||
/* Field Lists and similar */
|
||||
/* bold field name, content starts on the same line */
|
||||
dl.field-list,
|
||||
dl.option-list,
|
||||
dl.docinfo,
|
||||
dl.footnote,
|
||||
dl.citation {
|
||||
display: flow-root;
|
||||
}
|
||||
dl.field-list > dt,
|
||||
dl.option-list > dt,
|
||||
dl.docinfo > dt,
|
||||
|
@ -124,13 +115,19 @@ dl.citation > dt {
|
|||
float: left;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
padding-right: 0.5em;
|
||||
padding-right: 0.2em;
|
||||
}
|
||||
/* Offset for field content (corresponds to the --field-name-limit option) */
|
||||
dl.field-list > dd,
|
||||
dl.option-list > dd,
|
||||
dl.docinfo > dd {
|
||||
margin-left: 9em; /* ca. 14 chars in the test examples */
|
||||
margin-left: 9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */
|
||||
}
|
||||
/* start nested lists on new line */
|
||||
dd > dl:first-child,
|
||||
dd > ul:first-child,
|
||||
dd > ol:first-child {
|
||||
clear: left;
|
||||
}
|
||||
/* start field-body on a new line after long field names */
|
||||
dl.field-list > dd > *:first-child,
|
||||
|
@ -140,130 +137,158 @@ dl.option-list > dd > *:first-child
|
|||
width: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
/* field names followed by a colon */
|
||||
dl.field-list > dt:after,
|
||||
dl.docinfo > dt:after {
|
||||
content: ":";
|
||||
}
|
||||
|
||||
/* Bibliographic Fields (docinfo) */
|
||||
pre.address { font: inherit; }
|
||||
dd.authors > p { margin: 0; }
|
||||
dl.docinfo pre.address {
|
||||
font: inherit;
|
||||
margin: 0.5em 0;
|
||||
}
|
||||
dl.docinfo > dd.authors > p { margin: 0; }
|
||||
|
||||
/* Option Lists */
|
||||
dl.option-list { margin-left: 40px; }
|
||||
dl.option-list > dt { font-weight: normal; }
|
||||
span.option { white-space: nowrap; }
|
||||
|
||||
/* Footnotes and Citations */
|
||||
dl.footnote.superscript > dd {margin-left: 1em; }
|
||||
dl.footnote.brackets > dd {margin-left: 2em; }
|
||||
dl > dt.label { font-weight: normal; }
|
||||
a.footnote-reference.brackets:before,
|
||||
|
||||
.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */
|
||||
/* hanging indent */
|
||||
.citation { padding-left: 2em; }
|
||||
.footnote { padding-left: 1.7em; }
|
||||
.footnote.superscript { padding-left: 1.0em; }
|
||||
.citation > .label { margin-left: -2em; }
|
||||
.footnote > .label { margin-left: -1.7em; }
|
||||
.footnote.superscript > .label { margin-left: -1.0em; }
|
||||
|
||||
.footnote > .label + *,
|
||||
.citation > .label + * {
|
||||
display: inline-block;
|
||||
margin-top: 0;
|
||||
vertical-align: top;
|
||||
}
|
||||
.footnote > .backrefs + *,
|
||||
.citation > .backrefs + * {
|
||||
margin-top: 0;
|
||||
}
|
||||
.footnote > .label + p, .footnote > .backrefs + p,
|
||||
.citation > .label + p, .citation > .backrefs + p {
|
||||
display: inline;
|
||||
vertical-align: inherit;
|
||||
}
|
||||
|
||||
.backrefs { user-select: none; }
|
||||
.backrefs > a { font-style: italic; }
|
||||
|
||||
/* superscript footnotes */
|
||||
a[role="doc-noteref"].superscript,
|
||||
.footnote.superscript > .label,
|
||||
.footnote.superscript > .backrefs {
|
||||
vertical-align: super;
|
||||
font-size: smaller;
|
||||
line-height: 1;
|
||||
}
|
||||
a[role="doc-noteref"].superscript > .fn-bracket,
|
||||
.footnote.superscript > .label > .fn-bracket {
|
||||
/* hide brackets in display but leave for copy/paste */
|
||||
display: inline-block;
|
||||
width: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
[role="doc-noteref"].superscript + [role="doc-noteref"].superscript {
|
||||
padding-left: 0.15em; /* separate consecutive footnote references */
|
||||
/* TODO: unfortunately, "+" also selects with text between the references. */
|
||||
}
|
||||
|
||||
/* Legacy Footnotes and Citations */
|
||||
dl.footnote.superscript > dd { margin-left: 1em; }
|
||||
dl.footnote.brackets > dd { margin-left: 2em; }
|
||||
dl.footnote > dt { font-weight: normal; }
|
||||
dt.label > span.brackets:before { content: "["; }
|
||||
a.footnote-reference.brackets:after,
|
||||
dt.label > span.brackets:after { content: "]"; }
|
||||
a.footnote-reference.superscript,
|
||||
dl.footnote.superscript > dt.label {
|
||||
vertical-align: super;
|
||||
font-size: smaller;
|
||||
font-size: small;
|
||||
}
|
||||
dt.label > span.fn-backref {
|
||||
margin-left: 0.2em;
|
||||
font-weight: normal;
|
||||
}
|
||||
dt.label > span.fn-backref { margin-left: 0.2em; }
|
||||
dt.label > span.fn-backref > a { font-style: italic; }
|
||||
|
||||
/* Line Blocks */
|
||||
div.line-block { display: block; }
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
margin-left: 40px;
|
||||
}
|
||||
|
||||
/* Figures, Images, and Tables */
|
||||
.figure.align-left,
|
||||
img.align-left,
|
||||
object.align-left,
|
||||
table.align-left {
|
||||
/* Alignment */
|
||||
.align-left {
|
||||
text-align: left;
|
||||
margin-right: auto;
|
||||
}
|
||||
.figure.align-center,
|
||||
img.align-center,
|
||||
object.align-center {
|
||||
.align-center {
|
||||
text-align: center;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.align-right {
|
||||
text-align: right;
|
||||
margin-left: auto;
|
||||
}
|
||||
.align-top { vertical-align: top; }
|
||||
.align-middle { vertical-align: middle; }
|
||||
.align-bottom { vertical-align: bottom; }
|
||||
|
||||
img.align-left, img.align-center, img.align-right,
|
||||
.figure.align-left, .figure.align-center, .figure.align-right,
|
||||
object.align-left, object.align-center, object.align-right {
|
||||
display: block;
|
||||
}
|
||||
table.align-center {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.figure.align-right,
|
||||
img.align-right,
|
||||
object.align-right,
|
||||
table.align-right {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
/* reset inner alignment in figures and tables */
|
||||
div.align-left, div.align-center, div.align-right,
|
||||
table.align-left, table.align-center, table.align-right
|
||||
{ text-align: inherit }
|
||||
|
||||
/* Admonitions and System Messages */
|
||||
div.admonition,
|
||||
div.system-message,
|
||||
div.sidebar{
|
||||
margin: 40px;
|
||||
border: medium outset;
|
||||
padding-right: 1em;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
/* Sidebar */
|
||||
div.sidebar {
|
||||
width: 30%;
|
||||
max-width: 26em;
|
||||
float: right;
|
||||
clear: right;
|
||||
figure.align-left, figure.align-right,
|
||||
table.align-left, table.align-center, table.align-right {
|
||||
text-align: inherit;
|
||||
}
|
||||
|
||||
/* Text Blocks */
|
||||
div.topic,
|
||||
pre.literal-block,
|
||||
pre.doctest-block,
|
||||
pre.math,
|
||||
pre.code {
|
||||
margin-right: 40px;
|
||||
margin-left: 40px;
|
||||
.topic { margin: 1em 2em; }
|
||||
.sidebar,
|
||||
.admonition,
|
||||
.system-message {
|
||||
margin: 1em 2em;
|
||||
border: thin solid;
|
||||
padding: 0.5em 1em;
|
||||
}
|
||||
div.line-block { display: block; }
|
||||
div.line-block div.line-block, pre { margin-left: 2em; }
|
||||
|
||||
/* Code line numbers: dropped when copying text from the page */
|
||||
pre.code .ln { display: none; }
|
||||
pre.code code:before {
|
||||
content: attr(data-lineno); /* …, none) fallback not supported by any browser */
|
||||
color: gray;
|
||||
}
|
||||
pre.code .ln { color: gray; } /* line numbers */
|
||||
|
||||
/* Tables */
|
||||
table.docutils { border-collapse: collapse; }
|
||||
table.docutils > td, table.docutils > th {
|
||||
border-style: solid;
|
||||
border-color: silver;
|
||||
padding: 0 1ex;
|
||||
border-width: thin;
|
||||
}
|
||||
table.docutils > td > p:first-child, table.docutils > th > p:first-child { margin-top: 0; }
|
||||
table.docutils > td > p, table.docutils > th > p { margin-bottom: 0; }
|
||||
td > p:first-child, th > p:first-child { margin-top: 0; }
|
||||
td > p, th > p { margin-bottom: 0; }
|
||||
|
||||
table.docutils > caption {
|
||||
text-align: left;
|
||||
margin-bottom: 0.25em
|
||||
}
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
.borderless td, .borderless th {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
padding-right: 0.5em /* separate table cells */
|
||||
}
|
||||
|
||||
table > caption {
|
||||
text-align: left;
|
||||
margin-top: 0.2em;
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
table.captionbelow {
|
||||
caption-side: bottom;
|
||||
}
|
||||
|
||||
/* CSS31_ style sheet for the output of Docutils HTML writers. */
|
||||
/* Rules for easy reading and pre-defined style variants. */
|
||||
/* */
|
||||
/* :Author: Günter Milde, based on html4css1.css by David Goodger */
|
||||
/* :Id: $Id: plain.css 7952 2016-07-26 18:15:59Z milde $ */
|
||||
/* :Id: $Id: plain.css 9081 2022-06-19 20:23:12Z milde $ */
|
||||
/* :Copyright: © 2015 Günter Milde. */
|
||||
/* :License: Released under the terms of the `2-Clause BSD license`_, */
|
||||
/* in short: */
|
||||
|
@ -275,16 +300,28 @@ table.borderless td, table.borderless th {
|
|||
/* This file is offered as-is, without any warranty. */
|
||||
/* */
|
||||
/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */
|
||||
/* .. _CSS3: http://www.w3.org/TR/CSS3 */
|
||||
/* .. _CSS3: https://www.w3.org/Style/CSS/ */
|
||||
|
||||
|
||||
/* Document Structure */
|
||||
/* ****************** */
|
||||
|
||||
/* Sections */
|
||||
/* Table of Contents */
|
||||
ul.auto-toc > li > p {
|
||||
padding-left: 1em;
|
||||
text-indent: -1em;
|
||||
}
|
||||
nav.contents ul {
|
||||
padding-left: 1em;
|
||||
}
|
||||
main > nav.contents ul ul ul ul:not(.auto-toc) {
|
||||
list-style-type: '\2B29\ ';
|
||||
}
|
||||
main > nav.contents ul ul ul ul ul:not(.auto-toc) {
|
||||
list-style-type: '\2B1D\ ';
|
||||
}
|
||||
|
||||
/* Transitions */
|
||||
|
||||
hr.docutils {
|
||||
width: 80%;
|
||||
margin-top: 1em;
|
||||
|
@ -292,50 +329,46 @@ hr.docutils {
|
|||
clear: both;
|
||||
}
|
||||
|
||||
/* Paragraphs */
|
||||
/* ========== */
|
||||
|
||||
/* vertical space (parskip) */
|
||||
/*p, ol, ul, dl,*/
|
||||
/*div.line-block,*/
|
||||
/*table{*/
|
||||
/*margin-top: 0.5em;*/
|
||||
/*margin-bottom: 0.5em;*/
|
||||
/*}*/
|
||||
/*h1, h2, h3, h4, h5, h6, */
|
||||
dl > dd {
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
/* Lists */
|
||||
/* ========== */
|
||||
/* Lists */
|
||||
/* ===== */
|
||||
|
||||
/* Definition Lists */
|
||||
|
||||
dl > dd p:first-child { margin-top: 0; }
|
||||
/* :last-child is not part of CSS 2.1 (introduced in CSS 3) */
|
||||
/* dl > dd p:last-child { margin-bottom: 0; } */
|
||||
|
||||
/* lists nested in definition lists */
|
||||
/* :only-child is not part of CSS 2.1 (introduced in CSS 3) */
|
||||
/* Definition Lists */
|
||||
/* Indent lists nested in definition lists */
|
||||
dd > ul:only-child, dd > ol:only-child { padding-left: 1em; }
|
||||
|
||||
/* Description Lists */
|
||||
/* styled like in most dictionaries, encyclopedias etc. */
|
||||
dl.description {
|
||||
display: flow-root;
|
||||
}
|
||||
dl.description > dt {
|
||||
font-weight: bold;
|
||||
clear: left;
|
||||
float: left;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
padding-right: 0.5em;
|
||||
padding-right: 0.3em;
|
||||
}
|
||||
dl.description > dd:after {
|
||||
display: table;
|
||||
content: "";
|
||||
clear: left; /* clearfix for empty descriptions */
|
||||
}
|
||||
|
||||
/* Field Lists */
|
||||
|
||||
dl.field-list > dd,
|
||||
dl.docinfo > dd {
|
||||
margin-left: var(--field-indent); /* adapted in media queries or HTML */
|
||||
}
|
||||
|
||||
/* example for custom field-name width */
|
||||
dl.field-list.narrow > dd {
|
||||
margin-left: 5em;
|
||||
--field-indent: 5em;
|
||||
}
|
||||
/* run-in: start field-body on same line after long field names */
|
||||
dl.field-list.run-in > dd p {
|
||||
|
@ -344,8 +377,8 @@ dl.field-list.run-in > dd p {
|
|||
|
||||
/* Bibliographic Fields */
|
||||
|
||||
/* generally, bibliographic fields use special definition list dl.docinfo */
|
||||
/* but dedication and abstract are placed into "topic" divs */
|
||||
/* generally, bibliographic fields use dl.docinfo */
|
||||
/* but dedication and abstract are placed into divs */
|
||||
div.abstract p.topic-title {
|
||||
text-align: center;
|
||||
}
|
||||
|
@ -358,44 +391,28 @@ div.dedication p.topic-title {
|
|||
font-style: normal;
|
||||
}
|
||||
|
||||
/* Citations */
|
||||
dl.citation dt.label {
|
||||
font-weight: bold;
|
||||
}
|
||||
span.fn-backref {
|
||||
font-weight: normal;
|
||||
}
|
||||
/* disclosures */
|
||||
details { padding-left: 1em; }
|
||||
summary { margin-left: -1em; }
|
||||
|
||||
/* Text Blocks */
|
||||
/* ============ */
|
||||
/* Text Blocks */
|
||||
/* =========== */
|
||||
|
||||
/* Literal Blocks */
|
||||
/* Literal Blocks */
|
||||
pre.literal-block, pre.doctest-block,
|
||||
pre.math, pre.code {
|
||||
margin-left: 1.5em;
|
||||
margin-right: 1.5em
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
/* Block Quotes */
|
||||
|
||||
blockquote,
|
||||
div.topic {
|
||||
margin-left: 1.5em;
|
||||
margin-right: 1.5em
|
||||
}
|
||||
blockquote > table,
|
||||
div.topic > table {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
/* Block Quotes and Topics */
|
||||
blockquote p.attribution,
|
||||
div.topic p.attribution {
|
||||
.topic p.attribution {
|
||||
text-align: right;
|
||||
margin-left: 20%;
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
/* ====== */
|
||||
/* Tables */
|
||||
/* ====== */
|
||||
|
||||
/* th { vertical-align: bottom; } */
|
||||
|
||||
|
@ -422,55 +439,79 @@ table.numbered > caption:before {
|
|||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Explicit Markup Blocks */
|
||||
/* ====================== */
|
||||
/* Explicit Markup Blocks */
|
||||
/* ====================== */
|
||||
|
||||
/* Footnotes and Citations */
|
||||
/* ----------------------- */
|
||||
/* Footnotes and Citations */
|
||||
/* ----------------------- */
|
||||
|
||||
/* line on the left */
|
||||
.footnote-list {
|
||||
border-left: solid thin;
|
||||
padding-left: 0.25em;
|
||||
}
|
||||
|
||||
/* same thing for old docutils versions */
|
||||
dl.footnote {
|
||||
padding-left: 1ex;
|
||||
border-left: solid;
|
||||
border-left-width: thin;
|
||||
}
|
||||
|
||||
/* Directives */
|
||||
/* ---------- */
|
||||
/* Directives */
|
||||
/* ---------- */
|
||||
|
||||
/* Body Elements */
|
||||
/* ~~~~~~~~~~~~~ */
|
||||
/* Body Elements */
|
||||
/* ~~~~~~~~~~~~~ */
|
||||
|
||||
/* Images and Figures */
|
||||
|
||||
/* let content flow to the side of aligned images and figures */
|
||||
.figure.align-left,
|
||||
figure.align-left,
|
||||
img.align-left,
|
||||
video.align-left,
|
||||
object.align-left {
|
||||
display: block;
|
||||
clear: left;
|
||||
float: left;
|
||||
margin-right: 1em
|
||||
margin-right: 1em;
|
||||
}
|
||||
.figure.align-right,
|
||||
figure.align-right,
|
||||
img.align-right,
|
||||
video.align-right,
|
||||
object.align-right {
|
||||
display: block;
|
||||
clear: right;
|
||||
float: right;
|
||||
margin-left: 1em
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
/* Numbered figures */
|
||||
figure.numbered > figcaption > p:before {
|
||||
counter-increment: figure;
|
||||
content: "Figure " counter(figure) ": ";
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Admonitions and System Messages */
|
||||
.caution p.admonition-title,
|
||||
.attention p.admonition-title,
|
||||
.danger p.admonition-title,
|
||||
.error p.admonition-title,
|
||||
.warning p.admonition-title,
|
||||
div.error {
|
||||
color: red;
|
||||
}
|
||||
|
||||
/* Sidebar */
|
||||
|
||||
/* Move into the margin. In a layout with fixed margins, */
|
||||
/* it can be moved into the margin completely. */
|
||||
div.sidebar {
|
||||
/* Move right. In a layout with fixed margins, */
|
||||
/* it can be moved into the margin. */
|
||||
aside.sidebar {
|
||||
width: 30%;
|
||||
max-width: 26em;
|
||||
float: right;
|
||||
clear: right;
|
||||
margin-left: 1em;
|
||||
margin-right: -5.5%;
|
||||
background-color: #ffffee ;
|
||||
margin-right: -1%;
|
||||
background-color: #fffffa;
|
||||
}
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
|
@ -561,22 +602,22 @@ td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5
|
|||
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||
pre.code .hll, .code .codetable .hll, .highlight pre .hll { background-color: #ffffcc }
|
||||
pre.code , .code .codetable , .highlight pre { background: #f8f8f8; }
|
||||
pre.code .c, .code .codetable .c, .highlight pre .c { color: #408080; font-style: italic } /* Comment */
|
||||
pre.code .c, .code .codetable .c, .highlight pre .c { color: #3D7B7B; font-style: italic } /* Comment */
|
||||
pre.code .err, .code .codetable .err, .highlight pre .err { border: 1px solid #FF0000 } /* Error */
|
||||
pre.code .k, .code .codetable .k, .highlight pre .k { color: #008000; font-weight: bold } /* Keyword */
|
||||
pre.code .o, .code .codetable .o, .highlight pre .o { color: #666666 } /* Operator */
|
||||
pre.code .ch, .code .codetable .ch, .highlight pre .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
|
||||
pre.code .cm, .code .codetable .cm, .highlight pre .cm { color: #408080; font-style: italic } /* Comment.Multiline */
|
||||
pre.code .cp, .code .codetable .cp, .highlight pre .cp { color: #BC7A00 } /* Comment.Preproc */
|
||||
pre.code .cpf, .code .codetable .cpf, .highlight pre .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
|
||||
pre.code .c1, .code .codetable .c1, .highlight pre .c1 { color: #408080; font-style: italic } /* Comment.Single */
|
||||
pre.code .cs, .code .codetable .cs, .highlight pre .cs { color: #408080; font-style: italic } /* Comment.Special */
|
||||
pre.code .ch, .code .codetable .ch, .highlight pre .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
|
||||
pre.code .cm, .code .codetable .cm, .highlight pre .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
|
||||
pre.code .cp, .code .codetable .cp, .highlight pre .cp { color: #9C6500 } /* Comment.Preproc */
|
||||
pre.code .cpf, .code .codetable .cpf, .highlight pre .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
|
||||
pre.code .c1, .code .codetable .c1, .highlight pre .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
|
||||
pre.code .cs, .code .codetable .cs, .highlight pre .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
|
||||
pre.code .gd, .code .codetable .gd, .highlight pre .gd { color: #A00000 } /* Generic.Deleted */
|
||||
pre.code .ge, .code .codetable .ge, .highlight pre .ge { font-style: italic } /* Generic.Emph */
|
||||
pre.code .gr, .code .codetable .gr, .highlight pre .gr { color: #FF0000 } /* Generic.Error */
|
||||
pre.code .gr, .code .codetable .gr, .highlight pre .gr { color: #E40000 } /* Generic.Error */
|
||||
pre.code .gh, .code .codetable .gh, .highlight pre .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
pre.code .gi, .code .codetable .gi, .highlight pre .gi { color: #00A000 } /* Generic.Inserted */
|
||||
pre.code .go, .code .codetable .go, .highlight pre .go { color: #888888 } /* Generic.Output */
|
||||
pre.code .gi, .code .codetable .gi, .highlight pre .gi { color: #008400 } /* Generic.Inserted */
|
||||
pre.code .go, .code .codetable .go, .highlight pre .go { color: #717171 } /* Generic.Output */
|
||||
pre.code .gp, .code .codetable .gp, .highlight pre .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
|
||||
pre.code .gs, .code .codetable .gs, .highlight pre .gs { font-weight: bold } /* Generic.Strong */
|
||||
pre.code .gu, .code .codetable .gu, .highlight pre .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
|
@ -589,15 +630,15 @@ pre.code .kr, .code .codetable .kr, .highlight pre .kr { color: #008000; font-we
|
|||
pre.code .kt, .code .codetable .kt, .highlight pre .kt { color: #B00040 } /* Keyword.Type */
|
||||
pre.code .m, .code .codetable .m, .highlight pre .m { color: #666666 } /* Literal.Number */
|
||||
pre.code .s, .code .codetable .s, .highlight pre .s { color: #BA2121 } /* Literal.String */
|
||||
pre.code .na, .code .codetable .na, .highlight pre .na { color: #7D9029 } /* Name.Attribute */
|
||||
pre.code .na, .code .codetable .na, .highlight pre .na { color: #687822 } /* Name.Attribute */
|
||||
pre.code .nb, .code .codetable .nb, .highlight pre .nb { color: #008000 } /* Name.Builtin */
|
||||
pre.code .nc, .code .codetable .nc, .highlight pre .nc { color: #0000FF; font-weight: bold } /* Name.Class */
|
||||
pre.code .no, .code .codetable .no, .highlight pre .no { color: #880000 } /* Name.Constant */
|
||||
pre.code .nd, .code .codetable .nd, .highlight pre .nd { color: #AA22FF } /* Name.Decorator */
|
||||
pre.code .ni, .code .codetable .ni, .highlight pre .ni { color: #999999; font-weight: bold } /* Name.Entity */
|
||||
pre.code .ne, .code .codetable .ne, .highlight pre .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
|
||||
pre.code .ni, .code .codetable .ni, .highlight pre .ni { color: #717171; font-weight: bold } /* Name.Entity */
|
||||
pre.code .ne, .code .codetable .ne, .highlight pre .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
|
||||
pre.code .nf, .code .codetable .nf, .highlight pre .nf { color: #0000FF } /* Name.Function */
|
||||
pre.code .nl, .code .codetable .nl, .highlight pre .nl { color: #A0A000 } /* Name.Label */
|
||||
pre.code .nl, .code .codetable .nl, .highlight pre .nl { color: #767600 } /* Name.Label */
|
||||
pre.code .nn, .code .codetable .nn, .highlight pre .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
|
||||
pre.code .nt, .code .codetable .nt, .highlight pre .nt { color: #008000; font-weight: bold } /* Name.Tag */
|
||||
pre.code .nv, .code .codetable .nv, .highlight pre .nv { color: #19177C } /* Name.Variable */
|
||||
|
@ -614,11 +655,11 @@ pre.code .sc, .code .codetable .sc, .highlight pre .sc { color: #BA2121 } /* Lit
|
|||
pre.code .dl, .code .codetable .dl, .highlight pre .dl { color: #BA2121 } /* Literal.String.Delimiter */
|
||||
pre.code .sd, .code .codetable .sd, .highlight pre .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
|
||||
pre.code .s2, .code .codetable .s2, .highlight pre .s2 { color: #BA2121 } /* Literal.String.Double */
|
||||
pre.code .se, .code .codetable .se, .highlight pre .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
|
||||
pre.code .se, .code .codetable .se, .highlight pre .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
|
||||
pre.code .sh, .code .codetable .sh, .highlight pre .sh { color: #BA2121 } /* Literal.String.Heredoc */
|
||||
pre.code .si, .code .codetable .si, .highlight pre .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
|
||||
pre.code .si, .code .codetable .si, .highlight pre .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
|
||||
pre.code .sx, .code .codetable .sx, .highlight pre .sx { color: #008000 } /* Literal.String.Other */
|
||||
pre.code .sr, .code .codetable .sr, .highlight pre .sr { color: #BB6688 } /* Literal.String.Regex */
|
||||
pre.code .sr, .code .codetable .sr, .highlight pre .sr { color: #A45A77 } /* Literal.String.Regex */
|
||||
pre.code .s1, .code .codetable .s1, .highlight pre .s1 { color: #BA2121 } /* Literal.String.Single */
|
||||
pre.code .ss, .code .codetable .ss, .highlight pre .ss { color: #19177C } /* Literal.String.Symbol */
|
||||
pre.code .bp, .code .codetable .bp, .highlight pre .bp { color: #008000 } /* Name.Builtin.Pseudo */
|
||||
|
@ -642,7 +683,7 @@ table.codetable, table.highlighttable { width: 100%;}
|
|||
@charset "UTF-8";
|
||||
|
||||
/*
|
||||
Copyright © 2014-2021 Daniel Aleksandersen and others.
|
||||
Copyright © 2014-2023 Daniel Aleksandersen and others.
|
||||
|
||||
Permission is hereby granted, free of charge, to any
|
||||
person obtaining a copy of this software and associated
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/* Minimal style sheet for the HTML output of Docutils. */
|
||||
/* */
|
||||
/* :Author: Günter Milde, based on html4css1.css by David Goodger */
|
||||
/* :Id: $Id: minimal.css 7952 2016-07-26 18:15:59Z milde $ */
|
||||
/* :Copyright: © 2015 Günter Milde. */
|
||||
/* :Id: $Id: minimal.css 9079 2022-06-19 14:00:56Z milde $ */
|
||||
/* :Copyright: © 2015, 2021 Günter Milde. */
|
||||
/* :License: Released under the terms of the `2-Clause BSD license`_, */
|
||||
/* in short: */
|
||||
/* */
|
||||
|
@ -14,89 +14,73 @@
|
|||
/* */
|
||||
/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */
|
||||
|
||||
/* This CSS2.1_ stylesheet defines rules for Docutils elements without */
|
||||
/* HTML equivalent. It is required to make the document semantic visible. */
|
||||
/* */
|
||||
/* .. _CSS2.1: http://www.w3.org/TR/CSS2 */
|
||||
/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */
|
||||
|
||||
/* alignment of text and inline objects inside block objects*/
|
||||
.align-left { text-align: left; }
|
||||
.align-right { text-align: right; }
|
||||
.align-center { clear: both; text-align: center; }
|
||||
.align-top { vertical-align: top; }
|
||||
.align-middle { vertical-align: middle; }
|
||||
.align-bottom { vertical-align: bottom; }
|
||||
/* This CSS3 stylesheet defines rules for Docutils elements without */
|
||||
/* HTML equivalent. It is required to make the document semantics visible. */
|
||||
/* */
|
||||
/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */
|
||||
|
||||
/* titles */
|
||||
h1.title, p.subtitle {
|
||||
text-align: center;
|
||||
}
|
||||
p.admonition-title,
|
||||
p.topic-title,
|
||||
p.sidebar-title,
|
||||
p.rubric,
|
||||
p.admonition-title,
|
||||
p.system-message-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
h1 + p.subtitle,
|
||||
h1 + p.section-subtitle {
|
||||
font-size: 1.6em;
|
||||
p.sidebar-title,
|
||||
p.rubric {
|
||||
font-weight: bold;
|
||||
font-size: larger;
|
||||
}
|
||||
p.rubric {
|
||||
color: maroon;
|
||||
}
|
||||
h2 + p.section-subtitle { font-size: 1.28em; }
|
||||
p.subtitle,
|
||||
p.section-subtitle,
|
||||
p.sidebar-subtitle {
|
||||
font-weight: bold;
|
||||
margin-top: -0.5em;
|
||||
}
|
||||
p.sidebar-title,
|
||||
p.rubric {
|
||||
font-size: larger;
|
||||
h1 + p.subtitle {
|
||||
font-size: 1.6em;
|
||||
}
|
||||
p.rubric { color: maroon; }
|
||||
a.toc-backref {
|
||||
color: black;
|
||||
text-decoration: none; }
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Warnings, Errors */
|
||||
div.caution p.admonition-title,
|
||||
div.attention p.admonition-title,
|
||||
div.danger p.admonition-title,
|
||||
div.error p.admonition-title,
|
||||
div.warning p.admonition-title,
|
||||
div.system-messages h1,
|
||||
div.error,
|
||||
span.problematic,
|
||||
p.system-message-title {
|
||||
.system-messages h2,
|
||||
.system-message-title,
|
||||
span.problematic {
|
||||
color: red;
|
||||
}
|
||||
|
||||
/* inline literals */
|
||||
span.docutils.literal {
|
||||
/* Inline Literals */
|
||||
.docutils.literal {
|
||||
font-family: monospace;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
/* do not wraph at hyphens and similar: */
|
||||
/* do not wrap at hyphens and similar: */
|
||||
.literal > span.pre { white-space: nowrap; }
|
||||
|
||||
/* Lists */
|
||||
|
||||
/* compact and simple lists: no margin between items */
|
||||
.simple li, .compact li,
|
||||
.simple ul, .compact ul,
|
||||
.simple ol, .compact ol,
|
||||
.simple > li p, .compact > li p,
|
||||
dl.simple > dd, dl.compact > dd {
|
||||
.simple li, .simple ul, .simple ol,
|
||||
.compact li, .compact ul, .compact ol,
|
||||
.simple > li p, dl.simple > dd,
|
||||
.compact > li p, dl.compact > dd {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
/* Nested Paragraphs */
|
||||
p:first-child { margin-top: 0; }
|
||||
p:last-child { margin-bottom: 0; }
|
||||
details > p:last-child { margin-bottom: 1em; }
|
||||
|
||||
/* Table of Contents */
|
||||
/*div.topic.contents { margin: 0; }*/
|
||||
ul.auto-toc {
|
||||
.contents ul.auto-toc { /* section numbers present */
|
||||
list-style-type: none;
|
||||
padding-left: 1.5em; }
|
||||
}
|
||||
|
||||
/* Enumerated Lists */
|
||||
ol.arabic { list-style: decimal }
|
||||
|
@ -105,15 +89,22 @@ ol.upperalpha { list-style: upper-alpha }
|
|||
ol.lowerroman { list-style: lower-roman }
|
||||
ol.upperroman { list-style: upper-roman }
|
||||
|
||||
dt span.classifier { font-style: italic }
|
||||
dt span.classifier:before {
|
||||
/* Definition Lists and Derivatives */
|
||||
dt .classifier { font-style: italic }
|
||||
dt .classifier:before {
|
||||
font-style: normal;
|
||||
margin: 0.5em;
|
||||
content: ":";
|
||||
}
|
||||
|
||||
/* Field Lists and drivatives */
|
||||
/* Field Lists and similar */
|
||||
/* bold field name, content starts on the same line */
|
||||
dl.field-list,
|
||||
dl.option-list,
|
||||
dl.docinfo,
|
||||
dl.footnote,
|
||||
dl.citation {
|
||||
display: flow-root;
|
||||
}
|
||||
dl.field-list > dt,
|
||||
dl.option-list > dt,
|
||||
dl.docinfo > dt,
|
||||
|
@ -124,13 +115,19 @@ dl.citation > dt {
|
|||
float: left;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
padding-right: 0.5em;
|
||||
padding-right: 0.2em;
|
||||
}
|
||||
/* Offset for field content (corresponds to the --field-name-limit option) */
|
||||
dl.field-list > dd,
|
||||
dl.option-list > dd,
|
||||
dl.docinfo > dd {
|
||||
margin-left: 9em; /* ca. 14 chars in the test examples */
|
||||
margin-left: 9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */
|
||||
}
|
||||
/* start nested lists on new line */
|
||||
dd > dl:first-child,
|
||||
dd > ul:first-child,
|
||||
dd > ol:first-child {
|
||||
clear: left;
|
||||
}
|
||||
/* start field-body on a new line after long field names */
|
||||
dl.field-list > dd > *:first-child,
|
||||
|
@ -140,130 +137,158 @@ dl.option-list > dd > *:first-child
|
|||
width: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
/* field names followed by a colon */
|
||||
dl.field-list > dt:after,
|
||||
dl.docinfo > dt:after {
|
||||
content: ":";
|
||||
}
|
||||
|
||||
/* Bibliographic Fields (docinfo) */
|
||||
pre.address { font: inherit; }
|
||||
dd.authors > p { margin: 0; }
|
||||
dl.docinfo pre.address {
|
||||
font: inherit;
|
||||
margin: 0.5em 0;
|
||||
}
|
||||
dl.docinfo > dd.authors > p { margin: 0; }
|
||||
|
||||
/* Option Lists */
|
||||
dl.option-list { margin-left: 40px; }
|
||||
dl.option-list > dt { font-weight: normal; }
|
||||
span.option { white-space: nowrap; }
|
||||
|
||||
/* Footnotes and Citations */
|
||||
dl.footnote.superscript > dd {margin-left: 1em; }
|
||||
dl.footnote.brackets > dd {margin-left: 2em; }
|
||||
dl > dt.label { font-weight: normal; }
|
||||
a.footnote-reference.brackets:before,
|
||||
|
||||
.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */
|
||||
/* hanging indent */
|
||||
.citation { padding-left: 2em; }
|
||||
.footnote { padding-left: 1.7em; }
|
||||
.footnote.superscript { padding-left: 1.0em; }
|
||||
.citation > .label { margin-left: -2em; }
|
||||
.footnote > .label { margin-left: -1.7em; }
|
||||
.footnote.superscript > .label { margin-left: -1.0em; }
|
||||
|
||||
.footnote > .label + *,
|
||||
.citation > .label + * {
|
||||
display: inline-block;
|
||||
margin-top: 0;
|
||||
vertical-align: top;
|
||||
}
|
||||
.footnote > .backrefs + *,
|
||||
.citation > .backrefs + * {
|
||||
margin-top: 0;
|
||||
}
|
||||
.footnote > .label + p, .footnote > .backrefs + p,
|
||||
.citation > .label + p, .citation > .backrefs + p {
|
||||
display: inline;
|
||||
vertical-align: inherit;
|
||||
}
|
||||
|
||||
.backrefs { user-select: none; }
|
||||
.backrefs > a { font-style: italic; }
|
||||
|
||||
/* superscript footnotes */
|
||||
a[role="doc-noteref"].superscript,
|
||||
.footnote.superscript > .label,
|
||||
.footnote.superscript > .backrefs {
|
||||
vertical-align: super;
|
||||
font-size: smaller;
|
||||
line-height: 1;
|
||||
}
|
||||
a[role="doc-noteref"].superscript > .fn-bracket,
|
||||
.footnote.superscript > .label > .fn-bracket {
|
||||
/* hide brackets in display but leave for copy/paste */
|
||||
display: inline-block;
|
||||
width: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
[role="doc-noteref"].superscript + [role="doc-noteref"].superscript {
|
||||
padding-left: 0.15em; /* separate consecutive footnote references */
|
||||
/* TODO: unfortunately, "+" also selects with text between the references. */
|
||||
}
|
||||
|
||||
/* Legacy Footnotes and Citations */
|
||||
dl.footnote.superscript > dd { margin-left: 1em; }
|
||||
dl.footnote.brackets > dd { margin-left: 2em; }
|
||||
dl.footnote > dt { font-weight: normal; }
|
||||
dt.label > span.brackets:before { content: "["; }
|
||||
a.footnote-reference.brackets:after,
|
||||
dt.label > span.brackets:after { content: "]"; }
|
||||
a.footnote-reference.superscript,
|
||||
dl.footnote.superscript > dt.label {
|
||||
vertical-align: super;
|
||||
font-size: smaller;
|
||||
font-size: small;
|
||||
}
|
||||
dt.label > span.fn-backref {
|
||||
margin-left: 0.2em;
|
||||
font-weight: normal;
|
||||
}
|
||||
dt.label > span.fn-backref { margin-left: 0.2em; }
|
||||
dt.label > span.fn-backref > a { font-style: italic; }
|
||||
|
||||
/* Line Blocks */
|
||||
div.line-block { display: block; }
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
margin-left: 40px;
|
||||
}
|
||||
|
||||
/* Figures, Images, and Tables */
|
||||
.figure.align-left,
|
||||
img.align-left,
|
||||
object.align-left,
|
||||
table.align-left {
|
||||
/* Alignment */
|
||||
.align-left {
|
||||
text-align: left;
|
||||
margin-right: auto;
|
||||
}
|
||||
.figure.align-center,
|
||||
img.align-center,
|
||||
object.align-center {
|
||||
.align-center {
|
||||
text-align: center;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.align-right {
|
||||
text-align: right;
|
||||
margin-left: auto;
|
||||
}
|
||||
.align-top { vertical-align: top; }
|
||||
.align-middle { vertical-align: middle; }
|
||||
.align-bottom { vertical-align: bottom; }
|
||||
|
||||
img.align-left, img.align-center, img.align-right,
|
||||
.figure.align-left, .figure.align-center, .figure.align-right,
|
||||
object.align-left, object.align-center, object.align-right {
|
||||
display: block;
|
||||
}
|
||||
table.align-center {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.figure.align-right,
|
||||
img.align-right,
|
||||
object.align-right,
|
||||
table.align-right {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
/* reset inner alignment in figures and tables */
|
||||
div.align-left, div.align-center, div.align-right,
|
||||
table.align-left, table.align-center, table.align-right
|
||||
{ text-align: inherit }
|
||||
|
||||
/* Admonitions and System Messages */
|
||||
div.admonition,
|
||||
div.system-message,
|
||||
div.sidebar{
|
||||
margin: 40px;
|
||||
border: medium outset;
|
||||
padding-right: 1em;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
/* Sidebar */
|
||||
div.sidebar {
|
||||
width: 30%;
|
||||
max-width: 26em;
|
||||
float: right;
|
||||
clear: right;
|
||||
figure.align-left, figure.align-right,
|
||||
table.align-left, table.align-center, table.align-right {
|
||||
text-align: inherit;
|
||||
}
|
||||
|
||||
/* Text Blocks */
|
||||
div.topic,
|
||||
pre.literal-block,
|
||||
pre.doctest-block,
|
||||
pre.math,
|
||||
pre.code {
|
||||
margin-right: 40px;
|
||||
margin-left: 40px;
|
||||
.topic { margin: 1em 2em; }
|
||||
.sidebar,
|
||||
.admonition,
|
||||
.system-message {
|
||||
margin: 1em 2em;
|
||||
border: thin solid;
|
||||
padding: 0.5em 1em;
|
||||
}
|
||||
div.line-block { display: block; }
|
||||
div.line-block div.line-block, pre { margin-left: 2em; }
|
||||
|
||||
/* Code line numbers: dropped when copying text from the page */
|
||||
pre.code .ln { display: none; }
|
||||
pre.code code:before {
|
||||
content: attr(data-lineno); /* …, none) fallback not supported by any browser */
|
||||
color: gray;
|
||||
}
|
||||
pre.code .ln { color: gray; } /* line numbers */
|
||||
|
||||
/* Tables */
|
||||
table.docutils { border-collapse: collapse; }
|
||||
table.docutils > td, table.docutils > th {
|
||||
border-style: solid;
|
||||
border-color: silver;
|
||||
padding: 0 1ex;
|
||||
border-width: thin;
|
||||
}
|
||||
table.docutils > td > p:first-child, table.docutils > th > p:first-child { margin-top: 0; }
|
||||
table.docutils > td > p, table.docutils > th > p { margin-bottom: 0; }
|
||||
td > p:first-child, th > p:first-child { margin-top: 0; }
|
||||
td > p, th > p { margin-bottom: 0; }
|
||||
|
||||
table.docutils > caption {
|
||||
text-align: left;
|
||||
margin-bottom: 0.25em
|
||||
}
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
.borderless td, .borderless th {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
padding-right: 0.5em /* separate table cells */
|
||||
}
|
||||
|
||||
table > caption {
|
||||
text-align: left;
|
||||
margin-top: 0.2em;
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
table.captionbelow {
|
||||
caption-side: bottom;
|
||||
}
|
||||
|
||||
/* CSS31_ style sheet for the output of Docutils HTML writers. */
|
||||
/* Rules for easy reading and pre-defined style variants. */
|
||||
/* */
|
||||
/* :Author: Günter Milde, based on html4css1.css by David Goodger */
|
||||
/* :Id: $Id: plain.css 7952 2016-07-26 18:15:59Z milde $ */
|
||||
/* :Id: $Id: plain.css 9081 2022-06-19 20:23:12Z milde $ */
|
||||
/* :Copyright: © 2015 Günter Milde. */
|
||||
/* :License: Released under the terms of the `2-Clause BSD license`_, */
|
||||
/* in short: */
|
||||
|
@ -275,16 +300,28 @@ table.borderless td, table.borderless th {
|
|||
/* This file is offered as-is, without any warranty. */
|
||||
/* */
|
||||
/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */
|
||||
/* .. _CSS3: http://www.w3.org/TR/CSS3 */
|
||||
/* .. _CSS3: https://www.w3.org/Style/CSS/ */
|
||||
|
||||
|
||||
/* Document Structure */
|
||||
/* ****************** */
|
||||
|
||||
/* Sections */
|
||||
/* Table of Contents */
|
||||
ul.auto-toc > li > p {
|
||||
padding-left: 1em;
|
||||
text-indent: -1em;
|
||||
}
|
||||
nav.contents ul {
|
||||
padding-left: 1em;
|
||||
}
|
||||
main > nav.contents ul ul ul ul:not(.auto-toc) {
|
||||
list-style-type: '\2B29\ ';
|
||||
}
|
||||
main > nav.contents ul ul ul ul ul:not(.auto-toc) {
|
||||
list-style-type: '\2B1D\ ';
|
||||
}
|
||||
|
||||
/* Transitions */
|
||||
|
||||
hr.docutils {
|
||||
width: 80%;
|
||||
margin-top: 1em;
|
||||
|
@ -292,50 +329,46 @@ hr.docutils {
|
|||
clear: both;
|
||||
}
|
||||
|
||||
/* Paragraphs */
|
||||
/* ========== */
|
||||
|
||||
/* vertical space (parskip) */
|
||||
/*p, ol, ul, dl,*/
|
||||
/*div.line-block,*/
|
||||
/*table{*/
|
||||
/*margin-top: 0.5em;*/
|
||||
/*margin-bottom: 0.5em;*/
|
||||
/*}*/
|
||||
/*h1, h2, h3, h4, h5, h6, */
|
||||
dl > dd {
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
/* Lists */
|
||||
/* ========== */
|
||||
/* Lists */
|
||||
/* ===== */
|
||||
|
||||
/* Definition Lists */
|
||||
|
||||
dl > dd p:first-child { margin-top: 0; }
|
||||
/* :last-child is not part of CSS 2.1 (introduced in CSS 3) */
|
||||
/* dl > dd p:last-child { margin-bottom: 0; } */
|
||||
|
||||
/* lists nested in definition lists */
|
||||
/* :only-child is not part of CSS 2.1 (introduced in CSS 3) */
|
||||
/* Definition Lists */
|
||||
/* Indent lists nested in definition lists */
|
||||
dd > ul:only-child, dd > ol:only-child { padding-left: 1em; }
|
||||
|
||||
/* Description Lists */
|
||||
/* styled like in most dictionaries, encyclopedias etc. */
|
||||
dl.description {
|
||||
display: flow-root;
|
||||
}
|
||||
dl.description > dt {
|
||||
font-weight: bold;
|
||||
clear: left;
|
||||
float: left;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
padding-right: 0.5em;
|
||||
padding-right: 0.3em;
|
||||
}
|
||||
dl.description > dd:after {
|
||||
display: table;
|
||||
content: "";
|
||||
clear: left; /* clearfix for empty descriptions */
|
||||
}
|
||||
|
||||
/* Field Lists */
|
||||
|
||||
dl.field-list > dd,
|
||||
dl.docinfo > dd {
|
||||
margin-left: var(--field-indent); /* adapted in media queries or HTML */
|
||||
}
|
||||
|
||||
/* example for custom field-name width */
|
||||
dl.field-list.narrow > dd {
|
||||
margin-left: 5em;
|
||||
--field-indent: 5em;
|
||||
}
|
||||
/* run-in: start field-body on same line after long field names */
|
||||
dl.field-list.run-in > dd p {
|
||||
|
@ -344,8 +377,8 @@ dl.field-list.run-in > dd p {
|
|||
|
||||
/* Bibliographic Fields */
|
||||
|
||||
/* generally, bibliographic fields use special definition list dl.docinfo */
|
||||
/* but dedication and abstract are placed into "topic" divs */
|
||||
/* generally, bibliographic fields use dl.docinfo */
|
||||
/* but dedication and abstract are placed into divs */
|
||||
div.abstract p.topic-title {
|
||||
text-align: center;
|
||||
}
|
||||
|
@ -358,44 +391,28 @@ div.dedication p.topic-title {
|
|||
font-style: normal;
|
||||
}
|
||||
|
||||
/* Citations */
|
||||
dl.citation dt.label {
|
||||
font-weight: bold;
|
||||
}
|
||||
span.fn-backref {
|
||||
font-weight: normal;
|
||||
}
|
||||
/* disclosures */
|
||||
details { padding-left: 1em; }
|
||||
summary { margin-left: -1em; }
|
||||
|
||||
/* Text Blocks */
|
||||
/* ============ */
|
||||
/* Text Blocks */
|
||||
/* =========== */
|
||||
|
||||
/* Literal Blocks */
|
||||
/* Literal Blocks */
|
||||
pre.literal-block, pre.doctest-block,
|
||||
pre.math, pre.code {
|
||||
margin-left: 1.5em;
|
||||
margin-right: 1.5em
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
/* Block Quotes */
|
||||
|
||||
blockquote,
|
||||
div.topic {
|
||||
margin-left: 1.5em;
|
||||
margin-right: 1.5em
|
||||
}
|
||||
blockquote > table,
|
||||
div.topic > table {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
/* Block Quotes and Topics */
|
||||
blockquote p.attribution,
|
||||
div.topic p.attribution {
|
||||
.topic p.attribution {
|
||||
text-align: right;
|
||||
margin-left: 20%;
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
/* ====== */
|
||||
/* Tables */
|
||||
/* ====== */
|
||||
|
||||
/* th { vertical-align: bottom; } */
|
||||
|
||||
|
@ -422,55 +439,79 @@ table.numbered > caption:before {
|
|||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Explicit Markup Blocks */
|
||||
/* ====================== */
|
||||
/* Explicit Markup Blocks */
|
||||
/* ====================== */
|
||||
|
||||
/* Footnotes and Citations */
|
||||
/* ----------------------- */
|
||||
/* Footnotes and Citations */
|
||||
/* ----------------------- */
|
||||
|
||||
/* line on the left */
|
||||
.footnote-list {
|
||||
border-left: solid thin;
|
||||
padding-left: 0.25em;
|
||||
}
|
||||
|
||||
/* same thing for old docutils versions */
|
||||
dl.footnote {
|
||||
padding-left: 1ex;
|
||||
border-left: solid;
|
||||
border-left-width: thin;
|
||||
}
|
||||
|
||||
/* Directives */
|
||||
/* ---------- */
|
||||
/* Directives */
|
||||
/* ---------- */
|
||||
|
||||
/* Body Elements */
|
||||
/* ~~~~~~~~~~~~~ */
|
||||
/* Body Elements */
|
||||
/* ~~~~~~~~~~~~~ */
|
||||
|
||||
/* Images and Figures */
|
||||
|
||||
/* let content flow to the side of aligned images and figures */
|
||||
.figure.align-left,
|
||||
figure.align-left,
|
||||
img.align-left,
|
||||
video.align-left,
|
||||
object.align-left {
|
||||
display: block;
|
||||
clear: left;
|
||||
float: left;
|
||||
margin-right: 1em
|
||||
margin-right: 1em;
|
||||
}
|
||||
.figure.align-right,
|
||||
figure.align-right,
|
||||
img.align-right,
|
||||
video.align-right,
|
||||
object.align-right {
|
||||
display: block;
|
||||
clear: right;
|
||||
float: right;
|
||||
margin-left: 1em
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
/* Numbered figures */
|
||||
figure.numbered > figcaption > p:before {
|
||||
counter-increment: figure;
|
||||
content: "Figure " counter(figure) ": ";
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Admonitions and System Messages */
|
||||
.caution p.admonition-title,
|
||||
.attention p.admonition-title,
|
||||
.danger p.admonition-title,
|
||||
.error p.admonition-title,
|
||||
.warning p.admonition-title,
|
||||
div.error {
|
||||
color: red;
|
||||
}
|
||||
|
||||
/* Sidebar */
|
||||
|
||||
/* Move into the margin. In a layout with fixed margins, */
|
||||
/* it can be moved into the margin completely. */
|
||||
div.sidebar {
|
||||
/* Move right. In a layout with fixed margins, */
|
||||
/* it can be moved into the margin. */
|
||||
aside.sidebar {
|
||||
width: 30%;
|
||||
max-width: 26em;
|
||||
float: right;
|
||||
clear: right;
|
||||
margin-left: 1em;
|
||||
margin-right: -5.5%;
|
||||
background-color: #ffffee ;
|
||||
margin-right: -1%;
|
||||
background-color: #fffffa;
|
||||
}
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
|
@ -561,22 +602,22 @@ td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5
|
|||
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||
pre.code .hll, .code .codetable .hll, .highlight pre .hll { background-color: #ffffcc }
|
||||
pre.code , .code .codetable , .highlight pre { background: #f8f8f8; }
|
||||
pre.code .c, .code .codetable .c, .highlight pre .c { color: #408080; font-style: italic } /* Comment */
|
||||
pre.code .c, .code .codetable .c, .highlight pre .c { color: #3D7B7B; font-style: italic } /* Comment */
|
||||
pre.code .err, .code .codetable .err, .highlight pre .err { border: 1px solid #FF0000 } /* Error */
|
||||
pre.code .k, .code .codetable .k, .highlight pre .k { color: #008000; font-weight: bold } /* Keyword */
|
||||
pre.code .o, .code .codetable .o, .highlight pre .o { color: #666666 } /* Operator */
|
||||
pre.code .ch, .code .codetable .ch, .highlight pre .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
|
||||
pre.code .cm, .code .codetable .cm, .highlight pre .cm { color: #408080; font-style: italic } /* Comment.Multiline */
|
||||
pre.code .cp, .code .codetable .cp, .highlight pre .cp { color: #BC7A00 } /* Comment.Preproc */
|
||||
pre.code .cpf, .code .codetable .cpf, .highlight pre .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
|
||||
pre.code .c1, .code .codetable .c1, .highlight pre .c1 { color: #408080; font-style: italic } /* Comment.Single */
|
||||
pre.code .cs, .code .codetable .cs, .highlight pre .cs { color: #408080; font-style: italic } /* Comment.Special */
|
||||
pre.code .ch, .code .codetable .ch, .highlight pre .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
|
||||
pre.code .cm, .code .codetable .cm, .highlight pre .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
|
||||
pre.code .cp, .code .codetable .cp, .highlight pre .cp { color: #9C6500 } /* Comment.Preproc */
|
||||
pre.code .cpf, .code .codetable .cpf, .highlight pre .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
|
||||
pre.code .c1, .code .codetable .c1, .highlight pre .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
|
||||
pre.code .cs, .code .codetable .cs, .highlight pre .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
|
||||
pre.code .gd, .code .codetable .gd, .highlight pre .gd { color: #A00000 } /* Generic.Deleted */
|
||||
pre.code .ge, .code .codetable .ge, .highlight pre .ge { font-style: italic } /* Generic.Emph */
|
||||
pre.code .gr, .code .codetable .gr, .highlight pre .gr { color: #FF0000 } /* Generic.Error */
|
||||
pre.code .gr, .code .codetable .gr, .highlight pre .gr { color: #E40000 } /* Generic.Error */
|
||||
pre.code .gh, .code .codetable .gh, .highlight pre .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
pre.code .gi, .code .codetable .gi, .highlight pre .gi { color: #00A000 } /* Generic.Inserted */
|
||||
pre.code .go, .code .codetable .go, .highlight pre .go { color: #888888 } /* Generic.Output */
|
||||
pre.code .gi, .code .codetable .gi, .highlight pre .gi { color: #008400 } /* Generic.Inserted */
|
||||
pre.code .go, .code .codetable .go, .highlight pre .go { color: #717171 } /* Generic.Output */
|
||||
pre.code .gp, .code .codetable .gp, .highlight pre .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
|
||||
pre.code .gs, .code .codetable .gs, .highlight pre .gs { font-weight: bold } /* Generic.Strong */
|
||||
pre.code .gu, .code .codetable .gu, .highlight pre .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
|
@ -589,15 +630,15 @@ pre.code .kr, .code .codetable .kr, .highlight pre .kr { color: #008000; font-we
|
|||
pre.code .kt, .code .codetable .kt, .highlight pre .kt { color: #B00040 } /* Keyword.Type */
|
||||
pre.code .m, .code .codetable .m, .highlight pre .m { color: #666666 } /* Literal.Number */
|
||||
pre.code .s, .code .codetable .s, .highlight pre .s { color: #BA2121 } /* Literal.String */
|
||||
pre.code .na, .code .codetable .na, .highlight pre .na { color: #7D9029 } /* Name.Attribute */
|
||||
pre.code .na, .code .codetable .na, .highlight pre .na { color: #687822 } /* Name.Attribute */
|
||||
pre.code .nb, .code .codetable .nb, .highlight pre .nb { color: #008000 } /* Name.Builtin */
|
||||
pre.code .nc, .code .codetable .nc, .highlight pre .nc { color: #0000FF; font-weight: bold } /* Name.Class */
|
||||
pre.code .no, .code .codetable .no, .highlight pre .no { color: #880000 } /* Name.Constant */
|
||||
pre.code .nd, .code .codetable .nd, .highlight pre .nd { color: #AA22FF } /* Name.Decorator */
|
||||
pre.code .ni, .code .codetable .ni, .highlight pre .ni { color: #999999; font-weight: bold } /* Name.Entity */
|
||||
pre.code .ne, .code .codetable .ne, .highlight pre .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
|
||||
pre.code .ni, .code .codetable .ni, .highlight pre .ni { color: #717171; font-weight: bold } /* Name.Entity */
|
||||
pre.code .ne, .code .codetable .ne, .highlight pre .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
|
||||
pre.code .nf, .code .codetable .nf, .highlight pre .nf { color: #0000FF } /* Name.Function */
|
||||
pre.code .nl, .code .codetable .nl, .highlight pre .nl { color: #A0A000 } /* Name.Label */
|
||||
pre.code .nl, .code .codetable .nl, .highlight pre .nl { color: #767600 } /* Name.Label */
|
||||
pre.code .nn, .code .codetable .nn, .highlight pre .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
|
||||
pre.code .nt, .code .codetable .nt, .highlight pre .nt { color: #008000; font-weight: bold } /* Name.Tag */
|
||||
pre.code .nv, .code .codetable .nv, .highlight pre .nv { color: #19177C } /* Name.Variable */
|
||||
|
@ -614,11 +655,11 @@ pre.code .sc, .code .codetable .sc, .highlight pre .sc { color: #BA2121 } /* Lit
|
|||
pre.code .dl, .code .codetable .dl, .highlight pre .dl { color: #BA2121 } /* Literal.String.Delimiter */
|
||||
pre.code .sd, .code .codetable .sd, .highlight pre .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
|
||||
pre.code .s2, .code .codetable .s2, .highlight pre .s2 { color: #BA2121 } /* Literal.String.Double */
|
||||
pre.code .se, .code .codetable .se, .highlight pre .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
|
||||
pre.code .se, .code .codetable .se, .highlight pre .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
|
||||
pre.code .sh, .code .codetable .sh, .highlight pre .sh { color: #BA2121 } /* Literal.String.Heredoc */
|
||||
pre.code .si, .code .codetable .si, .highlight pre .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
|
||||
pre.code .si, .code .codetable .si, .highlight pre .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
|
||||
pre.code .sx, .code .codetable .sx, .highlight pre .sx { color: #008000 } /* Literal.String.Other */
|
||||
pre.code .sr, .code .codetable .sr, .highlight pre .sr { color: #BB6688 } /* Literal.String.Regex */
|
||||
pre.code .sr, .code .codetable .sr, .highlight pre .sr { color: #A45A77 } /* Literal.String.Regex */
|
||||
pre.code .s1, .code .codetable .s1, .highlight pre .s1 { color: #BA2121 } /* Literal.String.Single */
|
||||
pre.code .ss, .code .codetable .ss, .highlight pre .ss { color: #19177C } /* Literal.String.Symbol */
|
||||
pre.code .bp, .code .codetable .bp, .highlight pre .bp { color: #008000 } /* Name.Builtin.Pseudo */
|
||||
|
@ -642,7 +683,7 @@ table.codetable, table.highlighttable { width: 100%;}
|
|||
@charset "UTF-8";
|
||||
|
||||
/*
|
||||
Copyright © 2014-2021 Daniel Aleksandersen and others.
|
||||
Copyright © 2014-2023 Daniel Aleksandersen and others.
|
||||
|
||||
Permission is hereby granted, free of charge, to any
|
||||
person obtaining a copy of this software and associated
|
||||
|
|
|
@ -6,22 +6,22 @@ td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5
|
|||
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||
pre.code .hll, .code .codetable .hll, .highlight pre .hll { background-color: #ffffcc }
|
||||
pre.code , .code .codetable , .highlight pre { background: #f8f8f8; }
|
||||
pre.code .c, .code .codetable .c, .highlight pre .c { color: #408080; font-style: italic } /* Comment */
|
||||
pre.code .c, .code .codetable .c, .highlight pre .c { color: #3D7B7B; font-style: italic } /* Comment */
|
||||
pre.code .err, .code .codetable .err, .highlight pre .err { border: 1px solid #FF0000 } /* Error */
|
||||
pre.code .k, .code .codetable .k, .highlight pre .k { color: #008000; font-weight: bold } /* Keyword */
|
||||
pre.code .o, .code .codetable .o, .highlight pre .o { color: #666666 } /* Operator */
|
||||
pre.code .ch, .code .codetable .ch, .highlight pre .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
|
||||
pre.code .cm, .code .codetable .cm, .highlight pre .cm { color: #408080; font-style: italic } /* Comment.Multiline */
|
||||
pre.code .cp, .code .codetable .cp, .highlight pre .cp { color: #BC7A00 } /* Comment.Preproc */
|
||||
pre.code .cpf, .code .codetable .cpf, .highlight pre .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
|
||||
pre.code .c1, .code .codetable .c1, .highlight pre .c1 { color: #408080; font-style: italic } /* Comment.Single */
|
||||
pre.code .cs, .code .codetable .cs, .highlight pre .cs { color: #408080; font-style: italic } /* Comment.Special */
|
||||
pre.code .ch, .code .codetable .ch, .highlight pre .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
|
||||
pre.code .cm, .code .codetable .cm, .highlight pre .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
|
||||
pre.code .cp, .code .codetable .cp, .highlight pre .cp { color: #9C6500 } /* Comment.Preproc */
|
||||
pre.code .cpf, .code .codetable .cpf, .highlight pre .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
|
||||
pre.code .c1, .code .codetable .c1, .highlight pre .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
|
||||
pre.code .cs, .code .codetable .cs, .highlight pre .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
|
||||
pre.code .gd, .code .codetable .gd, .highlight pre .gd { color: #A00000 } /* Generic.Deleted */
|
||||
pre.code .ge, .code .codetable .ge, .highlight pre .ge { font-style: italic } /* Generic.Emph */
|
||||
pre.code .gr, .code .codetable .gr, .highlight pre .gr { color: #FF0000 } /* Generic.Error */
|
||||
pre.code .gr, .code .codetable .gr, .highlight pre .gr { color: #E40000 } /* Generic.Error */
|
||||
pre.code .gh, .code .codetable .gh, .highlight pre .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
pre.code .gi, .code .codetable .gi, .highlight pre .gi { color: #00A000 } /* Generic.Inserted */
|
||||
pre.code .go, .code .codetable .go, .highlight pre .go { color: #888888 } /* Generic.Output */
|
||||
pre.code .gi, .code .codetable .gi, .highlight pre .gi { color: #008400 } /* Generic.Inserted */
|
||||
pre.code .go, .code .codetable .go, .highlight pre .go { color: #717171 } /* Generic.Output */
|
||||
pre.code .gp, .code .codetable .gp, .highlight pre .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
|
||||
pre.code .gs, .code .codetable .gs, .highlight pre .gs { font-weight: bold } /* Generic.Strong */
|
||||
pre.code .gu, .code .codetable .gu, .highlight pre .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
|
@ -34,15 +34,15 @@ pre.code .kr, .code .codetable .kr, .highlight pre .kr { color: #008000; font-we
|
|||
pre.code .kt, .code .codetable .kt, .highlight pre .kt { color: #B00040 } /* Keyword.Type */
|
||||
pre.code .m, .code .codetable .m, .highlight pre .m { color: #666666 } /* Literal.Number */
|
||||
pre.code .s, .code .codetable .s, .highlight pre .s { color: #BA2121 } /* Literal.String */
|
||||
pre.code .na, .code .codetable .na, .highlight pre .na { color: #7D9029 } /* Name.Attribute */
|
||||
pre.code .na, .code .codetable .na, .highlight pre .na { color: #687822 } /* Name.Attribute */
|
||||
pre.code .nb, .code .codetable .nb, .highlight pre .nb { color: #008000 } /* Name.Builtin */
|
||||
pre.code .nc, .code .codetable .nc, .highlight pre .nc { color: #0000FF; font-weight: bold } /* Name.Class */
|
||||
pre.code .no, .code .codetable .no, .highlight pre .no { color: #880000 } /* Name.Constant */
|
||||
pre.code .nd, .code .codetable .nd, .highlight pre .nd { color: #AA22FF } /* Name.Decorator */
|
||||
pre.code .ni, .code .codetable .ni, .highlight pre .ni { color: #999999; font-weight: bold } /* Name.Entity */
|
||||
pre.code .ne, .code .codetable .ne, .highlight pre .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
|
||||
pre.code .ni, .code .codetable .ni, .highlight pre .ni { color: #717171; font-weight: bold } /* Name.Entity */
|
||||
pre.code .ne, .code .codetable .ne, .highlight pre .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
|
||||
pre.code .nf, .code .codetable .nf, .highlight pre .nf { color: #0000FF } /* Name.Function */
|
||||
pre.code .nl, .code .codetable .nl, .highlight pre .nl { color: #A0A000 } /* Name.Label */
|
||||
pre.code .nl, .code .codetable .nl, .highlight pre .nl { color: #767600 } /* Name.Label */
|
||||
pre.code .nn, .code .codetable .nn, .highlight pre .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
|
||||
pre.code .nt, .code .codetable .nt, .highlight pre .nt { color: #008000; font-weight: bold } /* Name.Tag */
|
||||
pre.code .nv, .code .codetable .nv, .highlight pre .nv { color: #19177C } /* Name.Variable */
|
||||
|
@ -59,11 +59,11 @@ pre.code .sc, .code .codetable .sc, .highlight pre .sc { color: #BA2121 } /* Lit
|
|||
pre.code .dl, .code .codetable .dl, .highlight pre .dl { color: #BA2121 } /* Literal.String.Delimiter */
|
||||
pre.code .sd, .code .codetable .sd, .highlight pre .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
|
||||
pre.code .s2, .code .codetable .s2, .highlight pre .s2 { color: #BA2121 } /* Literal.String.Double */
|
||||
pre.code .se, .code .codetable .se, .highlight pre .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
|
||||
pre.code .se, .code .codetable .se, .highlight pre .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
|
||||
pre.code .sh, .code .codetable .sh, .highlight pre .sh { color: #BA2121 } /* Literal.String.Heredoc */
|
||||
pre.code .si, .code .codetable .si, .highlight pre .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
|
||||
pre.code .si, .code .codetable .si, .highlight pre .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
|
||||
pre.code .sx, .code .codetable .sx, .highlight pre .sx { color: #008000 } /* Literal.String.Other */
|
||||
pre.code .sr, .code .codetable .sr, .highlight pre .sr { color: #BB6688 } /* Literal.String.Regex */
|
||||
pre.code .sr, .code .codetable .sr, .highlight pre .sr { color: #A45A77 } /* Literal.String.Regex */
|
||||
pre.code .s1, .code .codetable .s1, .highlight pre .s1 { color: #BA2121 } /* Literal.String.Single */
|
||||
pre.code .ss, .code .codetable .ss, .highlight pre .ss { color: #19177C } /* Literal.String.Symbol */
|
||||
pre.code .bp, .code .codetable .bp, .highlight pre .bp { color: #008000 } /* Name.Builtin.Pseudo */
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/* Minimal style sheet for the HTML output of Docutils. */
|
||||
/* */
|
||||
/* :Author: Günter Milde, based on html4css1.css by David Goodger */
|
||||
/* :Id: $Id: minimal.css 7952 2016-07-26 18:15:59Z milde $ */
|
||||
/* :Copyright: © 2015 Günter Milde. */
|
||||
/* :Id: $Id: minimal.css 9079 2022-06-19 14:00:56Z milde $ */
|
||||
/* :Copyright: © 2015, 2021 Günter Milde. */
|
||||
/* :License: Released under the terms of the `2-Clause BSD license`_, */
|
||||
/* in short: */
|
||||
/* */
|
||||
|
@ -14,89 +14,73 @@
|
|||
/* */
|
||||
/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */
|
||||
|
||||
/* This CSS2.1_ stylesheet defines rules for Docutils elements without */
|
||||
/* HTML equivalent. It is required to make the document semantic visible. */
|
||||
/* */
|
||||
/* .. _CSS2.1: http://www.w3.org/TR/CSS2 */
|
||||
/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */
|
||||
|
||||
/* alignment of text and inline objects inside block objects*/
|
||||
.align-left { text-align: left; }
|
||||
.align-right { text-align: right; }
|
||||
.align-center { clear: both; text-align: center; }
|
||||
.align-top { vertical-align: top; }
|
||||
.align-middle { vertical-align: middle; }
|
||||
.align-bottom { vertical-align: bottom; }
|
||||
/* This CSS3 stylesheet defines rules for Docutils elements without */
|
||||
/* HTML equivalent. It is required to make the document semantics visible. */
|
||||
/* */
|
||||
/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */
|
||||
|
||||
/* titles */
|
||||
h1.title, p.subtitle {
|
||||
text-align: center;
|
||||
}
|
||||
p.admonition-title,
|
||||
p.topic-title,
|
||||
p.sidebar-title,
|
||||
p.rubric,
|
||||
p.admonition-title,
|
||||
p.system-message-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
h1 + p.subtitle,
|
||||
h1 + p.section-subtitle {
|
||||
font-size: 1.6em;
|
||||
p.sidebar-title,
|
||||
p.rubric {
|
||||
font-weight: bold;
|
||||
font-size: larger;
|
||||
}
|
||||
p.rubric {
|
||||
color: maroon;
|
||||
}
|
||||
h2 + p.section-subtitle { font-size: 1.28em; }
|
||||
p.subtitle,
|
||||
p.section-subtitle,
|
||||
p.sidebar-subtitle {
|
||||
font-weight: bold;
|
||||
margin-top: -0.5em;
|
||||
}
|
||||
p.sidebar-title,
|
||||
p.rubric {
|
||||
font-size: larger;
|
||||
h1 + p.subtitle {
|
||||
font-size: 1.6em;
|
||||
}
|
||||
p.rubric { color: maroon; }
|
||||
a.toc-backref {
|
||||
color: black;
|
||||
text-decoration: none; }
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Warnings, Errors */
|
||||
div.caution p.admonition-title,
|
||||
div.attention p.admonition-title,
|
||||
div.danger p.admonition-title,
|
||||
div.error p.admonition-title,
|
||||
div.warning p.admonition-title,
|
||||
div.system-messages h1,
|
||||
div.error,
|
||||
span.problematic,
|
||||
p.system-message-title {
|
||||
.system-messages h2,
|
||||
.system-message-title,
|
||||
span.problematic {
|
||||
color: red;
|
||||
}
|
||||
|
||||
/* inline literals */
|
||||
span.docutils.literal {
|
||||
/* Inline Literals */
|
||||
.docutils.literal {
|
||||
font-family: monospace;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
/* do not wraph at hyphens and similar: */
|
||||
/* do not wrap at hyphens and similar: */
|
||||
.literal > span.pre { white-space: nowrap; }
|
||||
|
||||
/* Lists */
|
||||
|
||||
/* compact and simple lists: no margin between items */
|
||||
.simple li, .compact li,
|
||||
.simple ul, .compact ul,
|
||||
.simple ol, .compact ol,
|
||||
.simple > li p, .compact > li p,
|
||||
dl.simple > dd, dl.compact > dd {
|
||||
.simple li, .simple ul, .simple ol,
|
||||
.compact li, .compact ul, .compact ol,
|
||||
.simple > li p, dl.simple > dd,
|
||||
.compact > li p, dl.compact > dd {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
/* Nested Paragraphs */
|
||||
p:first-child { margin-top: 0; }
|
||||
p:last-child { margin-bottom: 0; }
|
||||
details > p:last-child { margin-bottom: 1em; }
|
||||
|
||||
/* Table of Contents */
|
||||
/*div.topic.contents { margin: 0; }*/
|
||||
ul.auto-toc {
|
||||
.contents ul.auto-toc { /* section numbers present */
|
||||
list-style-type: none;
|
||||
padding-left: 1.5em; }
|
||||
}
|
||||
|
||||
/* Enumerated Lists */
|
||||
ol.arabic { list-style: decimal }
|
||||
|
@ -105,15 +89,22 @@ ol.upperalpha { list-style: upper-alpha }
|
|||
ol.lowerroman { list-style: lower-roman }
|
||||
ol.upperroman { list-style: upper-roman }
|
||||
|
||||
dt span.classifier { font-style: italic }
|
||||
dt span.classifier:before {
|
||||
/* Definition Lists and Derivatives */
|
||||
dt .classifier { font-style: italic }
|
||||
dt .classifier:before {
|
||||
font-style: normal;
|
||||
margin: 0.5em;
|
||||
content: ":";
|
||||
}
|
||||
|
||||
/* Field Lists and drivatives */
|
||||
/* Field Lists and similar */
|
||||
/* bold field name, content starts on the same line */
|
||||
dl.field-list,
|
||||
dl.option-list,
|
||||
dl.docinfo,
|
||||
dl.footnote,
|
||||
dl.citation {
|
||||
display: flow-root;
|
||||
}
|
||||
dl.field-list > dt,
|
||||
dl.option-list > dt,
|
||||
dl.docinfo > dt,
|
||||
|
@ -124,13 +115,19 @@ dl.citation > dt {
|
|||
float: left;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
padding-right: 0.5em;
|
||||
padding-right: 0.2em;
|
||||
}
|
||||
/* Offset for field content (corresponds to the --field-name-limit option) */
|
||||
dl.field-list > dd,
|
||||
dl.option-list > dd,
|
||||
dl.docinfo > dd {
|
||||
margin-left: 9em; /* ca. 14 chars in the test examples */
|
||||
margin-left: 9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */
|
||||
}
|
||||
/* start nested lists on new line */
|
||||
dd > dl:first-child,
|
||||
dd > ul:first-child,
|
||||
dd > ol:first-child {
|
||||
clear: left;
|
||||
}
|
||||
/* start field-body on a new line after long field names */
|
||||
dl.field-list > dd > *:first-child,
|
||||
|
@ -140,130 +137,158 @@ dl.option-list > dd > *:first-child
|
|||
width: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
/* field names followed by a colon */
|
||||
dl.field-list > dt:after,
|
||||
dl.docinfo > dt:after {
|
||||
content: ":";
|
||||
}
|
||||
|
||||
/* Bibliographic Fields (docinfo) */
|
||||
pre.address { font: inherit; }
|
||||
dd.authors > p { margin: 0; }
|
||||
dl.docinfo pre.address {
|
||||
font: inherit;
|
||||
margin: 0.5em 0;
|
||||
}
|
||||
dl.docinfo > dd.authors > p { margin: 0; }
|
||||
|
||||
/* Option Lists */
|
||||
dl.option-list { margin-left: 40px; }
|
||||
dl.option-list > dt { font-weight: normal; }
|
||||
span.option { white-space: nowrap; }
|
||||
|
||||
/* Footnotes and Citations */
|
||||
dl.footnote.superscript > dd {margin-left: 1em; }
|
||||
dl.footnote.brackets > dd {margin-left: 2em; }
|
||||
dl > dt.label { font-weight: normal; }
|
||||
a.footnote-reference.brackets:before,
|
||||
|
||||
.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */
|
||||
/* hanging indent */
|
||||
.citation { padding-left: 2em; }
|
||||
.footnote { padding-left: 1.7em; }
|
||||
.footnote.superscript { padding-left: 1.0em; }
|
||||
.citation > .label { margin-left: -2em; }
|
||||
.footnote > .label { margin-left: -1.7em; }
|
||||
.footnote.superscript > .label { margin-left: -1.0em; }
|
||||
|
||||
.footnote > .label + *,
|
||||
.citation > .label + * {
|
||||
display: inline-block;
|
||||
margin-top: 0;
|
||||
vertical-align: top;
|
||||
}
|
||||
.footnote > .backrefs + *,
|
||||
.citation > .backrefs + * {
|
||||
margin-top: 0;
|
||||
}
|
||||
.footnote > .label + p, .footnote > .backrefs + p,
|
||||
.citation > .label + p, .citation > .backrefs + p {
|
||||
display: inline;
|
||||
vertical-align: inherit;
|
||||
}
|
||||
|
||||
.backrefs { user-select: none; }
|
||||
.backrefs > a { font-style: italic; }
|
||||
|
||||
/* superscript footnotes */
|
||||
a[role="doc-noteref"].superscript,
|
||||
.footnote.superscript > .label,
|
||||
.footnote.superscript > .backrefs {
|
||||
vertical-align: super;
|
||||
font-size: smaller;
|
||||
line-height: 1;
|
||||
}
|
||||
a[role="doc-noteref"].superscript > .fn-bracket,
|
||||
.footnote.superscript > .label > .fn-bracket {
|
||||
/* hide brackets in display but leave for copy/paste */
|
||||
display: inline-block;
|
||||
width: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
[role="doc-noteref"].superscript + [role="doc-noteref"].superscript {
|
||||
padding-left: 0.15em; /* separate consecutive footnote references */
|
||||
/* TODO: unfortunately, "+" also selects with text between the references. */
|
||||
}
|
||||
|
||||
/* Legacy Footnotes and Citations */
|
||||
dl.footnote.superscript > dd { margin-left: 1em; }
|
||||
dl.footnote.brackets > dd { margin-left: 2em; }
|
||||
dl.footnote > dt { font-weight: normal; }
|
||||
dt.label > span.brackets:before { content: "["; }
|
||||
a.footnote-reference.brackets:after,
|
||||
dt.label > span.brackets:after { content: "]"; }
|
||||
a.footnote-reference.superscript,
|
||||
dl.footnote.superscript > dt.label {
|
||||
vertical-align: super;
|
||||
font-size: smaller;
|
||||
font-size: small;
|
||||
}
|
||||
dt.label > span.fn-backref {
|
||||
margin-left: 0.2em;
|
||||
font-weight: normal;
|
||||
}
|
||||
dt.label > span.fn-backref { margin-left: 0.2em; }
|
||||
dt.label > span.fn-backref > a { font-style: italic; }
|
||||
|
||||
/* Line Blocks */
|
||||
div.line-block { display: block; }
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
margin-left: 40px;
|
||||
}
|
||||
|
||||
/* Figures, Images, and Tables */
|
||||
.figure.align-left,
|
||||
img.align-left,
|
||||
object.align-left,
|
||||
table.align-left {
|
||||
/* Alignment */
|
||||
.align-left {
|
||||
text-align: left;
|
||||
margin-right: auto;
|
||||
}
|
||||
.figure.align-center,
|
||||
img.align-center,
|
||||
object.align-center {
|
||||
.align-center {
|
||||
text-align: center;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.align-right {
|
||||
text-align: right;
|
||||
margin-left: auto;
|
||||
}
|
||||
.align-top { vertical-align: top; }
|
||||
.align-middle { vertical-align: middle; }
|
||||
.align-bottom { vertical-align: bottom; }
|
||||
|
||||
img.align-left, img.align-center, img.align-right,
|
||||
.figure.align-left, .figure.align-center, .figure.align-right,
|
||||
object.align-left, object.align-center, object.align-right {
|
||||
display: block;
|
||||
}
|
||||
table.align-center {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.figure.align-right,
|
||||
img.align-right,
|
||||
object.align-right,
|
||||
table.align-right {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
/* reset inner alignment in figures and tables */
|
||||
div.align-left, div.align-center, div.align-right,
|
||||
table.align-left, table.align-center, table.align-right
|
||||
{ text-align: inherit }
|
||||
|
||||
/* Admonitions and System Messages */
|
||||
div.admonition,
|
||||
div.system-message,
|
||||
div.sidebar{
|
||||
margin: 40px;
|
||||
border: medium outset;
|
||||
padding-right: 1em;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
/* Sidebar */
|
||||
div.sidebar {
|
||||
width: 30%;
|
||||
max-width: 26em;
|
||||
float: right;
|
||||
clear: right;
|
||||
figure.align-left, figure.align-right,
|
||||
table.align-left, table.align-center, table.align-right {
|
||||
text-align: inherit;
|
||||
}
|
||||
|
||||
/* Text Blocks */
|
||||
div.topic,
|
||||
pre.literal-block,
|
||||
pre.doctest-block,
|
||||
pre.math,
|
||||
pre.code {
|
||||
margin-right: 40px;
|
||||
margin-left: 40px;
|
||||
.topic { margin: 1em 2em; }
|
||||
.sidebar,
|
||||
.admonition,
|
||||
.system-message {
|
||||
margin: 1em 2em;
|
||||
border: thin solid;
|
||||
padding: 0.5em 1em;
|
||||
}
|
||||
div.line-block { display: block; }
|
||||
div.line-block div.line-block, pre { margin-left: 2em; }
|
||||
|
||||
/* Code line numbers: dropped when copying text from the page */
|
||||
pre.code .ln { display: none; }
|
||||
pre.code code:before {
|
||||
content: attr(data-lineno); /* …, none) fallback not supported by any browser */
|
||||
color: gray;
|
||||
}
|
||||
pre.code .ln { color: gray; } /* line numbers */
|
||||
|
||||
/* Tables */
|
||||
table.docutils { border-collapse: collapse; }
|
||||
table.docutils > td, table.docutils > th {
|
||||
border-style: solid;
|
||||
border-color: silver;
|
||||
padding: 0 1ex;
|
||||
border-width: thin;
|
||||
}
|
||||
table.docutils > td > p:first-child, table.docutils > th > p:first-child { margin-top: 0; }
|
||||
table.docutils > td > p, table.docutils > th > p { margin-bottom: 0; }
|
||||
td > p:first-child, th > p:first-child { margin-top: 0; }
|
||||
td > p, th > p { margin-bottom: 0; }
|
||||
|
||||
table.docutils > caption {
|
||||
text-align: left;
|
||||
margin-bottom: 0.25em
|
||||
}
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
.borderless td, .borderless th {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
padding-right: 0.5em /* separate table cells */
|
||||
}
|
||||
|
||||
table > caption {
|
||||
text-align: left;
|
||||
margin-top: 0.2em;
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
table.captionbelow {
|
||||
caption-side: bottom;
|
||||
}
|
||||
|
||||
/* CSS31_ style sheet for the output of Docutils HTML writers. */
|
||||
/* Rules for easy reading and pre-defined style variants. */
|
||||
/* */
|
||||
/* :Author: Günter Milde, based on html4css1.css by David Goodger */
|
||||
/* :Id: $Id: plain.css 7952 2016-07-26 18:15:59Z milde $ */
|
||||
/* :Id: $Id: plain.css 9081 2022-06-19 20:23:12Z milde $ */
|
||||
/* :Copyright: © 2015 Günter Milde. */
|
||||
/* :License: Released under the terms of the `2-Clause BSD license`_, */
|
||||
/* in short: */
|
||||
|
@ -275,16 +300,28 @@ table.borderless td, table.borderless th {
|
|||
/* This file is offered as-is, without any warranty. */
|
||||
/* */
|
||||
/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */
|
||||
/* .. _CSS3: http://www.w3.org/TR/CSS3 */
|
||||
/* .. _CSS3: https://www.w3.org/Style/CSS/ */
|
||||
|
||||
|
||||
/* Document Structure */
|
||||
/* ****************** */
|
||||
|
||||
/* Sections */
|
||||
/* Table of Contents */
|
||||
ul.auto-toc > li > p {
|
||||
padding-left: 1em;
|
||||
text-indent: -1em;
|
||||
}
|
||||
nav.contents ul {
|
||||
padding-left: 1em;
|
||||
}
|
||||
main > nav.contents ul ul ul ul:not(.auto-toc) {
|
||||
list-style-type: '\2B29\ ';
|
||||
}
|
||||
main > nav.contents ul ul ul ul ul:not(.auto-toc) {
|
||||
list-style-type: '\2B1D\ ';
|
||||
}
|
||||
|
||||
/* Transitions */
|
||||
|
||||
hr.docutils {
|
||||
width: 80%;
|
||||
margin-top: 1em;
|
||||
|
@ -292,50 +329,46 @@ hr.docutils {
|
|||
clear: both;
|
||||
}
|
||||
|
||||
/* Paragraphs */
|
||||
/* ========== */
|
||||
|
||||
/* vertical space (parskip) */
|
||||
/*p, ol, ul, dl,*/
|
||||
/*div.line-block,*/
|
||||
/*table{*/
|
||||
/*margin-top: 0.5em;*/
|
||||
/*margin-bottom: 0.5em;*/
|
||||
/*}*/
|
||||
/*h1, h2, h3, h4, h5, h6, */
|
||||
dl > dd {
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
/* Lists */
|
||||
/* ========== */
|
||||
/* Lists */
|
||||
/* ===== */
|
||||
|
||||
/* Definition Lists */
|
||||
|
||||
dl > dd p:first-child { margin-top: 0; }
|
||||
/* :last-child is not part of CSS 2.1 (introduced in CSS 3) */
|
||||
/* dl > dd p:last-child { margin-bottom: 0; } */
|
||||
|
||||
/* lists nested in definition lists */
|
||||
/* :only-child is not part of CSS 2.1 (introduced in CSS 3) */
|
||||
/* Definition Lists */
|
||||
/* Indent lists nested in definition lists */
|
||||
dd > ul:only-child, dd > ol:only-child { padding-left: 1em; }
|
||||
|
||||
/* Description Lists */
|
||||
/* styled like in most dictionaries, encyclopedias etc. */
|
||||
dl.description {
|
||||
display: flow-root;
|
||||
}
|
||||
dl.description > dt {
|
||||
font-weight: bold;
|
||||
clear: left;
|
||||
float: left;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
padding-right: 0.5em;
|
||||
padding-right: 0.3em;
|
||||
}
|
||||
dl.description > dd:after {
|
||||
display: table;
|
||||
content: "";
|
||||
clear: left; /* clearfix for empty descriptions */
|
||||
}
|
||||
|
||||
/* Field Lists */
|
||||
|
||||
dl.field-list > dd,
|
||||
dl.docinfo > dd {
|
||||
margin-left: var(--field-indent); /* adapted in media queries or HTML */
|
||||
}
|
||||
|
||||
/* example for custom field-name width */
|
||||
dl.field-list.narrow > dd {
|
||||
margin-left: 5em;
|
||||
--field-indent: 5em;
|
||||
}
|
||||
/* run-in: start field-body on same line after long field names */
|
||||
dl.field-list.run-in > dd p {
|
||||
|
@ -344,8 +377,8 @@ dl.field-list.run-in > dd p {
|
|||
|
||||
/* Bibliographic Fields */
|
||||
|
||||
/* generally, bibliographic fields use special definition list dl.docinfo */
|
||||
/* but dedication and abstract are placed into "topic" divs */
|
||||
/* generally, bibliographic fields use dl.docinfo */
|
||||
/* but dedication and abstract are placed into divs */
|
||||
div.abstract p.topic-title {
|
||||
text-align: center;
|
||||
}
|
||||
|
@ -358,44 +391,28 @@ div.dedication p.topic-title {
|
|||
font-style: normal;
|
||||
}
|
||||
|
||||
/* Citations */
|
||||
dl.citation dt.label {
|
||||
font-weight: bold;
|
||||
}
|
||||
span.fn-backref {
|
||||
font-weight: normal;
|
||||
}
|
||||
/* disclosures */
|
||||
details { padding-left: 1em; }
|
||||
summary { margin-left: -1em; }
|
||||
|
||||
/* Text Blocks */
|
||||
/* ============ */
|
||||
/* Text Blocks */
|
||||
/* =========== */
|
||||
|
||||
/* Literal Blocks */
|
||||
/* Literal Blocks */
|
||||
pre.literal-block, pre.doctest-block,
|
||||
pre.math, pre.code {
|
||||
margin-left: 1.5em;
|
||||
margin-right: 1.5em
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
/* Block Quotes */
|
||||
|
||||
blockquote,
|
||||
div.topic {
|
||||
margin-left: 1.5em;
|
||||
margin-right: 1.5em
|
||||
}
|
||||
blockquote > table,
|
||||
div.topic > table {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
/* Block Quotes and Topics */
|
||||
blockquote p.attribution,
|
||||
div.topic p.attribution {
|
||||
.topic p.attribution {
|
||||
text-align: right;
|
||||
margin-left: 20%;
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
/* ====== */
|
||||
/* Tables */
|
||||
/* ====== */
|
||||
|
||||
/* th { vertical-align: bottom; } */
|
||||
|
||||
|
@ -422,53 +439,77 @@ table.numbered > caption:before {
|
|||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Explicit Markup Blocks */
|
||||
/* ====================== */
|
||||
/* Explicit Markup Blocks */
|
||||
/* ====================== */
|
||||
|
||||
/* Footnotes and Citations */
|
||||
/* ----------------------- */
|
||||
/* Footnotes and Citations */
|
||||
/* ----------------------- */
|
||||
|
||||
/* line on the left */
|
||||
.footnote-list {
|
||||
border-left: solid thin;
|
||||
padding-left: 0.25em;
|
||||
}
|
||||
|
||||
/* same thing for old docutils versions */
|
||||
dl.footnote {
|
||||
padding-left: 1ex;
|
||||
border-left: solid;
|
||||
border-left-width: thin;
|
||||
}
|
||||
|
||||
/* Directives */
|
||||
/* ---------- */
|
||||
/* Directives */
|
||||
/* ---------- */
|
||||
|
||||
/* Body Elements */
|
||||
/* ~~~~~~~~~~~~~ */
|
||||
/* Body Elements */
|
||||
/* ~~~~~~~~~~~~~ */
|
||||
|
||||
/* Images and Figures */
|
||||
|
||||
/* let content flow to the side of aligned images and figures */
|
||||
.figure.align-left,
|
||||
figure.align-left,
|
||||
img.align-left,
|
||||
video.align-left,
|
||||
object.align-left {
|
||||
display: block;
|
||||
clear: left;
|
||||
float: left;
|
||||
margin-right: 1em
|
||||
margin-right: 1em;
|
||||
}
|
||||
.figure.align-right,
|
||||
figure.align-right,
|
||||
img.align-right,
|
||||
video.align-right,
|
||||
object.align-right {
|
||||
display: block;
|
||||
clear: right;
|
||||
float: right;
|
||||
margin-left: 1em
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
/* Numbered figures */
|
||||
figure.numbered > figcaption > p:before {
|
||||
counter-increment: figure;
|
||||
content: "Figure " counter(figure) ": ";
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Admonitions and System Messages */
|
||||
.caution p.admonition-title,
|
||||
.attention p.admonition-title,
|
||||
.danger p.admonition-title,
|
||||
.error p.admonition-title,
|
||||
.warning p.admonition-title,
|
||||
div.error {
|
||||
color: red;
|
||||
}
|
||||
|
||||
/* Sidebar */
|
||||
|
||||
/* Move into the margin. In a layout with fixed margins, */
|
||||
/* it can be moved into the margin completely. */
|
||||
div.sidebar {
|
||||
/* Move right. In a layout with fixed margins, */
|
||||
/* it can be moved into the margin. */
|
||||
aside.sidebar {
|
||||
width: 30%;
|
||||
max-width: 26em;
|
||||
float: right;
|
||||
clear: right;
|
||||
margin-left: 1em;
|
||||
margin-right: -5.5%;
|
||||
background-color: #ffffee ;
|
||||
margin-right: -1%;
|
||||
background-color: #fffffa;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
@charset "UTF-8";
|
||||
|
||||
/*
|
||||
Copyright © 2014-2021 Daniel Aleksandersen and others.
|
||||
Copyright © 2014-2023 Daniel Aleksandersen and others.
|
||||
|
||||
Permission is hereby granted, free of charge, to any
|
||||
person obtaining a copy of this software and associated
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,23 +0,0 @@
|
|||
function fancydates(fanciness, luxonDateFormat) {
|
||||
if (fanciness === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
var dates = document.querySelectorAll('.dt-published, .dt-updated, .listdate');
|
||||
|
||||
var l = dates.length;
|
||||
|
||||
for (var i = 0; i < l; i++) {
|
||||
var d = luxon.DateTime.fromISO(dates[i].attributes.datetime.value);
|
||||
var o;
|
||||
if (fanciness === 1 && luxonDateFormat.preset) {
|
||||
o = d.toLocal().toLocaleString(luxon.DateTime[luxonDateFormat.format]);
|
||||
} else if (fanciness === 1) {
|
||||
o = d.toLocal().toFormat(luxonDateFormat.format);
|
||||
} else {
|
||||
o = d.toRelative();
|
||||
}
|
||||
dates[i].innerHTML = o;
|
||||
}
|
||||
}
|
||||
|
7
output/assets/js/baguetteBox.min.js
vendored
7
output/assets/js/baguetteBox.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -1,22 +0,0 @@
|
|||
function fancydates(fanciness, luxonDateFormat) {
|
||||
if (fanciness === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
var dates = document.querySelectorAll('.dt-published, .dt-updated, .listdate');
|
||||
|
||||
var l = dates.length;
|
||||
|
||||
for (var i = 0; i < l; i++) {
|
||||
var d = luxon.DateTime.fromISO(dates[i].attributes.datetime.value);
|
||||
var o;
|
||||
if (fanciness === 1 && luxonDateFormat.preset) {
|
||||
o = d.toLocal().toLocaleString(luxon.DateTime[luxonDateFormat.format]);
|
||||
} else if (fanciness === 1) {
|
||||
o = d.toLocal().toFormat(luxonDateFormat.format);
|
||||
} else {
|
||||
o = d.toRelative();
|
||||
}
|
||||
dates[i].innerHTML = o;
|
||||
}
|
||||
}
|
1
output/assets/js/fancydates.min.js
vendored
1
output/assets/js/fancydates.min.js
vendored
|
@ -1 +0,0 @@
|
|||
function fancydates(t,e){if(0!==t)for(var a=document.querySelectorAll(".dt-published, .dt-updated, .listdate"),o=a.length,l=0;l<o;l++){var r,i=luxon.DateTime.fromISO(a[l].attributes.datetime.value);r=1===t&&e.preset?i.toLocal().toLocaleString(luxon.DateTime[e.format]):1===t?i.toLocal().toFormat(e.format):i.toRelative(),a[l].innerHTML=r}}
|
|
@ -1,32 +0,0 @@
|
|||
function renderGallery(jsonContent, thumbnailSize) {
|
||||
var container = document.getElementById("gallery_container");
|
||||
container.innerHTML = '';
|
||||
var layoutGeometry = require('justified-layout')(jsonContent, {
|
||||
"containerWidth": container.offsetWidth,
|
||||
"targetRowHeight": thumbnailSize * 0.6,
|
||||
"boxSpacing": 5});
|
||||
container.style.height = layoutGeometry.containerHeight + 'px';
|
||||
var boxes = layoutGeometry.boxes;
|
||||
for (var i = 0; i < boxes.length; i++) {
|
||||
var img = document.createElement("img");
|
||||
img.setAttribute('src', jsonContent[i].url_thumb);
|
||||
img.setAttribute('alt', jsonContent[i].title);
|
||||
img.style.width = boxes[i].width + 'px';
|
||||
img.style.height = boxes[i].height + 'px';
|
||||
link = document.createElement("a");
|
||||
link.setAttribute('href', jsonContent[i].url);
|
||||
link.setAttribute('class', 'image-reference');
|
||||
div = document.createElement("div");
|
||||
div.setAttribute('class', 'image-block');
|
||||
div.setAttribute('title', jsonContent[i].title);
|
||||
div.setAttribute('data-toggle', "tooltip")
|
||||
div.style.width = boxes[i].width + 'px';
|
||||
div.style.height = boxes[i].height + 'px';
|
||||
div.style.top = boxes[i].top + 'px';
|
||||
div.style.left = boxes[i].left + 'px';
|
||||
link.appendChild(img);
|
||||
div.appendChild(link);
|
||||
container.appendChild(div);
|
||||
}
|
||||
}
|
||||
|
1
output/assets/js/gallery.min.js
vendored
1
output/assets/js/gallery.min.js
vendored
|
@ -1 +0,0 @@
|
|||
function renderGallery(t,e){var i=document.getElementById("gallery_container");i.innerHTML="";var l=require("justified-layout")(t,{containerWidth:i.offsetWidth,targetRowHeight:.6*e,boxSpacing:5});i.style.height=l.containerHeight+"px";for(var n=l.boxes,r=0;r<n.length;r++){var a=document.createElement("img");a.setAttribute("src",t[r].url_thumb),a.setAttribute("alt",t[r].title),a.style.width=n[r].width+"px",a.style.height=n[r].height+"px",link=document.createElement("a"),link.setAttribute("href",t[r].url),link.setAttribute("class","image-reference"),div=document.createElement("div"),div.setAttribute("class","image-block"),div.setAttribute("title",t[r].title),div.setAttribute("data-toggle","tooltip"),div.style.width=n[r].width+"px",div.style.height=n[r].height+"px",div.style.top=n[r].top+"px",div.style.left=n[r].left+"px",link.appendChild(a),div.appendChild(link),i.appendChild(div)}}
|
|
@ -1,4 +0,0 @@
|
|||
/**
|
||||
* @preserve HTML5 Shiv 3.7.3-pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||
*/
|
||||
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.3",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b),"object"==typeof module&&module.exports&&(module.exports=y)}("undefined"!=typeof window?window:this,document);
|
4
output/assets/js/html5shiv-printshiv.min.js
vendored
4
output/assets/js/html5shiv-printshiv.min.js
vendored
|
@ -1,4 +0,0 @@
|
|||
/**
|
||||
* @preserve HTML5 Shiv 3.7.3-pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||
*/
|
||||
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.3",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b),"object"==typeof module&&module.exports&&(module.exports=y)}("undefined"!=typeof window?window:this,document);
|
11
output/assets/js/justified-layout.min.js
vendored
11
output/assets/js/justified-layout.min.js
vendored
File diff suppressed because one or more lines are too long
1
output/assets/js/luxon.min.js
vendored
1
output/assets/js/luxon.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -19,10 +19,10 @@
|
|||
<meta property="og:description" content="Questa e` la nostra chiave PGP con la quale possiamo essere contattati all’indirizzo
|
||||
pescewanda3 [at] gmail.com
|
||||
|
||||
—–BEGIN PGP PUBLIC KEY BLOCK—–Version: GnuPG v2
|
||||
—–BEGIN PGP PUBLIC KEY BLOCK—–Version: GnuPG v2
|
||||
|
||||
|
||||
mQENBFUa5j4BCAC8clTqI75PkKJ+Y">
|
||||
mQENBFUa5j4BCAC8clTqI75PkKJ+">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="article:published_time" content="2015-03-31T20:36:00Z">
|
||||
<meta property="article:tag" content="Mr E.">
|
||||
|
@ -42,7 +42,7 @@ pescewanda3 [at] gmail.com
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -56,15 +56,13 @@ pescewanda3 [at] gmail.com
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Questa e` la nostra chiave PGP con la quale possiamo essere contattati all’indirizzo<br><strong>pescewanda3 [at] gmail.com</strong></p>
|
||||
<p>Questa e` la nostra chiave PGP con la quale possiamo essere contattati all’indirizzo<br><strong>pescewanda3 [at] gmail.com</strong></p>
|
||||
<div class="code">
|
||||
—–BEGIN PGP PUBLIC KEY BLOCK—–<br>Version: GnuPG v2
|
||||
—–BEGIN PGP PUBLIC KEY BLOCK—–<br>Version: GnuPG v2
|
||||
|
||||
<p>
|
||||
mQENBFUa5j4BCAC8clTqI75PkKJ+YewmyXqjBtlsqXCWlunS4CkQTaaI3I5c13yz<br>+Nc+gibHrxhQZcOULYhjlhe9PNv/8Bnj4i2qBMjJNORAlJycjgyzCTy3OY+Hkt6Q<br>c/6uXp5ObnLblKwnPSgaij9GuH4PD1fe+fN0LORMqNJ8PNdk1a5qNJ7fuH8/nIus<br>F2+Rv6qej0OcLIUUebeiMLu+Nc52tDX76kjdvq9cG7AyAXpo478Xr4EnhPDB0sXc<br>TAGJ3I93caVXa9lqP+njI9mPDTyrl+lobLgQhdIOsW50JZmbG/EHMHFKahcaEssM<br>50lz+PtqZ0VblIDTe9xjukdcPaKhPaGuW2OxABEBAAG0KWNhdWdodF9pbl90aGVf<br>bmV0IDxwZXNjZXdhbmRhM0BnbWFpbC5jb20+iQE5BBMBCAAjBQJVGuY+AhsDBwsJ<br>CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQ12NuZ5rBCRLsOgf9EhR2I0M30jzP<br>rDYU5jFwyaFzWheiKO9yAiHHj2+iJXYsPcyNEIa0E+IqqMWu9e7AksscRe/rkq7U<br>wOANtiYMVTfdqnPE13c4KqKTXjikua/j4lE3fDU4IF5+sRgK62H+Ee64flP1ReO8<br>Zo4z2mwcYxqag+uSNBE0pnuICSd9NCCOiKjS0HRaG0CbpyDQ+fuqjulfn9zpU1a2<br>6y/Lg1uixIDZZICmVKfZkl5ZqkS/1Sdx4AK6rnnFH0gZ1k2J6LsE4cqvazIroRgr<br>opnuSQsfwMNiu6oaBe/+kzlhSZy/vb/vw0HT5oZHtY2so/dZe42v40weyxroZgaY<br>SR2wE5wsM7kBDQRVGuY+AQgArq1F9dl61MOSQi/SYTgmPYjptcgm0L5QBmsOeN1v<br>9YWPFn/AR8GOiGRF1//TI+ECjfL8uAdzbK1xJURXcBTrO0BdgRBlaZgSRiq+KFGT<br>pmyjj+q1toVLPwIZmsxHL6j7doSnt9Z4oesKIJ2hrdEGZ3hpFBekxMR2lmHk3zQB<br>e/qsSUwS/rIk/BBWtdifdEzcK7AJb0nRAJzQu6kyEdOGOuEprtSkG8789SkKGFxz<br>HuEIyRxoLz/KQJ7FGINQwNYXM6+5pjNt7vu5knFGF71TjVN0UjFck/mxWObxwxO3<br>EoZtW6tNgkxdOoFBIo8hhSxsVqIHoyztf58Ppo/IOgSCyQARAQABiQEfBBgBCAAJ<br>BQJVGuY+AhsMAAoJENdjbmeawQkSx/EIAK26MGlFMzviE9mWRF09vljESVbfRcnE<br>ybMZNlq/w6AdU1R6g2nbooKX1KuB8uBTZYegLJByj+ssiZagrW7rASLLVADzfP3D<br>m2TFCqE/LeOJzgMtaUfEAgvee4jNVHFvAJ2k5fejk9aQ+r3EskqACqfnY4y5SE30<br>tFsS+Wwz1C+NHFv0EnVyJaDUGKq7ZX7BQHGlxW0AFz17l4hMQztgx6Il36yC5EQr<br>BQULGVPCHpadUGpzPWIqKhIg33P3FlCqzSVBGB9aXqfBQYAUjP2MrieWcaLdJbRM<br>MBR29ROibDEd8qOPvcHrRg3cb2OPw9/Ia19VqEE9/tjn094CCuVkDPU=<br>=/XCq<br>—–END PGP PUBLIC KEY BLOCK—–
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -50,8 +50,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Miliardi di persone usano giornalmente internet, ma sono poche quelle a conoscenza del suo lato oscuro, il deep web,nel quale sono presenti siti che gestiscono business illegali (dalla vendita di account rubati alla clonazione di carte di credito) e al quale tutti possono accedere tramite “Tor”. Questo è un software che rende chi lo utilizza invisibile, poichè nasconde l’indirizzo IP del computer tramite la crittografia a strati, da qui il nome scelto che sta per “The Onion Router”. Infatti grazie a Tor l’utente si collega al sito che vuole visitare passando però da una serie di altri server che fungono da router e cifrano la comunicazione.</p>
|
||||
<p>Miliardi di persone usano giornalmente internet, ma sono poche quelle a conoscenza del suo lato oscuro, il deep web,nel quale sono presenti siti che gestiscono business illegali (dalla vendita di account rubati alla clonazione di carte di credito) e al quale tutti possono accedere tramite “Tor”. Questo è un software che rende chi lo utilizza invisibile, poichè nasconde l’indirizzo IP del computer tramite la crittografia a strati, da qui il nome scelto che sta per “The Onion Router”. Infatti grazie a Tor l’utente si collega al sito che vuole visitare passando però da una serie di altri server che fungono da router e cifrano la comunicazione.</p>
|
||||
<div class="separator" style="clear:both;text-align:center;">
|
||||
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/a2cc6-tor_newsbitcoin.jpg" style="margin-left:1em;margin-right:1em;"><img border="0" height="196" src="http://francescomecca.eu/wp-content/uploads/2015/08/a2cc6-tor_newsbitcoin.jpg" width="320"></a>
|
||||
</div>
|
||||
|
@ -66,7 +65,6 @@ Il payload è un tipo di shellcode, ovvero un piccolo pezzo di codice, che sfrut
|
|||
<p>fonti[<a href="http://www.ilsole24ore.com/art/tecnologie/2014-07-31/tor-attacco-hacker-ha-violato-mesi-anonimato-utenti-204102.shtml?uuid=ABCPcFgB">ilsole24ore.com</a> , <a href="http://it.ibtimes.com/lanonimato-sul-web-violato-6-mesi-la-rete-tor-colpita-dagli-hacker-1353982">ibtimes.com</a>]</p>
|
||||
<p>Eugenio Corso </p>
|
||||
<div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -54,8 +54,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<blockquote class="tr_bq">
|
||||
<blockquote class="tr_bq">
|
||||
<div style="text-align:center;">
|
||||
<span style="color:#555555;display:inline !important;float:none;font-family:Helvetica, Arial, Helvetica, Geneva, sans-serif;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:20px;text-align:left;text-indent:0;text-transform:none;white-space:normal;widows:1;word-spacing:0;"><span style="font-size:large;"><i>“L’utilizzo dei bambini per fini politici? Piuttosto abietto. </i></span></span>
|
||||
</div>
|
||||
|
@ -78,7 +77,6 @@
|
|||
</div>
|
||||
|
||||
<p><span id="goog_1004488977"></span><span id="goog_1004488978"></span> </p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -50,8 +50,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<div class="MsoNormal" style="text-align:justify;">
|
||||
<div class="MsoNormal" style="text-align:justify;">
|
||||
Trattando argomenti quali l’anonimato e la privacy, non si può fare a meno di parlare di uno dei movimenti più rappresentativi di queste due tematiche, ovvero Anonymous. Questo movimento nasce nel 2003, e per il suo nome prende ispirazione dal nickname usato nei siti di imageboard, siti nei quali un thread può essere iniziato solo con un immagine, quali per esempio 4chan, 711chan, dove chi commentava senza identificarsi appariva come “anonymous”, e da qui si incominciò a identificare anonymous come una persona reale.
|
||||
</div>
|
||||
|
||||
|
@ -87,7 +86,7 @@
|
|||
</div>
|
||||
|
||||
<div class="MsoNormal" style="text-align:justify;">
|
||||
Le varie attività svolte da questo gruppo, grazie alle quali ha ottenuto sempre più visibilità, sono diverse, quale ad esempio quello del 2010 quando il sito di WikiLeaks pubblicò documenti diplomatici segreti del governo americano, e quest’ultimo a causa di ciò fece forti pressioni per interrompere tali pubblicazioni, ovviamente ciò attirò l’attenzione di anonymous che iniziò a sostenere il sito, iniziando a lanciare attacchi DDoS contro siti quali Amazon.com, PayPal, MasterCard, Visa e la banca svizzera i quali avevano dimostrato un comportamento anti-WikiLeaks, perché stopparono l’afflusso di donazioni al sito.
|
||||
Le varie attività svolte da questo gruppo, grazie alle quali ha ottenuto sempre più visibilità, sono diverse, quale ad esempio quello del 2010 quando il sito di WikiLeaks pubblicò documenti diplomatici segreti del governo americano, e quest’ultimo a causa di ciò fece forti pressioni per interrompere tali pubblicazioni, ovviamente ciò attirò l’attenzione di anonymous che iniziò a sostenere il sito, iniziando a lanciare attacchi DDoS contro siti quali Amazon.com, PayPal, MasterCard, Visa e la banca svizzera i quali avevano dimostrato un comportamento anti-WikiLeaks, perché stopparono l’afflusso di donazioni al sito.
|
||||
|
||||
<p>
|
||||
Un altro evento molto importante fu quando il sito Megaupload venne chiuso dall’FBI, e in seguito a ciò anonymous rese impossibile l’accesso a siti governativi americani, scatenando quella che fu chiamata W W W W (World Wide Web War), ovvero uno degli attacchi da parte del gruppo più grande e importante realizzato sul web.
|
||||
|
@ -101,7 +100,7 @@
|
|||
Fonti: <a href="https://www.youtube.com/watch?v=YJmRqgBE_t8">www.youtube.com</a></p>
|
||||
</div>
|
||||
|
||||
<pre class="code literal-block"><span></span><span class="nt"><div</span> <span class="na">class=</span><span class="s">"MsoNormal"</span> <span class="na">style=</span><span class="s">"text-align:justify;"</span><span class="nt">></span>
|
||||
<pre class="code literal-block"><span class="nt"><div</span> <span class="na">class=</span><span class="s">"MsoNormal"</span> <span class="na">style=</span><span class="s">"text-align:justify;"</span><span class="nt">></span>
|
||||
<span class="nt"><p></span>
|
||||
<span class="nt"></div></span>
|
||||
|
||||
|
@ -151,7 +150,6 @@
|
|||
<span class="nt"><span</span> <span class="na">lang=</span><span class="s">"EN-US"</span><span class="nt">></span> Gabriele Corso<span class="nt"></span></span>
|
||||
<span class="nt"></div></span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -58,8 +58,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>La BPC, Belgian Privacy Commision, il 31 marzo ha pubblicato un <a href="http://www.law.kuleuven.be/icri/en/news/item/facebooks-revised-policies-and-terms-v1-2.pdf">documento</a> investigativo sulle policy di Facebook e da questa indagine e` emersa una violazione delle leggi europee sul <a href="http://rt.com/news/245769-facebook-spies-eu-laws/">tracciamento online</a>.</p>
|
||||
<p>La BPC, Belgian Privacy Commision, il 31 marzo ha pubblicato un <a href="http://www.law.kuleuven.be/icri/en/news/item/facebooks-revised-policies-and-terms-v1-2.pdf">documento</a> investigativo sulle policy di Facebook e da questa indagine e` emersa una violazione delle leggi europee sul <a href="http://rt.com/news/245769-facebook-spies-eu-laws/">tracciamento online</a>.</p>
|
||||
<p>Ogni volta che un utente non loggato, o perfino senza account sul social network, visita una pagina che incorpora il bottone “like” o altri plugin sociali riceve un piccolo file di testo chiamato <a href="https://www.facebook.com/help/cookies">cookie</a> che incorpora una miriade di informazioni e la propria attivita` online in toto. Anche se si ha scelto per l’opt out un particolare cookie chiamato ‘<a href="http://www.zdnet.com/article/facebook-tracking-cookie-returns-according-to-hacker/">datr</a>‘ contenente un ID unico viene scaricato e mantenuto nella cache del browser identificando il computer dell’utente in maniera indistinguibile.<br>
|
||||
Per quale motivo Facebook usa questo sistema di tracciamento?</p>
|
||||
<div class="separator" style="clear:both;text-align:center;">
|
||||
|
@ -94,7 +93,6 @@ In questo modo ed attraverso i cookie Facebook riesce a riunire la maggior parte
|
|||
|
||||
<div style="text-align:right;">
|
||||
Francesco Mecca
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -45,7 +45,7 @@ Un normale cittadino inglese in due sole occasioni puo` ascoltare la frase: “s
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -59,8 +59,7 @@ Un normale cittadino inglese in due sole occasioni puo` ascoltare la frase: “s
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<div class="separator" style="clear: both; text-align: center;">
|
||||
<div class="separator" style="clear: both; text-align: center;">
|
||||
</div>
|
||||
|
||||
<table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" cellspacing="0" cellpadding="0" align="center">
|
||||
|
@ -140,7 +139,6 @@ Estimates of the current size of the body of federal criminal law vary. It has b
|
|||
<div style="text-align: right;">
|
||||
<span style="font-family: Arial, Helvetica, sans-serif;">Francesco Mecca </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -50,8 +50,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Tra i molti siti illegali del Deep Web uno molto popolare che si occupa di molte attività illegali, dalla vendita di carte di credito rubate all hacking di personal computer e server, è HackBB che nel 2013 fu soggetto a uno dei pù grossi furti mai avvenuti in rete da parte di un suo amministratore chiamato Boneless.</p>
|
||||
<p>Tra i molti siti illegali del Deep Web uno molto popolare che si occupa di molte attività illegali, dalla vendita di carte di credito rubate all hacking di personal computer e server, è HackBB che nel 2013 fu soggetto a uno dei pù grossi furti mai avvenuti in rete da parte di un suo amministratore chiamato Boneless.</p>
|
||||
<div class="separator" style="clear:both;text-align:center;">
|
||||
</div>
|
||||
|
||||
|
@ -74,7 +73,6 @@ Secondo alcuni amministartori del sito, tra cui OptimusCrime, Boneless vendette
|
|||
<p>fonti[<a href="http://www.dailydot.com/crime/deep-web-boneless-optimuscrime-hackbb-credit-card-fraud/">dailydot.com</a>]</p>
|
||||
<p>Eugenio Corso </p>
|
||||
<div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -60,8 +60,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<div class="MsoNormal" style="text-align:center;">
|
||||
<div class="MsoNormal" style="text-align:center;">
|
||||
</div>
|
||||
|
||||
<div class="MsoNormal" style="text-align:center;">
|
||||
|
@ -89,7 +88,7 @@
|
|||
</div>
|
||||
|
||||
<div class="MsoNormal" style="text-align:justify;">
|
||||
È un gioco. Come camminare sul filo di un rasoio. Devi vedere quanto a lungo puoi continuare a usare il sistema operativo prima di perdere tutti i tuoi dati.
|
||||
È un gioco. Come camminare sul filo di un rasoio. Devi vedere quanto a lungo puoi continuare a usare il sistema operativo prima di perdere tutti i tuoi dati.
|
||||
|
||||
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left:auto;margin-right:auto;text-align:center;">
|
||||
<tr>
|
||||
|
@ -167,7 +166,6 @@
|
|||
|
||||
<div style="text-align:right;">
|
||||
<span style="font-family:Calibri, sans-serif;font-size:11pt;">Gabriele Corso </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -37,7 +37,7 @@ L’attacco avviene attr">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -51,13 +51,12 @@ L’attacco avviene attr">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Lo scorso febbraio 4 ricercatori della Columbia University hanno ideato un attacco <a href="https://en.wikipedia.org/wiki/Side-channel_attack">side channel</a> in grado di penetrare la cache dei processori intel piu` recenti di qualsiasi OS.<br>
|
||||
<p>Lo scorso febbraio 4 ricercatori della Columbia University hanno ideato un attacco <a href="https://en.wikipedia.org/wiki/Side-channel_attack">side channel</a> in grado di penetrare la cache dei processori intel piu` recenti di qualsiasi OS.<br>
|
||||
L’attacco avviene attraverso l’uso di codice Javascript e analizza la cache di terzo livello del processore. Il pdf tecnico e` disponibile a questo <a href="http://arxiv.org/abs/1502.07373">indirizzo</a>.</p>
|
||||
<p>Di seguito una breve spiegazione dell’attacco.<br>
|
||||
– Attacco side channel: i dati vengono estratti da fenomeni fisici correlati al funzionamento del terminale: ritardi nella risposta, consumo della cpu,voltaggio e altro se misurati in maniera molto precisa e in correlazione ad eventi esterni permettono di capire che informazioni stava processando la CPU.</p>
|
||||
<div>
|
||||
-Requisiti: un qualsiasi fra i browser piu` popolari, un processore intel 32 o 64 bit, almeno qualche minuto sulla pagina infetta.
|
||||
-Requisiti: un qualsiasi fra i browser piu` popolari, un processore intel 32 o 64 bit, almeno qualche minuto sulla pagina infetta.
|
||||
|
||||
<p>
|
||||
-Come avviene l’attacco: il codice Javascript permette al vettore di occupare una piccola parte di cache di cache e poi va a misurare il ritardo in una nuova lettura e controllando se altri processi la stanno usando. Se questa azione viene compiuta per tutte le “linee” della cache senza interruzioni permette di avere dati relativi all’utilizzo della CPU. Con analizi avanzate si possono stabilire a partire daqueste informazioni in alcuni casi i movimenti del mouse, l’accesso alle risorse, i tasti premuti.
|
||||
|
@ -65,12 +64,11 @@ L’attacco avviene attraverso l’uso di codice Javascript e analizza la cache
|
|||
</div>
|
||||
|
||||
<div>
|
||||
-Come evitare l’infezione: non permettere al browser di attivare i javascript e evitare di tenere aperte pagine web mentre si compiono azioni sensibili, questi due sono gli unici metodi al momento. I ricercatori hanno deciso di non rilasciare alcun proof of concepit prima del rilascio di patch per i browser.
|
||||
-Come evitare l’infezione: non permettere al browser di attivare i javascript e evitare di tenere aperte pagine web mentre si compiono azioni sensibili, questi due sono gli unici metodi al momento. I ricercatori hanno deciso di non rilasciare alcun proof of concepit prima del rilascio di patch per i browser.
|
||||
|
||||
<div style="text-align:right;">
|
||||
Francesco Mecca
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -50,8 +50,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p><span style="font-family:inherit;">Questo blog non puo<code>essere <a href="http://www.greatfirewallofchina.org/index.php?siteurl=caught-in-thenet.blogspot.it" rel="nofollow" target="_blank">visualizzato</a> in Cina.<br />A partire dal 1993 mentre molti altri Stati si occupavano delle leggi sul cyber crimine il CCP (Chinese Communist Party) ha dato inizio ad una delle piu</code> grandi operazioni di censura moderna mai messa in atto: il Grande Firewall Cinese. </span> </p>
|
||||
<p><span style="font-family:inherit;">Questo blog non puo<code>essere <a href="http://www.greatfirewallofchina.org/index.php?siteurl=caught-in-thenet.blogspot.it" rel="nofollow" target="_blank">visualizzato</a> in Cina.<br />A partire dal 1993 mentre molti altri Stati si occupavano delle leggi sul cyber crimine il CCP (Chinese Communist Party) ha dato inizio ad una delle piu</code> grandi operazioni di censura moderna mai messa in atto: il Grande Firewall Cinese. </span> </p>
|
||||
<div style="text-align:center;">
|
||||
<blockquote class="tr_bq">
|
||||
<span style="font-family:inherit;">“If you open the window for fresh air, you have to expect some flies to blow in.”</span>
|
||||
|
@ -99,15 +98,13 @@
|
|||
In moltissimi Stati europei molti siti vengono bloccati (talvolta con un semplice <a href="https://en.wikipedia.org/wiki/DNS_spoofing" target="_blank">DNS poisoning</a>) e quindi il cittadino in molti casi non e`consapevole che non puo` accedere ad una risorsa, oppure sceglie di adottare tecniche per circumnavigare il blocco. <br> <br><span style="font-family:inherit;">In Cina invece quando lo Stato oltre che alla censura sceglie di adoperare contromisure oppressive nei confronti dei “fuorilegge” si crea un il Panopticon di Michael Foucault: ogni comportamente viene misurato dal punto di vista del “sospettabile” e da questo ne scaturisce la normalizzazione dell’individuo.</span><span style="font-family:inherit;"><br>Judy Blume in uno dei suoi discorsi piu` celebri riguardo la censura e il mondo giovanile afferma:<i> </i></span><br></p>
|
||||
<blockquote class="tr_bq">
|
||||
<span style="font-family:inherit;"><i> <span style="font-style:normal;">“Non sono solo i libri bruciati ora che mi preoccupano. Sono i libri che non saranno mai scritti. i libri che non saranno mai letti. E tutto questo per la paura della censura”</span></i></span>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p></p>
|
||||
<div style="line-height:100%;margin-bottom:0;">
|
||||
<p>
|
||||
<i><span style="font-family:inherit;">Viviamo <span style="font-family:inherit;">in un periodo di <span style="font-family:inherit;">forte e radicale cam<span style="font-family:inherit;">biamento, questo notevole avanzamento tecnologico non solo fornisce al <span style="font-family:inherit;">censore tutti gli strumenti per per<span style="font-family:inherit;">petuare la sua tirannia, ma con<span style="font-family:inherit;">ce<span style="font-family:inherit;">de anche all’<span style="font-family:inherit;">u<span style="font-family:inherit;">omo gli strumenti per liberars<span style="font-family:inherit;">e<span style="font-family:inherit;">ne e far volare libere le idee e i pensieri.</span></span></span></span></span></span></span></span></span></span></span></span></i></p>
|
||||
</div>
|
||||
<pre class="code literal-block"><span></span> <span class="nt"><div</span> <span class="na">style=</span><span class="s">"line-height:100%;margin-bottom:0;"</span><span class="nt">></span>
|
||||
</div>
|
||||
|
||||
<pre class="code literal-block"> <span class="nt"><div</span> <span class="na">style=</span><span class="s">"line-height:100%;margin-bottom:0;"</span><span class="nt">></span>
|
||||
<span class="nt"></div></span>
|
||||
|
||||
<span class="nt"><div</span> <span class="na">style=</span><span class="s">"line-height:100%;margin-bottom:0;text-align:right;"</span><span class="nt">></span>
|
||||
|
@ -118,7 +115,6 @@
|
|||
<span class="nt"><span</span> <span class="na">style=</span><span class="s">"font-family:inherit;"</span><span class="nt">></span> <span class="nt"></span></span>
|
||||
<span class="nt"></p></span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -61,8 +61,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p><span style="font-family: inherit;">Salve a tutti,</span></p>
|
||||
<p><span style="font-family: inherit;">Salve a tutti,</span></p>
|
||||
<div style="line-height: 100%; margin-bottom: 0;">
|
||||
<span style="font-family: inherit;">siamo tre studenti della facolta` di ingegneria del Politecnico di Torino ed abbiamo aperto questo blog come strumento di giudizio per il corso di </span><a href="http://rivoluzionedigitale.polito.it/" target="_blank" rel="nofollow"><span style="font-family: inherit;">Rivoluzione Digitale</span></a><span style="font-family: inherit;">.</span><br><span style="font-family: inherit;"><br></span>
|
||||
</div>
|
||||
|
@ -107,7 +106,6 @@
|
|||
<p> </p>
|
||||
<div style="line-height: 100%; margin-bottom: 0;" align="RIGHT">
|
||||
<span style="font-family: inherit;">Francesco Mecca, Eugenio Corso, Gabriele Corso</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -43,7 +43,7 @@ L’attenzione di Huang si e` concentr">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -57,8 +57,7 @@ L’attenzione di Huang si e` concentr">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>“Perche` sto puntando tutto sul deep learning? Perche’ sara` il nuovo Big Bang”</p>
|
||||
<p>“Perche` sto puntando tutto sul deep learning? Perche’ sara` il nuovo Big Bang”</p>
|
||||
<p>Cosi` ha parlato il CEO di Nvidia Jensen Huang il 3 marzo scorso alla sua <a href="http://www.gputechconf.com/">GTC 2015</a>.<br>
|
||||
L’attenzione di Huang si e` concentrata sul deep learning e come le deep neural networks negli ultimi anni abbiano compiuto progressi impressionanti tali da superare il cervello umano nei test di analisi immagine.</p>
|
||||
<p>Molta della ricerca negli ultimi anni, in particolare dal 2012 ad oggi, si sta concentrando sul programmare algoritmi tali da consentire alle intelligenze artificiali di processare dati in maniera gerarchica e organizzata tramite l’apprendimento progressivo dei livelli di rappresentazione.<br>
|
||||
|
@ -103,7 +102,6 @@ I dati sono la risposta economica a: “Iscriviti, e’ gratis e lo sarà sempre
|
|||
<p>La via di uscita sembra essere una sola, anche se poco desiderabile: <a href="http://en.wikipedia.org/wiki/Opt-out">l’opt out</a> ovvero la rinuncia consapevole da parte dell’utente al servizio.</p>
|
||||
<div style="text-align:right;">
|
||||
Francesco Mecca
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -50,8 +50,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<div style="line-height:100%;margin-bottom:0;">
|
||||
<div style="line-height:100%;margin-bottom:0;">
|
||||
<span style="font-family:Arial, Helvetica, sans-serif;">Lo scorso 26 marzo 4 ricercatori della Ben Gurion University in Israele hanno sviluppato Bitwhisper, un inconsueto malware per PC che dimostra la possibilita` di penetrare macchine anche non connesse in rete.</span>
|
||||
</div>
|
||||
|
||||
|
@ -112,7 +111,7 @@
|
|||
</div>
|
||||
|
||||
<div style="line-height:100%;margin-bottom:0;">
|
||||
<span style="font-family:Arial, Helvetica, sans-serif;"><br></span>
|
||||
<span style="font-family:Arial, Helvetica, sans-serif;"><br></span>
|
||||
|
||||
<div style="text-align:right;">
|
||||
<span style="font-family:Arial, Helvetica, sans-serif;">Francesco Mecca</span>
|
||||
|
@ -122,7 +121,6 @@
|
|||
<p><span style="font-family:Arial, Helvetica, sans-serif;"><br></span> </p>
|
||||
<div style="line-height:100%;margin-bottom:0;">
|
||||
<span style="font-family:Arial, Helvetica, sans-serif;"><br></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -45,7 +45,7 @@ Richard aveva avuto un lungo viaggio in macchina alle spalle. Circa un’ora pri
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -59,8 +59,7 @@ Richard aveva avuto un lungo viaggio in macchina alle spalle. Circa un’ora pri
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Articolo tradotto da <a href="http://motherboard.vice.com/read/the-operators">motherboard.vice.com</a><span id="goog_42434934"></span><span id="goog_42434935"></span></p>
|
||||
<p>Articolo tradotto da <a href="http://motherboard.vice.com/read/the-operators">motherboard.vice.com</a><span id="goog_42434934"></span><span id="goog_42434935"></span></p>
|
||||
<p>Richard aveva avuto un lungo viaggio in macchina alle spalle. Circa un’ora prima, alle 05:30, la moglie Lisa aveva telefonato: </p>
|
||||
<div>
|
||||
</div>
|
||||
|
@ -103,21 +102,18 @@ Richard aveva avuto un lungo viaggio in macchina alle spalle. Circa un’ora pri
|
|||
|
||||
<div>
|
||||
<div>
|
||||
TOR – un progetto originariamente sviluppato dalla marina americana – collega server, alcuni grandi, altri più piccoli, diffusi in tutto il mondo. Quando un utente si connette al network il suo traffico internet è indirizzato casualmente ad almeno tre di questi server, protetto per tutto il tempo da strati di crittografia, rendendo quasi impossibile a chiunque monitorare il traffico per determinare chi sta mandando cosa o dove sia stata spedita.
|
||||
TOR – un progetto originariamente sviluppato dalla marina americana – collega server, alcuni grandi, altri più piccoli, diffusi in tutto il mondo. Quando un utente si connette al network il suo traffico internet è indirizzato casualmente ad almeno tre di questi server, protetto per tutto il tempo da strati di crittografia, rendendo quasi impossibile a chiunque monitorare il traffico per determinare chi sta mandando cosa o dove sia stata spedita.
|
||||
|
||||
<div class="separator" style="clear:both;text-align:center;">
|
||||
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/e8ff7-computer_keyboard.png" style="margin-left:1em;margin-right:1em;"><img border="0" src="http://francescomecca.eu/wp-content/uploads/2015/08/e8ff7-computer_keyboard.png"></a>
|
||||
</div>
|
||||
|
||||
<pre class="code literal-block"><span></span><span class="nt"><div</span> <span class="na">style=</span><span class="s">"text-align:center;"</span><span class="nt">></span>
|
||||
<span class="nt"><span</span> <span class="na">style=</span><span class="s">"font-size:x-small;"</span><span class="nt">></span>immagine presa da <span class="nt"><a</span> <span class="na">href=</span><span class="s">"http://en.wikipedia.org/wiki/Typing"</span><span class="nt">></span>wikipedia<span class="nt"></a></span></span>
|
||||
<span class="nt"></div></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p></p>
|
||||
</div>
|
||||
<div style="text-align:center;">
|
||||
<span style="font-size:x-small;">immagine presa da <a href="http://en.wikipedia.org/wiki/Typing">wikipedia</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
</div>
|
||||
|
||||
|
@ -684,7 +680,6 @@ Richard aveva avuto un lungo viaggio in macchina alle spalle. Circa un’ora pri
|
|||
Gabriele Corso
|
||||
</div>
|
||||
</div> </div> </div> </div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ Questa legge, intitolata RIPA, R">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -54,8 +54,7 @@ Questa legge, intitolata RIPA, R">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Nel 2000, ben molto prima dello scandalo datagate, prima perfino dell’attacco alle torri gemelle, il Parlamento inglese approvo` una legge sulla sorveglianza di massa.<br>
|
||||
<p>Nel 2000, ben molto prima dello scandalo datagate, prima perfino dell’attacco alle torri gemelle, il Parlamento inglese approvo` una legge sulla sorveglianza di massa.<br>
|
||||
Questa legge, intitolata <a href="https://en.wikipedia.org/wiki/Regulation_of_Investigatory_Powers_Act_2000">RIPA</a>, Regulation of Investigatory Powers Act, interviene su come il corpo di polizia puo` condurre le investigazioni telematiche. </p>
|
||||
<p>Con questa legge viene permesso: </p>
|
||||
<ul>
|
||||
|
@ -104,7 +103,6 @@ Truecrypt permette di creare un volume crittografico che si presenta come un fil
|
|||
<p><a href="http://caught-in-thenet.blogspot.it/2015/04/non-abbiamo-nulla-da-nascondere.html">Anche se non abbiamo nulla da nascondere</a></p>
|
||||
<div style="text-align:right;">
|
||||
Francesco Mecca
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -50,8 +50,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float:right;margin-left:1em;text-align:right;">
|
||||
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float:right;margin-left:1em;text-align:right;">
|
||||
<tr>
|
||||
<td style="text-align:center;">
|
||||
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/9bc25-cd_hirkwmaemr03.jpg" style="clear:right;margin-bottom:1em;margin-left:auto;margin-right:auto;"><img border="0" src="http://francescomecca.eu/wp-content/uploads/2015/08/9bc25-cd_hirkwmaemr03.jpg"></a>
|
||||
|
@ -66,7 +65,6 @@
|
|||
L’opera si trova a Berlino.</p>
|
||||
<div style="text-align:right;">
|
||||
Francesco Mecca
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -39,7 +39,7 @@ Google inc. sta progettando di dare ai suoi utenti android più controllo riguar
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -53,8 +53,7 @@ Google inc. sta progettando di dare ai suoi utenti android più controllo riguar
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<div style="text-align:center;">
|
||||
<div style="text-align:center;">
|
||||
articolo tradotto da <a href="http://www.bloomberg.com/news/articles/2015-05-07/google-said-ready-to-give-android-users-more-privacy-controls" target="_blank">bloomberg.com</a>
|
||||
</div>
|
||||
|
||||
|
@ -76,7 +75,6 @@ Google inc. sta progettando di dare ai suoi utenti android più controllo riguar
|
|||
</div>
|
||||
|
||||
<div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -40,7 +40,7 @@ Presupponiamo che possiamo acceder">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -54,8 +54,7 @@ Presupponiamo che possiamo acceder">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Quando ogni giorno ci connettiamo al web lo facciamo con dei presupposti di cui magari non siamo consapevoli, ma che sono alla base della nostra esperienza in rete. </p>
|
||||
<p>Quando ogni giorno ci connettiamo al web lo facciamo con dei presupposti di cui magari non siamo consapevoli, ma che sono alla base della nostra esperienza in rete. </p>
|
||||
<p>Presupponiamo che possiamo accedere a qualsiasi sito web che desideriamo e che la velocita` a cui accediamo a questo sito web dipenda solamente da quanto paghiamo il nostro provider. Ogni servizio che noi usiamo nel web, che sia lo streaming di video da Youtube, l’upload di foto su Flickr, l’invio di piccoli messaggi di testo su qualche IRC e tanto altro, non puo` essere soggetto a discriminazioni da parte di chi fornisce la connessione. Questi sono i principi della Net Neutrality. </p>
|
||||
<p>Il 26 febbraio scorso FCC (la Commissione Federale per le Comunicazioni negli Stati Uniti) ha riaffermato la validita` di queste regole che in precedenza gli ISP avevano provato ad abolire. Abolire come?</p>
|
||||
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left:auto;margin-right:auto;text-align:center;">
|
||||
|
@ -106,7 +105,6 @@ Alcuni <a href="https://trac.torproject.org/projects/tor/wiki/doc/GoodBadISPs" t
|
|||
<p>Gli ISP potrebbero richiedere di connettersi obbligatoriamente attraverso i loro servizi senza la possibilita` di utilizzare un canale alternativo criptato: ogni protocollo che garantisce la nostra liberta` nel web (i2p, TOR, Freenet, ma anche semplicemente una VPN) non puo` operare senza le basi della network neutrality.</p>
|
||||
<div style="text-align:right;">
|
||||
Francesco Mecca
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -56,8 +56,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<div class="MsoNormal" style="text-align:justify;">
|
||||
<div class="MsoNormal" style="text-align:justify;">
|
||||
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float:right;margin-left:1em;text-align:right;">
|
||||
<tr>
|
||||
<td style="text-align:center;">
|
||||
|
@ -74,7 +73,7 @@
|
|||
<span>L’NSA (National Security Agency) è un organo governativo degli USA che si occupa della sicurezza all’interno della nazione, tutelandola da eventuali attacchi. La sua nascita si ebbe quando il presidente della commissione </span><span style="background:white;font-family:Arial, sans-serif;">Herbert Brownell pensò che le comunicazioni all’interno delle forze armate dovevano essere coordinate meglio (anche se dopo il ruolo dell’NSA fu esteso alla nazione), così nel giugno del 1952 il presidente Truman l’ autorizzò.</span></p>
|
||||
</div>
|
||||
|
||||
<pre class="code literal-block"><span></span><span class="nt"><div</span> <span class="na">class=</span><span class="s">"MsoNormal"</span> <span class="na">style=</span><span class="s">"text-align:justify;"</span><span class="nt">></span>
|
||||
<pre class="code literal-block"><span class="nt"><div</span> <span class="na">class=</span><span class="s">"MsoNormal"</span> <span class="na">style=</span><span class="s">"text-align:justify;"</span><span class="nt">></span>
|
||||
<span class="nt"><span</span> <span class="na">style=</span><span class="s">"background:white;font-family:Arial, sans-serif;"</span><span class="nt">><br</span> <span class="nt">/></span></span>
|
||||
<span class="nt"></div></span>
|
||||
|
||||
|
@ -109,7 +108,6 @@
|
|||
<span class="nt"></div></span>
|
||||
<span class="nt"></div></span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -67,8 +67,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<blockquote>
|
||||
<blockquote>
|
||||
<p></p>
|
||||
<div style="text-align: left;">
|
||||
<i>“When privacy is outlawed, only outlaws will have privacy”</i>
|
||||
|
@ -181,7 +180,6 @@ Command successful.</pre>
|
|||
<p style="text-align: right;">
|
||||
Francesco Mecca
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ Nel mare di Internet assis">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -57,8 +57,7 @@ Nel mare di Internet assis">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p><a href="https://www.youtube.com/embed/e3Zs74IH0mc?feature=player_embedded">In questo discorso</a> al summit Web 2.0 del 2011 Chris Poole, il fondatore di 4chan, riflette sul concetto di identita` e di come stia cambiando con l’introduzione del Web 2.0.</p>
|
||||
<p><a href="https://www.youtube.com/embed/e3Zs74IH0mc?feature=player_embedded">In questo discorso</a> al summit Web 2.0 del 2011 Chris Poole, il fondatore di 4chan, riflette sul concetto di identita` e di come stia cambiando con l’introduzione del Web 2.0.</p>
|
||||
<p>Nel mare di Internet assistiamo a due spiagge molto lontane che delimitano lo spazio della nostra attivita`: l’anonimato e l’identita` virtuale (che ci identifica nel mondo reale).</p>
|
||||
<p>E` un po` come misurare i due poli opposti, Facebook e Google Plus che richiedono il tuo nome vero e quindi ogni attivita` online e` un riflesso del proprio io reale, e 4chan, una delle poche risorse anonime nel Web che permette a ciascun utente di fare post anonimi e discutere quindi senza una forma di censura.</p>
|
||||
<h4><span style="font-size: large;"><span style="font-weight: normal;"> </span></span></h4>
|
||||
|
@ -87,7 +86,6 @@ Nel mare di Internet assis">
|
|||
<p style="text-align: right;">
|
||||
Francesco Mecca
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -53,8 +53,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p> </p>
|
||||
<p> </p>
|
||||
<blockquote class="tr_bq">
|
||||
<p>
|
||||
<span style="font-family: inherit;">Facebook per molti utenti è l’unico sito visitato, tanto da essere per molti sinonimo e sostituto integrale di Internet. Qui le regole d’uso vengono decise unilateralmente, senza dibattito […] È un ambiente chiuso, controllato secondo criteri bizzarri e soprattutto insindacabili. Il parco pubblico è stato sostituito dal centro commerciale. E a<span style="font-family: inherit;">d</span> un miliardo e cento milioni di utenti questo va benissimo. </span><br><span style="font-family: inherit;"><br> I dati indicano che stiamo rinunciando progressivamente agli elementi tecnici fondamentali che hanno permesso lo sviluppo della Rete, sostituendoli con un ecosistema hardware e software progressivamente sempre più chiuso. La mia preoccupazione è che tutto questo non crea nativi digitali. Crea polli di batteria</span>
|
||||
|
@ -101,7 +100,6 @@
|
|||
<p>La strada per la riduzione del divario digitale e la democratizzazione del web passa per le scuole e l’istruzione, forse uno dei pochi settori dove le istituzioni pubbliche hanno piu` potere della macchina del denaro della Silicon Valley.</p>
|
||||
<div style="text-align: right;">
|
||||
Francesco Mecca
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -53,8 +53,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<div class="MsoNormal" style="text-align: justify;">
|
||||
<div class="MsoNormal" style="text-align: justify;">
|
||||
Un argomento sul quale si è discusso molto negli ultimi tempi è quello della crittografia dei dati, un ufficiale dell’FBI ha testimoniato che lo scopo delle forze dell’ordine è quello di collaborare con una società tecnologica per prevenire la crittografia. Anche se le compagnie non dovrebbero mettere l’accesso alla crittazione dei clienti prima di preoccupazioni per la sicurezza nazionale, perché la maggiore priorità del governo è quella di prevenire l’uso di tecnologie che proteggono ogni cosa che le persone fanno online. Il loro scopo non è quello di usare una “back door”, termine usato dagli esperti per descrivere punti di accesso integrati, ma quello di accedere ai contenuti dopo essere passati per un processo giudiziario.
|
||||
</div>
|
||||
|
||||
|
@ -119,7 +118,6 @@
|
|||
|
||||
<div class="MsoNormal" style="text-align: right;">
|
||||
Gabriele Corso
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -40,7 +40,7 @@ Principalmente lo ">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -54,8 +54,7 @@ Principalmente lo ">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>In questi giorni mi e` capitato di dover scaricare varie collezioni da <a href="https://en.wikipedia.org/wiki/Internet_Archive">archive.org</a>, una libreria digitale multimediale la cui missione e` l’accesso universale a tutta la conoscenza.</p>
|
||||
<p>In questi giorni mi e` capitato di dover scaricare varie collezioni da <a href="https://en.wikipedia.org/wiki/Internet_Archive">archive.org</a>, una libreria digitale multimediale la cui missione e` l’accesso universale a tutta la conoscenza.</p>
|
||||
<p>Principalmente lo uso per scaricare tantissime registrazioni live di vari concerti registrati a mio avviso in maniera impeccabile.</p>
|
||||
<p>Nel sito si trova una guida per scaricare in bulk usando wget e gli strumenti del sito, ma risulta piuttosto prolissa e complicata se si vuole fare un download al volo.</p>
|
||||
<p>Questo e` lo script che uso, modificato da <a href="https://github.com/ghalfacree/bash-scripts/blob/master/archivedownload.sh">questo</a> script: e` scritto in bash e funziona su tutte le distribuzioni sulle quali e` installato wget, tail e sed.</p>
|
||||
|
@ -90,7 +89,6 @@ echo Complete.
|
|||
</pre>
|
||||
|
||||
<p>Francesco Mecca </p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -50,8 +50,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Recentemente l’<a href="http://bigstory.ap.org/article/4b3f220e33b64123a3909c60845da045/fbi-behind-mysterious-surveillance-aircraft-over-us-cities">Associated Press</a> ha dichiarato che sono stati avvistati numerosi aerei americani che volavano a bassa quota nei pressi di alcune città americane. Dopo averli tracciati si è scoperto che gli aerei erano in possesso dell’FBI, che ne aveva menzionato ben 115 nel documento di bilancio federale del 2009.</p>
|
||||
<p>Recentemente l’<a href="http://bigstory.ap.org/article/4b3f220e33b64123a3909c60845da045/fbi-behind-mysterious-surveillance-aircraft-over-us-cities">Associated Press</a> ha dichiarato che sono stati avvistati numerosi aerei americani che volavano a bassa quota nei pressi di alcune città americane. Dopo averli tracciati si è scoperto che gli aerei erano in possesso dell’FBI, che ne aveva menzionato ben 115 nel documento di bilancio federale del 2009.</p>
|
||||
<p>Per molti anni questi aerei avevano aiutato l’FBI con le operazioni di sorveglianza al suolo, ora invece sono stati equipaggiati con telecamere hi-tech e dispositivi in grado di tracciare migliaia di telefoni e risalire ai propri possessori anche se non si stanno effettuando chiamate, anche se a quanto detto dall’agenzia quest’ultima tecnologia è usata raramente.</p>
|
||||
<p>Charles Grasseley, presidente della commissione Giustizia del Senato, ha detto: “E’ importante che le forze dell’ordine abbiano gli strumenti essenziali per rintracciare e catturare i criminali, ma quando un’operazione monitora anche i cittadini americani che non sono sospettati, dobbiamo essere sicuri di salvaguardare la libertà degli americani innocenti”.</p>
|
||||
<div class="separator" style="clear:both;text-align:center;">
|
||||
|
@ -76,7 +75,6 @@ David Gomez, un ex agente dell’FBI , ha detto che il velivolo di sorveglianza
|
|||
</div>
|
||||
|
||||
<div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -54,8 +54,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p><span style="font-family: inherit;">Il 25 giugno sono stato alla presentazione del master di primo livello in “<a href="http://nexacenter.org/2015/06/master-software-libero">Management del Software Libero</a>”, che si e` tenuto nella sala della palazzo della Regione Piemonte. </span></p>
|
||||
<p><span style="font-family: inherit;">Il 25 giugno sono stato alla presentazione del master di primo livello in “<a href="http://nexacenter.org/2015/06/master-software-libero">Management del Software Libero</a>”, che si e` tenuto nella sala della palazzo della Regione Piemonte. </span></p>
|
||||
<p><span style="font-family: inherit;"><br> Non mento dicendo che a questo incontro ci sono andato principalmente per ascoltare il professor <a href="https://www.youtube.com/watch?v=gdsd2L_pqs4">Raffaele Meo</a> (che ha aiutato a curare parte del programma del master) e <a href="http://stallman.org/">Richard Stallman</a>. </span></p>
|
||||
<table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" cellspacing="0" cellpadding="0" align="center">
|
||||
<tr>
|
||||
|
@ -102,7 +101,6 @@
|
|||
<p><span style="font-family: inherit;">Sono state indimenticabili le espressioni dei 2 relatori quando Stallman ha indossato la veste di <a href="https://stallman.org/cgi-bin/showpage.cgi?path=/saint.html&term=saint&type=norm&case=0">Saint IGNUcius</a> e quando ha aperto l’asta per un peluche di gnu, mascotte della FSF. </span></p>
|
||||
<div style="text-align: right;">
|
||||
<span style="font-family: inherit;">Francesco Mecca </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -54,8 +54,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Nel <a href="https://en.wikipedia.org/wiki/De_Arte_Combinatoria">De Arte Combinatoria</a> (1666) Leibniz afferma che tutta la logica del pensiero umano non sia altro che una combinazione di pensieri piu` piccoli che a loro volta possono essere frammentati in idee semplicissime e concatenabili.</p>
|
||||
<p>Nel <a href="https://en.wikipedia.org/wiki/De_Arte_Combinatoria">De Arte Combinatoria</a> (1666) Leibniz afferma che tutta la logica del pensiero umano non sia altro che una combinazione di pensieri piu` piccoli che a loro volta possono essere frammentati in idee semplicissime e concatenabili.</p>
|
||||
<table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" cellspacing="0" cellpadding="0" align="center">
|
||||
<tr>
|
||||
<td style="text-align: center;">
|
||||
|
@ -113,7 +112,6 @@
|
|||
<p>Se si dovesse lavorare per creare un cervello “umano” in laboratorio si partirebbe proprio da questo, che e` un requisito necessario, che si potrebbe definire come molto piu` di una semplice “istruzione” che ci porta a dire: “io sono”, e delle volte dubitare anche di questo.</p>
|
||||
<div style="text-align: right;">
|
||||
Francesco Mecca
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -40,7 +40,7 @@ La Rivoluzione Digitale ha toccato la societa` in tutti i suoi aspetti, e fra qu
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -54,8 +54,7 @@ La Rivoluzione Digitale ha toccato la societa` in tutti i suoi aspetti, e fra qu
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<h5><span style="font-size: large;">Premessa </span></h5>
|
||||
<h5><span style="font-size: large;">Premessa </span></h5>
|
||||
<p>La Rivoluzione Digitale ha toccato la societa` in tutti i suoi aspetti, e fra questi ha anche minato le fondamenta di un settore, quello dell’informazione, alle fondamenta della nostra societa`.</p>
|
||||
<p>La decentralizzazione delle fonti di informazione, che avviene attraverso i blog e le piattaforme online, la micro messaggistica istantanea e i tweet, i social media, ma piu` in generale tutti gli strumenti che Internet ci offre, hanno mutato radicalmente non solo il modo di fare giornalismo, ma il rapporto del cittadino digitale con l’informazione cartacea e digitale.</p>
|
||||
<p>Per questo abbiamo posto 12 domande a <a href="https://twitter.com/cidigi">Carla De Girolamo</a>, vicecaporedattore di <a href="http://panorama.it/">Panorama</a>, basandoci sulle parole di <a href="http://blog.debiase.com/">Luca de Biase</a>, il quale <a href="https://www.youtube.com/watch?v=6al_1ELORXk">afferma</a> che nel mondo dell’editoria la Rivoluzione Digitale e` stata una rivoluzione di tre nature: Francese, Copernica e Industriale.</p>
|
||||
|
@ -78,7 +77,7 @@ La Rivoluzione Digitale ha toccato la societa` in tutti i suoi aspetti, e fra qu
|
|||
<p><strong>2. Ogni giorno ricevete piu` visite dai dispositi mobili o dai computer o tradizionale cartaceo?</strong></p>
|
||||
<p>Decisamente prevale il digitale. Mobile e fisso sono ormai quasi equivalenti, il mobile tra pochissimo prevarra`, dati i trend costanti di crescita.</p>
|
||||
<p>**</p>
|
||||
<p><strong> </strong>3. <a href="https://twitter.com/annamasera">Anna Masera</a> ci ha <a href="https://www.youtube.com/watch?v=TANsxwwGCjw" target="_blank" rel="nofollow">mostrato</a> che nonostante le regole del giornalismo siano rimaste le stesse, sono emersi nuovi ruoli, come ad esempio quello del social media manager. Che evoluzione ha subito il ruolo del giornalista?**</p>
|
||||
<p>** <strong>3. <a href="https://twitter.com/annamasera">Anna Masera</a> ci ha <a href="https://www.youtube.com/watch?v=TANsxwwGCjw" target="_blank" rel="nofollow">mostrato</a> che nonostante le regole del giornalismo siano rimaste le stesse, sono emersi nuovi ruoli, come ad esempio quello del social media manager. Che evoluzione ha subito il ruolo del giornalista?</strong></p>
|
||||
<p>Per ora in Italia ci sono figure di giornalisti che si evolvono, e che integrano alle capacita` e competenze tradizionali altre funzioni. Quindi una persona che normalmente si occupava di “desk”, per il lavoro online deve anche diventare social media manager, photo editor, videomaker… Insomma si assommano più funzioni in una sola persona, e a mio avviso e` la parte migliore e più divertente del lavoro sul settore digitale.</p>
|
||||
<p><strong>4. La Rivoluzione Digitale quali basi ha tolto al giornalismo? Quali ne ha create?</strong></p>
|
||||
<p>Il giornalismo di qualita` resta tale, anche sul digitale. Deve pero` necessariamente evolversi e, come detto, arricchirsi di nuove funzioni e nuove capacita`.</p>
|
||||
|
@ -104,13 +103,13 @@ La Rivoluzione Digitale ha toccato la societa` in tutti i suoi aspetti, e fra qu
|
|||
<p><strong>8. I giornalisti di Panorama hanno delle linee guida per il comportamento da tenere online?</strong></p>
|
||||
<p>Le linee guida sull’accuratezza e la serieta` dell’informazione e sul rispetto per i lettori non cambiano. Cambiano i modi di scrivere per il settore digitale rispetto al cartaceo.</p>
|
||||
<p>**</p>
|
||||
<p><strong> </strong>9. Come e` cambiato il rapporto interdipendente fra giornalisti ed utenti/lettori?**</p>
|
||||
<p>** <strong>9. Come e` cambiato il rapporto interdipendente fra giornalisti ed utenti/lettori?</strong></p>
|
||||
<p>Grazie ai social media il rapporto e` molto più stretto e immediato. Non tutti i giornalisti purtroppo sono ancora pronti a cogliere questa opportunita`.</p>
|
||||
<p>**</p>
|
||||
<p><strong> </strong>10. Le regole del giornalismo sono davvero rimaste le stesse?** </p>
|
||||
<p>** <strong>10. Le regole del giornalismo sono davvero rimaste le stesse?</strong> </p>
|
||||
<p>Assolutamente si`.</p>
|
||||
<p>**</p>
|
||||
<p><strong> </strong>11. Si puo` affermare che ora grazie ad Internet le 5 W alla base del giornalismo sono state passate ai cittadini?**</p>
|
||||
<p>** <strong>11. Si puo` affermare che ora grazie ad Internet le 5 W alla base del giornalismo sono state passate ai cittadini?</strong></p>
|
||||
<p>No. I cittadini possono fare a loro volta informazione, ma difficilmente le 5W sono soddisfatte dagli articoli di un blog personale</p>
|
||||
<p><strong>12. Secondo Stefano Quintarelli con i nuovi social media il “fatto” si e` trasformato in</strong> </p>
|
||||
<p><strong>“opinione”, nel senso che il ruolo e l`importanza del primo ora e` stata oscurata dall’imporsi del secondo. Quanto c’e` di vero in questa frase?</strong></p>
|
||||
|
@ -127,7 +126,6 @@ La Rivoluzione Digitale ha toccato la societa` in tutti i suoi aspetti, e fra qu
|
|||
|
||||
<div style="text-align: right;">
|
||||
Francesco Mecca
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
|
|
@ -41,7 +41,7 @@ Con l’avvento dell’informatizzazione e` notevolmente mutata la modalita` con
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -55,8 +55,7 @@ Con l’avvento dell’informatizzazione e` notevolmente mutata la modalita` con
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<h5><span style="font-size: large;">Premessa</span></h5>
|
||||
<h5><span style="font-size: large;">Premessa</span></h5>
|
||||
<p>Con l’avvento dell’informatizzazione e` notevolmente mutata la modalita` con cui l’avvocato svolge la propria professione; sinteticamente si puo` arrivare ad affermare che al di la` della partecipazione alle udienze e il ricevimento dei clienti, tutta l’attivita` si puo` svolgere con il computer nel proprio studio, senza alzarsi dalla poltrona.</p>
|
||||
<p>Per quanto mi riguarda vorrei premettere che io sono un avvocato dipendente di un ente pubblico (l’INAIL) e pertanto unico mio cliente e` l’Istituto che io difendo sia in ambito giudiziario (cause legali) che extragiudiziario (composizione bonaria delle liti).</p>
|
||||
<p>L’avvento dell’informatica ha modificato il modo di lavorare nella sua globalita`, vediamo pertanto le singole fasi dell’attivita`.</p>
|
||||
|
@ -109,7 +108,6 @@ Con l’avvento dell’informatizzazione e` notevolmente mutata la modalita` con
|
|||
</div>
|
||||
|
||||
<p> </p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ Ora il blog e` disponibile a questo indirizzo ed e` fisicamen">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -51,13 +51,11 @@ Ora il blog e` disponibile a questo indirizzo ed e` fisicamen">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p><a href="http://dashburst.com/nsa-needs-google-eye-in-sky/"><img class="aligncenter wp-image-172 size-medium" src="http://francescomecca.eu/wp-content/uploads/2015/08/googlebigbrother-296x300.jpg" alt="" width="296" height="300" srcset="http://francescomecca.eu/wp-content/uploads/2015/08/googlebigbrother-296x300.jpg 296w, http://francescomecca.eu/wp-content/uploads/2015/08/googlebigbrother.jpg 669w" sizes="(max-width: 296px) 100vw, 296px"></a>Ho deciso di abbandonare Blogspot per le stesse ragioni per cui ho smesso di utilizzare i servizi Google due anni fa: privacy e controllo.</p>
|
||||
<p><a href="http://dashburst.com/nsa-needs-google-eye-in-sky/"><img class="aligncenter wp-image-172 size-medium" src="http://francescomecca.eu/wp-content/uploads/2015/08/googlebigbrother-296x300.jpg" alt="" width="296" height="300" srcset="http://francescomecca.eu/wp-content/uploads/2015/08/googlebigbrother-296x300.jpg 296w, http://francescomecca.eu/wp-content/uploads/2015/08/googlebigbrother.jpg 669w" sizes="(max-width: 296px) 100vw, 296px"></a>Ho deciso di abbandonare Blogspot per le stesse ragioni per cui ho smesso di utilizzare i servizi Google due anni fa: privacy e controllo.</p>
|
||||
<p>Ora il blog e` disponibile a questo indirizzo ed e` fisicamente sul mio Raspberry PI che utilizza Raspbian + WordPress.</p>
|
||||
<p> </p>
|
||||
<p> </p>
|
||||
<p> </p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -54,8 +54,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p><a href="http://www.mantellini.it/2015/08/26/state-al-riparo/" target="_blank" rel="http://www.mantellini.it/2015/08/26/state-al-riparo/"><img class="aligncenter wp-image-178 size-full" src="http://francescomecca.eu/wp-content/uploads/2015/08/Schermata-2015-08-26-alle-22.29.31.jpg" alt="" width="644" height="533" srcset="http://francescomecca.eu/wp-content/uploads/2015/08/Schermata-2015-08-26-alle-22.29.31-300x248.jpg 300w, http://francescomecca.eu/wp-content/uploads/2015/08/Schermata-2015-08-26-alle-22.29.31.jpg 644w" sizes="(max-width: 644px) 100vw, 644px"></a></p>
|
||||
<p><a href="http://www.mantellini.it/2015/08/26/state-al-riparo/" target="_blank" rel="http://www.mantellini.it/2015/08/26/state-al-riparo/"><img class="aligncenter wp-image-178 size-full" src="http://francescomecca.eu/wp-content/uploads/2015/08/Schermata-2015-08-26-alle-22.29.31.jpg" alt="" width="644" height="533" srcset="http://francescomecca.eu/wp-content/uploads/2015/08/Schermata-2015-08-26-alle-22.29.31-300x248.jpg 300w, http://francescomecca.eu/wp-content/uploads/2015/08/Schermata-2015-08-26-alle-22.29.31.jpg 644w" sizes="(max-width: 644px) 100vw, 644px"></a></p>
|
||||
<p>Dura 56 secondi il video di Vester Lee Flanagan che testimonia l’omicidio in prima persona di due giornalisti in Virginia durante un live broadcast televisivo. Durante l’inseguimento nel quale si e` tolto la vita Flanagan ha caricato su Twitter e Facebook il video dell’uccisione in prima persona.</p>
|
||||
<p>Twitter e Facebook hanno tempestivamente censurato il video e rimosso l’account dell’omicida ed alcune emittenti televisive (come SkyTg24) hanno scelto allo stesso modo di non pubblicare il video in diretta.</p>
|
||||
<h4>To publish or not to publish?</h4>
|
||||
|
@ -84,7 +83,6 @@
|
|||
<p style="text-align: right;">
|
||||
Francesco Mecca
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ First of all the core distribution of Perl is included in ">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -57,8 +57,7 @@ First of all the core distribution of Perl is included in ">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>In this post I wish to explain a bit about Perl related ebuilds in Gentoo and how to update from perl-core to virtual/perl without conflicts.</p>
|
||||
<p>In this post I wish to explain a bit about Perl related ebuilds in Gentoo and how to update from perl-core to virtual/perl without conflicts.</p>
|
||||
<p>First of all the core distribution of Perl is included in <a href="https://packages.gentoo.org/package/dev-lang/perl">dev-lang/Perl</a> along with <a href="http://perldoc.perl.org/index-modules-A.html">modules</a>.</p>
|
||||
<p>The <a href="https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/perl-core/">perl-core category</a> in portage contains ebuilds for perl modules, some of which are included in the core perl distibution. The perl-core ebuilds overrides the perl-core modules such that you can update them without recompiling dev-lang/Perl.</p>
|
||||
<p>Each perl-core module has a corrensponding virtual/perl-* package. The virtual category is used by portage when emerging to take into account that a module can be either provided by dev-lang/perl package or found in perl-core category.</p>
|
||||
|
@ -78,7 +77,6 @@ perl-cleaner --all</pre>
|
|||
<p style="text-align: right;">
|
||||
Francesco Mecca
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -61,8 +61,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p style="text-align: left;">
|
||||
<p style="text-align: left;">
|
||||
The Buridan’s donkey is an illustration of a paradox regarding the philosophy of moral determinism and free will.
|
||||
</p>
|
||||
|
||||
|
@ -73,7 +72,7 @@
|
|||
<p><a href="https://en.wikipedia.org/wiki/Buridan's_ass"><img class="aligncenter size-full wp-image-209" src="http://francescomecca.eu/wp-content/uploads/2015/09/Deliberations_of_Congress.jpg" alt="Deliberations_of_Congress" width="431" height="425" srcset="http://francescomecca.eu/wp-content/uploads/2015/09/Deliberations_of_Congress-300x296.jpg 300w, http://francescomecca.eu/wp-content/uploads/2015/09/Deliberations_of_Congress.jpg 431w" sizes="(max-width: 431px) 100vw, 431px"></a>I have decided to write a cli program that chooses for me when I can’t make up my mind.</p>
|
||||
<p>The program is written in C++ and when invoked along with two or more arguments it puts them in a vector and then changes the order randomly.</p>
|
||||
<p>.. code:: c</p>
|
||||
<pre class="code literal-block"><span></span><span class="n">#include</span><span class="w"> </span><span class="o"><</span><span class="n">iostream</span><span class="o">></span><span class="w"></span>
|
||||
<pre class="code literal-block"><span class="n">#include</span><span class="w"> </span><span class="o"><</span><span class="n">iostream</span><span class="o">></span><span class="w"></span>
|
||||
<span class="n">#include</span><span class="w"> </span><span class="o"><</span><span class="n">vector</span><span class="o">></span><span class="w"></span>
|
||||
<span class="n">#include</span><span class="w"> </span><span class="o"><</span><span class="n">algorithm</span><span class="o">></span><span class="w"></span>
|
||||
<span class="n">#include</span><span class="w"> </span><span class="o"><</span><span class="n">random</span><span class="o">></span><span class="w"></span>
|
||||
|
@ -125,38 +124,28 @@
|
|||
<span class="w"> </span><span class="err">}</span><span class="w"></span>
|
||||
<span class="err">}</span><span class="w"></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>I have used the <a href="http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine" target="_blank">Mersenne Twister PRNG</a> just to give it a try.</p>
|
||||
<p style="text-align: left;">
|
||||
One of the challenges was to read from stdin instead of arguments when the program is piped after another program in the shell:
|
||||
</p>
|
||||
|
||||
<p>.. code:: sh</p>
|
||||
<pre class="code literal-block"><span></span>ls /media/my_movies/ | buridan
|
||||
<pre class="code literal-block">ls /media/my_movies/ | buridan
|
||||
</pre>
|
||||
|
||||
|
||||
<p>So I have used poll() that checks for a specified amount of time if the selected device (/dev/stdin in my case) can perform I/O operations; in my code:</p>
|
||||
<p>.. code:: bash</p>
|
||||
<pre class="code literal-block"><span></span>poll (&stdin_poll, 1, 0)
|
||||
<pre class="code literal-block">poll (&stdin_poll, 1, 0)
|
||||
</pre>
|
||||
|
||||
|
||||
<p>I selected the POLLIN as event so poll() only checks if there is data to read, 1 as the number of items in the fds array, 0 milliseconds of timeout because when the program is invoked /dev/stdin may already contain input.</p>
|
||||
<p>The program should be compiled this way:</p>
|
||||
<p>.. code:: bash</p>
|
||||
<pre class="code literal-block"><span></span>g++ -std=c++11 ./program.cpp -o output
|
||||
<pre class="code literal-block">g++ -std=c++11 ./program.cpp -o output
|
||||
</pre>
|
||||
|
||||
|
||||
<p>You are free to reuse this little piece of code as you wish.</p>
|
||||
<p>EDIT: 02-04-2016
|
||||
The original idea for the Buridan's donkey came from my mentor <a href="https://twitter.com/bassosimone">Simone Basso</a> who wrote the original one in haskell.</p>
|
||||
<p style="text-align: right;">
|
||||
Francesco Mecca
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ Mi auguro che">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -57,8 +57,7 @@ Mi auguro che">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Questo è il primo di una serie di post che hanno l'obbiettivo di fornire una breve e generale introduzione al mondo del machine learning e delle intelligenze artificiali più in generale.
|
||||
<p>Questo è il primo di una serie di post che hanno l'obbiettivo di fornire una breve e generale introduzione al mondo del machine learning e delle intelligenze artificiali più in generale.
|
||||
Mi auguro che questa breve introduzione al mondo dell'apprendimento automatico sia una sorta di vaccino contro il sensazionalismo mediatico e la disinformazione che negli ultimi anni fanno da contorno al progresso in questo settore.</p>
|
||||
<h3>Non c'è risultato senza algoritmo</h3>
|
||||
<p>Nelle scienze informatiche un algoritmo è un insieme di istruzioni che partendo da uno stato iniziale (input) permette di arrivare ad uno stato finale (output) attraverso una serie di step logici.
|
||||
|
@ -74,34 +73,34 @@ Noi abbiamo questi dati:</p>
|
|||
<table>
|
||||
<thead><tr>
|
||||
<th>PREZZO ORIGINALE</th>
|
||||
<th align="center">Km percorsi</th>
|
||||
<th align="center">stato di usura</th>
|
||||
<th align="right">PREZZO FINALE</th>
|
||||
<th style="text-align: center;">Km percorsi</th>
|
||||
<th style="text-align: center;">stato di usura</th>
|
||||
<th style="text-align: right;">PREZZO FINALE</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>50 000</td>
|
||||
<td align="center">120 000</td>
|
||||
<td align="center">lieve</td>
|
||||
<td align="right">40 000</td>
|
||||
<td style="text-align: center;">120 000</td>
|
||||
<td style="text-align: center;">lieve</td>
|
||||
<td style="text-align: right;">40 000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>30 000</td>
|
||||
<td align="center">150 000</td>
|
||||
<td align="center">notevole</td>
|
||||
<td align="right">8 000</td>
|
||||
<td style="text-align: center;">150 000</td>
|
||||
<td style="text-align: center;">notevole</td>
|
||||
<td style="text-align: right;">8 000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20 000</td>
|
||||
<td align="center">80 000</td>
|
||||
<td align="center">lieve</td>
|
||||
<td align="right">15 000</td>
|
||||
<td style="text-align: center;">80 000</td>
|
||||
<td style="text-align: center;">lieve</td>
|
||||
<td style="text-align: right;">15 000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20 000</td>
|
||||
<td align="center">120 000</td>
|
||||
<td align="center">notevole</td>
|
||||
<td align="right">...</td>
|
||||
<td style="text-align: center;">120 000</td>
|
||||
<td style="text-align: center;">notevole</td>
|
||||
<td style="text-align: right;">...</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -116,29 +115,29 @@ Possiamo capire già da ora che nel caso ci fossero dati che "inquinano" il nost
|
|||
<table>
|
||||
<thead><tr>
|
||||
<th>PREZZO ORIGINALE</th>
|
||||
<th align="center">Km percorsi</th>
|
||||
<th align="right">stato di usura</th>
|
||||
<th style="text-align: center;">Km percorsi</th>
|
||||
<th style="text-align: right;">stato di usura</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>50 000</td>
|
||||
<td align="center">120 000</td>
|
||||
<td align="right">lieve</td>
|
||||
<td style="text-align: center;">120 000</td>
|
||||
<td style="text-align: right;">lieve</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>30 000</td>
|
||||
<td align="center">150 000</td>
|
||||
<td align="right">notevole</td>
|
||||
<td style="text-align: center;">150 000</td>
|
||||
<td style="text-align: right;">notevole</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20 000</td>
|
||||
<td align="center">80 000</td>
|
||||
<td align="right">lieve</td>
|
||||
<td style="text-align: center;">80 000</td>
|
||||
<td style="text-align: right;">lieve</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20 000</td>
|
||||
<td align="center">120 000</td>
|
||||
<td align="right">notevole</td>
|
||||
<td style="text-align: center;">120 000</td>
|
||||
<td style="text-align: right;">notevole</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -151,54 +150,52 @@ Nel caso della vendita dell'automobile, abbiamo un semplice problema con una sol
|
|||
<p>Ovviamente ogni incognita nella nostra equazione influisce diversamente sul prezzo finale e quindi possiamo riscriverla come:
|
||||
<em>prezzo finale</em> = A <em><em>prezzo originale</em> + B </em><em>km percorsi</em> + C * stato di usura</p>
|
||||
<p>Se pensiamo ad un algoritmo possiamo ragionare in questo modo:</p>
|
||||
<pre class="code literal-block"><span></span><span class="n">funzione</span><span class="o">:</span> <span class="n">calcola_prezzo_auto</span><span class="o">:</span>
|
||||
<span class="n">parametri</span><span class="o">:</span> <span class="n">prezzo_originale</span><span class="o">,</span> <span class="n">km_percorsi</span><span class="o">,</span> <span class="n">stato_usura</span>
|
||||
<span class="n">variabili</span><span class="o">:</span> <span class="n">prezzo_finale</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
<pre class="code literal-block"><span class="n">funzione</span><span class="o">:</span><span class="w"> </span><span class="n">calcola_prezzo_auto</span><span class="o">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">parametri</span><span class="o">:</span><span class="w"> </span><span class="n">prezzo_originale</span><span class="o">,</span><span class="w"> </span><span class="n">km_percorsi</span><span class="o">,</span><span class="w"> </span><span class="n">stato_usura</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">variabili</span><span class="o">:</span><span class="w"> </span><span class="n">prezzo_finale</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="w"></span>
|
||||
|
||||
<span class="n">prezzo</span> <span class="n">finale</span> <span class="o">=</span> <span class="n">prezzo_originale</span> <span class="o">*</span> <span class="mf">0.804246</span>
|
||||
<span class="n">prezzo</span> <span class="n">finale</span> <span class="o">=</span> <span class="n">prezzo_finale</span> <span class="o">+</span> <span class="n">km_percorsi</span> <span class="o">*</span> <span class="o">-</span><span class="mf">0.000125</span>
|
||||
<span class="n">prezzo</span> <span class="n">finale</span> <span class="o">=</span> <span class="n">prezzo_finale</span> <span class="o">+</span> <span class="n">stato_usura</span> <span class="o">*</span> <span class="o">-</span><span class="mi">2500</span>
|
||||
<span class="w"> </span><span class="n">prezzo</span><span class="w"> </span><span class="n">finale</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">prezzo_originale</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mf">0.804246</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">prezzo</span><span class="w"> </span><span class="n">finale</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">prezzo_finale</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">km_percorsi</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="o">-</span><span class="mf">0.000125</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">prezzo</span><span class="w"> </span><span class="n">finale</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">prezzo_finale</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">stato_usura</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="o">-</span><span class="mi">2500</span><span class="w"></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>I valori di quelle costanti, stabilite casualmente nell'esempio, sono chiamate <em>pesi</em> e servono a stimare il prezzo finale.
|
||||
Una volta stabiliti i pesi, il nostro algoritmo di supervised learning applica questi pesi ai dati originali e ne valuta l'errore:</p>
|
||||
<table>
|
||||
<thead><tr>
|
||||
<th>PREZZO ORIGINALE</th>
|
||||
<th align="center">Km percorsi</th>
|
||||
<th align="center">stato di usura</th>
|
||||
<th align="center">PREZZO FINALE</th>
|
||||
<th align="right">PREZZO STIMATO</th>
|
||||
<th style="text-align: center;">Km percorsi</th>
|
||||
<th style="text-align: center;">stato di usura</th>
|
||||
<th style="text-align: center;">PREZZO FINALE</th>
|
||||
<th style="text-align: right;">PREZZO STIMATO</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>50 000</td>
|
||||
<td align="center">120 000</td>
|
||||
<td align="center">lieve</td>
|
||||
<td align="center">40 000</td>
|
||||
<td align="right">374888</td>
|
||||
<td style="text-align: center;">120 000</td>
|
||||
<td style="text-align: center;">lieve</td>
|
||||
<td style="text-align: center;">40 000</td>
|
||||
<td style="text-align: right;">374888</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>30 000</td>
|
||||
<td align="center">150 000</td>
|
||||
<td align="center">notevole</td>
|
||||
<td align="center">8 000</td>
|
||||
<td align="right">16000</td>
|
||||
<td style="text-align: center;">150 000</td>
|
||||
<td style="text-align: center;">notevole</td>
|
||||
<td style="text-align: center;">8 000</td>
|
||||
<td style="text-align: right;">16000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20 000</td>
|
||||
<td align="center">80 000</td>
|
||||
<td align="center">lieve</td>
|
||||
<td align="center">15 000</td>
|
||||
<td align="right">13492</td>
|
||||
<td style="text-align: center;">80 000</td>
|
||||
<td style="text-align: center;">lieve</td>
|
||||
<td style="text-align: center;">15 000</td>
|
||||
<td style="text-align: right;">13492</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20 000</td>
|
||||
<td align="center">120 000</td>
|
||||
<td align="center">notevole</td>
|
||||
<td align="center">...</td>
|
||||
<td align="right">10988</td>
|
||||
<td style="text-align: center;">120 000</td>
|
||||
<td style="text-align: center;">notevole</td>
|
||||
<td style="text-align: center;">...</td>
|
||||
<td style="text-align: right;">10988</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -209,7 +206,7 @@ Ci sono varie funzioni che stimano l'errore e permettono di correggere i pesi o
|
|||
<p>Ora, come possiamo immaginare, il prezzo di un'auto ha molti fattori che si aggiungono a quelli elencati nell'esempio.
|
||||
Non solo, ma molti problemi non hanno una soluzione lineare, ovvero una soluzione che si può semplicemente esprimere attraverso una funzione che aggiunge e moltiplica i valori una sola volta.</p>
|
||||
<p>Possiamo arricchire l'esempio dell'automobile immaginando di avere più set di pesi e di ripetere il procedimento più volte:</p>
|
||||
<pre class="code literal-block"><span></span><span class="c">|</span><span class="nb">---------------------------------------------------</span><span class="c">|</span>
|
||||
<pre class="code literal-block"><span class="c">|</span><span class="nb">---------------------------------------------------</span><span class="c">|</span>
|
||||
<span class="c">| PREZZO_ORIG * peso A1 </span><span class="nb">-----</span><span class="nv">></span><span class="c"> |</span>
|
||||
<span class="c">| KM_PERCORSI * peso B1 </span><span class="nb">-----</span><span class="nv">></span><span class="c"> |</span>
|
||||
<span class="c">| STATO_USURA * peso C1 </span><span class="nb">-----</span><span class="nv">></span><span class="c"> |</span>
|
||||
|
@ -230,18 +227,14 @@ Non solo, ma molti problemi non hanno una soluzione lineare, ovvero una soluzion
|
|||
<span class="c">| PREZZO FINALE STIMATO 3|</span>
|
||||
<span class="c">|</span><span class="nb">---------------------------------------------------</span><span class="c">|</span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>E ora immaginiamo di combinare ogni PREZZO FINALE STIMATO in un'ultimo risultato:</p>
|
||||
<pre class="code literal-block"><span></span><span class="c">| </span><span class="nb">--------------------------------------------------</span><span class="c">|</span>
|
||||
<pre class="code literal-block"><span class="c">| </span><span class="nb">--------------------------------------------------</span><span class="c">|</span>
|
||||
<span class="c">| PREZZO_1 * peso X </span><span class="nb">-----</span><span class="nv">></span><span class="c"> |</span>
|
||||
<span class="c">| PREZZO_2 * peso Y </span><span class="nb">-----</span><span class="nv">></span><span class="c"> |</span>
|
||||
<span class="c">| PREZZO_3 * peso Z </span><span class="nb">-----</span><span class="nv">></span><span class="c"> |</span>
|
||||
<span class="c">| PREZZO FINALE DEF |</span>
|
||||
<span class="c">|</span><span class="nb">---------------------------------------------------</span><span class="c">|</span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>Questa é, seppur molto basica, una rete neurale.
|
||||
Proviamo a visualizzarla in un'immagine dove i box arancioni sono i nodi di input e i rossi sono i nodi "nascosti" e temporanei.</p>
|
||||
<p><img alt="rete2" src="../../../../../wp-content/uploads/2016/reteneurale2.jpg"></p>
|
||||
|
@ -255,7 +248,6 @@ Proviamo a visualizzarla in un'immagine dove i box arancioni sono i nodi di inpu
|
|||
</li>
|
||||
</ul>
|
||||
<p>Nel prossimo <a href="../../../../../pescewanda/2016/11/11/machine-learning-PARTE2">post</a> cercherò di approfondire il concetto di rete neurale con degli esempi di applicazioni concrete.</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ La rete ">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -59,8 +59,7 @@ La rete ">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Nel precedente <a href="../../../../../pescewanda/2016/11/10/machine-learning-intro/">post</a> abbiamo preso in considerazione una rete neurale molto basica.
|
||||
<p>Nel precedente <a href="../../../../../pescewanda/2016/11/10/machine-learning-intro/">post</a> abbiamo preso in considerazione una rete neurale molto basica.
|
||||
Proviamo ora ad approfondire il concetto aggiungendo una proprietà fondamentale, la memoria.</p>
|
||||
<h3>Memoria e Stati</h3>
|
||||
<p>La rete neurale che abbiamo modellato non ha alcun tipo di memoria. con gli stessi dati di input, l'output è (quasi certamente) lo stesso.
|
||||
|
@ -76,39 +75,30 @@ Abbiamo in questo modo una <em>recurrent neural network</em> (RNN) dove ogni sta
|
|||
La RNN analizza carattere dopo carattere e costruisce un grande grafo dove collega ogni carattere al suo successivo.
|
||||
Inizialmente l'output della nostra RNN non ha alcun valore:
|
||||
in questo esempio, abbiamo l'output di una RNN allenata attraverso Guerra e Pace:</p>
|
||||
<pre class="code literal-block"><span></span><span class="n">tyntd</span><span class="o">-</span><span class="n">iafhatawiaoihrdemot</span> <span class="n">lytdws</span> <span class="n">e</span> <span class="p">,</span><span class="n">tfti</span><span class="p">,</span> <span class="n">astai</span> <span class="n">f</span> <span class="n">ogoh</span> <span class="n">eoase</span> <span class="n">rrranbyne</span> <span class="p">'</span><span class="n">nhthnee</span> <span class="n">e</span>
|
||||
<span class="n">plia</span> <span class="n">tklrgd</span> <span class="n">t</span> <span class="n">o</span> <span class="n">idoe</span> <span class="n">ns</span><span class="p">,</span><span class="n">smtt</span> <span class="n">h</span> <span class="n">ne</span> <span class="n">etie</span> <span class="n">h</span><span class="p">,</span><span class="n">hregtrs</span> <span class="n">nigtike</span><span class="p">,</span><span class="n">aoaenns</span> <span class="n">lngty</span>
|
||||
<pre class="code literal-block"><span class="n">tyntd</span><span class="o">-</span><span class="n">iafhatawiaoihrdemot</span><span class="w"> </span><span class="n">lytdws</span><span class="w"> </span><span class="n">e</span><span class="w"> </span><span class="p">,</span><span class="n">tfti</span><span class="p">,</span><span class="w"> </span><span class="n">astai</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="n">ogoh</span><span class="w"> </span><span class="n">eoase</span><span class="w"> </span><span class="n">rrranbyne</span><span class="w"> </span><span class="p">'</span><span class="n">nhthnee</span><span class="w"> </span><span class="n">e</span><span class="w"> </span>
|
||||
<span class="n">plia</span><span class="w"> </span><span class="n">tklrgd</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="n">o</span><span class="w"> </span><span class="n">idoe</span><span class="w"> </span><span class="n">ns</span><span class="p">,</span><span class="n">smtt</span><span class="w"> </span><span class="n">h</span><span class="w"> </span><span class="n">ne</span><span class="w"> </span><span class="n">etie</span><span class="w"> </span><span class="n">h</span><span class="p">,</span><span class="n">hregtrs</span><span class="w"> </span><span class="n">nigtike</span><span class="p">,</span><span class="n">aoaenns</span><span class="w"> </span><span class="n">lngty</span><span class="w"></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>L'output prodotto dalla RNN, benchè non abbia nessun valore per un umano, viene analizzato dalla RNN per arricchire il grafo costituito inizialmente dai caratteri (e le loro relazioni) di Guerra e Pace.
|
||||
Questo procedimento continua all'infinito.
|
||||
Ogni volta che la RNN produce dell'output lo salva e lo riutilizza come input in maniera ricorsiva per generare nuovo output.</p>
|
||||
<p>Dopo 300 iterazioni abbiamo un output di questo tipo:</p>
|
||||
<pre class="code literal-block"><span></span>"Tmont thithey" fomesscerliund
|
||||
<pre class="code literal-block">"Tmont thithey" fomesscerliund
|
||||
Keushey. Thom here
|
||||
sheulke, anmerenith ol sivh I lalterthend Bleipile shuwy fil on aseterlome
|
||||
coaniogennc Phe lism thond hon at. MeiDimorotion in ther thize."
|
||||
</pre>
|
||||
|
||||
|
||||
<p>Dopo quasi mille:</p>
|
||||
<pre class="code literal-block"><span></span><span class="nv">Aftair</span> <span class="nv">fall</span> <span class="nv">unsuch</span> <span class="nv">that</span> <span class="nv">the</span> <span class="nv">hall</span> <span class="k">for</span> <span class="nv">Prince</span> <span class="nv">Velzonski</span><span class="s1">'</span><span class="s">s that me of</span>
|
||||
<pre class="code literal-block"><span class="nv">Aftair</span> <span class="nv">fall</span> <span class="nv">unsuch</span> <span class="nv">that</span> <span class="nv">the</span> <span class="nv">hall</span> <span class="k">for</span> <span class="nv">Prince</span> <span class="nv">Velzonski</span><span class="s1">'</span><span class="s">s that me of</span>
|
||||
<span class="nv">her</span> <span class="nv">hearly</span>, <span class="nv">and</span> <span class="nv">behs</span> <span class="nv">to</span> <span class="nv">so</span> <span class="nv">arwage</span> <span class="nv">fiving</span> <span class="nv">were</span> <span class="nv">to</span> <span class="nv">it</span> <span class="nv">beloge</span>, <span class="nv">pavu</span> <span class="nv">say</span> <span class="nv">falling</span> <span class="nv">misfort</span>
|
||||
<span class="nv">how</span>, <span class="nv">and</span> <span class="nv">Gogition</span> <span class="nv">is</span> <span class="nv">so</span> <span class="nv">overelical</span> <span class="nv">and</span> <span class="nv">ofter</span>.
|
||||
</pre>
|
||||
|
||||
|
||||
<p>Duemila:</p>
|
||||
<pre class="code literal-block"><span></span><span class="s2">"</span><span class="s">Why do what that day,</span><span class="s2">"</span> <span class="nv">replied</span> <span class="nv">Natasha</span>, <span class="nv">and</span> <span class="nv">wishing</span> <span class="nv">to</span> <span class="nv">himself</span> <span class="nv">the</span> <span class="nv">fact</span> <span class="nv">the</span>
|
||||
<pre class="code literal-block"><span class="s2">"</span><span class="s">Why do what that day,</span><span class="s2">"</span> <span class="nv">replied</span> <span class="nv">Natasha</span>, <span class="nv">and</span> <span class="nv">wishing</span> <span class="nv">to</span> <span class="nv">himself</span> <span class="nv">the</span> <span class="nv">fact</span> <span class="nv">the</span>
|
||||
<span class="nv">princess</span>, <span class="nv">Princess</span> <span class="nv">Mary</span> <span class="nv">was</span> <span class="nv">easier</span>, <span class="nv">fed</span> <span class="nv">in</span> <span class="nv">had</span> <span class="nv">oftened</span> <span class="nv">him</span>.
|
||||
<span class="nv">Pierre</span> <span class="nv">aking</span> <span class="nv">his</span> <span class="nv">soul</span> <span class="nv">came</span> <span class="nv">to</span> <span class="nv">the</span> <span class="nv">packs</span> <span class="nv">and</span> <span class="nv">drove</span> <span class="nv">up</span> <span class="nv">his</span> <span class="nv">father</span><span class="o">-</span><span class="nv">in</span><span class="o">-</span><span class="nv">law</span> <span class="nv">women</span>.
|
||||
</pre>
|
||||
|
||||
|
||||
<p>Possiamo notare come l'output migliori visibilmente.</p>
|
||||
<p>Nel prossimo post tratterò una variante di rete neurale utilizzata per classificare e riconoscere immagini.</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ La tipologia di rete neurale utilizzata per questa applicazione è chiamata rete
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -58,8 +58,7 @@ La tipologia di rete neurale utilizzata per questa applicazione è chiamata rete
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<h3>Riconoscimento delle immagini</h3>
|
||||
<h3>Riconoscimento delle immagini</h3>
|
||||
<p>Il machine learning viene utilizzato anche per il riconoscimento delle immagini.
|
||||
La tipologia di rete neurale utilizzata per questa applicazione è chiamata rete neural a convoluzione ( <strong>convolutional neural networks</strong>), abbreviata CNN.</p>
|
||||
<p>Innanzitutto consideriamo che ogni immagine può essere codificata come una matrice di valori</p>
|
||||
|
@ -82,7 +81,6 @@ Questi pattern corrispondono alle caratteristiche proprie di un oggetto (quali p
|
|||
<p>Questo procedimento a livello algoritmo si esplicita con una connessione completa fra tutti i nodi della rete neurale che possono poi restituire l'output (probabilità che l'immagine appartenga ad una determinata categoria).</p>
|
||||
<h5>Fase di rinforzo</h5>
|
||||
<p>Durante il training é presente un'ultima fase (o strato), chiamato più propriamente <strong>loss layer</strong>. Questo strato provvede a dare un <strong>feedback</strong> alla rete neurale analizzando l'output in relazione ai dati di partenza (ovvero le immagini già categorizzate).</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ Do not buy your girlfriend or wife flowers in an attempt to make nice after you
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -52,12 +52,10 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<blockquote>
|
||||
<blockquote>
|
||||
<p>My father used to tell us ridiculous false information all the time. The catch was if we could catch one out and prove him wrong he'd give us a dollar. As we got older it would got a little less outrageous, but we'd still get that dollar if we could prove it. Looking back it was a good way to get us to think for ourselves.</p>
|
||||
</blockquote>
|
||||
<p><a href="https://www.reddit.com/user/zedoriah">zedoria</a> on <a href="https://www.reddit.com/r/AskReddit/comments/u1ili/what_did_school_teach_you_that_was_blatantly/?ref=search_posts">reddit</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ So I switched to mpd">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -55,8 +55,7 @@ So I switched to mpd">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>For a long time I have been using Clementine music player on my workstation. Recently I reinstalled Gentoo on my desktop and I wanted to avoid installing QT libraries of any sort.
|
||||
<p>For a long time I have been using Clementine music player on my workstation. Recently I reinstalled Gentoo on my desktop and I wanted to avoid installing QT libraries of any sort.
|
||||
So I switched to <a href="https://www.musicpd.org/">mpd</a> and I have fallen in love with it. It is very flexible, fast and enriched by a lot of community software.
|
||||
For some weeks I used mpc client as my primary client for mpd but I was not satisfied with it. Even though it is pretty minimal but packed with every feature mpd permits, the search feels uncomfortable because is case sensitive and need artist, album, etc. flags before any entry.
|
||||
This is why I have written kpd together with Francesco Gallà</p>
|
||||
|
@ -70,14 +69,12 @@ Anyway in this post I want to explain bits of the code.</p>
|
|||
<p>The main kpd file invoked when the command is run in the console is kpd.py
|
||||
The most interesting part in this file IMHO is these lines:</p>
|
||||
<p>.. code:: python</p>
|
||||
<pre class="code literal-block"><span></span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">el</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="nl">argsOrder</span><span class="p">:</span><span class="w"></span>
|
||||
<pre class="code literal-block"><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">el</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="nl">argsOrder</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">dictArgs</span><span class="o">[</span><span class="n">el</span><span class="o">]</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="k">False</span><span class="err">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">client</span><span class="p">.</span><span class="n">update_status</span><span class="w"> </span><span class="p">()</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">methodToCall</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">getattr</span><span class="w"> </span><span class="p">(</span><span class="n">util</span><span class="p">,</span><span class="w"> </span><span class="n">el</span><span class="p">)</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">retUtil</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">methodToCall</span><span class="w"> </span><span class="p">(</span><span class="n">client</span><span class="p">,</span><span class="w"> </span><span class="n">dictArgs</span><span class="o">[</span><span class="n">el</span><span class="o">]</span><span class="p">,</span><span class="w"> </span><span class="n">searchRes</span><span class="p">)</span><span class="w"></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>argsOrder is a list of the arguments on the command line in the order the user wrote them.
|
||||
kpd uses a dictionary to store for every argument the corrispective string for the function that will be invoked using getattr.
|
||||
In this way any argument can be added to the main file without writing any other line of code. WE used this method to avoid using switch alike solutions.</p>
|
||||
|
@ -97,7 +94,6 @@ In this way the search lasts about 40 milliseconds on the same database that was
|
|||
<p>This was really fun. It was our first hand on python project and the first real program we have written since we started learning programming at our university.
|
||||
I discovered that programming allows me to relax and that is really cool to have custom software for activities you do every day.
|
||||
The source for our program is stored in my git <a href="http://francescomecca.eu:3000/pesceWanda/kpd">here</a> and you are free to modify it.</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ In quelle righe Gavin attribuisce l'identità di Satoshi Nakamoto">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -56,8 +56,7 @@ In quelle righe Gavin attribuisce l'identità di Satoshi Nakamoto">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Ieri mattina appena sveglio mi sono imbattuto in questo <a href="http://gavinandresen.ninja/satoshi">post</a> di Gavin Andresen, uno dei più importanti membri della Bitcoin Foundation.
|
||||
<p>Ieri mattina appena sveglio mi sono imbattuto in questo <a href="http://gavinandresen.ninja/satoshi">post</a> di Gavin Andresen, uno dei più importanti membri della Bitcoin Foundation.
|
||||
In quelle righe Gavin attribuisce l'identità di Satoshi Nakamoto, il padre dei Bitcoin, a Craig Wright, un imprenditore australiano.
|
||||
Sono stato subito scosso dall'articolo, dove si spiega:</p>
|
||||
<blockquote>
|
||||
|
@ -114,7 +113,7 @@ Si legge:</p>
|
|||
Questa firma: <code>MEUCIQDBKn1Uly8m0UyzETObUSL4wYdBfd4ejvtoQfVcNCIK4AIgZmMsXNQWHvo6KDd2Tu6euEl13VTC3ihl6XUlhcU+fM4=</code> non è altro che la versione esadecimale della <a href="https://blockchain.info/tx/828ef3b079f9c23829c56fe86e85b4a69d9e06e5b54ea597eef5fb3ffef509fe">transazione</a> che Satoshi ha fatto nel 2009.
|
||||
Quella stringa (in base64) non è affatto una firma, bensì è un messaggio in chiaro: "Wright, it is not the same as if I sign Craig Wright, Satoshi.\n\n".</p>
|
||||
<hr>
|
||||
<!--<img alt="Wright firma il genesis block" src="http://francescomecca.eu/wp-content/uploads/satosh.jpg">--><h2>wikiHow: how to claim you're Satoshi</h2>
|
||||
<!--![Wright firma il genesis block](http://francescomecca.eu/wp-content/uploads/satosh.jpg)--><h2>wikiHow: how to claim you're Satoshi</h2>
|
||||
<p>Charlie Lee, il creatore dei Litecoin su medium ci ha dato una <a href="https://decentralize.today/satoshilite-1e2dad89a017#.xljsji88r">dimostrazione</a> semplice e concisa di come il vero Satoshi si sarebbe dovuto autenticare.
|
||||
Non abbiamo bisogno di colloqui privati, laptop nuovi di fabbrica e screenshot di script. Nei primi blocchi, i genesis blocks, rimangono registatrate un numero sufficiente di chiavi pubbliche appartenenti al creatore della blockchain.
|
||||
Chiunque dichiari di essere Satoshi deve poter firmare un messaggio utilizzando una di quelle chiavi. Questo è quello che il creatore dei Litecoin mostra in 4 righe.
|
||||
|
@ -125,7 +124,6 @@ Ogni altra prova è discutibile e non necessaria.</p>
|
|||
<p>Note: There was no download of a signature file of electrum (.asc file) from a UK IP on Apr 7th.</p>
|
||||
</blockquote>
|
||||
<p>Questo significa che il 7 Aprile, quando Wright ha mostrato a Gavin le sue chiavi utilizzando Electrum, nessuna delle due parti si è preoccupata di verificare che il client fosse autentico. Questo invalida ulteriormente tutte le affermazioni di Gavin.</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -52,8 +52,7 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Until one week ago my blog was hosted at my house, on a raspberrypi with debian + wordpress. I was not satisfied by my setup because given the minimal size of my blog and the really scarce content I post every now and then, a full LLMP stack was overblown.
|
||||
<p>Until one week ago my blog was hosted at my house, on a raspberrypi with debian + wordpress. I was not satisfied by my setup because given the minimal size of my blog and the really scarce content I post every now and then, a full LLMP stack was overblown.
|
||||
I decided to change distribution (my server now runs <a href="http://www.voidlinux.eu/">Void</a>) and to migrate to a static blog without CMS nor PHP.</p>
|
||||
<h2>Welcome to Jekyll and Hyde</h2>
|
||||
<p>The process of migration was rather painless.
|
||||
|
@ -73,25 +72,20 @@ When Jekyll builds a website it parses all the markdown files and stores them in
|
|||
layout: page
|
||||
title: Archive
|
||||
---</p>
|
||||
<pre class="code literal-block"><span></span><span class="x">## Blog Posts</span>
|
||||
<pre class="code literal-block"><span class="x">## Blog Posts</span>
|
||||
|
||||
<span class="cp">{%</span> <span class="k">for</span> <span class="nv">post</span> <span class="k">in</span> <span class="nv">site.posts</span> <span class="cp">%}</span><span class="x"></span>
|
||||
<span class="x"> * </span><span class="cp">{{</span> <span class="nv">post.date</span> <span class="o">|</span> <span class="nf">date_to_string</span> <span class="cp">}}</span><span class="x"> &raquo; [ </span><span class="cp">{{</span> <span class="nv">post.title</span> <span class="cp">}}</span><span class="x"> ](</span><span class="cp">{{</span> <span class="nv">post.url</span> <span class="cp">}}</span><span class="x">)</span>
|
||||
<span class="cp">{%</span> <span class="k">endfor</span> <span class="cp">%}</span><span class="x">:wq</span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>{% endraw %}
|
||||
I noticed that in _includes/head.html there is this line:</p>
|
||||
<pre class="code literal-block"><span></span><link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,700,800,600' rel='stylesheet' type='text/css'
|
||||
<pre class="code literal-block"><link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,700,800,600' rel='stylesheet' type='text/css'
|
||||
</pre>
|
||||
|
||||
|
||||
<p>so I proceed to remove it because is not needed for my blog.
|
||||
Finally I put a link to the archive, my github page and the atom feed on the sidebar by simple adding a href on _includes/sidebar.html.</p>
|
||||
<p>I did not proceed with further modifications but there are tons of possibilities with jekyll. I think that the main advantages are the fact that you don't have to manage html code when writing a new post and that everything can be done via cli.</p>
|
||||
<p>Francesco Mecca</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ When I noted that python uses the Mersenne Twister PRNG as well I decided to">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -55,11 +55,10 @@ When I noted that python uses the Mersenne Twister PRNG as well I decided to">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>During the final weeks of my exam session I started reading a bit about python 3 using an excellent book: <a href="http://www.diveintopython.net/">Dive into Python</a>.
|
||||
<p>During the final weeks of my exam session I started reading a bit about python 3 using an excellent book: <a href="http://www.diveintopython.net/">Dive into Python</a>.
|
||||
When I noted that python uses the <a href="https://en.wikipedia.org/wiki/Mersenne_Twister">Mersenne Twister PRNG</a> as well I decided to write another version of my <a href="http://francescomecca.eu/index.php/archives/207">Buridan's donkey program</a>.</p>
|
||||
<p>.. code:: python</p>
|
||||
<pre class="code literal-block"><span></span> <span class="s s-Atom">import</span> <span class="s s-Atom">random</span><span class="p">,</span> <span class="s s-Atom">sys</span>
|
||||
<pre class="code literal-block"> <span class="s s-Atom">import</span> <span class="s s-Atom">random</span><span class="p">,</span> <span class="s s-Atom">sys</span>
|
||||
|
||||
<span class="s s-Atom">if</span> <span class="k">__</span><span class="s s-Atom">name__</span> <span class="o">==</span> <span class="s s-Atom">'__main__':</span>
|
||||
<span class="s s-Atom">args</span> <span class="o">=</span> <span class="nf">list</span><span class="p">()</span>
|
||||
|
@ -74,15 +73,12 @@ When I noted that python uses the <a href="https://en.wikipedia.org/wiki/Mersenn
|
|||
<span class="s s-Atom">for</span> <span class="s s-Atom">i</span> <span class="s s-Atom">in</span> <span class="nf">range</span><span class="p">(</span><span class="s s-Atom">argRange</span><span class="p">)</span><span class="s s-Atom">:</span>
|
||||
<span class="nf">print</span><span class="p">(</span><span class="nf">str</span><span class="p">(</span><span class="s s-Atom">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span> <span class="o">+</span> <span class="s s-Atom">'.'</span><span class="p">,</span> <span class="s s-Atom">args</span><span class="p">.</span><span class="nf">pop</span><span class="p">(</span><span class="s s-Atom">random</span><span class="p">.</span><span class="nf">randrange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nf">len</span><span class="p">(</span><span class="s s-Atom">args</span><span class="p">))))</span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>This script works in a different way than the one in c++.
|
||||
Rather than shuffling a list made by the entries in the arguments, it pops randomly one entry from the list till the list is empty.</p>
|
||||
<p>Not satisfied enough, I wrote also a telegram bot using the <a href="https://github.com/eternnoir/pyTelegramBotAPI">telebot library</a> that works as the script above but inside the telegram app.
|
||||
The bot can be added to your contact list by simply searching for <a href="http://telegram.me/duridan_donkey_bot">@duridan_donkey_bot</a> (yes, a typo!)</p>
|
||||
<p>All the code is opensource and can be found on my github page.</p>
|
||||
<p>Francesco Mecca</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ In thi">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -56,8 +56,7 @@ In thi">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>This weekend I was in Milan to get a visa and I had the opportunity to work with a friend, Michele, on genetic algorithms.
|
||||
<p>This weekend I was in Milan to get a visa and I had the opportunity to work with a friend, Michele, on genetic algorithms.
|
||||
It was the first time I dig up in such field and it was very exciting.
|
||||
In this post I want to explain some bits of our work.</p>
|
||||
<h3>A brief introduction to GA</h3>
|
||||
|
@ -84,7 +83,7 @@ The main components of a GA are:</p>
|
|||
<p>Our program, that is available <a href="http://francescomecca.eu:3000/pesceWanda/interpol_genetica">here</a> uses a class to define the various members of the population and a string for the genes, a class as well for the points on the plane.</p>
|
||||
<p>The fitness function is not as precise as it should be because this is only a proof of concept:</p>
|
||||
<p>.. code:: python</p>
|
||||
<pre class="code literal-block"><span></span><span class="n">mutationProbability</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">0.1</span><span class="w"></span>
|
||||
<pre class="code literal-block"><span class="n">mutationProbability</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">0.1</span><span class="w"></span>
|
||||
<span class="n">rangeLimit</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">5</span><span class="w"></span>
|
||||
<span class="n">def</span><span class="w"> </span><span class="n">fitness</span><span class="p">(</span><span class="n">item</span><span class="p">,</span><span class="w"> </span><span class="n">pointList</span><span class="p">,</span><span class="w"> </span><span class="n">n</span><span class="p">)</span><span class="err">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="k">value</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="w"></span>
|
||||
|
@ -98,32 +97,23 @@ The main components of a GA are:</p>
|
|||
<span class="w"> </span><span class="k">value</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="k">result</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="k">value</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">n</span><span class="w"></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>item is just a member of the population, poinList is the list of points and n is the number of points (n - 1 is the grade of the function).</p>
|
||||
<pre class="code literal-block"><span></span><span class="k">for</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="k">range</span><span class="p">(</span><span class="n">n</span><span class="p">)</span><span class="err">:</span><span class="w"></span>
|
||||
<pre class="code literal-block"><span class="k">for</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="k">range</span><span class="p">(</span><span class="n">n</span><span class="p">)</span><span class="err">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">y</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">item</span><span class="p">.</span><span class="n">gene</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">pow</span><span class="p">(</span><span class="n">p</span><span class="p">.</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">i</span><span class="p">)</span><span class="w"></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>this piece of code gives us the value of the function encoded in the genes in the points of pointList;</p>
|
||||
<pre class="code literal-block"><span></span><span class="nb">result</span> <span class="o">=</span> <span class="mi">1</span> <span class="o">-</span> <span class="ss">(</span><span class="nv">abs</span> <span class="ss">(</span><span class="nv">p</span>.<span class="nv">y</span> <span class="o">-</span> <span class="nv">y</span><span class="ss">)</span> <span class="o">/</span> <span class="nv">rangeLimit</span><span class="ss">)</span>
|
||||
<pre class="code literal-block"><span class="nb">result</span> <span class="o">=</span> <span class="mi">1</span> <span class="o">-</span> <span class="ss">(</span><span class="nv">abs</span> <span class="ss">(</span><span class="nv">p</span>.<span class="nv">y</span> <span class="o">-</span> <span class="nv">y</span><span class="ss">)</span> <span class="o">/</span> <span class="nv">rangeLimit</span><span class="ss">)</span>
|
||||
<span class="k">if</span> <span class="nb">result</span> <span class="o"><</span> <span class="mi">0</span>:
|
||||
<span class="nb">result</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>while here the script stores 1 - the previous result because if the GA has yield a good result there should be distance = 0 from the function evaluated and the points; If this is the case, the fitness function should attribute the highest possible reproduction probability for that member.
|
||||
At the end the fitness function returns the total value over the number of points evaluated.</p>
|
||||
<p>As you can see this fitness function is by no means an optimal one. The reproduction probability is higher for functions that crosses some points and are really distant from others rather than for functions that are closer to every point but crosses none.
|
||||
Anyway for simple cases the GA yields good results, as an example for points (0 0), (1 4), (2 9) one of the member with the highest reproduction probability has this function in its genes:</p>
|
||||
<pre class="code literal-block"><span></span>-0.0487839869993989 * x^0 + 4.600339125358671 * x^1 + -0.2780958075230644 * x^2
|
||||
<pre class="code literal-block">-0.0487839869993989 * x^0 + 4.600339125358671 * x^1 + -0.2780958075230644 * x^2
|
||||
</pre>
|
||||
|
||||
|
||||
<p>that crosses this points: (0 -0.0488), (1 4.2735), (2 8.0395) given 80 iterations, initial population of 600 members and a two digit approximation.</p>
|
||||
<p>For a more precise computation a higher population size and a really high number of iterations should be used.</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ Never buy high-end c">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
|
|
@ -42,7 +42,7 @@ The key in Wright's">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -56,17 +56,14 @@ The key in Wright's">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>I explained in my previous <a href="http://francescomecca.eu/pescewanda/2016/04/17/wright-nakamoto/">post</a> (in italian) that the signature that Wright provided as a public proof is in fact invalid.
|
||||
<p>I explained in my previous <a href="http://francescomecca.eu/pescewanda/2016/04/17/wright-nakamoto/">post</a> (in italian) that the signature that Wright provided as a public proof is in fact invalid.
|
||||
I want to explain briefly how you could check this claim.
|
||||
The key in Wright's <a href="http://www.drcraigwright.net/jean-paul-sartre-signing-significance/">post</a> is this:</p>
|
||||
<pre class="code literal-block"><span></span><span class="nb">-------------------------</span><span class="c"> Signature File </span><span class="nb">-------------------------</span><span class="c"></span>
|
||||
<pre class="code literal-block"><span class="nb">-------------------------</span><span class="c"> Signature File </span><span class="nb">-------------------------</span><span class="c"></span>
|
||||
<span class="c">MEUCIQDBKn1Uly8m0UyzETObUSL4wYdBfd4ejvtoQfVcNCIK4AIgZmMsXNQWHvo6KDd2Tu6euEl1</span>
|
||||
<span class="c">3VTC3ihl6XUlhcU</span><span class="nb">+</span><span class="c">fM4=</span>
|
||||
<span class="nb">-------------------------</span><span class="c"> End Signature </span><span class="nb">--------------------------</span><span class="c"></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>Now we can use some bash utilities:</p>
|
||||
<ul>
|
||||
<li>base64, that translates encoded ASCII text;</li>
|
||||
|
@ -74,12 +71,10 @@ The key in Wright's <a href="http://www.drcraigwright.net/jean-paul-sartre-signi
|
|||
<li>cut, used to remove the binary part of the input;</li>
|
||||
<li>tr, used to delete spaces and carriage return from the input;</li>
|
||||
</ul>
|
||||
<pre class="code literal-block"><span></span>base64 -d <<<'MEUCIQDBKn1Uly8m0UyzETObUSL4wYdBfd4ejvtoQfVcNCIK4AIgZmMsXNQWHvo6KDd2Tu6euEl13VTC3ihl6XUlhcU+fM4=' | hexdump -C| cut -b 11-60| tr -d ' \n'
|
||||
<pre class="code literal-block">base64 -d <<<'MEUCIQDBKn1Uly8m0UyzETObUSL4wYdBfd4ejvtoQfVcNCIK4AIgZmMsXNQWHvo6KDd2Tu6euEl13VTC3ihl6XUlhcU+fM4=' | hexdump -C| cut -b 11-60| tr -d ' \n'
|
||||
|
||||
3045022100c12a7d54972f26d14cb311339b5122f8c187417dde1e8efb6841f55c34220ae0022066632c5cd4161efa3a2837764eee9eb84975dd54c2de2865e9752585c53e7cce
|
||||
</pre>
|
||||
|
||||
|
||||
<p>Let's analyze the command one by one:</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
@ -87,53 +82,41 @@ The key in Wright's <a href="http://www.drcraigwright.net/jean-paul-sartre-signi
|
|||
<li>
|
||||
<code>hexdump -C</code> is used with a pipe to convert to hexadecimal:</li>
|
||||
</ul>
|
||||
<pre class="code literal-block"><span></span><span class="mf">00000000</span> <span class="mf">30</span> <span class="mf">45</span> <span class="mf">02</span> <span class="mf">21</span> <span class="mf">00</span> <span class="n">c1</span> <span class="mf">2</span><span class="n">a</span> <span class="mf">7</span><span class="n">d</span> <span class="mf">54</span> <span class="mf">97</span> <span class="mf">2</span><span class="n">f</span> <span class="mf">26</span> <span class="n">d1</span> <span class="mf">4</span><span class="n">c</span> <span class="n">b3</span> <span class="mf">11</span> <span class="err">|</span><span class="mf">0</span><span class="n">E</span><span class="mf">.</span><span class="err">!</span><span class="mf">..</span><span class="o">*</span><span class="err">}</span><span class="n">T</span><span class="mf">.</span><span class="o">/</span><span class="err">&</span><span class="mf">.</span><span class="n">L</span><span class="mf">..</span><span class="err">|</span>
|
||||
<span class="mf">00000010</span> <span class="mf">33</span> <span class="mf">9</span><span class="n">b</span> <span class="mf">51</span> <span class="mf">22</span> <span class="n">f8</span> <span class="n">c1</span> <span class="mf">87</span> <span class="mf">41</span> <span class="mf">7</span><span class="n">d</span> <span class="n">de</span> <span class="mf">1</span><span class="n">e</span> <span class="mf">8</span><span class="n">e</span> <span class="n">fb</span> <span class="mf">68</span> <span class="mf">41</span> <span class="n">f5</span> <span class="err">|</span><span class="mf">3.</span><span class="n">Q</span><span class="s">"...A}....hA.|</span>
|
||||
<span class="mf">00000020</span> <span class="mf">5</span><span class="n">c</span> <span class="mf">34</span> <span class="mf">22</span> <span class="mf">0</span><span class="n">a</span> <span class="n">e0</span> <span class="mf">02</span> <span class="mf">20</span> <span class="mf">66</span> <span class="mf">63</span> <span class="mf">2</span><span class="n">c</span> <span class="mf">5</span><span class="n">c</span> <span class="n">d4</span> <span class="mf">16</span> <span class="mf">1</span><span class="n">e</span> <span class="n">fa</span> <span class="mf">3</span><span class="n">a</span> <span class="err">|\</span><span class="mf">4</span><span class="s">"... fc,\....:|</span>
|
||||
<span class="mf">00000030</span> <span class="mf">28</span> <span class="mf">37</span> <span class="mf">76</span> <span class="mf">4</span><span class="n">e</span> <span class="n">ee</span> <span class="mf">9</span><span class="n">e</span> <span class="n">b8</span> <span class="mf">49</span> <span class="mf">75</span> <span class="n">dd</span> <span class="mf">54</span> <span class="n">c2</span> <span class="n">de</span> <span class="mf">28</span> <span class="mf">65</span> <span class="n">e9</span> <span class="err">|</span><span class="p">(</span><span class="mf">7</span><span class="n">vN</span><span class="mf">...</span><span class="n">Iu</span><span class="mf">.</span><span class="n">T</span><span class="mf">..</span><span class="p">(</span><span class="n">e</span><span class="mf">.</span><span class="err">|</span>
|
||||
<span class="mf">00000040</span> <span class="mf">75</span> <span class="mf">25</span> <span class="mf">85</span> <span class="n">c5</span> <span class="mf">3</span><span class="n">e</span> <span class="mf">7</span><span class="n">c</span> <span class="n">ce</span> <span class="err">|</span><span class="n">u%</span><span class="mf">..</span><span class="o">></span><span class="err">|</span><span class="mf">.</span><span class="err">|</span>
|
||||
<pre class="code literal-block"><span class="mf">00000000</span><span class="w"> </span><span class="mf">30</span><span class="w"> </span><span class="mf">45</span><span class="w"> </span><span class="mf">02</span><span class="w"> </span><span class="mf">21</span><span class="w"> </span><span class="mf">00</span><span class="w"> </span><span class="n">c1</span><span class="w"> </span><span class="mf">2</span><span class="n">a</span><span class="w"> </span><span class="mf">7</span><span class="n">d</span><span class="w"> </span><span class="mf">54</span><span class="w"> </span><span class="mf">97</span><span class="w"> </span><span class="mf">2</span><span class="n">f</span><span class="w"> </span><span class="mf">26</span><span class="w"> </span><span class="n">d1</span><span class="w"> </span><span class="mf">4</span><span class="n">c</span><span class="w"> </span><span class="n">b3</span><span class="w"> </span><span class="mf">11</span><span class="w"> </span><span class="err">|</span><span class="mf">0</span><span class="n">E</span><span class="mf">.</span><span class="err">!</span><span class="mf">..</span><span class="o">*</span><span class="err">}</span><span class="n">T</span><span class="mf">.</span><span class="o">/</span><span class="err">&</span><span class="mf">.</span><span class="n">L</span><span class="mf">..</span><span class="err">|</span><span class="w"></span>
|
||||
<span class="mf">00000010</span><span class="w"> </span><span class="mf">33</span><span class="w"> </span><span class="mf">9</span><span class="n">b</span><span class="w"> </span><span class="mf">51</span><span class="w"> </span><span class="mf">22</span><span class="w"> </span><span class="n">f8</span><span class="w"> </span><span class="n">c1</span><span class="w"> </span><span class="mf">87</span><span class="w"> </span><span class="mf">41</span><span class="w"> </span><span class="mf">7</span><span class="n">d</span><span class="w"> </span><span class="n">de</span><span class="w"> </span><span class="mf">1</span><span class="n">e</span><span class="w"> </span><span class="mf">8</span><span class="n">e</span><span class="w"> </span><span class="n">fb</span><span class="w"> </span><span class="mf">68</span><span class="w"> </span><span class="mf">41</span><span class="w"> </span><span class="n">f5</span><span class="w"> </span><span class="err">|</span><span class="mf">3.</span><span class="n">Q</span><span class="s">"...A}....hA.|</span><span class="w"></span>
|
||||
<span class="mf">00000020</span><span class="w"> </span><span class="mf">5</span><span class="n">c</span><span class="w"> </span><span class="mf">34</span><span class="w"> </span><span class="mf">22</span><span class="w"> </span><span class="mf">0</span><span class="n">a</span><span class="w"> </span><span class="n">e0</span><span class="w"> </span><span class="mf">02</span><span class="w"> </span><span class="mf">20</span><span class="w"> </span><span class="mf">66</span><span class="w"> </span><span class="mf">63</span><span class="w"> </span><span class="mf">2</span><span class="n">c</span><span class="w"> </span><span class="mf">5</span><span class="n">c</span><span class="w"> </span><span class="n">d4</span><span class="w"> </span><span class="mf">16</span><span class="w"> </span><span class="mf">1</span><span class="n">e</span><span class="w"> </span><span class="n">fa</span><span class="w"> </span><span class="mf">3</span><span class="n">a</span><span class="w"> </span><span class="err">|\</span><span class="mf">4</span><span class="s">"... fc,\....:|</span><span class="w"></span>
|
||||
<span class="mf">00000030</span><span class="w"> </span><span class="mf">28</span><span class="w"> </span><span class="mf">37</span><span class="w"> </span><span class="mf">76</span><span class="w"> </span><span class="mf">4</span><span class="n">e</span><span class="w"> </span><span class="n">ee</span><span class="w"> </span><span class="mf">9</span><span class="n">e</span><span class="w"> </span><span class="n">b8</span><span class="w"> </span><span class="mf">49</span><span class="w"> </span><span class="mf">75</span><span class="w"> </span><span class="n">dd</span><span class="w"> </span><span class="mf">54</span><span class="w"> </span><span class="n">c2</span><span class="w"> </span><span class="n">de</span><span class="w"> </span><span class="mf">28</span><span class="w"> </span><span class="mf">65</span><span class="w"> </span><span class="n">e9</span><span class="w"> </span><span class="err">|</span><span class="p">(</span><span class="mf">7</span><span class="n">vN</span><span class="mf">...</span><span class="n">Iu</span><span class="mf">.</span><span class="n">T</span><span class="mf">..</span><span class="p">(</span><span class="n">e</span><span class="mf">.</span><span class="err">|</span><span class="w"></span>
|
||||
<span class="mf">00000040</span><span class="w"> </span><span class="mf">75</span><span class="w"> </span><span class="mf">25</span><span class="w"> </span><span class="mf">85</span><span class="w"> </span><span class="n">c5</span><span class="w"> </span><span class="mf">3</span><span class="n">e</span><span class="w"> </span><span class="mf">7</span><span class="n">c</span><span class="w"> </span><span class="n">ce</span><span class="w"> </span><span class="err">|</span><span class="n">u%</span><span class="mf">..</span><span class="o">></span><span class="err">|</span><span class="mf">.</span><span class="err">|</span><span class="w"></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>cut -b 11-60 displays only the characters from column 11 to 60:</li>
|
||||
</ul>
|
||||
<pre class="code literal-block"><span></span><span class="mf">30</span> <span class="mf">45</span> <span class="mf">02</span> <span class="mf">21</span> <span class="mf">00</span> <span class="n">c1</span> <span class="mf">2</span><span class="n">a</span> <span class="mf">7</span><span class="n">d</span> <span class="mf">54</span> <span class="mf">97</span> <span class="mf">2</span><span class="n">f</span> <span class="mf">26</span> <span class="n">d1</span> <span class="mf">4</span><span class="n">c</span> <span class="n">b3</span> <span class="mf">11</span>
|
||||
<span class="mf">33</span> <span class="mf">9</span><span class="n">b</span> <span class="mf">51</span> <span class="mf">22</span> <span class="n">f8</span> <span class="n">c1</span> <span class="mf">87</span> <span class="mf">41</span> <span class="mf">7</span><span class="n">d</span> <span class="n">de</span> <span class="mf">1</span><span class="n">e</span> <span class="mf">8</span><span class="n">e</span> <span class="n">fb</span> <span class="mf">68</span> <span class="mf">41</span> <span class="n">f5</span>
|
||||
<span class="mf">5</span><span class="n">c</span> <span class="mf">34</span> <span class="mf">22</span> <span class="mf">0</span><span class="n">a</span> <span class="n">e0</span> <span class="mf">02</span> <span class="mf">20</span> <span class="mf">66</span> <span class="mf">63</span> <span class="mf">2</span><span class="n">c</span> <span class="mf">5</span><span class="n">c</span> <span class="n">d4</span> <span class="mf">16</span> <span class="mf">1</span><span class="n">e</span> <span class="n">fa</span> <span class="mf">3</span><span class="n">a</span>
|
||||
<span class="mf">28</span> <span class="mf">37</span> <span class="mf">76</span> <span class="mf">4</span><span class="n">e</span> <span class="n">ee</span> <span class="mf">9</span><span class="n">e</span> <span class="n">b8</span> <span class="mf">49</span> <span class="mf">75</span> <span class="n">dd</span> <span class="mf">54</span> <span class="n">c2</span> <span class="n">de</span> <span class="mf">28</span> <span class="mf">65</span> <span class="n">e9</span>
|
||||
<span class="mf">75</span> <span class="mf">25</span> <span class="mf">85</span> <span class="n">c5</span> <span class="mf">3</span><span class="n">e</span> <span class="mf">7</span><span class="n">c</span> <span class="n">ce</span>
|
||||
<pre class="code literal-block"><span class="mf">30</span><span class="w"> </span><span class="mf">45</span><span class="w"> </span><span class="mf">02</span><span class="w"> </span><span class="mf">21</span><span class="w"> </span><span class="mf">00</span><span class="w"> </span><span class="n">c1</span><span class="w"> </span><span class="mf">2</span><span class="n">a</span><span class="w"> </span><span class="mf">7</span><span class="n">d</span><span class="w"> </span><span class="mf">54</span><span class="w"> </span><span class="mf">97</span><span class="w"> </span><span class="mf">2</span><span class="n">f</span><span class="w"> </span><span class="mf">26</span><span class="w"> </span><span class="n">d1</span><span class="w"> </span><span class="mf">4</span><span class="n">c</span><span class="w"> </span><span class="n">b3</span><span class="w"> </span><span class="mf">11</span><span class="w"> </span>
|
||||
<span class="mf">33</span><span class="w"> </span><span class="mf">9</span><span class="n">b</span><span class="w"> </span><span class="mf">51</span><span class="w"> </span><span class="mf">22</span><span class="w"> </span><span class="n">f8</span><span class="w"> </span><span class="n">c1</span><span class="w"> </span><span class="mf">87</span><span class="w"> </span><span class="mf">41</span><span class="w"> </span><span class="mf">7</span><span class="n">d</span><span class="w"> </span><span class="n">de</span><span class="w"> </span><span class="mf">1</span><span class="n">e</span><span class="w"> </span><span class="mf">8</span><span class="n">e</span><span class="w"> </span><span class="n">fb</span><span class="w"> </span><span class="mf">68</span><span class="w"> </span><span class="mf">41</span><span class="w"> </span><span class="n">f5</span><span class="w"> </span>
|
||||
<span class="mf">5</span><span class="n">c</span><span class="w"> </span><span class="mf">34</span><span class="w"> </span><span class="mf">22</span><span class="w"> </span><span class="mf">0</span><span class="n">a</span><span class="w"> </span><span class="n">e0</span><span class="w"> </span><span class="mf">02</span><span class="w"> </span><span class="mf">20</span><span class="w"> </span><span class="mf">66</span><span class="w"> </span><span class="mf">63</span><span class="w"> </span><span class="mf">2</span><span class="n">c</span><span class="w"> </span><span class="mf">5</span><span class="n">c</span><span class="w"> </span><span class="n">d4</span><span class="w"> </span><span class="mf">16</span><span class="w"> </span><span class="mf">1</span><span class="n">e</span><span class="w"> </span><span class="n">fa</span><span class="w"> </span><span class="mf">3</span><span class="n">a</span><span class="w"> </span>
|
||||
<span class="mf">28</span><span class="w"> </span><span class="mf">37</span><span class="w"> </span><span class="mf">76</span><span class="w"> </span><span class="mf">4</span><span class="n">e</span><span class="w"> </span><span class="n">ee</span><span class="w"> </span><span class="mf">9</span><span class="n">e</span><span class="w"> </span><span class="n">b8</span><span class="w"> </span><span class="mf">49</span><span class="w"> </span><span class="mf">75</span><span class="w"> </span><span class="n">dd</span><span class="w"> </span><span class="mf">54</span><span class="w"> </span><span class="n">c2</span><span class="w"> </span><span class="n">de</span><span class="w"> </span><span class="mf">28</span><span class="w"> </span><span class="mf">65</span><span class="w"> </span><span class="n">e9</span><span class="w"> </span>
|
||||
<span class="mf">75</span><span class="w"> </span><span class="mf">25</span><span class="w"> </span><span class="mf">85</span><span class="w"> </span><span class="n">c5</span><span class="w"> </span><span class="mf">3</span><span class="n">e</span><span class="w"> </span><span class="mf">7</span><span class="n">c</span><span class="w"> </span><span class="n">ce</span><span class="w"> </span>
|
||||
</pre>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<code>tr -d ' \n'</code> is used to delete spaces and carriage returns from the output so that is shown in one line and it gives us the final result:</li>
|
||||
</ul>
|
||||
<pre class="code literal-block"><span></span><span class="mf">3045022100</span><span class="n">c12a7d54972f26d14cb311339b5122f8c187417dde1e8efb6841f55c34220ae0022066632c5cd4161efa3a2837764eee9eb84975dd54c2de2865e9752585c53e7cce</span>
|
||||
<pre class="code literal-block"><span class="mf">3045022100</span><span class="n">c12a7d54972f26d14cb311339b5122f8c187417dde1e8efb6841f55c34220ae0022066632c5cd4161efa3a2837764eee9eb84975dd54c2de2865e9752585c53e7cce</span><span class="w"></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>If you noticed, there is also another cleartext string at the beginning of Wright's post:</p>
|
||||
<pre class="code literal-block"><span></span>$ base64 -d <span class="o"><<<</span><span class="s1">'IFdyaWdodCwgaXQgaXMgbm90IHRoZSBzYW1lIGFzIGlmIEkgc2lnbiBDcmFpZyBXcmlnaHQsIFNhdG9zaGkuCgo='</span>
|
||||
<pre class="code literal-block">$ base64 -d <span class="o"><<<</span><span class="s1">'IFdyaWdodCwgaXQgaXMgbm90IHRoZSBzYW1lIGFzIGlmIEkgc2lnbiBDcmFpZyBXcmlnaHQsIFNhdG9zaGkuCgo='</span>
|
||||
Wright, it is not the same as <span class="k">if</span> I sign Craig Wright, Satoshi.
|
||||
</pre>
|
||||
|
||||
|
||||
<p>Now let's head to blockchain.info.
|
||||
Blockchain.info has a little <a href="https://blockchain.info/decode-tx">utility</a> to get hexadecimal informations out of a transaction on the blockchain, so let's use it to get the related info about this transaction:</p>
|
||||
<p><a href="https://blockchain.info/tx/828ef3b079f9c23829c56fe86e85b4a69d9e06e5b54ea597eef5fb3ffef509fe">tx/828ef3b079f9c23829c56fe86e85b4a69d9e06e5b54ea597eef5fb3ffef509fe</a>
|
||||
<a href="https://blockchain.info/tx/828ef3b079f9c23829c56fe86e85b4a69d9e06e5b54ea597eef5fb3ffef509fe?format=hex">tx/828ef3b079f9... in hexadecimal</a></p>
|
||||
<p>As you can see the entire output of the first bash command, that is</p>
|
||||
<pre class="code literal-block"><span></span><span class="mf">3045022100</span><span class="n">c12a7d54972f26d14cb311339b5122f8c187417dde1e8efb6841f55c34220ae0022066632c5cd4161efa3a2837764eee9eb84975dd54c2de2865e9752585c53e7cce</span>
|
||||
<pre class="code literal-block"><span class="mf">3045022100</span><span class="n">c12a7d54972f26d14cb311339b5122f8c187417dde1e8efb6841f55c34220ae0022066632c5cd4161efa3a2837764eee9eb84975dd54c2de2865e9752585c53e7cce</span><span class="w"></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>is contained in:</p>
|
||||
<pre class="code literal-block"><span></span>"script":"483045022100c12a7d54972f26d14cb311339b5122f8c187417dde1e8efb6841f55c34220ae0022066632c5cd4161efa3a2837764eee9eb84975dd54c2de2865e9752585c53e7cce01"
|
||||
<pre class="code literal-block">"script":"483045022100c12a7d54972f26d14cb311339b5122f8c187417dde1e8efb6841f55c34220ae0022066632c5cd4161efa3a2837764eee9eb84975dd54c2de2865e9752585c53e7cce01"
|
||||
</pre>
|
||||
|
||||
|
||||
<p>except for the 48 at the beginning and the 01 at the end.</p>
|
||||
<p>That is a signature hash:
|
||||
this <a href="https://en.bitcoin.it/wiki/List_of_address_prefixes">page</a> explains that the 48 is just a decimal prefix given to uncompressed transactions, and the 01 at the end is just a SIGHASH_ALL <a href="https://bitcoin.org/en/glossary/signature-hash">code</a> that flags the end of the signature.</p>
|
||||
|
@ -141,7 +124,6 @@ this <a href="https://en.bitcoin.it/wiki/List_of_address_prefixes">page</a> expl
|
|||
<p>Yes, indeed.
|
||||
At the end, I ask, why would you choose anything else than the easiest and most conclusive way to prove something?</p>
|
||||
<p><img alt='Wright "signs" the blockchain' src="../../../../../wp-content/uploads/2016/satosh.jpg"></p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ For 60$ I bought a cheap (but still good!) ">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -56,8 +56,7 @@ For 60$ I bought a cheap (but still good!) ">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Turin is the hometown of Arduino. I have been at the <a href="http://fablabtorino.org/">fablab</a> multiple times but I had to come all the way to America to get my hands on a simple Arduino Uno.</p>
|
||||
<p>Turin is the hometown of Arduino. I have been at the <a href="http://fablabtorino.org/">fablab</a> multiple times but I had to come all the way to America to get my hands on a simple Arduino Uno.</p>
|
||||
<p>For 60$ I bought a cheap (but still good!) mechanical keyboard by Qisan, a clone of the Arduino Uno and a USB host shield.</p>
|
||||
<p>Given that is 3 years since I have been using a dvorak layout and it's a pain to change layout on every machine that you have to use.
|
||||
You can imagine that given this three pieces of hardware together I put together an hardware key mapper for the keyboard.</p>
|
||||
|
@ -95,16 +94,13 @@ Every time you want to flash a new firmware the Arduino must be put in DFU mode
|
|||
To do that simply create a shortcircuit using a small metal wire on the two pins near the reset button and a led will blink.
|
||||
This <a href="https://www.youtube.com/watch?v=E8XyRwXQr8Q">video</a> shows the method briefly (no real need for a jumper).
|
||||
The commands are the following and there is no risk to brick the Uno:</p>
|
||||
<pre class="code literal-block"><span></span>dfu-programmer atmega16u2 erase
|
||||
<pre class="code literal-block">dfu-programmer atmega16u2 erase
|
||||
dfu-programmer atmega16u2 flash Arduino-keyboard-0.2.hex
|
||||
dfu-programmer atmega16u2 reset
|
||||
</pre>
|
||||
|
||||
|
||||
<p>After each flashing the device needs to be disconnected once. Of course you can flash the original firmware back. It is included in my repo or on the official ones.</p>
|
||||
<p><img alt="Arduino and the shield" src="../../../../../wp-content/uploads/2016/IMG_20160706_011143.jpg"></p>
|
||||
<p>That's it, as you can see is not difficult at all. The worst part is gathering the various info that are left dormant in blogs or forums.</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ sta">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -80,104 +80,102 @@ sta">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>I made this chart for a presentation at the <a href="https://cyber.law.harvard.edu/">Berkman Klein Center</a></p>
|
||||
<p>I made this chart for a presentation at the <a href="https://cyber.law.harvard.edu/">Berkman Klein Center</a></p>
|
||||
<table>
|
||||
<thead><tr>
|
||||
<th></th>
|
||||
<th align="center">Whatsapp</th>
|
||||
<th align="center">Telegram</th>
|
||||
<th align="right">Signal</th>
|
||||
<th style="text-align: center;">Whatsapp</th>
|
||||
<th style="text-align: center;">Telegram</th>
|
||||
<th style="text-align: right;">Signal</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Source code</td>
|
||||
<td align="center">closed source</td>
|
||||
<td align="center">open source</td>
|
||||
<td align="right">open source</td>
|
||||
<td style="text-align: center;">closed source</td>
|
||||
<td style="text-align: center;">open source</td>
|
||||
<td style="text-align: right;">open source</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Api</td>
|
||||
<td align="center">none</td>
|
||||
<td align="center">various</td>
|
||||
<td align="right">library</td>
|
||||
<td style="text-align: center;">none</td>
|
||||
<td style="text-align: center;">various</td>
|
||||
<td style="text-align: right;">library</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Encription protocol</td>
|
||||
<td align="center">state of the art</td>
|
||||
<td align="center">self made</td>
|
||||
<td align="right">state of the art</td>
|
||||
<td style="text-align: center;">state of the art</td>
|
||||
<td style="text-align: center;">self made</td>
|
||||
<td style="text-align: right;">state of the art</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Contact list location</td>
|
||||
<td align="center">cloud</td>
|
||||
<td align="center">cloud</td>
|
||||
<td align="right">cloud, encrypted</td>
|
||||
<td style="text-align: center;">cloud</td>
|
||||
<td style="text-align: center;">cloud</td>
|
||||
<td style="text-align: right;">cloud, encrypted</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Forward Secrecy</td>
|
||||
<td align="center">yes</td>
|
||||
<td align="center">yes</td>
|
||||
<td align="right">yes</td>
|
||||
<td style="text-align: center;">yes</td>
|
||||
<td style="text-align: center;">yes</td>
|
||||
<td style="text-align: right;">yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Database</td>
|
||||
<td align="center">phone storage</td>
|
||||
<td align="center">cloud</td>
|
||||
<td align="right">phone storage</td>
|
||||
<td style="text-align: center;">phone storage</td>
|
||||
<td style="text-align: center;">cloud</td>
|
||||
<td style="text-align: right;">phone storage</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Backup capability</td>
|
||||
<td align="center">Icloud or Gcloud</td>
|
||||
<td align="center">builtin</td>
|
||||
<td align="right">none</td>
|
||||
<td style="text-align: center;">Icloud or Gcloud</td>
|
||||
<td style="text-align: center;">builtin</td>
|
||||
<td style="text-align: right;">none</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Revenue</td>
|
||||
<td align="center">ads (Facebook)</td>
|
||||
<td align="center">donation based</td>
|
||||
<td align="right">donation based</td>
|
||||
<td style="text-align: center;">ads (Facebook)</td>
|
||||
<td style="text-align: center;">donation based</td>
|
||||
<td style="text-align: right;">donation based</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Federation</td>
|
||||
<td align="center">no</td>
|
||||
<td align="center">no</td>
|
||||
<td align="right">no</td>
|
||||
<td style="text-align: center;">no</td>
|
||||
<td style="text-align: center;">no</td>
|
||||
<td style="text-align: right;">no</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Alternative download location</td>
|
||||
<td align="center">website</td>
|
||||
<td align="center">F-Droid</td>
|
||||
<td align="right">none</td>
|
||||
<td style="text-align: center;">website</td>
|
||||
<td style="text-align: center;">F-Droid</td>
|
||||
<td style="text-align: right;">none</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Uses third party services</td>
|
||||
<td align="center">no</td>
|
||||
<td align="center">no</td>
|
||||
<td align="right">Google Cloud Messaging</td>
|
||||
<td style="text-align: center;">no</td>
|
||||
<td style="text-align: center;">no</td>
|
||||
<td style="text-align: right;">Google Cloud Messaging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Servers location</td>
|
||||
<td align="center">US</td>
|
||||
<td align="center">Russia</td>
|
||||
<td align="right">US</td>
|
||||
<td style="text-align: center;">US</td>
|
||||
<td style="text-align: center;">Russia</td>
|
||||
<td style="text-align: right;">US</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Tied to mobile number</td>
|
||||
<td align="center">yes</td>
|
||||
<td align="center">yes, but nickname available</td>
|
||||
<td align="right">yes</td>
|
||||
<td style="text-align: center;">yes</td>
|
||||
<td style="text-align: center;">yes, but nickname available</td>
|
||||
<td style="text-align: right;">yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Desktop client</td>
|
||||
<td align="center">no</td>
|
||||
<td align="center">yes</td>
|
||||
<td align="right">no</td>
|
||||
<td style="text-align: center;">no</td>
|
||||
<td style="text-align: center;">yes</td>
|
||||
<td style="text-align: right;">no</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
<ul itemprop="keywords" class="tags">
|
||||
|
|
|
@ -44,7 +44,7 @@ What follows is a">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -58,8 +58,7 @@ What follows is a">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>The 7th of July me and <a href="http://studentprivacy.ca">Aaron</a>, as interns at the <a href="http://cyber.law.harvard.edu">Berkman Klein for Internet and Society</a>, gave a presentation on the basics of cryptography and a quick overview on the essential tools.</p>
|
||||
<p>The 7th of July me and <a href="http://studentprivacy.ca">Aaron</a>, as interns at the <a href="http://cyber.law.harvard.edu">Berkman Klein for Internet and Society</a>, gave a presentation on the basics of cryptography and a quick overview on the essential tools.</p>
|
||||
<p>What follows is a short summary of that presentation. The slides are available <a href="../../../../../wp-content/uploads/2016/fwneas.pptx">here</a></p>
|
||||
<h4>Whose Security?</h4>
|
||||
<p>Let's define what security is. Security is the possibility to being set free from structural costraints, and as that we can distinguish various levels of security depending on who we are.</p>
|
||||
|
@ -207,7 +206,6 @@ What if, when the person walks into a mall, we record the time, the location, th
|
|||
<h4>To hide is to care</h4>
|
||||
<p>A simple truth is that we don't close the windows to cover up our crimes. </p>
|
||||
<p>Our innermost experiences become in our intimacy, which is the most sacred place.</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ Helpful references
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -57,8 +57,7 @@ Helpful references
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>This guide is adapted from the <a href="https://github.com/nicinabox/lets-split-guide/blob/master/assembly.md">Let's split guide</a>.</p>
|
||||
<p>This guide is adapted from the <a href="https://github.com/nicinabox/lets-split-guide/blob/master/assembly.md">Let's split guide</a>.</p>
|
||||
<p>It is tailored between the Scrooges like me and all the europeans that couldn't find some TRRS jacks.</p>
|
||||
<h3>Helpful references</h3>
|
||||
<ul>
|
||||
|
@ -84,29 +83,29 @@ Helpful references
|
|||
<h3>Cost Breakdown</h3>
|
||||
<table>
|
||||
<thead><tr>
|
||||
<th align="left">Cost</th>
|
||||
<th align="left">Part</th>
|
||||
<th style="text-align: left;">Cost</th>
|
||||
<th style="text-align: left;">Part</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="left">$8</td>
|
||||
<td align="left">PCB</td>
|
||||
<td style="text-align: left;">$8</td>
|
||||
<td style="text-align: left;">PCB</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">€ 12-30</td>
|
||||
<td align="left">Pro Micros</td>
|
||||
<td style="text-align: left;">€ 12-30</td>
|
||||
<td style="text-align: left;">Pro Micros</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">€3-8</td>
|
||||
<td align="left">Diodes</td>
|
||||
<td style="text-align: left;">€3-8</td>
|
||||
<td style="text-align: left;">Diodes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">€14-80</td>
|
||||
<td align="left">Switches</td>
|
||||
<td style="text-align: left;">€14-80</td>
|
||||
<td style="text-align: left;">Switches</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">€14-180</td>
|
||||
<td align="left">Keycaps</td>
|
||||
<td style="text-align: left;">€14-180</td>
|
||||
<td style="text-align: left;">Keycaps</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -123,12 +122,10 @@ Helpful references
|
|||
<p>This part is not really needed, but you may want to do it in case you will mount the TRRS jacks in the future.</p>
|
||||
</blockquote>
|
||||
<p>On the <strong>underside</strong> of the PCB, right below the TRRS jack, you'll see two sets of 3 pads labelled VCC and GND. Jumper them like this:</p>
|
||||
<pre class="code literal-block"><span></span><span class="n">VCC</span><span class="w"> </span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="w"> </span><span class="o">[</span><span class="n"> </span><span class="o">]</span><span class="w"> </span><span class="n">VCC</span><span class="w"></span>
|
||||
<pre class="code literal-block"><span class="n">VCC</span><span class="w"> </span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="w"> </span><span class="o">[</span><span class="n"> </span><span class="o">]</span><span class="w"> </span><span class="n">VCC</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="w"> </span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="w"></span>
|
||||
<span class="n">GND</span><span class="w"> </span><span class="o">[</span><span class="n"> </span><span class="o">]</span><span class="w"> </span><span class="o">[</span><span class="n">x</span><span class="o">]</span><span class="w"> </span><span class="n">GND</span><span class="w"></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>Do both PCBs the same.</p>
|
||||
<p><img alt="" src="https://i.imgur.com/AUT3VUd.png"></p>
|
||||
<h3>Mount Header Pins</h3>
|
||||
|
@ -187,7 +184,6 @@ Helpful references
|
|||
<h2>End Result</h2>
|
||||
<p>Beautiful? <a href="https://en.wikipedia.org/wiki/Don%27t-care_term">W</a>.</p>
|
||||
<p><img alt="" src="../../../../../wp-content/uploads/2017/promicro3.jpg"></p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ I prefer studio recordings because in these, the logical thoughts of the artist
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -56,8 +56,7 @@ I prefer studio recordings because in these, the logical thoughts of the artist
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>I am not the kind of guy who goes to concerts. Ever.</p>
|
||||
<p>I am not the kind of guy who goes to concerts. Ever.</p>
|
||||
<p>I prefer studio recordings because in these, the logical thoughts of the artist emerge as the track comes to life and reaches our ears. I have always been attracted by that, much more than to the sprinkle of emotions that come from venues and theaters.</p>
|
||||
<p>In my case the exceptions are the live performances of Dale Crover (from The Melvins) and Jeff Mangum. Both of which were some kind of unshaped epiphanic experiences for me. </p>
|
||||
<p>Milan, December 2015, The Melvins were at the end of their most recent European tour when Jeff Pinkus drops the bass guitar, tunes the effects pedal and kicks the bass with his bare foot until the right repetition of sounds comes out of the speakers. Slowly, each one of the members leaves the stage, sounds are still coming from
|
||||
|
@ -87,7 +86,6 @@ I divided my time between irc and mailing lists. I felt the obligation to archiv
|
|||
<p>It seems to me that it is just a worthy form of tenacity, not remembrance in any form.</p>
|
||||
<p>For the joy of archivists and the ones with a wistful gaze. And still unpleasant for someone.</p>
|
||||
<p>(This translation is for Madeline, thank you for still taking the time to read my blog)</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ La registrazione in studio esplicita i processi logici che l'artista segue per a
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -55,8 +55,7 @@ La registrazione in studio esplicita i processi logici che l'artista segue per a
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Non sono una persona che va ai concerti. </p>
|
||||
<p>Non sono una persona che va ai concerti. </p>
|
||||
<p>La registrazione in studio esplicita i processi logici che l'artista segue per arrivare al processo di consegna e questo mi ha sempre affascinato, in maniera assai maggiore della carica emotiva sprigionata da un concerto di notte.</p>
|
||||
<p>Ma ci sono due artisti, Dale Crover dei Melvins e Jeff Mangum le cui performance live sono state per me, come spettatore, in qualche modo epifaniche.</p>
|
||||
<p>Milano, dicembre del 2015, i Melvins stanno concludendo il loro più recente tour in Europa quando Jeff Pinkus lascia cadere il basso sul pavimento, regola gli effetti sulla pedaliera e lo prende a calci finché non produce la giusta ripetizione di suoni. Lentamente ciascun musicista si allontana dal palco, il basso insistente, ancora a terra.</p>
|
||||
|
@ -79,7 +78,6 @@ Attraverso la dissipazione l'opera, che fissata nel momento aveva acquisito una
|
|||
<p>Eppure mi ci é voluto un po' per capire che questa non é memoria, solo una forma nobile di accanimento.</p>
|
||||
<p>Piace ai nostalgici, agli archivisti. </p>
|
||||
<p>Spaventa a chi di Internet non vuole farsene una ragione.</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -55,10 +55,8 @@
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p><img alt="brainwashing" src="../../../../../wp-content/uploads/2017/hn_handbrake_hack.jpg"></p>
|
||||
<p><img alt="brainwashing" src="../../../../../wp-content/uploads/2017/hn_handbrake_hack.jpg"></p>
|
||||
<p><a href="http://archive.is/XA3rj">source</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ Although I don't listen to a lot of electronic music, 2814 has been my go to mus
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -57,8 +57,7 @@ Although I don't listen to a lot of electronic music, 2814 has been my go to mus
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Recently I decided to change the <a href="https://github.com/jasonlong/cayman-theme">css</a> of my blog to reflect a vaporwave-ish aestethic. </p>
|
||||
<p>Recently I decided to change the <a href="https://github.com/jasonlong/cayman-theme">css</a> of my blog to reflect a vaporwave-ish aestethic. </p>
|
||||
<p>Although I don't listen to a lot of electronic music, 2814 has been my go to music when I am programming and I go through a lot of James Ferraro's works during the day.</p>
|
||||
<p>What is the reason for my recent obsession on vaporwave culture?</p>
|
||||
<h3>A dream that disappeared</h3>
|
||||
|
@ -85,7 +84,6 @@ Although I don't listen to a lot of electronic music, 2814 has been my go to mus
|
|||
</blockquote>
|
||||
<p>In the novel <a href="https://en.wikipedia.org/wiki/Neuromancer">Neuromance</a> by cyberpunk father William Gibson the Internet is conceived as some sort of "consensual allucination". In the world where that book was written Internet is just a collective delusion.</p>
|
||||
<p>Vaporwave forces us to recognize our helplessness with the Dataspace and for me it is a remembrace of a cyber-utopia that never got off the ground.</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ Negli ultimi anni abbiamo assistito all'ascesa di un gran numero di linguaggi di
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -53,8 +53,7 @@ Negli ultimi anni abbiamo assistito all'ascesa di un gran numero di linguaggi di
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Questo articolo è stato originalmente scritto per il <a href="https://tldr.italyinformatica.org">blog</a> di <a href="https://reddit.com/r/italyinformatica">r/italyinformatica</a>.</p>
|
||||
<p>Questo articolo è stato originalmente scritto per il <a href="https://tldr.italyinformatica.org">blog</a> di <a href="https://reddit.com/r/italyinformatica">r/italyinformatica</a>.</p>
|
||||
<p>Negli ultimi anni abbiamo assistito all'ascesa di un gran numero di linguaggi di programmazione, in particolare <a href="https://golang.rg">Go</a> (2009), <a href="https://www.rust-lang.org/en-US/">Rust</a> (2010), <a href="https://kotlinlang.org/">Kotlin</a> (2011), <a href="https://elixir-lang.org/">Elixir</a> (2011), <a href="https://crystal-lang.org/">Crystal</a> (2014), <a href="https://www.ponylang.or">Pony</a> (2014).</p>
|
||||
<p>Questa esplosione di nuovi linguaggi è dovuta, fra le molte motivazioni, alla necessità di adottare paradigmi di programmazione non immediatamente recenti come cittadini di primo tipo.</p>
|
||||
<p>Rispetto ai più maturi C, C++ o Java, Python o Ruby questi linguaggi offrono "out of the box" supporto per:</p>
|
||||
|
@ -126,47 +125,45 @@ Negli ultimi anni abbiamo assistito all'ascesa di un gran numero di linguaggi di
|
|||
<li>Corpo della funzione</li>
|
||||
</ul>
|
||||
<p>Un esempio:</p>
|
||||
<pre class="code literal-block"><span></span><span class="n">struct</span> <span class="n">Clock</span> <span class="p">{</span>
|
||||
<pre class="code literal-block"><span class="n">struct</span><span class="w"> </span><span class="n">Clock</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
|
||||
<span class="n">short</span> <span class="n">time</span><span class="p">;</span>
|
||||
<span class="w"> </span><span class="n">short</span><span class="w"> </span><span class="n">time</span><span class="p">;</span><span class="w"></span>
|
||||
|
||||
<span class="n">invariant</span> <span class="p">{</span>
|
||||
<span class="w"> </span><span class="n">invariant</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
|
||||
<span class="nb">assert</span> <span class="p">(</span><span class="n">time</span> <span class="o">></span> <span class="mi">0</span><span class="p">);</span>
|
||||
<span class="w"> </span><span class="nb">assert</span><span class="w"> </span><span class="p">(</span><span class="n">time</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="mi">0</span><span class="p">);</span><span class="w"></span>
|
||||
|
||||
<span class="p">}</span>
|
||||
<span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
|
||||
<span class="p">}</span>
|
||||
<span class="p">}</span><span class="w"></span>
|
||||
|
||||
<span class="n">short</span> <span class="n">addReturnTime</span><span class="p">(</span><span class="n">Clock</span> <span class="n">c</span><span class="p">,</span> <span class="n">short</span> <span class="n">n</span><span class="p">)</span>
|
||||
<span class="n">short</span><span class="w"> </span><span class="n">addReturnTime</span><span class="p">(</span><span class="n">Clock</span><span class="w"> </span><span class="n">c</span><span class="p">,</span><span class="w"> </span><span class="n">short</span><span class="w"> </span><span class="n">n</span><span class="p">)</span><span class="w"> </span>
|
||||
|
||||
<span class="ow">in</span> <span class="p">{</span>
|
||||
<span class="n">n</span> <span class="o">></span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span>
|
||||
|
||||
<span class="p">}</span>
|
||||
<span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
|
||||
<span class="n">body</span> <span class="p">{</span>
|
||||
<span class="w"> </span><span class="n">body</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
|
||||
<span class="k">return</span> <span class="n">c</span><span class="o">-></span><span class="n">time</span> <span class="o">+</span> <span class="n">t</span><span class="p">;</span>
|
||||
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">c</span><span class="o">-></span><span class="n">time</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">t</span><span class="p">;</span><span class="w"></span>
|
||||
|
||||
<span class="p">}</span>
|
||||
<span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
|
||||
<span class="n">out</span> <span class="p">(</span><span class="n">result</span><span class="p">){</span>
|
||||
<span class="w"> </span><span class="n">out</span><span class="w"> </span><span class="p">(</span><span class="n">result</span><span class="p">){</span><span class="w"></span>
|
||||
|
||||
<span class="n">result</span> <span class="o">></span> <span class="n">c</span><span class="o">-></span><span class="n">time</span><span class="p">;</span>
|
||||
<span class="w"> </span><span class="n">result</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="n">c</span><span class="o">-></span><span class="n">time</span><span class="p">;</span><span class="w"></span>
|
||||
|
||||
<span class="p">}</span>
|
||||
<span class="w"> </span><span class="p">}</span><span class="w"></span>
|
||||
|
||||
<span class="n">unittest</span> <span class="p">{</span>
|
||||
<span class="n">unittest</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
|
||||
<span class="n">auto</span> <span class="n">clock</span> <span class="o">=</span> <span class="n">Clock</span><span class="p">(</span><span class="mi">60</span><span class="p">);</span>
|
||||
<span class="w"> </span><span class="n">auto</span><span class="w"> </span><span class="n">clock</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Clock</span><span class="p">(</span><span class="mi">60</span><span class="p">);</span><span class="w"></span>
|
||||
|
||||
<span class="nb">assert</span> <span class="p">(</span><span class="n">addReturnTime</span><span class="p">(</span><span class="n">clock</span><span class="p">,</span> <span class="mi">10</span><span class="p">)</span> <span class="o">==</span> <span class="mi">70</span><span class="p">);</span>
|
||||
<span class="w"> </span><span class="nb">assert</span><span class="w"> </span><span class="p">(</span><span class="n">addReturnTime</span><span class="p">(</span><span class="n">clock</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">70</span><span class="p">);</span><span class="w"></span>
|
||||
|
||||
<span class="p">}</span>
|
||||
<span class="p">}</span><span class="w"></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>Come si nota dall'esempio il supporto ai tests è built-in nel linguaggio e distanti solo una flag in fase di compilazione.</p>
|
||||
<h5>Un approccio moderno alle concorrenze</h5>
|
||||
<p>Il modello primitivo delle concorrenze in Posix è discutibilmente datato e prono ad errori per il programmatore.</p>
|
||||
|
@ -192,7 +189,6 @@ Fra le varie motivazioni c'è il fatto che questo rifletta più realisticamente
|
|||
<p>Personalmente consiglio il <a href="http://www.informit.com/store/d-programming-language-9780321635365?w_ptgrevartcl=Concurrency+in+the+D+Programming+Language_1609144">libro</a> di Andrei che offre in particolare moltissimi dettagli sulle motivazioni del design di D. Non ho ancora letto un libro che affrontasse così chiaramente il design di linguaggi di programmazione e i vari compromessi fra performance, semplicità e complessità del compilatore.</p>
|
||||
<p>Inoltre il sito della community offre due intro per chi proviene da <a href="https://dlang.org/ctod.html">C</a> e <a href="https://dlang.org/cpptod.html">C++</a>, oltre al classi <a href="https://tour.dlang.org/">tour</a>.</p>
|
||||
<p>Inoltre la libreria standard, <a href="https://github.com/dlang/phobos">Phobos</a>, è talmente chiara che solitamente mi trovo a mio agio a consultare direttamente il codice piuttosto che la documentazione online.</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ Learning Management Systems appeared on the market around the be">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -57,8 +57,7 @@ Learning Management Systems appeared on the market around the be">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>This is the revised transcript of my <a href="http://conf.owlteh.org/contributions/published/elearning-in-the-age-of-social-networks-the-eduhack-model/">talk</a> at the <a href="https://www.conf.owlteh.org/">OWLTEH Conference 2018</a> at the Coventry University.</p>
|
||||
<p>This is the revised transcript of my <a href="http://conf.owlteh.org/contributions/published/elearning-in-the-age-of-social-networks-the-eduhack-model/">talk</a> at the <a href="https://www.conf.owlteh.org/">OWLTEH Conference 2018</a> at the Coventry University.</p>
|
||||
<p><img alt="Me, giving the talk" src="../../../../../wp-content/uploads/2018/coventry.jpg"></p>
|
||||
<h2>In the beginning there was the LMS</h2>
|
||||
<p>Learning Management Systems appeared on the market around the beginning of 2000.</p>
|
||||
|
@ -342,7 +341,6 @@ The following is a list of the positive and negative results of such studies gro
|
|||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
<ul itemprop="keywords" class="tags">
|
||||
|
|
|
@ -42,7 +42,7 @@ Tempo fa rimasi colpi">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -56,8 +56,7 @@ Tempo fa rimasi colpi">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<blockquote>
|
||||
<blockquote>
|
||||
<p>It is also common ground, however, that the First Amendment does not guarantee the right to communicate one's views at all times and places or in any manner that may be desired.</p>
|
||||
</blockquote>
|
||||
<p>Tempo fa rimasi colpito nel leggere questo <a href="https://www.courtlistener.com/opinion/110532/heffron-v-international-soc-for-krishna-consciousness-inc/">orientamento</a> della corte degli Stati Uniti dal quale ho tratto la precedente citazione.</p>
|
||||
|
@ -74,7 +73,6 @@ Ho interessi di nicchia e Reddit mi permetteva di riunirmi con persone dall'altr
|
|||
<p>Con questo post dico addio a Reddit. Da spazio di discussione a spazio di intolleranza e divisione politica, dove delle comunità che non rientrano nei canoni di buona reputazione per delle agenzie pubblicitarie devono essere eliminate.</p>
|
||||
<p>Non voglio che ogni mia parola sia pesata oltre i valori della comunità a cui sottoscrivo, non voglio fare esercizi di autocensura nei post che scrivo.</p>
|
||||
<p>Aderivo a delle regole ben definite e delle quali gli amministratori si assumevano la responsabilità. Con il ban di marzo 2018 il sito che conoscevo ha cambiato faccia ed il post di un <a href="https://np.reddit.com/user/Reddit-Policy">utente anonimo</a> sarà l'ultimo post che downvoterò.</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ I miei sforzi nell'imparare questo linguaggio sono confluiti nella partecipazion
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -54,12 +54,10 @@ I miei sforzi nell'imparare questo linguaggio sono confluiti nella partecipazion
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Quest'anno molto del mio tempo passato al pc e` stato investito per D e la sua community.
|
||||
<p>Quest'anno molto del mio tempo passato al pc e` stato investito per D e la sua community.
|
||||
I miei sforzi nell'imparare questo linguaggio sono confluiti nella partecipazione al <a href="https://dlang.org/blog/symmetry-autumn-of-code">SAOC</a> con il mio amico e collega <a href="https://fragal.eu">Francesco Galla`</a>.</p>
|
||||
<p>Accompagnero` Francesco all'edizione del 2019 della <a href="https://dconf.org/2019/index.html">DConf</a> che si terra` dall'otto all'undici marzo a Londra.</p>
|
||||
<p>See you there!</p>
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ Quest'anno, data la situazione con il">
|
|||
<a class="btn" href="../../../../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><div class="post">
|
||||
|
||||
<header><h1 class="post-title">
|
||||
|
@ -54,8 +54,7 @@ Quest'anno, data la situazione con il">
|
|||
|
||||
|
||||
<div class="e-content entry-content" itemprop="articleBody text">
|
||||
<div>
|
||||
<p>Per tre anni ho svolto una lezione sulla cultura hacker che precedentemente era tenuta da <a href="https://nexa.polito.it/people/sbasso">Simone Basso</a> al Politecnico di Torino per il corso <a href="http://rivoluzionedigitale.polito.it/">Rivoluzione Digitale</a>.
|
||||
<p>Per tre anni ho svolto una lezione sulla cultura hacker che precedentemente era tenuta da <a href="https://nexa.polito.it/people/sbasso">Simone Basso</a> al Politecnico di Torino per il corso <a href="http://rivoluzionedigitale.polito.it/">Rivoluzione Digitale</a>.
|
||||
Quest'anno, data la situazione con il corona virus e dato che non voglio essere registrato (cosa inevitabile qualora organizzassi una videolezione), ho deciso di scrivere questo blogpost dove riassumo quello che solitamente espongo.</p>
|
||||
<h2>Scopo della lezione</h2>
|
||||
<p>Capire la cultura hacker significa entrare in contatto con quelle che sono le motivazioni e la storia di persone che hanno contribuito in maniera fondamentale alla nascita di internet e hanno presentato al mondo un modo di pensare che ancora oggi è alle radici dell'informatica come strumento di cultura di massa.</p>
|
||||
|
@ -390,7 +389,6 @@ Quando si vuole tornare nel cyberspazio è pieno di posti felici (e soprattutto
|
|||
</ul>
|
||||
<!-- La messa é finita --><!-- Andate a fanculo -->
|
||||
</div>
|
||||
</div>
|
||||
<aside class="postpromonav"><nav><h4>Categories</h4>
|
||||
|
||||
<ul itemprop="keywords" class="tags">
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about AI)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/ai.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2021 <a href="mailto:francescomecca.eu">Francesco Mecca</a> </copyright><lastBuildDate>Thu, 02 Dec 2021 14:42:14 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Capire il Machine Learning (parte 3)</title><link>francescomecca.eu/blog/2016/11/15/machine-learning-parte3/</link><dc:creator>Francesco Mecca</dc:creator><description><div><h3>Riconoscimento delle immagini</h3>
|
||||
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about AI)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/ai.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2023 <a href="mailto:francescomecca.eu">Francesco Mecca</a> </copyright><lastBuildDate>Wed, 30 Aug 2023 15:57:17 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Capire il Machine Learning (parte 3)</title><link>francescomecca.eu/blog/2016/11/15/machine-learning-parte3/</link><dc:creator>Francesco Mecca</dc:creator><description><h3>Riconoscimento delle immagini</h3>
|
||||
<p>Il machine learning viene utilizzato anche per il riconoscimento delle immagini.
|
||||
La tipologia di rete neurale utilizzata per questa applicazione è chiamata rete neural a convoluzione ( <strong>convolutional neural networks</strong>), abbreviata CNN.</p>
|
||||
<p>Innanzitutto consideriamo che ogni immagine può essere codificata come una matrice di valori</p>
|
||||
|
@ -21,7 +21,7 @@ Questi pattern corrispondono alle caratteristiche proprie di un oggetto (quali p
|
|||
<p>Alla fine dell'analisi tutte le caratteristiche estrapolate vengono considerate nell'insieme e in questo modo possiamo capire a quale categoria appartiene l'immagine.</p>
|
||||
<p>Questo procedimento a livello algoritmo si esplicita con una connessione completa fra tutti i nodi della rete neurale che possono poi restituire l'output (probabilità che l'immagine appartenga ad una determinata categoria).</p>
|
||||
<h5>Fase di rinforzo</h5>
|
||||
<p>Durante il training é presente un'ultima fase (o strato), chiamato più propriamente <strong>loss layer</strong>. Questo strato provvede a dare un <strong>feedback</strong> alla rete neurale analizzando l'output in relazione ai dati di partenza (ovvero le immagini già categorizzate).</p></div></description><category>AI</category><category>algoritmi genetici</category><category>Genetic algorithm</category><category>Neural networks</category><category>PesceWanda</category><category>programming</category><category>reti neurali</category><guid>francescomecca.eu/blog/2016/11/15/machine-learning-parte3/</guid><pubDate>Tue, 15 Nov 2016 00:00:00 GMT</pubDate></item><item><title>Capire il Machine Learning (parte 2)</title><link>francescomecca.eu/blog/2016/11/11/machine-learning-parte2/</link><dc:creator>Francesco Mecca</dc:creator><description><div><p>Nel precedente <a href="francescomecca.eu/pescewanda/2016/11/10/machine-learning-intro/">post</a> abbiamo preso in considerazione una rete neurale molto basica.
|
||||
<p>Durante il training é presente un'ultima fase (o strato), chiamato più propriamente <strong>loss layer</strong>. Questo strato provvede a dare un <strong>feedback</strong> alla rete neurale analizzando l'output in relazione ai dati di partenza (ovvero le immagini già categorizzate).</p></description><category>AI</category><category>algoritmi genetici</category><category>Genetic algorithm</category><category>Neural networks</category><category>PesceWanda</category><category>programming</category><category>reti neurali</category><guid>francescomecca.eu/blog/2016/11/15/machine-learning-parte3/</guid><pubDate>Tue, 15 Nov 2016 00:00:00 GMT</pubDate></item><item><title>Capire il Machine Learning (parte 2)</title><link>francescomecca.eu/blog/2016/11/11/machine-learning-parte2/</link><dc:creator>Francesco Mecca</dc:creator><description><p>Nel precedente <a href="francescomecca.eu/pescewanda/2016/11/10/machine-learning-intro/">post</a> abbiamo preso in considerazione una rete neurale molto basica.
|
||||
Proviamo ora ad approfondire il concetto aggiungendo una proprietà fondamentale, la memoria.</p>
|
||||
<h3>Memoria e Stati</h3>
|
||||
<p>La rete neurale che abbiamo modellato non ha alcun tipo di memoria. con gli stessi dati di input, l'output è (quasi certamente) lo stesso.
|
||||
|
@ -37,38 +37,30 @@ Abbiamo in questo modo una <em>recurrent neural network</em> (RNN) d
|
|||
La RNN analizza carattere dopo carattere e costruisce un grande grafo dove collega ogni carattere al suo successivo.
|
||||
Inizialmente l'output della nostra RNN non ha alcun valore:
|
||||
in questo esempio, abbiamo l'output di una RNN allenata attraverso Guerra e Pace:</p>
|
||||
<pre class="code literal-block"><span></span><span class="n">tyntd</span><span class="o">-</span><span class="n">iafhatawiaoihrdemot</span> <span class="n">lytdws</span> <span class="n">e</span> <span class="p">,</span><span class="n">tfti</span><span class="p">,</span> <span class="n">astai</span> <span class="n">f</span> <span class="n">ogoh</span> <span class="n">eoase</span> <span class="n">rrranbyne</span> <span class="p">'</span><span class="n">nhthnee</span> <span class="n">e</span>
|
||||
<span class="n">plia</span> <span class="n">tklrgd</span> <span class="n">t</span> <span class="n">o</span> <span class="n">idoe</span> <span class="n">ns</span><span class="p">,</span><span class="n">smtt</span> <span class="n">h</span> <span class="n">ne</span> <span class="n">etie</span> <span class="n">h</span><span class="p">,</span><span class="n">hregtrs</span> <span class="n">nigtike</span><span class="p">,</span><span class="n">aoaenns</span> <span class="n">lngty</span>
|
||||
<pre class="code literal-block"><span class="n">tyntd</span><span class="o">-</span><span class="n">iafhatawiaoihrdemot</span><span class="w"> </span><span class="n">lytdws</span><span class="w"> </span><span class="n">e</span><span class="w"> </span><span class="p">,</span><span class="n">tfti</span><span class="p">,</span><span class="w"> </span><span class="n">astai</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="n">ogoh</span><span class="w"> </span><span class="n">eoase</span><span class="w"> </span><span class="n">rrranbyne</span><span class="w"> </span><span class="p">'</span><span class="n">nhthnee</span><span class="w"> </span><span class="n">e</span><span class="w"> </span>
|
||||
<span class="n">plia</span><span class="w"> </span><span class="n">tklrgd</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="n">o</span><span class="w"> </span><span class="n">idoe</span><span class="w"> </span><span class="n">ns</span><span class="p">,</span><span class="n">smtt</span><span class="w"> </span><span class="n">h</span><span class="w"> </span><span class="n">ne</span><span class="w"> </span><span class="n">etie</span><span class="w"> </span><span class="n">h</span><span class="p">,</span><span class="n">hregtrs</span><span class="w"> </span><span class="n">nigtike</span><span class="p">,</span><span class="n">aoaenns</span><span class="w"> </span><span class="n">lngty</span><span class="w"></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>L'output prodotto dalla RNN, benchè non abbia nessun valore per un umano, viene analizzato dalla RNN per arricchire il grafo costituito inizialmente dai caratteri (e le loro relazioni) di Guerra e Pace.
|
||||
Questo procedimento continua all'infinito.
|
||||
Ogni volta che la RNN produce dell'output lo salva e lo riutilizza come input in maniera ricorsiva per generare nuovo output.</p>
|
||||
<p>Dopo 300 iterazioni abbiamo un output di questo tipo:</p>
|
||||
<pre class="code literal-block"><span></span>"Tmont thithey" fomesscerliund
|
||||
<pre class="code literal-block">"Tmont thithey" fomesscerliund
|
||||
Keushey. Thom here
|
||||
sheulke, anmerenith ol sivh I lalterthend Bleipile shuwy fil on aseterlome
|
||||
coaniogennc Phe lism thond hon at. MeiDimorotion in ther thize."
|
||||
</pre>
|
||||
|
||||
|
||||
<p>Dopo quasi mille:</p>
|
||||
<pre class="code literal-block"><span></span><span class="nv">Aftair</span> <span class="nv">fall</span> <span class="nv">unsuch</span> <span class="nv">that</span> <span class="nv">the</span> <span class="nv">hall</span> <span class="k">for</span> <span class="nv">Prince</span> <span class="nv">Velzonski</span><span class="s1">'</span><span class="s">s that me of</span>
|
||||
<pre class="code literal-block"><span class="nv">Aftair</span> <span class="nv">fall</span> <span class="nv">unsuch</span> <span class="nv">that</span> <span class="nv">the</span> <span class="nv">hall</span> <span class="k">for</span> <span class="nv">Prince</span> <span class="nv">Velzonski</span><span class="s1">'</span><span class="s">s that me of</span>
|
||||
<span class="nv">her</span> <span class="nv">hearly</span>, <span class="nv">and</span> <span class="nv">behs</span> <span class="nv">to</span> <span class="nv">so</span> <span class="nv">arwage</span> <span class="nv">fiving</span> <span class="nv">were</span> <span class="nv">to</span> <span class="nv">it</span> <span class="nv">beloge</span>, <span class="nv">pavu</span> <span class="nv">say</span> <span class="nv">falling</span> <span class="nv">misfort</span>
|
||||
<span class="nv">how</span>, <span class="nv">and</span> <span class="nv">Gogition</span> <span class="nv">is</span> <span class="nv">so</span> <span class="nv">overelical</span> <span class="nv">and</span> <span class="nv">ofter</span>.
|
||||
</pre>
|
||||
|
||||
|
||||
<p>Duemila:</p>
|
||||
<pre class="code literal-block"><span></span><span class="s2">"</span><span class="s">Why do what that day,</span><span class="s2">"</span> <span class="nv">replied</span> <span class="nv">Natasha</span>, <span class="nv">and</span> <span class="nv">wishing</span> <span class="nv">to</span> <span class="nv">himself</span> <span class="nv">the</span> <span class="nv">fact</span> <span class="nv">the</span>
|
||||
<pre class="code literal-block"><span class="s2">"</span><span class="s">Why do what that day,</span><span class="s2">"</span> <span class="nv">replied</span> <span class="nv">Natasha</span>, <span class="nv">and</span> <span class="nv">wishing</span> <span class="nv">to</span> <span class="nv">himself</span> <span class="nv">the</span> <span class="nv">fact</span> <span class="nv">the</span>
|
||||
<span class="nv">princess</span>, <span class="nv">Princess</span> <span class="nv">Mary</span> <span class="nv">was</span> <span class="nv">easier</span>, <span class="nv">fed</span> <span class="nv">in</span> <span class="nv">had</span> <span class="nv">oftened</span> <span class="nv">him</span>.
|
||||
<span class="nv">Pierre</span> <span class="nv">aking</span> <span class="nv">his</span> <span class="nv">soul</span> <span class="nv">came</span> <span class="nv">to</span> <span class="nv">the</span> <span class="nv">packs</span> <span class="nv">and</span> <span class="nv">drove</span> <span class="nv">up</span> <span class="nv">his</span> <span class="nv">father</span><span class="o">-</span><span class="nv">in</span><span class="o">-</span><span class="nv">law</span> <span class="nv">women</span>.
|
||||
</pre>
|
||||
|
||||
|
||||
<p>Possiamo notare come l'output migliori visibilmente.</p>
|
||||
<p>Nel prossimo post tratterò una variante di rete neurale utilizzata per classificare e riconoscere immagini.</p></div></description><category>AI</category><category>algoritmi genetici</category><category>Genetic algorithm</category><category>Neural networks</category><category>PesceWanda</category><category>programming</category><category>reti neurali</category><guid>francescomecca.eu/blog/2016/11/11/machine-learning-parte2/</guid><pubDate>Fri, 11 Nov 2016 00:00:00 GMT</pubDate></item><item><title>Capire il Machine Learning (parte 1)</title><link>francescomecca.eu/blog/2016/11/10/machine-learning-intro/</link><dc:creator>Francesco Mecca</dc:creator><description><div><p>Questo è il primo di una serie di post che hanno l'obbiettivo di fornire una breve e generale introduzione al mondo del machine learning e delle intelligenze artificiali più in generale.
|
||||
<p>Nel prossimo post tratterò una variante di rete neurale utilizzata per classificare e riconoscere immagini.</p></description><category>AI</category><category>algoritmi genetici</category><category>Genetic algorithm</category><category>Neural networks</category><category>PesceWanda</category><category>programming</category><category>reti neurali</category><guid>francescomecca.eu/blog/2016/11/11/machine-learning-parte2/</guid><pubDate>Fri, 11 Nov 2016 00:00:00 GMT</pubDate></item><item><title>Capire il Machine Learning (parte 1)</title><link>francescomecca.eu/blog/2016/11/10/machine-learning-intro/</link><dc:creator>Francesco Mecca</dc:creator><description><p>Questo è il primo di una serie di post che hanno l'obbiettivo di fornire una breve e generale introduzione al mondo del machine learning e delle intelligenze artificiali più in generale.
|
||||
Mi auguro che questa breve introduzione al mondo dell'apprendimento automatico sia una sorta di vaccino contro il sensazionalismo mediatico e la disinformazione che negli ultimi anni fanno da contorno al progresso in questo settore.</p>
|
||||
<h3>Non c'è risultato senza algoritmo</h3>
|
||||
<p>Nelle scienze informatiche un algoritmo è un insieme di istruzioni che partendo da uno stato iniziale (input) permette di arrivare ad uno stato finale (output) attraverso una serie di step logici.
|
||||
|
@ -85,35 +77,35 @@ Noi abbiamo questi dati:</p>
|
|||
<thead>
|
||||
<tr>
|
||||
<th>PREZZO ORIGINALE</th>
|
||||
<th align="center">Km percorsi</th>
|
||||
<th align="center">stato di usura</th>
|
||||
<th align="right">PREZZO FINALE</th>
|
||||
<th style="text-align: center;">Km percorsi</th>
|
||||
<th style="text-align: center;">stato di usura</th>
|
||||
<th style="text-align: right;">PREZZO FINALE</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>50 000</td>
|
||||
<td align="center">120 000</td>
|
||||
<td align="center">lieve</td>
|
||||
<td align="right">40 000</td>
|
||||
<td style="text-align: center;">120 000</td>
|
||||
<td style="text-align: center;">lieve</td>
|
||||
<td style="text-align: right;">40 000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>30 000</td>
|
||||
<td align="center">150 000</td>
|
||||
<td align="center">notevole</td>
|
||||
<td align="right">8 000</td>
|
||||
<td style="text-align: center;">150 000</td>
|
||||
<td style="text-align: center;">notevole</td>
|
||||
<td style="text-align: right;">8 000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20 000</td>
|
||||
<td align="center">80 000</td>
|
||||
<td align="center">lieve</td>
|
||||
<td align="right">15 000</td>
|
||||
<td style="text-align: center;">80 000</td>
|
||||
<td style="text-align: center;">lieve</td>
|
||||
<td style="text-align: right;">15 000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20 000</td>
|
||||
<td align="center">120 000</td>
|
||||
<td align="center">notevole</td>
|
||||
<td align="right">...</td>
|
||||
<td style="text-align: center;">120 000</td>
|
||||
<td style="text-align: center;">notevole</td>
|
||||
<td style="text-align: right;">...</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -129,30 +121,30 @@ Possiamo capire già da ora che nel caso ci fossero dati che "inquinano" il nost
|
|||
<thead>
|
||||
<tr>
|
||||
<th>PREZZO ORIGINALE</th>
|
||||
<th align="center">Km percorsi</th>
|
||||
<th align="right">stato di usura</th>
|
||||
<th style="text-align: center;">Km percorsi</th>
|
||||
<th style="text-align: right;">stato di usura</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>50 000</td>
|
||||
<td align="center">120 000</td>
|
||||
<td align="right">lieve</td>
|
||||
<td style="text-align: center;">120 000</td>
|
||||
<td style="text-align: right;">lieve</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>30 000</td>
|
||||
<td align="center">150 000</td>
|
||||
<td align="right">notevole</td>
|
||||
<td style="text-align: center;">150 000</td>
|
||||
<td style="text-align: right;">notevole</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20 000</td>
|
||||
<td align="center">80 000</td>
|
||||
<td align="right">lieve</td>
|
||||
<td style="text-align: center;">80 000</td>
|
||||
<td style="text-align: right;">lieve</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20 000</td>
|
||||
<td align="center">120 000</td>
|
||||
<td align="right">notevole</td>
|
||||
<td style="text-align: center;">120 000</td>
|
||||
<td style="text-align: right;">notevole</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -165,56 +157,54 @@ Nel caso della vendita dell'automobile, abbiamo un semplice problema con una sol
|
|||
<p>Ovviamente ogni incognita nella nostra equazione influisce diversamente sul prezzo finale e quindi possiamo riscriverla come:
|
||||
<em>prezzo finale</em> = A <em><em>prezzo originale</em> + B </em><em>km percorsi</em> + C * stato di usura</p>
|
||||
<p>Se pensiamo ad un algoritmo possiamo ragionare in questo modo:</p>
|
||||
<pre class="code literal-block"><span></span><span class="n">funzione</span><span class="o">:</span> <span class="n">calcola_prezzo_auto</span><span class="o">:</span>
|
||||
<span class="n">parametri</span><span class="o">:</span> <span class="n">prezzo_originale</span><span class="o">,</span> <span class="n">km_percorsi</span><span class="o">,</span> <span class="n">stato_usura</span>
|
||||
<span class="n">variabili</span><span class="o">:</span> <span class="n">prezzo_finale</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
<pre class="code literal-block"><span class="n">funzione</span><span class="o">:</span><span class="w"> </span><span class="n">calcola_prezzo_auto</span><span class="o">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">parametri</span><span class="o">:</span><span class="w"> </span><span class="n">prezzo_originale</span><span class="o">,</span><span class="w"> </span><span class="n">km_percorsi</span><span class="o">,</span><span class="w"> </span><span class="n">stato_usura</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">variabili</span><span class="o">:</span><span class="w"> </span><span class="n">prezzo_finale</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="w"></span>
|
||||
|
||||
<span class="n">prezzo</span> <span class="n">finale</span> <span class="o">=</span> <span class="n">prezzo_originale</span> <span class="o">*</span> <span class="mf">0.804246</span>
|
||||
<span class="n">prezzo</span> <span class="n">finale</span> <span class="o">=</span> <span class="n">prezzo_finale</span> <span class="o">+</span> <span class="n">km_percorsi</span> <span class="o">*</span> <span class="o">-</span><span class="mf">0.000125</span>
|
||||
<span class="n">prezzo</span> <span class="n">finale</span> <span class="o">=</span> <span class="n">prezzo_finale</span> <span class="o">+</span> <span class="n">stato_usura</span> <span class="o">*</span> <span class="o">-</span><span class="mi">2500</span>
|
||||
<span class="w"> </span><span class="n">prezzo</span><span class="w"> </span><span class="n">finale</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">prezzo_originale</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mf">0.804246</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">prezzo</span><span class="w"> </span><span class="n">finale</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">prezzo_finale</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">km_percorsi</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="o">-</span><span class="mf">0.000125</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">prezzo</span><span class="w"> </span><span class="n">finale</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">prezzo_finale</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">stato_usura</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="o">-</span><span class="mi">2500</span><span class="w"></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>I valori di quelle costanti, stabilite casualmente nell'esempio, sono chiamate <em>pesi</em> e servono a stimare il prezzo finale.
|
||||
Una volta stabiliti i pesi, il nostro algoritmo di supervised learning applica questi pesi ai dati originali e ne valuta l'errore:</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>PREZZO ORIGINALE</th>
|
||||
<th align="center">Km percorsi</th>
|
||||
<th align="center">stato di usura</th>
|
||||
<th align="center">PREZZO FINALE</th>
|
||||
<th align="right">PREZZO STIMATO</th>
|
||||
<th style="text-align: center;">Km percorsi</th>
|
||||
<th style="text-align: center;">stato di usura</th>
|
||||
<th style="text-align: center;">PREZZO FINALE</th>
|
||||
<th style="text-align: right;">PREZZO STIMATO</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>50 000</td>
|
||||
<td align="center">120 000</td>
|
||||
<td align="center">lieve</td>
|
||||
<td align="center">40 000</td>
|
||||
<td align="right">374888</td>
|
||||
<td style="text-align: center;">120 000</td>
|
||||
<td style="text-align: center;">lieve</td>
|
||||
<td style="text-align: center;">40 000</td>
|
||||
<td style="text-align: right;">374888</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>30 000</td>
|
||||
<td align="center">150 000</td>
|
||||
<td align="center">notevole</td>
|
||||
<td align="center">8 000</td>
|
||||
<td align="right">16000</td>
|
||||
<td style="text-align: center;">150 000</td>
|
||||
<td style="text-align: center;">notevole</td>
|
||||
<td style="text-align: center;">8 000</td>
|
||||
<td style="text-align: right;">16000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20 000</td>
|
||||
<td align="center">80 000</td>
|
||||
<td align="center">lieve</td>
|
||||
<td align="center">15 000</td>
|
||||
<td align="right">13492</td>
|
||||
<td style="text-align: center;">80 000</td>
|
||||
<td style="text-align: center;">lieve</td>
|
||||
<td style="text-align: center;">15 000</td>
|
||||
<td style="text-align: right;">13492</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20 000</td>
|
||||
<td align="center">120 000</td>
|
||||
<td align="center">notevole</td>
|
||||
<td align="center">...</td>
|
||||
<td align="right">10988</td>
|
||||
<td style="text-align: center;">120 000</td>
|
||||
<td style="text-align: center;">notevole</td>
|
||||
<td style="text-align: center;">...</td>
|
||||
<td style="text-align: right;">10988</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -225,7 +215,7 @@ Ci sono varie funzioni che stimano l'errore e permettono di correggere i pesi o
|
|||
<p>Ora, come possiamo immaginare, il prezzo di un'auto ha molti fattori che si aggiungono a quelli elencati nell'esempio.
|
||||
Non solo, ma molti problemi non hanno una soluzione lineare, ovvero una soluzione che si può semplicemente esprimere attraverso una funzione che aggiunge e moltiplica i valori una sola volta.</p>
|
||||
<p>Possiamo arricchire l'esempio dell'automobile immaginando di avere più set di pesi e di ripetere il procedimento più volte:</p>
|
||||
<pre class="code literal-block"><span></span><span class="c">|</span><span class="nb">---------------------------------------------------</span><span class="c">|</span>
|
||||
<pre class="code literal-block"><span class="c">|</span><span class="nb">---------------------------------------------------</span><span class="c">|</span>
|
||||
<span class="c">| PREZZO_ORIG * peso A1 </span><span class="nb">-----</span><span class="nv">&gt;</span><span class="c"> |</span>
|
||||
<span class="c">| KM_PERCORSI * peso B1 </span><span class="nb">-----</span><span class="nv">&gt;</span><span class="c"> |</span>
|
||||
<span class="c">| STATO_USURA * peso C1 </span><span class="nb">-----</span><span class="nv">&gt;</span><span class="c"> |</span>
|
||||
|
@ -246,18 +236,14 @@ Non solo, ma molti problemi non hanno una soluzione lineare, ovvero una soluzion
|
|||
<span class="c">| PREZZO FINALE STIMATO 3|</span>
|
||||
<span class="c">|</span><span class="nb">---------------------------------------------------</span><span class="c">|</span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>E ora immaginiamo di combinare ogni PREZZO FINALE STIMATO in un'ultimo risultato:</p>
|
||||
<pre class="code literal-block"><span></span><span class="c">| </span><span class="nb">--------------------------------------------------</span><span class="c">|</span>
|
||||
<pre class="code literal-block"><span class="c">| </span><span class="nb">--------------------------------------------------</span><span class="c">|</span>
|
||||
<span class="c">| PREZZO_1 * peso X </span><span class="nb">-----</span><span class="nv">&gt;</span><span class="c"> |</span>
|
||||
<span class="c">| PREZZO_2 * peso Y </span><span class="nb">-----</span><span class="nv">&gt;</span><span class="c"> |</span>
|
||||
<span class="c">| PREZZO_3 * peso Z </span><span class="nb">-----</span><span class="nv">&gt;</span><span class="c"> |</span>
|
||||
<span class="c">| PREZZO FINALE DEF |</span>
|
||||
<span class="c">|</span><span class="nb">---------------------------------------------------</span><span class="c">|</span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>Questa é, seppur molto basica, una rete neurale.
|
||||
Proviamo a visualizzarla in un'immagine dove i box arancioni sono i nodi di input e i rossi sono i nodi "nascosti" e temporanei.</p>
|
||||
<p><img alt="rete2" src="francescomecca.eu/wp-content/uploads/2016/reteneurale2.jpg"></p>
|
||||
|
@ -270,7 +256,7 @@ Proviamo a visualizzarla in un'immagine dove i box arancioni sono i nodi di inpu
|
|||
<p>le catene: i collegamenti fra neuroni che permettono di valutare il prezzo più volte.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Nel prossimo <a href="francescomecca.eu/pescewanda/2016/11/11/machine-learning-PARTE2">post</a> cercherò di approfondire il concetto di rete neurale con degli esempi di applicazioni concrete.</p></div></description><category>AI</category><category>algoritmi genetici</category><category>Genetic algorithm</category><category>Neural networks</category><category>PesceWanda</category><category>programming</category><category>reti neurali</category><guid>francescomecca.eu/blog/2016/11/10/machine-learning-intro/</guid><pubDate>Thu, 10 Nov 2016 00:00:00 GMT</pubDate></item><item><title>Interpolation using a genetic algorithm</title><link>francescomecca.eu/blog/2016/5/15/genetic-alg/</link><dc:creator>Francesco Mecca</dc:creator><description><div><p>This weekend I was in Milan to get a visa and I had the opportunity to work with a friend, Michele, on genetic algorithms.
|
||||
<p>Nel prossimo <a href="francescomecca.eu/pescewanda/2016/11/11/machine-learning-PARTE2">post</a> cercherò di approfondire il concetto di rete neurale con degli esempi di applicazioni concrete.</p></description><category>AI</category><category>algoritmi genetici</category><category>Genetic algorithm</category><category>Neural networks</category><category>PesceWanda</category><category>programming</category><category>reti neurali</category><guid>francescomecca.eu/blog/2016/11/10/machine-learning-intro/</guid><pubDate>Thu, 10 Nov 2016 00:00:00 GMT</pubDate></item><item><title>Interpolation using a genetic algorithm</title><link>francescomecca.eu/blog/2016/5/15/genetic-alg/</link><dc:creator>Francesco Mecca</dc:creator><description><p>This weekend I was in Milan to get a visa and I had the opportunity to work with a friend, Michele, on genetic algorithms.
|
||||
It was the first time I dig up in such field and it was very exciting.
|
||||
In this post I want to explain some bits of our work.</p>
|
||||
<h3>A brief introduction to GA</h3>
|
||||
|
@ -297,7 +283,7 @@ The main components of a GA are:</p>
|
|||
<p>Our program, that is available <a href="http://francescomecca.eu:3000/pesceWanda/interpol_genetica">here</a> uses a class to define the various members of the population and a string for the genes, a class as well for the points on the plane.</p>
|
||||
<p>The fitness function is not as precise as it should be because this is only a proof of concept:</p>
|
||||
<p>.. code:: python</p>
|
||||
<pre class="code literal-block"><span></span><span class="n">mutationProbability</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">0.1</span><span class="w"></span>
|
||||
<pre class="code literal-block"><span class="n">mutationProbability</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">0.1</span><span class="w"></span>
|
||||
<span class="n">rangeLimit</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">5</span><span class="w"></span>
|
||||
<span class="n">def</span><span class="w"> </span><span class="n">fitness</span><span class="p">(</span><span class="n">item</span><span class="p">,</span><span class="w"> </span><span class="n">pointList</span><span class="p">,</span><span class="w"> </span><span class="n">n</span><span class="p">)</span><span class="err">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="k">value</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="w"></span>
|
||||
|
@ -311,28 +297,20 @@ The main components of a GA are:</p>
|
|||
<span class="w"> </span><span class="k">value</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="k">result</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="k">value</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">n</span><span class="w"></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>item is just a member of the population, poinList is the list of points and n is the number of points (n - 1 is the grade of the function).</p>
|
||||
<pre class="code literal-block"><span></span><span class="k">for</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="k">range</span><span class="p">(</span><span class="n">n</span><span class="p">)</span><span class="err">:</span><span class="w"></span>
|
||||
<pre class="code literal-block"><span class="k">for</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="k">range</span><span class="p">(</span><span class="n">n</span><span class="p">)</span><span class="err">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">y</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">item</span><span class="p">.</span><span class="n">gene</span><span class="o">[</span><span class="n">i</span><span class="o">]</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">pow</span><span class="p">(</span><span class="n">p</span><span class="p">.</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">i</span><span class="p">)</span><span class="w"></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>this piece of code gives us the value of the function encoded in the genes in the points of pointList;</p>
|
||||
<pre class="code literal-block"><span></span><span class="nb">result</span> <span class="o">=</span> <span class="mi">1</span> <span class="o">-</span> <span class="ss">(</span><span class="nv">abs</span> <span class="ss">(</span><span class="nv">p</span>.<span class="nv">y</span> <span class="o">-</span> <span class="nv">y</span><span class="ss">)</span> <span class="o">/</span> <span class="nv">rangeLimit</span><span class="ss">)</span>
|
||||
<pre class="code literal-block"><span class="nb">result</span> <span class="o">=</span> <span class="mi">1</span> <span class="o">-</span> <span class="ss">(</span><span class="nv">abs</span> <span class="ss">(</span><span class="nv">p</span>.<span class="nv">y</span> <span class="o">-</span> <span class="nv">y</span><span class="ss">)</span> <span class="o">/</span> <span class="nv">rangeLimit</span><span class="ss">)</span>
|
||||
<span class="k">if</span> <span class="nb">result</span> <span class="o">&lt;</span> <span class="mi">0</span>:
|
||||
<span class="nb">result</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>while here the script stores 1 - the previous result because if the GA has yield a good result there should be distance = 0 from the function evaluated and the points; If this is the case, the fitness function should attribute the highest possible reproduction probability for that member.
|
||||
At the end the fitness function returns the total value over the number of points evaluated.</p>
|
||||
<p>As you can see this fitness function is by no means an optimal one. The reproduction probability is higher for functions that crosses some points and are really distant from others rather than for functions that are closer to every point but crosses none.
|
||||
Anyway for simple cases the GA yields good results, as an example for points (0 0), (1 4), (2 9) one of the member with the highest reproduction probability has this function in its genes:</p>
|
||||
<pre class="code literal-block"><span></span>-0.0487839869993989 * x^0 + 4.600339125358671 * x^1 + -0.2780958075230644 * x^2
|
||||
<pre class="code literal-block">-0.0487839869993989 * x^0 + 4.600339125358671 * x^1 + -0.2780958075230644 * x^2
|
||||
</pre>
|
||||
|
||||
|
||||
<p>that crosses this points: (0 -0.0488), (1 4.2735), (2 8.0395) given 80 iterations, initial population of 600 members and a two digit approximation.</p>
|
||||
<p>For a more precise computation a higher population size and a really high number of iterations should be used.</p></div></description><category>AI</category><category>Genetic algorithm</category><category>PesceWanda</category><category>programming</category><category>python</category><guid>francescomecca.eu/blog/2016/5/15/genetic-alg/</guid><pubDate>Sun, 15 May 2016 00:00:00 GMT</pubDate></item></channel></rss>
|
||||
<p>For a more precise computation a higher population size and a really high number of iterations should be used.</p></description><category>AI</category><category>Genetic algorithm</category><category>PesceWanda</category><category>programming</category><category>python</category><guid>francescomecca.eu/blog/2016/5/15/genetic-alg/</guid><pubDate>Sun, 15 May 2016 00:00:00 GMT</pubDate></item></channel></rss>
|
|
@ -27,7 +27,7 @@
|
|||
<a class="btn" href="../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><article class="tagpage"><header><h1>Posts about AI</h1>
|
||||
<div class="metadata">
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about algoritmi genetici)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/algoritmi-genetici.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2021 <a href="mailto:francescomecca.eu">Francesco Mecca</a> </copyright><lastBuildDate>Thu, 02 Dec 2021 14:42:14 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Capire il Machine Learning (parte 3)</title><link>francescomecca.eu/blog/2016/11/15/machine-learning-parte3/</link><dc:creator>Francesco Mecca</dc:creator><description><div><h3>Riconoscimento delle immagini</h3>
|
||||
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about algoritmi genetici)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/algoritmi-genetici.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2023 <a href="mailto:francescomecca.eu">Francesco Mecca</a> </copyright><lastBuildDate>Wed, 30 Aug 2023 15:57:17 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Capire il Machine Learning (parte 3)</title><link>francescomecca.eu/blog/2016/11/15/machine-learning-parte3/</link><dc:creator>Francesco Mecca</dc:creator><description><h3>Riconoscimento delle immagini</h3>
|
||||
<p>Il machine learning viene utilizzato anche per il riconoscimento delle immagini.
|
||||
La tipologia di rete neurale utilizzata per questa applicazione è chiamata rete neural a convoluzione ( <strong>convolutional neural networks</strong>), abbreviata CNN.</p>
|
||||
<p>Innanzitutto consideriamo che ogni immagine può essere codificata come una matrice di valori</p>
|
||||
|
@ -21,7 +21,7 @@ Questi pattern corrispondono alle caratteristiche proprie di un oggetto (quali p
|
|||
<p>Alla fine dell'analisi tutte le caratteristiche estrapolate vengono considerate nell'insieme e in questo modo possiamo capire a quale categoria appartiene l'immagine.</p>
|
||||
<p>Questo procedimento a livello algoritmo si esplicita con una connessione completa fra tutti i nodi della rete neurale che possono poi restituire l'output (probabilità che l'immagine appartenga ad una determinata categoria).</p>
|
||||
<h5>Fase di rinforzo</h5>
|
||||
<p>Durante il training é presente un'ultima fase (o strato), chiamato più propriamente <strong>loss layer</strong>. Questo strato provvede a dare un <strong>feedback</strong> alla rete neurale analizzando l'output in relazione ai dati di partenza (ovvero le immagini già categorizzate).</p></div></description><category>AI</category><category>algoritmi genetici</category><category>Genetic algorithm</category><category>Neural networks</category><category>PesceWanda</category><category>programming</category><category>reti neurali</category><guid>francescomecca.eu/blog/2016/11/15/machine-learning-parte3/</guid><pubDate>Tue, 15 Nov 2016 00:00:00 GMT</pubDate></item><item><title>Capire il Machine Learning (parte 2)</title><link>francescomecca.eu/blog/2016/11/11/machine-learning-parte2/</link><dc:creator>Francesco Mecca</dc:creator><description><div><p>Nel precedente <a href="francescomecca.eu/pescewanda/2016/11/10/machine-learning-intro/">post</a> abbiamo preso in considerazione una rete neurale molto basica.
|
||||
<p>Durante il training é presente un'ultima fase (o strato), chiamato più propriamente <strong>loss layer</strong>. Questo strato provvede a dare un <strong>feedback</strong> alla rete neurale analizzando l'output in relazione ai dati di partenza (ovvero le immagini già categorizzate).</p></description><category>AI</category><category>algoritmi genetici</category><category>Genetic algorithm</category><category>Neural networks</category><category>PesceWanda</category><category>programming</category><category>reti neurali</category><guid>francescomecca.eu/blog/2016/11/15/machine-learning-parte3/</guid><pubDate>Tue, 15 Nov 2016 00:00:00 GMT</pubDate></item><item><title>Capire il Machine Learning (parte 2)</title><link>francescomecca.eu/blog/2016/11/11/machine-learning-parte2/</link><dc:creator>Francesco Mecca</dc:creator><description><p>Nel precedente <a href="francescomecca.eu/pescewanda/2016/11/10/machine-learning-intro/">post</a> abbiamo preso in considerazione una rete neurale molto basica.
|
||||
Proviamo ora ad approfondire il concetto aggiungendo una proprietà fondamentale, la memoria.</p>
|
||||
<h3>Memoria e Stati</h3>
|
||||
<p>La rete neurale che abbiamo modellato non ha alcun tipo di memoria. con gli stessi dati di input, l'output è (quasi certamente) lo stesso.
|
||||
|
@ -37,38 +37,30 @@ Abbiamo in questo modo una <em>recurrent neural network</em> (RNN) d
|
|||
La RNN analizza carattere dopo carattere e costruisce un grande grafo dove collega ogni carattere al suo successivo.
|
||||
Inizialmente l'output della nostra RNN non ha alcun valore:
|
||||
in questo esempio, abbiamo l'output di una RNN allenata attraverso Guerra e Pace:</p>
|
||||
<pre class="code literal-block"><span></span><span class="n">tyntd</span><span class="o">-</span><span class="n">iafhatawiaoihrdemot</span> <span class="n">lytdws</span> <span class="n">e</span> <span class="p">,</span><span class="n">tfti</span><span class="p">,</span> <span class="n">astai</span> <span class="n">f</span> <span class="n">ogoh</span> <span class="n">eoase</span> <span class="n">rrranbyne</span> <span class="p">'</span><span class="n">nhthnee</span> <span class="n">e</span>
|
||||
<span class="n">plia</span> <span class="n">tklrgd</span> <span class="n">t</span> <span class="n">o</span> <span class="n">idoe</span> <span class="n">ns</span><span class="p">,</span><span class="n">smtt</span> <span class="n">h</span> <span class="n">ne</span> <span class="n">etie</span> <span class="n">h</span><span class="p">,</span><span class="n">hregtrs</span> <span class="n">nigtike</span><span class="p">,</span><span class="n">aoaenns</span> <span class="n">lngty</span>
|
||||
<pre class="code literal-block"><span class="n">tyntd</span><span class="o">-</span><span class="n">iafhatawiaoihrdemot</span><span class="w"> </span><span class="n">lytdws</span><span class="w"> </span><span class="n">e</span><span class="w"> </span><span class="p">,</span><span class="n">tfti</span><span class="p">,</span><span class="w"> </span><span class="n">astai</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="n">ogoh</span><span class="w"> </span><span class="n">eoase</span><span class="w"> </span><span class="n">rrranbyne</span><span class="w"> </span><span class="p">'</span><span class="n">nhthnee</span><span class="w"> </span><span class="n">e</span><span class="w"> </span>
|
||||
<span class="n">plia</span><span class="w"> </span><span class="n">tklrgd</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="n">o</span><span class="w"> </span><span class="n">idoe</span><span class="w"> </span><span class="n">ns</span><span class="p">,</span><span class="n">smtt</span><span class="w"> </span><span class="n">h</span><span class="w"> </span><span class="n">ne</span><span class="w"> </span><span class="n">etie</span><span class="w"> </span><span class="n">h</span><span class="p">,</span><span class="n">hregtrs</span><span class="w"> </span><span class="n">nigtike</span><span class="p">,</span><span class="n">aoaenns</span><span class="w"> </span><span class="n">lngty</span><span class="w"></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>L'output prodotto dalla RNN, benchè non abbia nessun valore per un umano, viene analizzato dalla RNN per arricchire il grafo costituito inizialmente dai caratteri (e le loro relazioni) di Guerra e Pace.
|
||||
Questo procedimento continua all'infinito.
|
||||
Ogni volta che la RNN produce dell'output lo salva e lo riutilizza come input in maniera ricorsiva per generare nuovo output.</p>
|
||||
<p>Dopo 300 iterazioni abbiamo un output di questo tipo:</p>
|
||||
<pre class="code literal-block"><span></span>"Tmont thithey" fomesscerliund
|
||||
<pre class="code literal-block">"Tmont thithey" fomesscerliund
|
||||
Keushey. Thom here
|
||||
sheulke, anmerenith ol sivh I lalterthend Bleipile shuwy fil on aseterlome
|
||||
coaniogennc Phe lism thond hon at. MeiDimorotion in ther thize."
|
||||
</pre>
|
||||
|
||||
|
||||
<p>Dopo quasi mille:</p>
|
||||
<pre class="code literal-block"><span></span><span class="nv">Aftair</span> <span class="nv">fall</span> <span class="nv">unsuch</span> <span class="nv">that</span> <span class="nv">the</span> <span class="nv">hall</span> <span class="k">for</span> <span class="nv">Prince</span> <span class="nv">Velzonski</span><span class="s1">'</span><span class="s">s that me of</span>
|
||||
<pre class="code literal-block"><span class="nv">Aftair</span> <span class="nv">fall</span> <span class="nv">unsuch</span> <span class="nv">that</span> <span class="nv">the</span> <span class="nv">hall</span> <span class="k">for</span> <span class="nv">Prince</span> <span class="nv">Velzonski</span><span class="s1">'</span><span class="s">s that me of</span>
|
||||
<span class="nv">her</span> <span class="nv">hearly</span>, <span class="nv">and</span> <span class="nv">behs</span> <span class="nv">to</span> <span class="nv">so</span> <span class="nv">arwage</span> <span class="nv">fiving</span> <span class="nv">were</span> <span class="nv">to</span> <span class="nv">it</span> <span class="nv">beloge</span>, <span class="nv">pavu</span> <span class="nv">say</span> <span class="nv">falling</span> <span class="nv">misfort</span>
|
||||
<span class="nv">how</span>, <span class="nv">and</span> <span class="nv">Gogition</span> <span class="nv">is</span> <span class="nv">so</span> <span class="nv">overelical</span> <span class="nv">and</span> <span class="nv">ofter</span>.
|
||||
</pre>
|
||||
|
||||
|
||||
<p>Duemila:</p>
|
||||
<pre class="code literal-block"><span></span><span class="s2">"</span><span class="s">Why do what that day,</span><span class="s2">"</span> <span class="nv">replied</span> <span class="nv">Natasha</span>, <span class="nv">and</span> <span class="nv">wishing</span> <span class="nv">to</span> <span class="nv">himself</span> <span class="nv">the</span> <span class="nv">fact</span> <span class="nv">the</span>
|
||||
<pre class="code literal-block"><span class="s2">"</span><span class="s">Why do what that day,</span><span class="s2">"</span> <span class="nv">replied</span> <span class="nv">Natasha</span>, <span class="nv">and</span> <span class="nv">wishing</span> <span class="nv">to</span> <span class="nv">himself</span> <span class="nv">the</span> <span class="nv">fact</span> <span class="nv">the</span>
|
||||
<span class="nv">princess</span>, <span class="nv">Princess</span> <span class="nv">Mary</span> <span class="nv">was</span> <span class="nv">easier</span>, <span class="nv">fed</span> <span class="nv">in</span> <span class="nv">had</span> <span class="nv">oftened</span> <span class="nv">him</span>.
|
||||
<span class="nv">Pierre</span> <span class="nv">aking</span> <span class="nv">his</span> <span class="nv">soul</span> <span class="nv">came</span> <span class="nv">to</span> <span class="nv">the</span> <span class="nv">packs</span> <span class="nv">and</span> <span class="nv">drove</span> <span class="nv">up</span> <span class="nv">his</span> <span class="nv">father</span><span class="o">-</span><span class="nv">in</span><span class="o">-</span><span class="nv">law</span> <span class="nv">women</span>.
|
||||
</pre>
|
||||
|
||||
|
||||
<p>Possiamo notare come l'output migliori visibilmente.</p>
|
||||
<p>Nel prossimo post tratterò una variante di rete neurale utilizzata per classificare e riconoscere immagini.</p></div></description><category>AI</category><category>algoritmi genetici</category><category>Genetic algorithm</category><category>Neural networks</category><category>PesceWanda</category><category>programming</category><category>reti neurali</category><guid>francescomecca.eu/blog/2016/11/11/machine-learning-parte2/</guid><pubDate>Fri, 11 Nov 2016 00:00:00 GMT</pubDate></item><item><title>Capire il Machine Learning (parte 1)</title><link>francescomecca.eu/blog/2016/11/10/machine-learning-intro/</link><dc:creator>Francesco Mecca</dc:creator><description><div><p>Questo è il primo di una serie di post che hanno l'obbiettivo di fornire una breve e generale introduzione al mondo del machine learning e delle intelligenze artificiali più in generale.
|
||||
<p>Nel prossimo post tratterò una variante di rete neurale utilizzata per classificare e riconoscere immagini.</p></description><category>AI</category><category>algoritmi genetici</category><category>Genetic algorithm</category><category>Neural networks</category><category>PesceWanda</category><category>programming</category><category>reti neurali</category><guid>francescomecca.eu/blog/2016/11/11/machine-learning-parte2/</guid><pubDate>Fri, 11 Nov 2016 00:00:00 GMT</pubDate></item><item><title>Capire il Machine Learning (parte 1)</title><link>francescomecca.eu/blog/2016/11/10/machine-learning-intro/</link><dc:creator>Francesco Mecca</dc:creator><description><p>Questo è il primo di una serie di post che hanno l'obbiettivo di fornire una breve e generale introduzione al mondo del machine learning e delle intelligenze artificiali più in generale.
|
||||
Mi auguro che questa breve introduzione al mondo dell'apprendimento automatico sia una sorta di vaccino contro il sensazionalismo mediatico e la disinformazione che negli ultimi anni fanno da contorno al progresso in questo settore.</p>
|
||||
<h3>Non c'è risultato senza algoritmo</h3>
|
||||
<p>Nelle scienze informatiche un algoritmo è un insieme di istruzioni che partendo da uno stato iniziale (input) permette di arrivare ad uno stato finale (output) attraverso una serie di step logici.
|
||||
|
@ -85,35 +77,35 @@ Noi abbiamo questi dati:</p>
|
|||
<thead>
|
||||
<tr>
|
||||
<th>PREZZO ORIGINALE</th>
|
||||
<th align="center">Km percorsi</th>
|
||||
<th align="center">stato di usura</th>
|
||||
<th align="right">PREZZO FINALE</th>
|
||||
<th style="text-align: center;">Km percorsi</th>
|
||||
<th style="text-align: center;">stato di usura</th>
|
||||
<th style="text-align: right;">PREZZO FINALE</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>50 000</td>
|
||||
<td align="center">120 000</td>
|
||||
<td align="center">lieve</td>
|
||||
<td align="right">40 000</td>
|
||||
<td style="text-align: center;">120 000</td>
|
||||
<td style="text-align: center;">lieve</td>
|
||||
<td style="text-align: right;">40 000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>30 000</td>
|
||||
<td align="center">150 000</td>
|
||||
<td align="center">notevole</td>
|
||||
<td align="right">8 000</td>
|
||||
<td style="text-align: center;">150 000</td>
|
||||
<td style="text-align: center;">notevole</td>
|
||||
<td style="text-align: right;">8 000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20 000</td>
|
||||
<td align="center">80 000</td>
|
||||
<td align="center">lieve</td>
|
||||
<td align="right">15 000</td>
|
||||
<td style="text-align: center;">80 000</td>
|
||||
<td style="text-align: center;">lieve</td>
|
||||
<td style="text-align: right;">15 000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20 000</td>
|
||||
<td align="center">120 000</td>
|
||||
<td align="center">notevole</td>
|
||||
<td align="right">...</td>
|
||||
<td style="text-align: center;">120 000</td>
|
||||
<td style="text-align: center;">notevole</td>
|
||||
<td style="text-align: right;">...</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -129,30 +121,30 @@ Possiamo capire già da ora che nel caso ci fossero dati che "inquinano" il nost
|
|||
<thead>
|
||||
<tr>
|
||||
<th>PREZZO ORIGINALE</th>
|
||||
<th align="center">Km percorsi</th>
|
||||
<th align="right">stato di usura</th>
|
||||
<th style="text-align: center;">Km percorsi</th>
|
||||
<th style="text-align: right;">stato di usura</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>50 000</td>
|
||||
<td align="center">120 000</td>
|
||||
<td align="right">lieve</td>
|
||||
<td style="text-align: center;">120 000</td>
|
||||
<td style="text-align: right;">lieve</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>30 000</td>
|
||||
<td align="center">150 000</td>
|
||||
<td align="right">notevole</td>
|
||||
<td style="text-align: center;">150 000</td>
|
||||
<td style="text-align: right;">notevole</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20 000</td>
|
||||
<td align="center">80 000</td>
|
||||
<td align="right">lieve</td>
|
||||
<td style="text-align: center;">80 000</td>
|
||||
<td style="text-align: right;">lieve</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20 000</td>
|
||||
<td align="center">120 000</td>
|
||||
<td align="right">notevole</td>
|
||||
<td style="text-align: center;">120 000</td>
|
||||
<td style="text-align: right;">notevole</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -165,56 +157,54 @@ Nel caso della vendita dell'automobile, abbiamo un semplice problema con una sol
|
|||
<p>Ovviamente ogni incognita nella nostra equazione influisce diversamente sul prezzo finale e quindi possiamo riscriverla come:
|
||||
<em>prezzo finale</em> = A <em><em>prezzo originale</em> + B </em><em>km percorsi</em> + C * stato di usura</p>
|
||||
<p>Se pensiamo ad un algoritmo possiamo ragionare in questo modo:</p>
|
||||
<pre class="code literal-block"><span></span><span class="n">funzione</span><span class="o">:</span> <span class="n">calcola_prezzo_auto</span><span class="o">:</span>
|
||||
<span class="n">parametri</span><span class="o">:</span> <span class="n">prezzo_originale</span><span class="o">,</span> <span class="n">km_percorsi</span><span class="o">,</span> <span class="n">stato_usura</span>
|
||||
<span class="n">variabili</span><span class="o">:</span> <span class="n">prezzo_finale</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
<pre class="code literal-block"><span class="n">funzione</span><span class="o">:</span><span class="w"> </span><span class="n">calcola_prezzo_auto</span><span class="o">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">parametri</span><span class="o">:</span><span class="w"> </span><span class="n">prezzo_originale</span><span class="o">,</span><span class="w"> </span><span class="n">km_percorsi</span><span class="o">,</span><span class="w"> </span><span class="n">stato_usura</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">variabili</span><span class="o">:</span><span class="w"> </span><span class="n">prezzo_finale</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="w"></span>
|
||||
|
||||
<span class="n">prezzo</span> <span class="n">finale</span> <span class="o">=</span> <span class="n">prezzo_originale</span> <span class="o">*</span> <span class="mf">0.804246</span>
|
||||
<span class="n">prezzo</span> <span class="n">finale</span> <span class="o">=</span> <span class="n">prezzo_finale</span> <span class="o">+</span> <span class="n">km_percorsi</span> <span class="o">*</span> <span class="o">-</span><span class="mf">0.000125</span>
|
||||
<span class="n">prezzo</span> <span class="n">finale</span> <span class="o">=</span> <span class="n">prezzo_finale</span> <span class="o">+</span> <span class="n">stato_usura</span> <span class="o">*</span> <span class="o">-</span><span class="mi">2500</span>
|
||||
<span class="w"> </span><span class="n">prezzo</span><span class="w"> </span><span class="n">finale</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">prezzo_originale</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mf">0.804246</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">prezzo</span><span class="w"> </span><span class="n">finale</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">prezzo_finale</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">km_percorsi</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="o">-</span><span class="mf">0.000125</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="n">prezzo</span><span class="w"> </span><span class="n">finale</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">prezzo_finale</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">stato_usura</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="o">-</span><span class="mi">2500</span><span class="w"></span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>I valori di quelle costanti, stabilite casualmente nell'esempio, sono chiamate <em>pesi</em> e servono a stimare il prezzo finale.
|
||||
Una volta stabiliti i pesi, il nostro algoritmo di supervised learning applica questi pesi ai dati originali e ne valuta l'errore:</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>PREZZO ORIGINALE</th>
|
||||
<th align="center">Km percorsi</th>
|
||||
<th align="center">stato di usura</th>
|
||||
<th align="center">PREZZO FINALE</th>
|
||||
<th align="right">PREZZO STIMATO</th>
|
||||
<th style="text-align: center;">Km percorsi</th>
|
||||
<th style="text-align: center;">stato di usura</th>
|
||||
<th style="text-align: center;">PREZZO FINALE</th>
|
||||
<th style="text-align: right;">PREZZO STIMATO</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>50 000</td>
|
||||
<td align="center">120 000</td>
|
||||
<td align="center">lieve</td>
|
||||
<td align="center">40 000</td>
|
||||
<td align="right">374888</td>
|
||||
<td style="text-align: center;">120 000</td>
|
||||
<td style="text-align: center;">lieve</td>
|
||||
<td style="text-align: center;">40 000</td>
|
||||
<td style="text-align: right;">374888</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>30 000</td>
|
||||
<td align="center">150 000</td>
|
||||
<td align="center">notevole</td>
|
||||
<td align="center">8 000</td>
|
||||
<td align="right">16000</td>
|
||||
<td style="text-align: center;">150 000</td>
|
||||
<td style="text-align: center;">notevole</td>
|
||||
<td style="text-align: center;">8 000</td>
|
||||
<td style="text-align: right;">16000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20 000</td>
|
||||
<td align="center">80 000</td>
|
||||
<td align="center">lieve</td>
|
||||
<td align="center">15 000</td>
|
||||
<td align="right">13492</td>
|
||||
<td style="text-align: center;">80 000</td>
|
||||
<td style="text-align: center;">lieve</td>
|
||||
<td style="text-align: center;">15 000</td>
|
||||
<td style="text-align: right;">13492</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20 000</td>
|
||||
<td align="center">120 000</td>
|
||||
<td align="center">notevole</td>
|
||||
<td align="center">...</td>
|
||||
<td align="right">10988</td>
|
||||
<td style="text-align: center;">120 000</td>
|
||||
<td style="text-align: center;">notevole</td>
|
||||
<td style="text-align: center;">...</td>
|
||||
<td style="text-align: right;">10988</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -225,7 +215,7 @@ Ci sono varie funzioni che stimano l'errore e permettono di correggere i pesi o
|
|||
<p>Ora, come possiamo immaginare, il prezzo di un'auto ha molti fattori che si aggiungono a quelli elencati nell'esempio.
|
||||
Non solo, ma molti problemi non hanno una soluzione lineare, ovvero una soluzione che si può semplicemente esprimere attraverso una funzione che aggiunge e moltiplica i valori una sola volta.</p>
|
||||
<p>Possiamo arricchire l'esempio dell'automobile immaginando di avere più set di pesi e di ripetere il procedimento più volte:</p>
|
||||
<pre class="code literal-block"><span></span><span class="c">|</span><span class="nb">---------------------------------------------------</span><span class="c">|</span>
|
||||
<pre class="code literal-block"><span class="c">|</span><span class="nb">---------------------------------------------------</span><span class="c">|</span>
|
||||
<span class="c">| PREZZO_ORIG * peso A1 </span><span class="nb">-----</span><span class="nv">&gt;</span><span class="c"> |</span>
|
||||
<span class="c">| KM_PERCORSI * peso B1 </span><span class="nb">-----</span><span class="nv">&gt;</span><span class="c"> |</span>
|
||||
<span class="c">| STATO_USURA * peso C1 </span><span class="nb">-----</span><span class="nv">&gt;</span><span class="c"> |</span>
|
||||
|
@ -246,18 +236,14 @@ Non solo, ma molti problemi non hanno una soluzione lineare, ovvero una soluzion
|
|||
<span class="c">| PREZZO FINALE STIMATO 3|</span>
|
||||
<span class="c">|</span><span class="nb">---------------------------------------------------</span><span class="c">|</span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>E ora immaginiamo di combinare ogni PREZZO FINALE STIMATO in un'ultimo risultato:</p>
|
||||
<pre class="code literal-block"><span></span><span class="c">| </span><span class="nb">--------------------------------------------------</span><span class="c">|</span>
|
||||
<pre class="code literal-block"><span class="c">| </span><span class="nb">--------------------------------------------------</span><span class="c">|</span>
|
||||
<span class="c">| PREZZO_1 * peso X </span><span class="nb">-----</span><span class="nv">&gt;</span><span class="c"> |</span>
|
||||
<span class="c">| PREZZO_2 * peso Y </span><span class="nb">-----</span><span class="nv">&gt;</span><span class="c"> |</span>
|
||||
<span class="c">| PREZZO_3 * peso Z </span><span class="nb">-----</span><span class="nv">&gt;</span><span class="c"> |</span>
|
||||
<span class="c">| PREZZO FINALE DEF |</span>
|
||||
<span class="c">|</span><span class="nb">---------------------------------------------------</span><span class="c">|</span>
|
||||
</pre>
|
||||
|
||||
|
||||
<p>Questa é, seppur molto basica, una rete neurale.
|
||||
Proviamo a visualizzarla in un'immagine dove i box arancioni sono i nodi di input e i rossi sono i nodi "nascosti" e temporanei.</p>
|
||||
<p><img alt="rete2" src="francescomecca.eu/wp-content/uploads/2016/reteneurale2.jpg"></p>
|
||||
|
@ -270,4 +256,4 @@ Proviamo a visualizzarla in un'immagine dove i box arancioni sono i nodi di inpu
|
|||
<p>le catene: i collegamenti fra neuroni che permettono di valutare il prezzo più volte.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Nel prossimo <a href="francescomecca.eu/pescewanda/2016/11/11/machine-learning-PARTE2">post</a> cercherò di approfondire il concetto di rete neurale con degli esempi di applicazioni concrete.</p></div></description><category>AI</category><category>algoritmi genetici</category><category>Genetic algorithm</category><category>Neural networks</category><category>PesceWanda</category><category>programming</category><category>reti neurali</category><guid>francescomecca.eu/blog/2016/11/10/machine-learning-intro/</guid><pubDate>Thu, 10 Nov 2016 00:00:00 GMT</pubDate></item></channel></rss>
|
||||
<p>Nel prossimo <a href="francescomecca.eu/pescewanda/2016/11/11/machine-learning-PARTE2">post</a> cercherò di approfondire il concetto di rete neurale con degli esempi di applicazioni concrete.</p></description><category>AI</category><category>algoritmi genetici</category><category>Genetic algorithm</category><category>Neural networks</category><category>PesceWanda</category><category>programming</category><category>reti neurali</category><guid>francescomecca.eu/blog/2016/11/10/machine-learning-intro/</guid><pubDate>Thu, 10 Nov 2016 00:00:00 GMT</pubDate></item></channel></rss>
|
|
@ -27,7 +27,7 @@
|
|||
<a class="btn" href="../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><article class="tagpage"><header><h1>Posts about algoritmi genetici</h1>
|
||||
<div class="metadata">
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about anonimato)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/anonimato.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2021 <a href="mailto:francescomecca.eu">Francesco Mecca</a> </copyright><lastBuildDate>Thu, 02 Dec 2021 14:42:13 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Non abbiamo nulla da nascondere</title><link>francescomecca.eu/blog/2015/4/15/non-abbiamo-nulla-da-nascondere/</link><dc:creator>Francesco Mecca</dc:creator><description><div><div class="separator" style="clear: both; text-align: center;">
|
||||
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about anonimato)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/anonimato.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2023 <a href="mailto:francescomecca.eu">Francesco Mecca</a> </copyright><lastBuildDate>Wed, 30 Aug 2023 15:57:17 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Non abbiamo nulla da nascondere</title><link>francescomecca.eu/blog/2015/4/15/non-abbiamo-nulla-da-nascondere/</link><dc:creator>Francesco Mecca</dc:creator><description><div class="separator" style="clear: both; text-align: center;">
|
||||
</div>
|
||||
|
||||
<table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" cellspacing="0" cellpadding="0" align="center">
|
||||
|
@ -80,7 +80,7 @@ Estimates of the current size of the body of federal criminal law vary. It has b
|
|||
|
||||
<div style="text-align: right;">
|
||||
<span style="font-family: Arial, Helvetica, sans-serif;">Francesco Mecca </span>
|
||||
</div></div></div></description><category>anonimato</category><category>discrezione</category><category>nothing to hide</category><category>PesceWanda</category><category>privacy</category><guid>francescomecca.eu/blog/2015/4/15/non-abbiamo-nulla-da-nascondere/</guid><pubDate>Wed, 15 Apr 2015 10:54:00 GMT</pubDate></item><item><title>Facciamo luce sui profili ombra</title><link>francescomecca.eu/blog/2015/4/13/facciamo-luce-sui-profili-ombra/</link><dc:creator>Francesco Mecca</dc:creator><description><div><p>La BPC, Belgian Privacy Commision, il 31 marzo ha pubblicato un <a href="http://www.law.kuleuven.be/icri/en/news/item/facebooks-revised-policies-and-terms-v1-2.pdf">documento</a> investigativo sulle policy di Facebook e da questa indagine e` emersa una violazione delle leggi europee sul <a href="http://rt.com/news/245769-facebook-spies-eu-laws/">tracciamento online</a>.</p>
|
||||
</div></div></description><category>anonimato</category><category>discrezione</category><category>nothing to hide</category><category>PesceWanda</category><category>privacy</category><guid>francescomecca.eu/blog/2015/4/15/non-abbiamo-nulla-da-nascondere/</guid><pubDate>Wed, 15 Apr 2015 10:54:00 GMT</pubDate></item><item><title>Facciamo luce sui profili ombra</title><link>francescomecca.eu/blog/2015/4/13/facciamo-luce-sui-profili-ombra/</link><dc:creator>Francesco Mecca</dc:creator><description><p>La BPC, Belgian Privacy Commision, il 31 marzo ha pubblicato un <a href="http://www.law.kuleuven.be/icri/en/news/item/facebooks-revised-policies-and-terms-v1-2.pdf">documento</a> investigativo sulle policy di Facebook e da questa indagine e` emersa una violazione delle leggi europee sul <a href="http://rt.com/news/245769-facebook-spies-eu-laws/">tracciamento online</a>.</p>
|
||||
<p>Ogni volta che un utente non loggato, o perfino senza account sul social network, visita una pagina che incorpora il bottone “like” o altri plugin sociali riceve un piccolo file di testo chiamato <a href="https://www.facebook.com/help/cookies">cookie</a> che incorpora una miriade di informazioni e la propria attivita` online in toto. Anche se si ha scelto per l’opt out un particolare cookie chiamato ‘<a href="http://www.zdnet.com/article/facebook-tracking-cookie-returns-according-to-hacker/">datr</a>‘ contenente un ID unico viene scaricato e mantenuto nella cache del browser identificando il computer dell’utente in maniera indistinguibile.<br>
|
||||
Per quale motivo Facebook usa questo sistema di tracciamento?</p>
|
||||
<div class="separator" style="clear:both;text-align:center;">
|
||||
|
@ -120,7 +120,7 @@ In questo modo ed attraverso i cookie Facebook riesce a riunire la maggior parte
|
|||
|
||||
<div style="text-align:right;">
|
||||
Francesco Mecca
|
||||
</div></div></description><category>anonimato</category><category>bpc</category><category>cookie</category><category>Facebook</category><category>PesceWanda</category><category>privacy</category><category>tracciamento</category><category>tracking</category><category>Traduzione</category><guid>francescomecca.eu/blog/2015/4/13/facciamo-luce-sui-profili-ombra/</guid><pubDate>Mon, 13 Apr 2015 01:25:00 GMT</pubDate></item><item><title>Il Big Bang dei Big Data</title><link>francescomecca.eu/blog/2015/4/5/il-big-bang-dei-big-data/</link><dc:creator>Francesco Mecca</dc:creator><description><div><p>“Perche` sto puntando tutto sul deep learning? Perche’ sara` il nuovo Big Bang”</p>
|
||||
</div></description><category>anonimato</category><category>bpc</category><category>cookie</category><category>Facebook</category><category>PesceWanda</category><category>privacy</category><category>tracciamento</category><category>tracking</category><category>Traduzione</category><guid>francescomecca.eu/blog/2015/4/13/facciamo-luce-sui-profili-ombra/</guid><pubDate>Mon, 13 Apr 2015 01:25:00 GMT</pubDate></item><item><title>Il Big Bang dei Big Data</title><link>francescomecca.eu/blog/2015/4/5/il-big-bang-dei-big-data/</link><dc:creator>Francesco Mecca</dc:creator><description><p>“Perche` sto puntando tutto sul deep learning? Perche’ sara` il nuovo Big Bang”</p>
|
||||
<p>Cosi` ha parlato il CEO di Nvidia Jensen Huang il 3 marzo scorso alla sua <a href="http://www.gputechconf.com/">GTC 2015</a>.<br>
|
||||
L’attenzione di Huang si e` concentrata sul deep learning e come le deep neural networks negli ultimi anni abbiano compiuto progressi impressionanti tali da superare il cervello umano nei test di analisi immagine.</p>
|
||||
<p>Molta della ricerca negli ultimi anni, in particolare dal 2012 ad oggi, si sta concentrando sul programmare algoritmi tali da consentire alle intelligenze artificiali di processare dati in maniera gerarchica e organizzata tramite l’apprendimento progressivo dei livelli di rappresentazione.<br>
|
||||
|
@ -169,4 +169,4 @@ I dati sono la risposta economica a: “Iscriviti, e’ gratis e lo sarà sempre
|
|||
<p>La via di uscita sembra essere una sola, anche se poco desiderabile: <a href="http://en.wikipedia.org/wiki/Opt-out">l’opt out</a> ovvero la rinuncia consapevole da parte dell’utente al servizio.</p>
|
||||
<div style="text-align:right;">
|
||||
Francesco Mecca
|
||||
</div></div></description><category>anonimato</category><category>Big data</category><category>Deep learning</category><category>huang</category><category>PesceWanda</category><category>privacy</category><guid>francescomecca.eu/blog/2015/4/5/il-big-bang-dei-big-data/</guid><pubDate>Sun, 05 Apr 2015 22:44:00 GMT</pubDate></item></channel></rss>
|
||||
</div></description><category>anonimato</category><category>Big data</category><category>Deep learning</category><category>huang</category><category>PesceWanda</category><category>privacy</category><guid>francescomecca.eu/blog/2015/4/5/il-big-bang-dei-big-data/</guid><pubDate>Sun, 05 Apr 2015 22:44:00 GMT</pubDate></item></channel></rss>
|
|
@ -27,7 +27,7 @@
|
|||
<a class="btn" href="../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><article class="tagpage"><header><h1>Posts about anonimato</h1>
|
||||
<div class="metadata">
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about apple)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/apple.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2021 <a href="mailto:francescomecca.eu">Francesco Mecca</a> </copyright><lastBuildDate>Thu, 02 Dec 2021 14:42:13 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Late Stage Capitalism meets FOSS</title><link>francescomecca.eu/blog/2017/5/7/latestage_handbrake/</link><dc:creator>Francesco Mecca</dc:creator><description><div><p><img alt="brainwashing" src="francescomecca.eu/wp-content/uploads/2017/hn_handbrake_hack.jpg"></p>
|
||||
<p><a href="http://archive.is/XA3rj">source</a></p></div></description><category>apple</category><category>hacker news</category><category>handbrake</category><category>PesceWanda</category><category>propaganda</category><category>vendor lockin</category><guid>francescomecca.eu/blog/2017/5/7/latestage_handbrake/</guid><pubDate>Sun, 07 May 2017 00:00:00 GMT</pubDate></item></channel></rss>
|
||||
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about apple)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/apple.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2023 <a href="mailto:francescomecca.eu">Francesco Mecca</a> </copyright><lastBuildDate>Wed, 30 Aug 2023 15:57:17 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Late Stage Capitalism meets FOSS</title><link>francescomecca.eu/blog/2017/5/7/latestage_handbrake/</link><dc:creator>Francesco Mecca</dc:creator><description><p><img alt="brainwashing" src="francescomecca.eu/wp-content/uploads/2017/hn_handbrake_hack.jpg"></p>
|
||||
<p><a href="http://archive.is/XA3rj">source</a></p></description><category>apple</category><category>hacker news</category><category>handbrake</category><category>PesceWanda</category><category>propaganda</category><category>vendor lockin</category><guid>francescomecca.eu/blog/2017/5/7/latestage_handbrake/</guid><pubDate>Sun, 07 May 2017 00:00:00 GMT</pubDate></item></channel></rss>
|
|
@ -27,7 +27,7 @@
|
|||
<a class="btn" href="../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><article class="tagpage"><header><h1>Posts about apple</h1>
|
||||
<div class="metadata">
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about archive.org)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/archiveorg.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2021 <a href="mailto:francescomecca.eu">Francesco Mecca</a> </copyright><lastBuildDate>Thu, 02 Dec 2021 14:42:14 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Script per il bulk download da Archive.org</title><link>francescomecca.eu/blog/2015/6/30/script-per-il-bulk-download-da-archive-org/</link><dc:creator>Francesco Mecca</dc:creator><description><div><p>In questi giorni mi e` capitato di dover scaricare varie collezioni da <a href="https://en.wikipedia.org/wiki/Internet_Archive">archive.org</a>, una libreria digitale multimediale la cui missione e` l’accesso universale a tutta la conoscenza.</p>
|
||||
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about archive.org)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/archiveorg.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2023 <a href="mailto:francescomecca.eu">Francesco Mecca</a> </copyright><lastBuildDate>Wed, 30 Aug 2023 15:57:17 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Script per il bulk download da Archive.org</title><link>francescomecca.eu/blog/2015/6/30/script-per-il-bulk-download-da-archive-org/</link><dc:creator>Francesco Mecca</dc:creator><description><p>In questi giorni mi e` capitato di dover scaricare varie collezioni da <a href="https://en.wikipedia.org/wiki/Internet_Archive">archive.org</a>, una libreria digitale multimediale la cui missione e` l’accesso universale a tutta la conoscenza.</p>
|
||||
<p>Principalmente lo uso per scaricare tantissime registrazioni live di vari concerti registrati a mio avviso in maniera impeccabile.</p>
|
||||
<p>Nel sito si trova una guida per scaricare in bulk usando wget e gli strumenti del sito, ma risulta piuttosto prolissa e complicata se si vuole fare un download al volo.</p>
|
||||
<p>Questo e` lo script che uso, modificato da <a href="https://github.com/ghalfacree/bash-scripts/blob/master/archivedownload.sh">questo</a> script: e` scritto in bash e funziona su tutte le distribuzioni sulle quali e` installato wget, tail e sed.</p>
|
||||
|
@ -33,4 +33,4 @@ rm identifiers.txt processedidentifiers.txt
|
|||
echo Complete.
|
||||
</pre>
|
||||
|
||||
<p>Francesco Mecca </p></div></description><category>archive.org</category><category>bulk download archive.org</category><category>PesceWanda</category><category>script</category><guid>francescomecca.eu/blog/2015/6/30/script-per-il-bulk-download-da-archive-org/</guid><pubDate>Tue, 30 Jun 2015 13:39:00 GMT</pubDate></item></channel></rss>
|
||||
<p>Francesco Mecca </p></description><category>archive.org</category><category>bulk download archive.org</category><category>PesceWanda</category><category>script</category><guid>francescomecca.eu/blog/2015/6/30/script-per-il-bulk-download-da-archive-org/</guid><pubDate>Tue, 30 Jun 2015 13:39:00 GMT</pubDate></item></channel></rss>
|
|
@ -27,7 +27,7 @@
|
|||
<a class="btn" href="../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><article class="tagpage"><header><h1>Posts about archive.org</h1>
|
||||
<div class="metadata">
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about arduino uno)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/arduino-uno.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2021 <a href="mailto:francescomecca.eu">Francesco Mecca</a> </copyright><lastBuildDate>Thu, 02 Dec 2021 14:42:14 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Arduino Uno as HID keyboard</title><link>francescomecca.eu/blog/2016/7/5/arduino_keyboard/</link><dc:creator>Francesco Mecca</dc:creator><description><div><p>Turin is the hometown of Arduino. I have been at the <a href="http://fablabtorino.org/">fablab</a> multiple times but I had to come all the way to America to get my hands on a simple Arduino Uno.</p>
|
||||
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about arduino uno)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/arduino-uno.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2023 <a href="mailto:francescomecca.eu">Francesco Mecca</a> </copyright><lastBuildDate>Wed, 30 Aug 2023 15:57:17 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Arduino Uno as HID keyboard</title><link>francescomecca.eu/blog/2016/7/5/arduino_keyboard/</link><dc:creator>Francesco Mecca</dc:creator><description><p>Turin is the hometown of Arduino. I have been at the <a href="http://fablabtorino.org/">fablab</a> multiple times but I had to come all the way to America to get my hands on a simple Arduino Uno.</p>
|
||||
<p>For 60$ I bought a cheap (but still good!) mechanical keyboard by Qisan, a clone of the Arduino Uno and a USB host shield.</p>
|
||||
<p>Given that is 3 years since I have been using a dvorak layout and it's a pain to change layout on every machine that you have to use.
|
||||
You can imagine that given this three pieces of hardware together I put together an hardware key mapper for the keyboard.</p>
|
||||
|
@ -37,12 +37,10 @@ Every time you want to flash a new firmware the Arduino must be put in DFU mode
|
|||
To do that simply create a shortcircuit using a small metal wire on the two pins near the reset button and a led will blink.
|
||||
This <a href="https://www.youtube.com/watch?v=E8XyRwXQr8Q">video</a> shows the method briefly (no real need for a jumper).
|
||||
The commands are the following and there is no risk to brick the Uno:</p>
|
||||
<pre class="code literal-block"><span></span>dfu-programmer atmega16u2 erase
|
||||
<pre class="code literal-block">dfu-programmer atmega16u2 erase
|
||||
dfu-programmer atmega16u2 flash Arduino-keyboard-0.2.hex
|
||||
dfu-programmer atmega16u2 reset
|
||||
</pre>
|
||||
|
||||
|
||||
<p>After each flashing the device needs to be disconnected once. Of course you can flash the original firmware back. It is included in my repo or on the official ones.</p>
|
||||
<p><img alt="Arduino and the shield" src="francescomecca.eu/wp-content/uploads/2016/IMG_20160706_011143.jpg"></p>
|
||||
<p>That's it, as you can see is not difficult at all. The worst part is gathering the various info that are left dormant in blogs or forums.</p></div></description><category>Arduino</category><category>arduino uno</category><category>HID arduino</category><category>mechanical keyboard</category><category>PesceWanda</category><category>programming</category><guid>francescomecca.eu/blog/2016/7/5/arduino_keyboard/</guid><pubDate>Tue, 05 Jul 2016 00:00:00 GMT</pubDate></item></channel></rss>
|
||||
<p>That's it, as you can see is not difficult at all. The worst part is gathering the various info that are left dormant in blogs or forums.</p></description><category>Arduino</category><category>arduino uno</category><category>HID arduino</category><category>mechanical keyboard</category><category>PesceWanda</category><category>programming</category><guid>francescomecca.eu/blog/2016/7/5/arduino_keyboard/</guid><pubDate>Tue, 05 Jul 2016 00:00:00 GMT</pubDate></item></channel></rss>
|
|
@ -27,7 +27,7 @@
|
|||
<a class="btn" href="../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><article class="tagpage"><header><h1>Posts about arduino uno</h1>
|
||||
<div class="metadata">
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about Arduino)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/arduino.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2021 <a href="mailto:francescomecca.eu">Francesco Mecca</a> </copyright><lastBuildDate>Thu, 02 Dec 2021 14:42:14 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Arduino Uno as HID keyboard</title><link>francescomecca.eu/blog/2016/7/5/arduino_keyboard/</link><dc:creator>Francesco Mecca</dc:creator><description><div><p>Turin is the hometown of Arduino. I have been at the <a href="http://fablabtorino.org/">fablab</a> multiple times but I had to come all the way to America to get my hands on a simple Arduino Uno.</p>
|
||||
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about Arduino)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/arduino.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2023 <a href="mailto:francescomecca.eu">Francesco Mecca</a> </copyright><lastBuildDate>Wed, 30 Aug 2023 15:57:17 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Arduino Uno as HID keyboard</title><link>francescomecca.eu/blog/2016/7/5/arduino_keyboard/</link><dc:creator>Francesco Mecca</dc:creator><description><p>Turin is the hometown of Arduino. I have been at the <a href="http://fablabtorino.org/">fablab</a> multiple times but I had to come all the way to America to get my hands on a simple Arduino Uno.</p>
|
||||
<p>For 60$ I bought a cheap (but still good!) mechanical keyboard by Qisan, a clone of the Arduino Uno and a USB host shield.</p>
|
||||
<p>Given that is 3 years since I have been using a dvorak layout and it's a pain to change layout on every machine that you have to use.
|
||||
You can imagine that given this three pieces of hardware together I put together an hardware key mapper for the keyboard.</p>
|
||||
|
@ -37,12 +37,10 @@ Every time you want to flash a new firmware the Arduino must be put in DFU mode
|
|||
To do that simply create a shortcircuit using a small metal wire on the two pins near the reset button and a led will blink.
|
||||
This <a href="https://www.youtube.com/watch?v=E8XyRwXQr8Q">video</a> shows the method briefly (no real need for a jumper).
|
||||
The commands are the following and there is no risk to brick the Uno:</p>
|
||||
<pre class="code literal-block"><span></span>dfu-programmer atmega16u2 erase
|
||||
<pre class="code literal-block">dfu-programmer atmega16u2 erase
|
||||
dfu-programmer atmega16u2 flash Arduino-keyboard-0.2.hex
|
||||
dfu-programmer atmega16u2 reset
|
||||
</pre>
|
||||
|
||||
|
||||
<p>After each flashing the device needs to be disconnected once. Of course you can flash the original firmware back. It is included in my repo or on the official ones.</p>
|
||||
<p><img alt="Arduino and the shield" src="francescomecca.eu/wp-content/uploads/2016/IMG_20160706_011143.jpg"></p>
|
||||
<p>That's it, as you can see is not difficult at all. The worst part is gathering the various info that are left dormant in blogs or forums.</p></div></description><category>Arduino</category><category>arduino uno</category><category>HID arduino</category><category>mechanical keyboard</category><category>PesceWanda</category><category>programming</category><guid>francescomecca.eu/blog/2016/7/5/arduino_keyboard/</guid><pubDate>Tue, 05 Jul 2016 00:00:00 GMT</pubDate></item></channel></rss>
|
||||
<p>That's it, as you can see is not difficult at all. The worst part is gathering the various info that are left dormant in blogs or forums.</p></description><category>Arduino</category><category>arduino uno</category><category>HID arduino</category><category>mechanical keyboard</category><category>PesceWanda</category><category>programming</category><guid>francescomecca.eu/blog/2016/7/5/arduino_keyboard/</guid><pubDate>Tue, 05 Jul 2016 00:00:00 GMT</pubDate></item></channel></rss>
|
|
@ -27,7 +27,7 @@
|
|||
<a class="btn" href="../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><article class="tagpage"><header><h1>Posts about Arduino</h1>
|
||||
<div class="metadata">
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about avvocato 2.0)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/avvocato-20.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2021 <a href="mailto:francescomecca.eu">Francesco Mecca</a> </copyright><lastBuildDate>Thu, 02 Dec 2021 14:42:14 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>La Rivoluzione Digitale nella Professione dell&#8217;Avvocato</title><link>francescomecca.eu/blog/2015/7/7/la-rivoluzione-digitale-nella-professione-dellavvocato/</link><dc:creator>Francesco Mecca</dc:creator><description><div><h5><span style="font-size: large;">Premessa</span></h5>
|
||||
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about avvocato 2.0)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/avvocato-20.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2023 <a href="mailto:francescomecca.eu">Francesco Mecca</a> </copyright><lastBuildDate>Wed, 30 Aug 2023 15:57:17 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>La Rivoluzione Digitale nella Professione dell&#8217;Avvocato</title><link>francescomecca.eu/blog/2015/7/7/la-rivoluzione-digitale-nella-professione-dellavvocato/</link><dc:creator>Francesco Mecca</dc:creator><description><h5><span style="font-size: large;">Premessa</span></h5>
|
||||
<p>Con l’avvento dell’informatizzazione e` notevolmente mutata la modalita` con cui l’avvocato svolge la propria professione; sinteticamente si puo` arrivare ad affermare che al di la` della partecipazione alle udienze e il ricevimento dei clienti, tutta l’attivita` si puo` svolgere con il computer nel proprio studio, senza alzarsi dalla poltrona.</p>
|
||||
<p>Per quanto mi riguarda vorrei premettere che io sono un avvocato dipendente di un ente pubblico (l’INAIL) e pertanto unico mio cliente e` l’Istituto che io difendo sia in ambito giudiziario (cause legali) che extragiudiziario (composizione bonaria delle liti).</p>
|
||||
<p>L’avvento dell’informatica ha modificato il modo di lavorare nella sua globalita`, vediamo pertanto le singole fasi dell’attivita`.</p>
|
||||
|
@ -55,4 +55,4 @@
|
|||
Avvocatura Regionale INAIL delle Marche
|
||||
</div>
|
||||
|
||||
<p> </p></div></description><category>avvocato</category><category>avvocato 2.0</category><category>PesceWanda</category><category>processo telematico</category><category>rivoluzione digitale avvocato</category><guid>francescomecca.eu/blog/2015/7/7/la-rivoluzione-digitale-nella-professione-dellavvocato/</guid><pubDate>Tue, 07 Jul 2015 15:35:00 GMT</pubDate></item></channel></rss>
|
||||
<p> </p></description><category>avvocato</category><category>avvocato 2.0</category><category>PesceWanda</category><category>processo telematico</category><category>rivoluzione digitale avvocato</category><guid>francescomecca.eu/blog/2015/7/7/la-rivoluzione-digitale-nella-professione-dellavvocato/</guid><pubDate>Tue, 07 Jul 2015 15:35:00 GMT</pubDate></item></channel></rss>
|
|
@ -27,7 +27,7 @@
|
|||
<a class="btn" href="../../rss.xml">RSS</a>
|
||||
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
|
||||
<a class="btn" href="https://github.com/FraMecca">Github</a>
|
||||
<a class="btn" href="https://francescomecca.eu/git/pesceWanda/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
|
||||
</section><section class="main-content"><article class="tagpage"><header><h1>Posts about avvocato 2.0</h1>
|
||||
<div class="metadata">
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about avvocato)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/avvocato.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2021 <a href="mailto:francescomecca.eu">Francesco Mecca</a> </copyright><lastBuildDate>Thu, 02 Dec 2021 14:42:14 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>La Rivoluzione Digitale nella Professione dell&#8217;Avvocato</title><link>francescomecca.eu/blog/2015/7/7/la-rivoluzione-digitale-nella-professione-dellavvocato/</link><dc:creator>Francesco Mecca</dc:creator><description><div><h5><span style="font-size: large;">Premessa</span></h5>
|
||||
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about avvocato)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/avvocato.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2023 <a href="mailto:francescomecca.eu">Francesco Mecca</a> </copyright><lastBuildDate>Wed, 30 Aug 2023 15:57:17 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>La Rivoluzione Digitale nella Professione dell&#8217;Avvocato</title><link>francescomecca.eu/blog/2015/7/7/la-rivoluzione-digitale-nella-professione-dellavvocato/</link><dc:creator>Francesco Mecca</dc:creator><description><h5><span style="font-size: large;">Premessa</span></h5>
|
||||
<p>Con l’avvento dell’informatizzazione e` notevolmente mutata la modalita` con cui l’avvocato svolge la propria professione; sinteticamente si puo` arrivare ad affermare che al di la` della partecipazione alle udienze e il ricevimento dei clienti, tutta l’attivita` si puo` svolgere con il computer nel proprio studio, senza alzarsi dalla poltrona.</p>
|
||||
<p>Per quanto mi riguarda vorrei premettere che io sono un avvocato dipendente di un ente pubblico (l’INAIL) e pertanto unico mio cliente e` l’Istituto che io difendo sia in ambito giudiziario (cause legali) che extragiudiziario (composizione bonaria delle liti).</p>
|
||||
<p>L’avvento dell’informatica ha modificato il modo di lavorare nella sua globalita`, vediamo pertanto le singole fasi dell’attivita`.</p>
|
||||
|
@ -55,4 +55,4 @@
|
|||
Avvocatura Regionale INAIL delle Marche
|
||||
</div>
|
||||
|
||||
<p> </p></div></description><category>avvocato</category><category>avvocato 2.0</category><category>PesceWanda</category><category>processo telematico</category><category>rivoluzione digitale avvocato</category><guid>francescomecca.eu/blog/2015/7/7/la-rivoluzione-digitale-nella-professione-dellavvocato/</guid><pubDate>Tue, 07 Jul 2015 15:35:00 GMT</pubDate></item></channel></rss>
|
||||
<p> </p></description><category>avvocato</category><category>avvocato 2.0</category><category>PesceWanda</category><category>processo telematico</category><category>rivoluzione digitale avvocato</category><guid>francescomecca.eu/blog/2015/7/7/la-rivoluzione-digitale-nella-professione-dellavvocato/</guid><pubDate>Tue, 07 Jul 2015 15:35:00 GMT</pubDate></item></channel></rss>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue