Slides for RAI

pull/1/head
Oliver Kennedy 2020-11-15 17:15:06 -05:00
parent adadaa5adb
commit 238dcc4b76
Signed by: okennedy
GPG Key ID: 3E5F9B3ABD3FDB60
44 changed files with 18947 additions and 2 deletions

View File

@ -76,6 +76,17 @@ site :odin_lab, out: "build" do
end
end
## Render 'talks' pages
for_files(/talks\/.*/) do
exclude_files(/talks\/index|talks\/graphics|talks\/ubodin/) do
extract_date_from_filename
create_collection("talks")
end
for_files(/talks\/index/) do
get_collection("talks").map { |f| f[:in_path] }.each { |dep| add_dependency dep }
end
end
## Specialized Formatting
for_files(/seminar\/[0-9]{4}(sp|fa)\.html$/) do
apply {|f| f[:extraCSS] = [{ "asset" => "seminar.css" }] }

View File

@ -8,9 +8,11 @@
(function() {
var svgsToLoad = document.querySelectorAll('svg[data-src]');
svgsToLoad = Array.from(svgsToLoad)
console.log(svgsToLoad)
var loadSVGs = Array.map(svgsToLoad, function (svg) {
var loadSVGs = svgsToLoad.map(function (svg) {
fetch(svg.getAttribute('data-src')).then(function (response) {
return response.text();
}).then(function (svgCode) {

View File

@ -421,6 +421,7 @@
<p>If the assumption is wrong, so is the element.</p>
</section>
<!--
<section>
<h3>Alice / Bob</h3>
<ul>
@ -443,7 +444,7 @@
<li>Replacing a parse error with a NULL might not be what Eve expects.</li>
</ul>
</section>
-->
<section>
<p>An element has a caveat → The element is uncertain.</p>

View File

@ -0,0 +1,720 @@
---
template: templates/talk_slides_v1.erb
title: Vizier - A Workflow System Disguised as a Notebook
---
<%
$sections = [
"Workflow Provenance",
"Fine-Grained Provenance",
"Caveat Provenance"
]
def render_overview(current)
"""
<h3>Overview</h3>
<ul>
#{$sections.map { |sec|
"<li #{if sec == current then "style='font-weight: bold'" else "" end}>#{sec}</li>"
}.join("")}
</ul>"""
end
def animated_svg(path, prefix=true)
"<svg data-src='#{if prefix then "graphics/2020-11-16/" else "" end}#{path}' class='stretch' />"
end
%>
<section>
<h2>
<img src="graphics/logos/vizier-blue.svg" height="100px" style="vertical-align: middle; margin-right: 20px;" />
<span style="vertical-align: middle;" >VizierDB</span>
</h2>
<h4>
A Workflow System Disguised as a Notebook
</h4>
</section>
<section>
<section>
<img src="graphics/2020-11-16/i_dont_like_notebooks.png">
<attribution>Joel Grus, JupyterCon 2018</attribution>
</section>
<section>
<h3>Jupyter (&amp; all other notebooks)</h3>
<ul>
<li>Hidden, hard-to-reason about state</li>
<li class="fragment highlight-grey">I can't use my editor</li>
<li>Not good for reusability</li>
</ul>
</section>
<section>
<h3>Hidden, hard-to-reason about state</h3>
<img src="graphics/2020-11-16/out_of_order.png">
<attribution>Joel Grus, JupyterCon 2018</attribution>
</section>
<section>
<h3>The Problem: What People Expect</h3>
<img src="graphics/2020-11-16/intuition_for_code.png">
<attribution>Joel Grus, JupyterCon 2018</attribution>
</section>
<section>
<h3>The Problem: What Notebooks Deliver</h3>
<img src="graphics/2020-11-16/pile_of_code.svg" height="400px">
</section>
<section>
<h3>Hidden, hard-to-reason about state</h3>
<img src="graphics/2020-11-16/provenance_notebook.svg" height=400px>
</section>
<section>
<h3>Not good for reusability</h3>
<img src="graphics/2020-11-16/factorizing.png">
<attribution>Joel Grus, JupyterCon 2018</attribution>
</section>
<section>
<h3>Not good for reusability</h3>
<img src="graphics/2020-11-16/pimentel_study.svg" height="400px">
<attribution>João Felipe Pimentel, Leonardo Murta, Vanessa Braganholo, Juliana Freire</attribution>
</section>
</section>
<section>
<section>
<img src="graphics/logos/vizier-blue.svg" height="200px" />
<h2><a href="http://localhost:5000/">Demo</a></h2>
</section>
</section>
<section>
<section><%=render_overview("Workflow Provenance")%></section>
<section>
<h2>Notebook → Workflow Graph</h2>
<!--
<ul>
<li>Extracting Dependencies</li>
<li>Extracting Dependencies... from Python</li>
<li>Scheduling Execution</li>
<li>Versioning</li>
</ul>
-->
</section>
<section>
<h3>Notebook → Workflow Graph</h3>
<img style="vertical-align: middle" src="graphics/2020-11-16/provenance_notebook.svg" height="400px">
<span style="font-size: 200%; vertical-align: middle; padding: 50px;">vs</span>
<img style="vertical-align: middle" src="graphics/2020-11-16/provenance_workflow.svg" height="400px">
</section>
<section>
<%=animated_svg("provenance_vizier_naive.svg")%>
</section>
<section>
<pre><code>
LOAD DATASET 'nyc_taxi.csv' AS taxi
</code></pre>
<pre><code>
SAMPLE 0.1 FROM taxi INTO taxi
</code></pre>
<pre><code class="python">
model = wave_hands_mysteriously()
</code></pre>
<pre><code class="python">
for row in ds.rows:
row["prediction"] = model.predict(row.values)
</code></pre>
</section>
<section>
<img style="vertical-align: middle" src="graphics/2020-11-16/provenance_vizier_ideal.svg" height="300px">
</section>
<section>
<h3>The Shared Kernel</h3>
<dl>
<div class="fragment">
<dt>Dependency Analysis is Hard</dt>
<dd>Need to re-execute all subsequent cells</dd>
</div>
<div class="fragment">
<dt>Checkpointing Python is Hard</dt>
<dd>Need to re-execute all preceding cells</dd>
</div>
</dl>
<p class="fragment"><b>Solution:</b> Get rid of shared kernels</p>
<p class="fragment"><b>Solution:</b> Explicit API for inter-cell sharing</p>
</section>
<section>
<pre><code class="python">
model = wave_hands_mysteriously()
vizierdb.export_pickle(model)
</code></pre>
<pre><code class="python">
ds = vizierdb.get_dataset("taxi")
model = vizierdb.get_pickle("model")
for row in ds.rows:
row["prediction"] = model.predict(row.values)
ds.save()
</code></pre>
</section>
<section>
<p>
Inputs : { name → artifact_version }
</p>
<p>
Outputs : { name → artifact_version }
</p>
</section>
<section>
<h3>Cell State</h3>
<dl>
<dt>READY</dt>
<dd>Cell value up-to-date</dd>
<dt>STALE</dt>
<dd>Cell needs to be re-executed</dd>
<div class="fragment">
<dt>WAITING</dt>
<dd>Cell <i>may</i> need to be re-executed</dd>
</div>
</dl>
</section>
<%
artifacts = [:taxi, :model]
[
[ ["READY", {}, {taxi: 1}],
["READY", {taxi: 1}, {taxi: 2}],
["READY", {}, {model: 3}],
["READY", {taxi: 2, model: 3}, {taxi: 4}],
],
[ ["READY", {}, {taxi: 1}],
["STALE", {taxi: 1}, {taxi: 2}],
["WAIT", {}, {model: 3}],
["WAIT", {taxi: 2, model: 3}, {taxi: 4}],
],
[ ["READY", {}, {taxi: 1}],
["READY", {taxi: 1}, {taxi: 5}],
["WAIT", {}, {model: 3}],
["WAIT", {taxi: 2, model: 3}, {taxi: 4}],
],
[ ["READY", {}, {taxi: 1}],
["READY", {taxi: 1}, {taxi: 5}],
["READY", {}, {model: 3}],
["WAIT", {taxi: 2, model: 3}, {taxi: 4}],
],
[ ["READY", {}, {taxi: 1}],
["READY", {taxi: 1}, {taxi: 5}],
["READY", {}, {model: 3}],
["STALE", {taxi: 2, model: 3}, {taxi: 4}],
],
[ ["READY", {}, {taxi: 1}],
["READY", {taxi: 1}, {taxi: 4}],
["READY", {}, {model: 3}],
["READY", {taxi: 5, model: 3}, {taxi: 6}],
],
].each do |provenance| %>
<section>
<table style="font-size: 90%;">
<tr><th>Cell</th><th>State</th>
<%=artifacts.map { |a| "<th>In[#{a}]</th>" }.join %>
<%=artifacts.map { |a| "<th>Out[#{a}]</th>" }.join%>
</tr>
<%
["LOAD", "SAMPLE", "Python1", "Python2"]
.zip(provenance)
.each do |cell, cell_provenance|
state, cell_inputs, cell_outputs = cell_provenance
%>
<tr>
<td><b><%=cell%></b></td>
<td style='font-family: monospace;'><%=state%></td>
<%artifacts.each { |a| %> <td><%=if cell_inputs.include?(a) then "v#{cell_inputs[a]}" else "" end%></td><%}%>
<%artifacts.each { |a| %> <td><%=if cell_outputs.include?(a) then "v#{cell_outputs[a]}" else "" end%></td><%}%>
<% end %>
</table>
</section>
<% end %>
<section>
<img src="graphics/2020-11-16/artifacts_vizier_workflow.png">
</section>
<section>
<h3>I don't like notebooks (revisited)</h3>
<dl>
<dt>State Model</dt>
<dd>Enforced in-order execution</dd>
<dt>Reproducibility</dt>
<dd>Artifacts explicitly part of the workflow</dd>
<dt>Reusability</dt>
<dd>Clearer interfaces for changing things</dd>
</dl>
</section>
</section>
<section>
<section><%=render_overview("Fine-Grained Provenance")%></section>
<section>
<img src="graphics/2020-11-16/typed_artifacts.svg">
</section>
<section>
<dl>
<dt>Dataframe</dt>
<dd>Python ↔ SQL ↔ UI</dd>
<dd class="fragment highlight-blue">Provenance Analysis</dd>
<dt>Function</dt>
<dd>Python → SQL</dd>
<dt>Directory</dt>
<dd>Enumerable Contents</dd>
<dt>Chart</dt>
<dd>Interactivity in UI</dd>
</dl>
</section>
<section>
<h3>Fine-Grained Provenance</h3>
<p class="fragment">Why is this value here?</p>
<p class="fragment">Caveats</p>
<p class="fragment">Computation → Data</p>
</section>
<section>
<h3>Fine-Grained Provenance</h3>
<p>Cells are compiled to Spark Operators (≅ RA)</p>
<img src="graphics/2020-11-16/provenance_dataflow.png">
<p class="fragment">... but that doesn't always work</p>
</section>
<section>
<img src="graphics/2020-11-16/provenance_data_and_workflow.png">
<ul>
<li>Introspectable "dataflow" cells compile down to Spark.</li>
<li>Opaque "workflow" cells create dependencies from every inpout row/value to every output.</li>
</ul>
</section>
<section>
<table>
<tr><th>Category</th><th>Examples</th><th>API</th></tr>
<tr><td>Script</td><td>Python, Scala, R</td><td>Workflow</td></tr>
<tr><td>SQL</td><td>SQL</td><td>Dataflow</td></tr>
<tr><td>Point/Click</td><td>Load, Plot, Export</td><td>Workflow</td></tr>
<tr><td>Cleaning Wizard</td><td>Repair Key, Impute</td><td>Dataflow</td></tr>
<tr class="fragment highlight-blue"><td>Spreadsheet</td><td>Add Col, Edit Value</td><td>Dataflow</td></tr>
</table>
</section>
<section>
<h2>Supporting One-Off Edits</h2>
<p>How do you preserve fine-grained provenance through spreadsheet operations?</p>
</section>
<section>
<h3>Vizual</h3>
<p>Spreadsheet Operations → SQL DDL / SQL DML</p>
<dl>
<div class="fragment">
<dt>Edit Cell A3 to 'foo'</dt>
<dd style="font-family: monospace;">UPDATE R SET A = 'foo' WHERE ROWID = 3;</dd>
</div>
<div class="fragment">
<dt>Insert Row</dt>
<dd style="font-family: monospace;">INSERT INTO R() VALUES ();</dd>
</div>
<div class="fragment">
<dt>Insert Column `bar`</dt>
<dd style="font-family: monospace;">ALTER TABLE R ADD COLUMN `bar`;</dd>
</div>
</dl>
<attribution>"The Exception That Improves The Rule" (Freire, Glavic, Kennedy, Mueller)</attribution>
</section>
<section>
<p>This gives us an edit history in DDL/DML.</p>
</section>
<section>
<h3>Fine-Grained Provenance on DDL/DML</h3>
<div class="fragment">
<h4 style="margin-top: 50px;">DML → SQL</h4>
<p style="font-size: 70%">
<b>Using Reenactment to Retroactively Capture Provenance for Transactions</b><br/>
Bahareh Sadat Arab, Dieter Gawlick, Vasudha Krishnaswamy, Venkatesh Radhakrishnan, Boris Glavic
</p>
</div>
<div class="fragment">
<h4 style="margin-top: 50px;">DDL → SQL</h4>
<p style="font-size: 70%">
<b>Graceful database schema evolution: the PRISM workbench</b><br/>
Carlo Curino, Hyun Jin Moon, Carlo Zaniolo
</p>
</div>
</section>
<section>
<pre><code class="sql">
UPDATE R SET A = 'foo' WHERE ROWID = 3;
</code></pre>
becomes
<pre><code class="sql">
SELECT CASE ROWID
WHEN 3 THEN 'foo'
ELSE A END AS A,
B, C, /* ... */
FROM R
</code></pre>
</section>
</section>
<section>
<section><%=render_overview("Caveat Provenance")%></section>
<section>
<p>
<img src="graphics/clipart/female-computer-user.svg" height="70px" style="vertical-align: middle;"/>
<span style="vertical-align: middle; padding-left: 70px; padding-right: 70px">→</span>
<img src="graphics/clipart/db.svg" height="70px" style="vertical-align: middle;"/>
<span style="vertical-align: middle; padding-left: 70px; padding-right: 70px">→</span>
<img src="graphics/clipart/male-computer-user.png" height="70px" style="vertical-align: middle;"/>
</p>
<p class="fragment">
<span style="margin-right: 250px; vertical-align: middle;">↓</span>
<span style="margin-left: 250px; vertical-align: middle;">↓</span>
<br/>
<span style="margin-right: 100px; vertical-align: middle;">Assumption</span>
<span style="font-size: 300%; vertical-align: middle;" class="fragment">≠</span>
<span style="margin-left: 100px; vertical-align: middle;">Assumption</span>
</p>
<attribution>freesvg.org</attribution>
</section>
<section style="top: 121px; display: block;" class="" aria-hidden="true">
<h3>Assumptions?</h3>
<ol style="font-size: 70%">
<li>"This outlier is actually a data error"</li>
<li>"There will always be six values in this column"</li>
<li>"The correct fix is to delete erroneous records"</li>
<li>"Unparseable values should be treated as NULL"</li>
<li>"Nobody will analyze this portion of the dataset"</li>
<li>"These subjective field observations are correct"</li>
</ol>
<p class="fragment">Alice needs to document each and every assumption.</p>
<p class="fragment">Bob needs to understand the implications<br/>on every part of his analysis.</p>
</section>
<section>
<img src="graphics/2020-11-16/montoya.jpeg" height="400px" />
<attribution>&copy; 20th Century Fox</attribution>
</section>
<section>
<h3>What is a Caveat?</h3>
<div style="margin-top: 70px;">
<p class="fragment">An assumption tied to a fragment of the dataset.</p>
<p class="fragment">If the assumption is wrong, so is the fragment.</p>
</div>
</section>
<section>
<pre><code class="sql">
caveat(race_ethnicity,
'Unexpected race_ethnicity: ' & race_ethnicity)
</code></pre>
</section>
<section>
<pre><code class="sql">
CASE WHEN race_ethnicity NOT IN ('Black Non-Hispanic', /* ... */)
THEN caveat(race_ethnicity,
'Unexpected race_ethnicity: ' & race_ethnicity)
ELSE race_ethnicity
</code></pre>
</section>
<section>
<pre><code class="sql">
SELECT
CASE WHEN race_ethnicity NOT IN ('Black Non-Hispanic', /* ... */)
THEN caveat(race_ethnicity,
'Unexpected race_ethnicity: ' & race_ethnicity)
ELSE race_ethnicity
END, /* ... */
FROM R
</code></pre>
</section>
<section>
<h3>Propagation</h3>
<p>Can twiddling the caveatted value change the output?</p>
<p class="fragment" data-fragment-index="1" style="margin-top: 50px;">$C \leftarrow (5 \times X) + Y$</p>
<p class="fragment" data-fragment-index="1">Caveats on $X$ and $Y$ propagate to $C$<span class="fragment" data-fragment-index="2">*</span></p>
<p class="fragment" data-fragment-index="2" style="font-size:30%">Some conditions may apply</p>
</section>
</section>
<section>
<section>
<h2>Sloooow!</h2>
</section>
<section>
<img src="graphics/2020-11-16/caveat-spreadsheet.png" height="150px;" />
<p style="font-size: 200%">+</p>
<img src="graphics/2020-11-16/caveat-list.png" height="150px;" />
</section>
<section>
<p>Is a value caveatted?</p>
<p class="fragment">≡ Certain answers in incomplete databases</p>
<p class="fragment">(coNP-complete)</p>
</section>
<section>
<h3>Conservative Approximation</h3>
<div>
<p style="margin-top: 20px; font-size: 60%;">
<b>Correctness of SQL Queries on Databases with Nulls.</b><br/>
Paolo Guagliardo, Leonid Libkin
</p>
<p style="margin-top: 20px; font-size: 60%;">
<b>Uncertainty Annotated Databases - A Lightweight Approach for Approximating Certain Answers</b><br/>
Su Feng, Aaron Huber, Boris Glavic, Oliver Kennedy
</p>
</div>
<ul>
<li class="fragment" data-fragment-index="1">Unmarked rows are guaranteed to be caveat-free.</li>
<li class="fragment" data-fragment-index="2">Marked rows might not be caveatted.</li>
</ul>
</section>
</section>
<section>
<!--
Enumerating Caveats
-->
<section>
<h3>Enumerating Caveats</h3>
<dl style="margin-bottom: 50px;">
<dt>Static Analysis</dt>
<dd>Which caveats could possibly affect the element?</dd>
<dt>Dynamic Analysis</dt>
<dd>Which specific caveats affect the element?</dd>
</dl>
<attribution>"Your notebook is not crumby enough, REPLace it" (Brachmann, Spoth, Kennedy, Glavic, Mueller, Castelo, Bautista, Freire)</attribution>
</section>
<section>
<h3>Static Analysis</h3>
<p>What calls to <span style="font-family: monospace;">caveat()</span> appear in the derivation of the specified element?</p>
<p class="fragment">Analogous to <i>program slicing</i>.</p>
</section>
<section>
<h3>Program Slicing</h3>
<p>Find lines of code needed to compute a value.</p>
<p class="fragment">Turing Complete: {Variable}</p>
<p class="fragment">RA: { (Feature, Predicate) }</p>
<ul class="fragment">
<li>Row</li>
<li>Column</li>
<li>Sort Order</li>
</ul>
</section>
<section>
<h3>Dynamic Analysis</h3>
<ol>
<li>For each operator containng a <span style="font-family: monospace;">caveat()</span>, generate a query for the slice.</li>
<li>Generate every message output by that <span style="font-family: monospace;">caveat()</span></li>
<li>Union the message query results together.
</ol>
</section>
<section>
<pre><code class="sql">
WITH data_source AS
SELECT caveat(A, 'valid if '& B &' is within tolerances.') AS A,
C, D, E FROM R
SELECT A FROM data_source WHERE ROWID = i
</code></pre>
<div class="fragment">
<p>↓</p>
$$\{ \texttt{R} \mapsto (\texttt{A}, \texttt{ROWID = i}) \}$$
</div>
<div class="fragment">
<p>↓</p>
<pre><code class="sql">
SELECT 'valid if '& B &' is within tolerances.'
AS caveat_message
FROM R WHERE ROWID = i
</code></pre>
</div>
</section>
</section>
<section>
<section>
<h3>
<img src="graphics/logos/vizier-blue.svg" height="100px" style="vertical-align: middle; margin-right: 20px;" />
<span style="vertical-align: middle;" ><a href="https://vizierdb.info/">https://vizierdb.info</a></span>
</h3>
<pre style="margin-top: 50px;"><code class="sql">
$> pip3 install --user vizier-webapi
$> vizier
</code></pre>
</section>
<section>
<h3>
<img src="graphics/logos/vizier-blue.svg" height="100px" style="vertical-align: middle; margin-right: 50px;" />
<span style="vertical-align: middle;" >
<span style="font-size: 50%;">[https://]</span>VizierDB<span style="font-size: 50%;">[.info]</span>
</span>
<img src="graphics/2020-11-16/qr.png" height="150px" style="vertical-align: middle; margin-left: 50px">
</h3>
<hr/>
<h4 style="font-size: 70%">
Michael&nbsp;Brachmann,
Munaf&nbsp;Arshad&nbsp;Qazi,
William&nbsp;Spoth,
Poonam&nbsp;Kumari,
Oliver&nbsp;Kennedy,
Boris&nbsp;Glavic,
Heiko&nbsp;Mueller,
Sonia&nbsp;Castelo,
Juliana&nbsp;Freire,
</h4>
<hr/>
<h4 style="font-size: 70%">
Ying&nbsp;Yang,
Su&nbsp;Feng,
Aaron&nbsp;Huber,
Niccolò&nbsp;Meneghetti,
Arindam&nbsp;Nandi,
Shivang&nbsp;Agarwal,
Olivia&nbsp;Alphonse,
Lisa&nbsp;Lu,
Gourab&nbsp;Malhotra,
Remi&nbsp;Rampin,
Carlos&nbsp;Bautista
</h4>
<hr/>
<img src="graphics/logos/nsf-small.png" height="100px">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<img src="graphics/logos/ub_odin_standalone_black.png" height="90px">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<img src="graphics/logos/iit_dbgroup.png" height="100px">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<img src="graphics/logos/nyu.png" height="100px">
<p style="font-size: 16pt">Vizier is supported by NSF Awards ACI-1640864, IIS-1750460, IIS-1956149 and gifts from Oracle</p>
</section>
</section>
<script>document.write('<script src="http://' + (location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1"></' + 'script>')</script>

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 452 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 613 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,249 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="93.471329mm"
height="200mm"
viewBox="0 0 93.471329 200"
version="1.1"
id="svg6230"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
sodipodi:docname="provenance_notebook.svg">
<defs
id="defs6224">
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker8631"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path8629"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker8499"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path8497"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker7947"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:collect="always">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path7945"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker7395"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path7393"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker6945"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path6943"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker6843"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:collect="always">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path6841"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path4643"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.7"
inkscape:cx="85.244635"
inkscape:cy="340.4481"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="3840"
inkscape:window-height="2106"
inkscape:window-x="3840"
inkscape:window-y="54"
inkscape:window-maximized="1" />
<metadata
id="metadata6227">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0.06003813,5.3095184)">
<rect
style="fill:none;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect6775"
width="55.5625"
height="25.324406"
x="15.875"
y="7.9449458" />
<rect
y="44.986614"
x="15.875"
height="25.324406"
width="55.5625"
id="rect6777"
style="fill:none;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
style="fill:none;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect6779"
width="55.5625"
height="25.324406"
x="15.875"
y="82.028267" />
<rect
y="119.06991"
x="15.875"
height="25.324406"
width="55.5625"
id="rect6781"
style="fill:none;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
style="fill:none;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect6783"
width="55.5625"
height="25.324406"
x="15.875"
y="156.11162" />
<rect
y="156.11162"
x="15.875"
height="25.324406"
width="55.5625"
id="rect6785"
style="fill:none;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
d="M 17.008928,18.528279 C -4.0510246,30.87456 -4.3904369,38.939933 15.875,53.302087"
id="path6787"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path6839"
d="M 17.008928,55.569948 C -4.0510246,67.916229 -4.3904369,113.02327 15.875,127.38542"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker6843)" />
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker6945)"
d="M 17.008928,129.65331 C -4.0510246,141.9996 -4.3904369,150.06497 15.875,164.42713"
id="path6941"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path7391"
d="M 15.640738,173.42415 C 60.858603,160.21508 125.18243,67.201158 72.866333,53.983664"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker7395)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path7943"
d="m 71.732405,59.274114 c 21.059953,12.346281 21.399366,20.411654 1.133928,34.773794"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker7947)" />
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker8499)"
d="M 71.732405,96.315781 C 92.792358,108.66207 93.131771,148.47745 72.866333,162.8396"
id="path8495"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

@ -0,0 +1,243 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="130.64583mm"
height="110.99108mm"
viewBox="0 0 130.64583 110.99108"
version="1.1"
id="svg6230"
sodipodi:docname="provenance_vizier_ideal.svg"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
<defs
id="defs6224">
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker10471"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path10469"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker10371"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
inkscape:connector-curvature="0"
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path10369" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker8631"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path8629"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker7395"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path7393"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker6945"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path6943"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker6945-0"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path6943-5"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="243.9795"
inkscape:cy="226.34052"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="3840"
inkscape:window-height="2106"
inkscape:window-x="0"
inkscape:window-y="54"
inkscape:window-maximized="1" />
<metadata
id="metadata6227">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-9.6170444,-39.194942)">
<rect
y="39.694942"
x="10.117044"
height="25.324406"
width="55.5625"
id="rect6777"
style="fill:none;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
style="fill:none;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect6779"
width="55.5625"
height="25.324406"
x="10.117044"
y="82.028252" />
<rect
y="82.028229"
x="84.200378"
height="25.324406"
width="55.5625"
id="rect6781"
style="fill:none;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="124.36162"
x="47.15871"
height="25.324406"
width="55.5625"
id="rect6785"
style="fill:none;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker6945-0)"
d="M 37.879078,65.271486 V 79.407797"
id="path6941-1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path10365"
d="m 53.883028,107.60483 v 14.13633"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker10371)" />
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker10471)"
d="m 96.216364,107.60483 v 14.13633"
id="path10367"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:'Lobster Two';-inkscape-font-specification:'Lobster Two';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="20.579111"
y="56.466454"
id="text12790"><tspan
sodipodi:role="line"
id="tspan12788"
x="20.579111"
y="56.466454"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:11.28888893px;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.26458332">LOAD</tspan></text>
<text
id="text12794"
y="98.799767"
x="12.266785"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:'Lobster Two';-inkscape-font-specification:'Lobster Two';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:11.28888893px;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.26458332"
y="98.799767"
x="12.266785"
id="tspan12792"
sodipodi:role="line">SAMPLE</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:'Lobster Two';-inkscape-font-specification:'Lobster Two';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="89.370781"
y="97.760712"
id="text12798"><tspan
sodipodi:role="line"
id="tspan12796"
x="89.370781"
y="97.760712"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:11.28888893px;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.26458332">Python</tspan></text>
<text
id="text12802"
y="140.09409"
x="52.329109"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:'Lobster Two';-inkscape-font-specification:'Lobster Two';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:11.28888893px;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.26458332"
y="140.09409"
x="52.329109"
id="tspan12800"
sodipodi:role="line">Python</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,385 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="150mm"
height="200mm"
viewBox="0 0 150 200"
version="1.1"
id="svg6230"
sodipodi:docname="provenance_vizier_naive.svg"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
<defs
id="defs6224">
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker10868"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path10866"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker10736"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:collect="always">
<path
inkscape:connector-curvature="0"
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path10734" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker10471"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path10469"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker10371"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
inkscape:connector-curvature="0"
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path10369" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker8631"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path8629"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker7395"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path7393"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker6945"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path6943"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker10868-9"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path10866-3"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker10736-3"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:collect="always">
<path
inkscape:connector-curvature="0"
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path10734-8" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="43.0543"
inkscape:cy="193.39706"
inkscape:document-units="mm"
inkscape:current-layer="svg6230"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="3840"
inkscape:window-height="2106"
inkscape:window-x="0"
inkscape:window-y="54"
inkscape:window-maximized="1" />
<metadata
id="metadata6227">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0.06003813,5.3095184)"
class="">
<g
id="g11263"
transform="translate(25.437946,0.7295911)">
<rect
y="13.236606"
x="15.40871"
height="25.324406"
width="55.5625"
id="rect6775"
style="fill:#ffffff;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect6777"
width="55.5625"
height="25.324406"
x="15.40871"
y="55.569946" />
<rect
y="97.903259"
x="15.40871"
height="25.324406"
width="55.5625"
id="rect6779"
style="fill:#ffffff;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect6785"
width="55.5625"
height="25.324406"
x="15.40871"
y="140.23662" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path6941"
d="m 42.811983,38.334258 v 14.13632"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker6945)" />
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker10736)"
d="M 42.811983,80.667594 V 94.803913"
id="path10732"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path10864"
d="m 42.811983,123.00094 v 14.13633"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker10868)" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="43.18996"
y="30.987898"
id="text11283"><tspan
sodipodi:role="line"
id="tspan11281"
x="43.18996"
y="30.987898"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.11111069px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;text-anchor:middle;stroke-width:0.26458332">A</tspan></text>
<text
id="text11287"
y="73.321236"
x="43.18996"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.11111069px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="73.321236"
x="43.18996"
id="tspan11285"
sodipodi:role="line">B</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="43.18996"
y="115.65454"
id="text11291"><tspan
sodipodi:role="line"
id="tspan11289"
x="43.18996"
y="115.65454"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.11111069px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;text-anchor:middle;stroke-width:0.26458332">C</tspan></text>
<text
id="text11295"
y="157.9879"
x="43.18996"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.11111069px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="157.9879"
x="43.18996"
id="tspan11293"
sodipodi:role="line">D</tspan></text>
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer 2"
style="display:inline"
class="fragment">
<rect
style="opacity:0.86320029;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect11320"
width="74.066544"
height="120.5453"
x="37.966728"
y="60.678982" />
<g
id="g11318"
transform="translate(-95.027156,4.4435452)">
<rect
y="59.546757"
x="138.31508"
height="25.324406"
width="55.5625"
id="rect6777-8"
style="fill:#ffffff;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="165.94475"
y="77.352486"
id="text11287-1"><tspan
sodipodi:role="line"
id="tspan11285-1"
x="165.94475"
y="77.352486"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.11111069px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;text-anchor:middle;stroke-width:0.26458332">B'</tspan></text>
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Layer 3"
class="fragment">
<rect
y="107.00606"
x="43.287926"
height="25.324406"
width="55.5625"
id="rect6779-0"
style="fill:#ffffff;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect6785-5"
width="55.5625"
height="25.324406"
x="43.287926"
y="149.33946" />
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker10736-3)"
d="M 70.691202,89.770374 V 103.90666"
id="path10732-6"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path10864-6"
d="m 70.691202,132.10368 v 14.13633"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker10868-9)" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="71.069168"
y="124.75732"
id="text11291-4"><tspan
sodipodi:role="line"
id="tspan11289-0"
x="71.069168"
y="124.75732"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.11111069px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;text-anchor:middle;stroke-width:0.26458332">C'</tspan></text>
<text
id="text11295-0"
y="167.09074"
x="75.024117"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.11111069px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="167.09074"
x="75.024117"
id="tspan11293-4"
sodipodi:role="line">D'</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -0,0 +1,234 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="150mm"
height="200mm"
viewBox="0 0 150 200"
version="1.1"
id="svg6230"
sodipodi:docname="provenance_workflow.svg"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
<defs
id="defs6224">
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker10471"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path10469"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker10371"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
inkscape:connector-curvature="0"
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path10369" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker10213"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:collect="always">
<path
inkscape:connector-curvature="0"
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path10211" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker8631"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path8629"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker7395"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path7393"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker6945"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path6943"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker6945-0"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path6943-5"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="316.5543"
inkscape:cy="394.54634"
inkscape:document-units="mm"
inkscape:current-layer="svg6230"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="3840"
inkscape:window-height="2106"
inkscape:window-x="0"
inkscape:window-y="54"
inkscape:window-maximized="1" />
<metadata
id="metadata6227">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0.06003813,5.3095184)">
<rect
style="fill:none;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect6775"
width="55.5625"
height="25.324406"
x="47.15871"
y="18.528273" />
<rect
y="60.861614"
x="47.15871"
height="25.324406"
width="55.5625"
id="rect6777"
style="fill:none;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
style="fill:none;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect6779"
width="55.5625"
height="25.324406"
x="10.117043"
y="103.19492" />
<rect
y="103.1949"
x="84.200378"
height="25.324406"
width="55.5625"
id="rect6781"
style="fill:none;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="145.52829"
x="47.15871"
height="25.324406"
width="55.5625"
id="rect6785"
style="fill:none;fill-opacity:1;stroke:#1a1a1a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker6945)"
d="m 74.561985,43.625925 v 14.13632"
id="path6941"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker6945-0)"
d="M 53.883026,86.438159 V 100.57447"
id="path6941-1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path10209"
d="M 96.216362,86.438159 V 100.57447"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker10213)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path10365"
d="m 53.883026,128.7715 v 14.13633"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker10371)" />
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker10471)"
d="m 96.216362,128.7715 v 14.13633"
id="path10367"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 B

View File

@ -0,0 +1,144 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="122.89281mm"
height="51.819641mm"
viewBox="0 0 122.89282 51.819641"
version="1.1"
id="svg8"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
sodipodi:docname="typed_artifacts.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="116.54409"
inkscape:cy="36.348454"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="3840"
inkscape:window-height="2106"
inkscape:window-x="0"
inkscape:window-y="54"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-29.573317,-48.732016)">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:'Lobster Two';-inkscape-font-specification:'Lobster Two';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="72.004463"
y="77.561554"
id="text817"><tspan
sodipodi:role="line"
id="tspan815"
x="72.004463"
y="77.561554"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.26458332">Artifact</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="28.53462"
y="56.772869"
id="text817-6"><tspan
sodipodi:role="line"
id="tspan815-2"
x="28.53462"
y="56.772869"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">Dataframe</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="108.34996"
y="56.772869"
id="text817-6-9"><tspan
sodipodi:role="line"
id="tspan815-2-0"
x="108.34996"
y="56.772869"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">Function</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="117.68789"
y="98.350243"
id="text817-6-9-8"><tspan
sodipodi:role="line"
id="tspan815-2-0-1"
x="117.68789"
y="98.350243"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">Chart</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="32.348343"
y="98.350243"
id="text817-6-9-8-3"><tspan
sodipodi:role="line"
id="tspan815-2-0-1-1"
x="32.348343"
y="98.350243"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">Directory</tspan></text>
<g
id="g909"
transform="translate(2.1759491)">
<path
inkscape:connector-curvature="0"
id="path903"
d="M 99.9747,68.324404 121.70833,58.119046"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 84.666649,68.324404 62.933031,58.119046"
id="path905"
inkscape:connector-curvature="0" />
</g>
<g
transform="matrix(1,0,0,-1,2.1759491,147.08096)"
id="g915">
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 99.9747,68.324404 121.70833,58.119046"
id="path911"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path913"
d="M 84.666649,68.324404 62.933031,58.119046"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

@ -0,0 +1,330 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:ns1="http://sozi.baierouge.fr"
id="svg5378"
sodipodi:docname="Documento nuevo 18"
viewBox="0 0 186.69 206.07"
version="1.1"
inkscape:version="0.47pre4 r22446"
>
<defs
id="defs3"
>
<linearGradient
id="linearGradient6035"
>
<stop
id="stop6037"
style="stop-color:#ffffff"
offset="0"
/>
<stop
id="stop6039"
style="stop-color:#ffffff;stop-opacity:0"
offset="1"
/>
</linearGradient
>
<filter
id="filter6093"
height="1.3855"
width="1.1285"
color-interpolation-filters="sRGB"
y="-.19277"
x="-.064257"
inkscape:collect="always"
>
<feGaussianBlur
id="feGaussianBlur6095"
stdDeviation="0.89250425"
inkscape:collect="always"
/>
</filter
>
<linearGradient
id="linearGradient6110"
y2="511.97"
spreadMethod="reflect"
gradientUnits="userSpaceOnUse"
x2="286.63"
gradientTransform="matrix(1.1818 0 0 1.1818 -30.649 -69.394)"
y1="511.97"
x1="269.97"
inkscape:collect="always"
>
<stop
id="stop5497"
style="stop-color:#c6c6c6"
offset="0"
/>
<stop
id="stop5501"
style="stop-color:#e3e3e3"
offset=".20485"
/>
<stop
id="stop5499"
style="stop-color:#a5a5a8"
offset="1"
/>
</linearGradient
>
<linearGradient
id="linearGradient6112"
y2="527.34"
gradientUnits="userSpaceOnUse"
x2="286.63"
y1="518.56"
x1="282.36"
inkscape:collect="always"
>
<stop
id="stop5468"
style="stop-color:#e3e3e3"
offset="0"
/>
<stop
id="stop5470"
style="stop-color:#a5a5a8"
offset="1"
/>
</linearGradient
>
<linearGradient
id="linearGradient6114"
y2="520.33"
xlink:href="#linearGradient6035"
spreadMethod="reflect"
gradientUnits="userSpaceOnUse"
x2="327.78"
gradientTransform="translate(0 .25)"
y1="522.61"
x1="308.5"
inkscape:collect="always"
/>
<linearGradient
id="linearGradient6116"
y2="520.33"
xlink:href="#linearGradient6035"
spreadMethod="reflect"
gradientUnits="userSpaceOnUse"
x2="327.78"
gradientTransform="translate(0,12)"
y1="522.61"
x1="308.5"
inkscape:collect="always"
/>
<linearGradient
id="linearGradient6118"
y2="520.33"
xlink:href="#linearGradient6035"
spreadMethod="reflect"
gradientUnits="userSpaceOnUse"
x2="327.78"
gradientTransform="translate(0,22)"
y1="522.61"
x1="308.5"
inkscape:collect="always"
/>
</defs
>
<sodipodi:namedview
id="base"
bordercolor="#666666"
inkscape:pageshadow="2"
inkscape:window-y="24"
pagecolor="#ffffff"
inkscape:window-height="949"
inkscape:window-maximized="1"
inkscape:zoom="1"
inkscape:window-x="0"
showgrid="false"
borderopacity="1.0"
inkscape:current-layer="layer1"
inkscape:cx="21.488191"
inkscape:cy="189.49112"
inkscape:window-width="1280"
inkscape:pageopacity="0.0"
inkscape:document-units="mm"
/>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer"
transform="translate(-285.87 -510.69)"
>
<g
id="g6097"
transform="matrix(4.1992 0 0 4.1992 -914.56 -1633.8)"
>
<path
id="path6079"
sodipodi:rx="16.667517"
sodipodi:ry="5.5558391"
style="filter:url(#filter6093);fill:#2e3436"
sodipodi:type="arc"
d="m303.3 521.78c0 3.0684-7.4623 5.5558-16.668 5.5558-9.2052 0-16.668-2.4874-16.668-5.5558s7.4623-5.5558 16.668-5.5558c9.2052 0 16.668 2.4874 16.668 5.5558z"
transform="matrix(1.1818 0 0 1.1818 -30.649 -65.984)"
sodipodi:cy="521.77954"
sodipodi:cx="286.6308"
/>
<path
id="path5488"
sodipodi:nodetypes="cccssscccc"
style="fill:url(#linearGradient6110)"
d="m288.41 517.5v30.092h0.125c-0.0806 0.24126-0.125 0.47032-0.125 0.71875 0 3.6263 8.8086 6.5625 19.688 6.5625s19.688-2.9362 19.688-6.5625c0-0.24879-0.0442-0.47715-0.125-0.71875h0.125v-30.092h-39.375z"
/>
<path
id="path5460"
sodipodi:rx="16.667517"
sodipodi:ry="5.5558391"
style="fill:url(#linearGradient6112)"
sodipodi:type="arc"
d="m303.3 521.78c0 3.0684-7.4623 5.5558-16.668 5.5558-9.2052 0-16.668-2.4874-16.668-5.5558s7.4623-5.5558 16.668-5.5558c9.2052 0 16.668 2.4874 16.668 5.5558z"
transform="matrix(1.1818 0 0 1.1818 -30.649 -99.394)"
sodipodi:cy="521.77954"
sodipodi:cx="286.6308"
/>
<path
id="path6026"
style="fill:#565656"
d="m288.38 539.09c0.14735 3.584 8.9318 6.4688 19.719 6.4688 10.756 0 19.492-2.8677 19.688-6.4375-3.4515 2.9359-10.959 4.9688-19.688 4.9688-8.7461 0-16.277-2.0544-19.719-5z"
/>
<path
id="path6030"
style="fill:url(#linearGradient6114)"
d="m288.38 517.34c0.14735 3.584 8.9318 6.4688 19.719 6.4688 10.756 0 19.492-2.8677 19.688-6.4375-0.21572 0.18349-0.44078 0.35509-0.6875 0.53125-0.009 0.0117-0.0216 0.0196-0.0312 0.0312-2.2921 2.7774-9.9035 4.8125-18.969 4.8125-9.122 0-16.786-2.0707-19.031-4.875-0.0249-0.0179-0.038-0.0446-0.0625-0.0625-0.21872-0.15969-0.43159-0.30323-0.625-0.46875z"
/>
<g
id="g6071"
>
<g
id="g6067"
transform="translate(0 -.52315)"
>
<path
id="path6022"
style="fill:#565656"
d="m288.38 529.09c0.14735 3.584 8.9318 6.4688 19.719 6.4688 10.756 0 19.492-2.8677 19.688-6.4375-3.4515 2.9359-10.959 4.9688-19.688 4.9688-8.7461 0-16.277-2.0544-19.719-5z"
/>
<path
id="path6043"
style="fill:url(#linearGradient6116)"
d="m288.38 529.09c0.14735 3.584 8.9318 6.4688 19.719 6.4688 10.756 0 19.492-2.8677 19.688-6.4375-0.0497 0.0422-0.10543 0.0838-0.15625 0.125-1.2422 3.2268-9.5106 5.7188-19.531 5.7188-10.113 0-18.468-2.5112-19.594-5.7812-0.0401-0.0317-0.0863-0.0607-0.125-0.0937z"
/>
</g
>
<path
id="path6054"
style="fill:url(#linearGradient6118)"
d="m288.38 539.09c0.14735 3.584 8.9318 6.4688 19.719 6.4688 10.756 0 19.492-2.8677 19.688-6.4375-0.0497 0.0422-0.10543 0.0838-0.15625 0.125-1.2422 3.2268-9.5106 5.7188-19.531 5.7188-10.113 0-18.468-2.5112-19.594-5.7812-0.0401-0.0317-0.0863-0.0607-0.125-0.0937z"
/>
</g
>
<path
id="path6060"
style="fill:#565656"
d="m288.5 549.94c1.126 3.27 9.481 5.7812 19.594 5.7812 10.021 0 18.289-2.492 19.531-5.7188-3.5163 2.8678-10.929 4.8438-19.531 4.8438-8.6478 0-16.1-2.0137-19.594-4.9062z"
/>
</g
>
</g
>
<metadata
>
<rdf:RDF
>
<cc:Work
>
<dc:format
>image/svg+xml</dc:format
>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage"
/>
<cc:license
rdf:resource="http://creativecommons.org/licenses/publicdomain/"
/>
<dc:publisher
>
<cc:Agent
rdf:about="http://openclipart.org/"
>
<dc:title
>Openclipart</dc:title
>
</cc:Agent
>
</dc:publisher
>
<dc:title
>database symbol</dc:title
>
<dc:date
>2010-11-08T22:08:43</dc:date
>
<dc:description
>database symbol in metallic style</dc:description
>
<dc:source
>https://openclipart.org/detail/94723/database-symbol-by-rg1024</dc:source
>
<dc:creator
>
<cc:Agent
>
<dc:title
>rg1024</dc:title
>
</cc:Agent
>
</dc:creator
>
<dc:subject
>
<rdf:Bag
>
<rdf:li
>database</rdf:li
>
<rdf:li
>server</rdf:li
>
<rdf:li
>symbol</rdf:li
>
</rdf:Bag
>
</dc:subject
>
</cc:Work
>
<cc:License
rdf:about="http://creativecommons.org/licenses/publicdomain/"
>
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction"
/>
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution"
/>
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks"
/>
</cc:License
>
</rdf:RDF
>
</metadata
>
</svg
>

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="554" height="414" viewBox="0, 0, 554, 414">
<defs>
<radialGradient id="Gradient_1" gradientUnits="userSpaceOnUse" cx="157.98" cy="160.877" r="17.91">
<stop offset="0" stop-color="#EFAA98"/>
<stop offset="1" stop-color="#F9D8AE"/>
</radialGradient>
<radialGradient id="Gradient_2" gradientUnits="userSpaceOnUse" cx="295.801" cy="160.877" r="17.91">
<stop offset="0" stop-color="#EFA496"/>
<stop offset="1" stop-color="#F9D8AE"/>
</radialGradient>
<clipPath id="Clip_1">
<path d="M0.06,0.768 L553.063,0.768 L553.063,413.94 L0.06,413.94 z"/>
</clipPath>
</defs>
<g id="Layer_1">
<path d="M174.891,284.621 C158.469,260.539 162.047,243.301 162.047,243.301 C158.844,258.848 143.297,265.25 131.863,261.137 C145.582,260.68 147.871,232.324 120.887,169.668 C93.902,107.015 118.602,60.82 134.606,40.699 C174.355,-9.273 244.824,-5.949 274.094,16 C295.137,16.461 308.394,28.809 319.18,40.699 C336.445,59.746 359.883,107.015 332.898,169.668 C305.914,232.324 308.203,260.68 321.922,261.137 C310.484,265.25 294.941,258.848 291.738,243.301 C291.738,243.301 295.316,260.539 278.891,284.621 L174.891,284.621" fill="#624B47"/>
<path d="M209.133,226.754 C209.133,226.754 219.652,219.789 242.352,226.754 L246.492,235.191 L206.219,238.812 L209.133,226.754" fill="#AC9079"/>
<path d="M280.965,256.836 C280.965,256.836 305.941,308.586 310.055,317.281 C314.172,325.973 316.918,344.797 295.426,351.164 L256.094,351.164 L280.965,256.836" fill="#AC9079"/>
<path d="M243.25,231.574 C243.25,231.574 261.012,240.73 269.031,244.172 C277.055,247.613 284.504,258.5 281.637,267.094 C278.77,275.676 275.91,286.578 275.91,286.578 C275.91,286.578 279.34,310.07 277.055,319.805 C274.766,329.547 266.168,339.848 266.168,346.73 C266.168,353.601 273.613,379.387 273.613,379.387 L177.871,379.387 C177.871,379.387 185.316,353.601 185.316,346.73 C185.316,339.848 176.734,329.547 174.43,319.805 C172.145,310.07 175.582,286.578 175.582,286.578 C175.582,286.578 172.715,275.676 169.855,267.094 C166.988,258.5 174.43,247.613 182.461,244.172 C190.473,240.73 210.418,232.836 210.418,232.836 L243.25,231.574" fill="#AC9079"/>
<path d="M217.078,231.726 L218.543,195.66 L235.191,191.437 L236.227,230.141 L249.23,236.98 L240.641,270.523 L226.891,329.547 L209.703,269.953 L205.691,234.117 L217.078,231.726" fill="#F6C395"/>
<path d="M206.219,256.906 L226.891,271.109 L243.004,259.668 L237.352,277.476 L226.891,329.547 L209.703,269.953 L206.219,256.906" fill="#D17983"/>
<path d="M209.133,226.754 L213.734,248.523 L212.094,256.305 L191.941,254.828 L200.535,233.035 L209.133,226.754" fill="#C4A98E"/>
<path d="M213.734,248.523 L226.891,334.48 L195.953,268.59 L213.734,248.523" fill="#C4A98E"/>
<path d="M242.352,226.754 L237.754,248.523 L238.82,256.348 L259.543,254.828 L250.961,233.035 L242.352,226.754" fill="#C4A98E"/>
<path d="M237.754,248.523 L226.891,334.48 L255.535,268.59 L237.754,248.523" fill="#C4A98E"/>
<path d="M161.598,355.328 C161.598,366.195 169.551,379.387 177.895,379.387 C186.234,379.387 232.719,379.387 232.719,379.387 L229.859,342.723 L182.289,348.051" fill="#AC9079"/>
<path d="M124.352,115.738 C117.277,104.527 100.387,108.75 96.164,123.531 C91.934,138.312 112.352,162.945 136.98,153.094 L124.352,115.738" fill="#F6C395"/>
<path d="M329.43,115.738 C336.504,104.527 353.398,108.75 357.621,123.531 C361.852,138.312 341.43,162.945 316.805,153.094 L329.43,115.738" fill="#F6C395"/>
<path d="M226.891,211.766 C288.609,211.766 338.633,186.215 338.633,117.969 C338.633,66.164 288.609,20.117 226.891,20.117 C165.188,20.117 115.16,66.164 115.16,117.969 C115.16,186.215 165.188,211.766 226.891,211.766" fill="#F9D8AE"/>
<path d="M217.327,131.572 L217.315,131.601 C217.184,131.937 215.928,135.112 214.045,139.184 C212.167,143.253 209.644,148.233 207.075,152.084 L205.391,154.613 L207.848,156.401 C207.96,156.481 210.04,157.99 213.29,159.522 C216.543,161.043 220.972,162.628 225.906,162.64 C227.655,162.64 229.073,161.222 229.073,159.473 C229.073,157.723 227.655,156.305 225.906,156.305 C222.387,156.317 218.719,155.086 215.987,153.791 C214.621,153.148 213.488,152.5 212.713,152.023 C212.325,151.784 212.027,151.588 211.832,151.457 C211.735,151.391 211.663,151.341 211.62,151.311 L211.575,151.28 L211.574,151.279 L209.711,153.84 L212.347,155.595 C215.32,151.126 218.001,145.745 219.982,141.435 C221.958,137.13 223.212,133.913 223.228,133.873 C223.864,132.244 223.058,130.407 221.428,129.772 C219.798,129.136 217.962,129.942 217.327,131.572" fill="#F3B991"/>
<path d="M226.602,181.92 C232.201,181.917 239.196,181.196 245.921,179.457 C249.283,178.585 252.575,177.457 255.593,176.008 C258.609,174.557 261.359,172.785 263.594,170.568 C264.669,169.5 264.675,167.762 263.607,166.687 C262.539,165.612 260.801,165.606 259.726,166.674 C258.067,168.326 255.828,169.808 253.216,171.062 C249.301,172.946 244.568,174.31 239.856,175.178 C235.144,176.049 230.446,176.433 226.602,176.432 C225.086,176.432 223.858,177.66 223.858,179.176 C223.858,180.691 225.086,181.92 226.602,181.92" fill="#E77C56"/>
<path d="M163.277,130.504 C163.277,122.676 168.629,116.324 175.227,116.324 C181.824,116.324 187.164,122.676 187.164,130.504 C187.164,138.336 181.824,144.691 175.227,144.691 C168.629,144.691 163.277,138.336 163.277,130.504" fill="#1A1919"/>
<path d="M226.602,176.432 C221.477,176.435 214.836,175.748 208.659,174.144 C205.57,173.344 202.596,172.317 199.986,171.062 C197.374,169.808 195.135,168.326 193.477,166.675 C192.403,165.607 190.665,165.612 189.597,166.687 C188.528,167.761 188.534,169.499 189.609,170.567 C191.843,172.785 194.593,174.557 197.609,176.008 C202.136,178.18 207.283,179.637 212.351,180.575 C217.42,181.51 222.402,181.919 226.602,181.92 C228.117,181.92 229.346,180.691 229.346,179.176 C229.346,177.66 228.117,176.432 226.602,176.432" fill="#E77C56"/>
<path d="M157.977,148.187 C167.875,148.187 175.891,153.871 175.891,160.879 C175.891,167.887 167.875,173.566 157.977,173.566 C148.082,173.566 140.07,167.887 140.07,160.879 C140.07,153.871 148.082,148.187 157.977,148.187 z" fill="url(#Gradient_1)"/>
<path d="M188.581,87.49 C184.418,83.877 179.626,82.201 175.025,82.207 C166.861,82.21 159.362,87.382 156.359,95.387 C155.949,96.479 156.503,97.696 157.594,98.106 C158.686,98.515 159.903,97.962 160.313,96.87 C162.709,90.481 168.663,86.428 175.025,86.43 C178.616,86.436 182.358,87.696 185.817,90.682 C186.699,91.445 188.032,91.349 188.795,90.468 C189.559,89.586 189.463,88.253 188.581,87.49" fill="#1A1919"/>
<path d="M290.504,130.504 C290.504,122.676 285.156,116.324 278.555,116.324 C271.961,116.324 266.621,122.676 266.621,130.504 C266.621,138.336 271.961,144.691 278.555,144.691 C285.156,144.691 290.504,138.336 290.504,130.504" fill="#1A1919"/>
<path d="M295.813,173.566 C285.906,173.566 277.891,167.887 277.891,160.879 C277.891,153.871 285.906,148.187 295.813,148.187 C305.703,148.187 313.711,153.871 313.711,160.879 C313.711,167.887 305.703,173.566 295.813,173.566 z" fill="url(#Gradient_2)"/>
<g>
<path d="M267.968,90.682 C271.425,87.696 275.167,86.436 278.758,86.43 C285.118,86.428 291.072,90.481 293.468,96.87 C293.878,97.962 295.095,98.515 296.187,98.106 C297.279,97.696 297.832,96.479 297.422,95.387 C294.419,87.382 286.92,82.21 278.758,82.207 C274.156,82.201 269.365,83.877 265.204,87.49 C264.322,88.253 264.226,89.587 264.99,90.468 C265.753,91.35 267.087,91.445 267.968,90.682" fill="#1A1919"/>
<path d="M275.008,25.68 C268.25,40.074 247.832,57.238 226.891,61.352 C226.891,61.352 233.848,53.582 242.082,34.828 C242.082,34.828 229.273,63.187 190.859,68.211 C190.859,68.211 200.918,56.324 204.578,41.687 C204.578,41.687 179.41,84.918 123.176,75.074 C123.176,75.074 167.891,-20.262 275.008,25.68" fill="#624B47"/>
</g>
<path d="M273.219,24.941 C273.219,24.941 278.863,83.191 333.418,89.195 C333.418,89.195 332.281,43.539 273.219,24.941" fill="#624B47"/>
<path d="M236.723,323.23 C237.109,319.348 240.563,316.508 244.445,316.898 C248.328,317.285 251.16,320.738 250.777,324.621 C250.395,328.496 246.934,331.332 243.059,330.953 C239.18,330.562 236.336,327.105 236.723,323.23" fill="#1A1919"/>
<path d="M236.379,361.574 C236.766,357.703 240.223,354.867 244.109,355.254 C247.988,355.637 250.82,359.09 250.438,362.976 C250.059,366.859 246.594,369.684 242.715,369.305 C238.836,368.918 235.996,365.457 236.379,361.574" fill="#1A1919"/>
<path d="M170.559,256.762 L133.984,312.711 L95.574,318.219 L102.883,357.984 L145.414,355.695 L187.035,284.621 L170.559,256.762" fill="#AC9079"/>
<g clip-path="url(#Clip_1)">
<path d="M95.574,318.219 C117.656,318.219 129.031,324.152 128.953,340.148 L96.023,340.148 L95.574,318.219" fill="#D17983"/>
<path d="M553.062,414 L-0,414 L61.621,352.375 L491.441,352.375 L553.062,414" fill="#C7BCA7"/>
</g>
<path d="M97.871,371.476 C112.574,371.476 124.598,367.285 124.598,367.285 L124.598,358.871 C124.598,346.586 112.633,336.598 97.871,336.598 C83.125,336.598 71.148,346.586 71.148,358.871 L71.148,367.285 C71.148,367.285 83.172,371.476 97.871,371.476" fill="#4D4E4C"/>
<path d="M118.293,345.559 C118.293,339.715 123.027,334.976 128.871,334.976 C134.711,334.976 139.457,339.715 139.457,345.559 C139.457,351.398 134.711,356.148 128.871,356.148 C123.027,356.148 118.293,351.398 118.293,345.559" fill="#F6C395"/>
<path d="M97.352,318.223 C79.516,317.648 66.133,325.234 66.133,338.609 C66.133,346.891 73.145,355.809 90.98,355.809 C108.816,355.809 121.281,351.973 122.961,342.074 C125.383,327.781 117.102,318.863 97.352,318.223" fill="#F9D8AE"/>
<path d="M356.91,248.09 L501.254,248.09 L501.254,379.379 L356.91,379.379 z" fill="#D8E0E1"/>
<path d="M501.254,248.09 L356.91,248.09 L373.492,222.699 L484.66,222.699 L501.254,248.09" fill="#A1AEB2"/>
<path d="M356.91,263.937 L501.254,263.937 L501.254,266.681 L356.91,266.681 z" fill="#9BA1A3"/>
<path d="M356.91,274.159 L501.254,274.159 L501.254,276.903 L356.91,276.903 z" fill="#9BA1A3"/>
<path d="M356.91,293.968 L501.254,293.968 L501.254,296.712 L356.91,296.712 z" fill="#9BA1A3"/>
<path d="M356.91,303.569 L501.254,303.569 L501.254,306.313 L356.91,306.313 z" fill="#9BA1A3"/>
<path d="M356.91,311.37 L501.254,311.37 L501.254,314.114 L356.91,314.114 z" fill="#9BA1A3"/>
<path d="M356.91,326.382 L501.254,326.382 L501.254,329.126 L356.91,329.126 z" fill="#9BA1A3"/>
<path d="M356.91,335.39 L501.254,335.39 L501.254,338.134 L356.91,338.134 z" fill="#9BA1A3"/>
<path d="M356.91,354.597 L501.254,354.597 L501.254,357.341 L356.91,357.341 z" fill="#9BA1A3"/>
<path d="M384.375,210.453 C398.016,216.742 470.035,218.496 498.242,218.496 L506.043,241.312 C477.828,241.312 392.617,239.555 378.984,233.254 L384.375,210.453" fill="#D8E0E1"/>
<path d="M303.148,372.777 L139.109,372.777 L161.918,351.164 L325.953,351.164 L303.148,372.777" fill="#636463"/>
<path d="M325.953,363.172 L303.148,389.578 L303.148,372.777 L325.953,351.164 L325.953,363.172" fill="#343534"/>
<path d="M303.148,372.777 L139.109,372.777 L121.25,271.316 L303.148,271.316 L303.148,372.777" fill="#4D4E4C"/>
<path d="M139.109,372.777 L303.148,372.777 L303.148,389.578 L139.109,389.578 z" fill="#4D4E4C"/>
<path d="M139.109,379.146 C132.636,379.141 127.159,380.355 121.876,382.374 C116.589,384.392 111.49,387.182 105.554,390.375 C100.689,393.01 93.841,394.553 88.208,394.54 C85.062,394.549 82.295,394.05 80.568,393.211 C79.7,392.797 79.111,392.32 78.765,391.86 C78.422,391.392 78.26,390.956 78.251,390.289 C78.251,389.965 78.299,389.585 78.42,389.14 C78.661,388.242 79.239,387.128 80.127,385.932 C81.673,383.831 84.125,381.502 86.918,379.272 C91.109,375.917 96.058,372.75 99.941,370.441 C101.883,369.285 103.561,368.343 104.749,367.69 C105.343,367.364 105.814,367.111 106.136,366.94 C106.297,366.854 106.42,366.789 106.502,366.746 L106.622,366.684 C107.662,366.146 108.069,364.867 107.531,363.827 C106.993,362.787 105.714,362.38 104.674,362.918 C104.632,362.94 97.95,366.395 90.859,371.16 C87.311,373.546 83.661,376.254 80.655,379.078 C79.152,380.492 77.809,381.935 76.716,383.413 C75.627,384.892 74.775,386.407 74.33,388.024 C74.121,388.789 74.011,389.546 74.011,390.289 C74.002,391.82 74.511,393.28 75.384,394.418 C76.035,395.278 76.861,395.968 77.782,396.522 C79.168,397.354 80.775,397.9 82.532,398.259 C84.29,398.616 86.203,398.78 88.208,398.78 C94.577,398.767 101.88,397.152 107.563,394.109 C113.514,390.904 118.477,388.205 123.387,386.335 C128.302,384.465 133.157,383.39 139.109,383.385 C140.28,383.385 141.229,382.436 141.229,381.266 C141.229,380.095 140.28,379.146 139.109,379.146" fill="#4D4E4C"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="svg2"
width="32"
height="32"
viewBox="0 0 32 32"
sodipodi:docname="vizier-blue.svg"
inkscape:version="0.92.3 (2405546, 2018-03-11)">
<metadata
id="metadata8">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs6" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1387"
id="namedview4"
showgrid="false"
inkscape:zoom="11.19"
inkscape:cx="16"
inkscape:cy="16"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<rect
style="fill:#214478;fill-opacity:1;stroke:none;stroke-width:6.21267748"
id="rect872"
width="32"
height="32"
x="0"
y="0" />
<rect
style="fill:#87aade;fill-opacity:1;stroke:none;stroke-width:1.14830613"
id="rect12"
width="5.8305087"
height="6"
x="2.7118638"
y="24.40678" />
<rect
y="24.40678"
x="9.9907598"
height="6"
width="5.8305087"
id="rect864"
style="fill:#afc6e9;fill-opacity:1;stroke:none;stroke-width:1.14830613" />
<rect
y="17.227753"
x="2.7118638"
height="6"
width="5.8305087"
id="rect866"
style="fill:#5f8dd3;fill-opacity:1;stroke:none;stroke-width:1.14830613" />
<rect
style="fill:#3771c8;fill-opacity:1;stroke:none;stroke-width:1.14830613"
id="rect868"
width="5.8305087"
height="6"
x="2.7118638"
y="10.048723" />
<rect
y="2.8696935"
x="2.7118638"
height="6"
width="5.8305087"
id="rect870"
style="fill:#2c5aa0;fill-opacity:1;stroke:none;stroke-width:1.14830613" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.33333397px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;"
x="6.1662192"
y="21.186773"
id="text876"><tspan
sodipodi:role="line"
id="tspan874"
x="6.1662192"
y="21.186773"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:24px;font-family:'Courier New';-inkscape-font-specification:'Courier New Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;">V</tspan></text>
<text
id="text1280"
y="29.765862"
x="16.621983"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.33333302px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12px;font-family:'Courier New';-inkscape-font-specification:'Courier New Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff"
y="29.765862"
x="16.621983"
id="tspan1278"
sodipodi:role="line">db</tspan></text>
</svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

33
src/talks/index.erb Normal file
View File

@ -0,0 +1,33 @@
---
title: Talk Slides
---
<h1>Talks</h1>
<%
GemSmith::get_collection("talks").
map { |f|
{ title: f["title"],
date: f[:date],
path: f[:out_path],
author: f.fetch("author", nil)
}
}.
group_by { |data| data[:date].year }.
to_a.sort_by { |year, data| -year }.
each do |year, records_for_year| %>
<h2><%=year%></h2>
<ul class="article_list">
<% records_for_year.
sort_by { |data| -data[:date].to_i }.
each do |data| %>
<li class="article">
<span class="date"><%= data[:date].strftime("%b %e") %>: </span>
<a href="<%= root_path(data[:path]) %>">
<span class="title"><%= data[:title] %></span>
</a>
<% unless data[:author].nil? %><span class="author">(by <%= LabMetadata::link_for data[:author] %>)</span><% end %>
</li>
<% end %>
</ul>
<% end %>

403
src/talks/ubodin_v1.css Normal file
View File

@ -0,0 +1,403 @@
@font-face {
font-family: 'News Cycle';
font-style: normal;
font-weight: 400;
src: local('News Cycle'), local('NewsCycle'), url(../slides/reveal.js-3.1.0/fonts/9Xe8dq6pQDsPyVH2D3tMQsDdSZkkecOE1hvV7ZHvhyU.ttf) format('truetype');
}
@font-face {
font-family: 'News Cycle';
font-style: normal;
font-weight: 700;
src: local('News Cycle Bold'), local('NewsCycle-Bold'), url(../slides/reveal.js-3.1.0/fonts/G28Ny31cr5orMqEQy6ljt8BaWKZ57bY3RXgXH6dOjZ0.ttf) format('truetype');
}
@font-face {
font-family: 'Lato';
font-style: normal;
font-weight: 400;
src: local('Lato Regular'), local('Lato-Regular'), url(../slides/reveal.js-3.1.0/fonts/1EqTbJWOZQBfhZ0e3RL9uvesZW2xOQ-xsNqO47m55DA.ttf) format('truetype');
}
@font-face {
font-family: 'Lato';
font-style: normal;
font-weight: 700;
src: local('Lato Bold'), local('Lato-Bold'), url(../slides/reveal.js-3.1.0/fonts/MZ1aViPqjfvZwVD_tzjjkwLUuEpTyoUstqEm5AMlJo4.ttf) format('truetype');
}
@font-face {
font-family: 'Lato';
font-style: italic;
font-weight: 400;
src: local('Lato Italic'), local('Lato-Italic'), url(../slides/reveal.js-3.1.0/fonts/61V2bQZoWB5DkWAUJStypevvDin1pK8aKteLpeZ5c0A.ttf) format('truetype');
}
@font-face {
font-family: 'Lato';
font-style: italic;
font-weight: 700;
src: local('Lato Bold Italic'), local('Lato-BoldItalic'), url(../slides/reveal.js-3.1.0/fonts/HkF_qI1x_noxlxhrhMQYECZ2oysoEQEeKwjgmXLRnTc.ttf) format('truetype');
}
/**@import url(https://fonts.googleapis.com/css?family=News+Cycle:400,700);
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
**/
/**
* A simple theme for reveal.js presentations, similar
* to the default theme. The accent color is darkblue.
*
* This theme is Copyright (C) 2012 Owen Versteeg, https://github.com/StereotypicalApps. It is MIT licensed.
* reveal.js is Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
*/
/*********************************************
* GLOBAL STYLES
*********************************************/
body {
background: #fff;
background-color: #fff; }
.reveal {
font-family: 'Lato', sans-serif;
font-size: 36px;
font-weight: normal;
color: #000; }
::selection {
color: #fff;
background: rgba(0, 0, 0, 0.99);
text-shadow: none; }
.reveal .slides > section, .reveal .slides > section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* STATIC HEADER/FOOTER
*********************************************/
.reveal .header {
position: absolute;
top: 0px;
left: 0px;
right: 0px;
height: 25px;
text-align: center;
padding-left: 15px;
padding-right: 15px;
padding-bottom: 10px;
padding-top: 15px;
background-color: #041a9b;
color: white;
font-size: 0.5em;
z-index: 100;
}
.reveal .footer {
position: absolute;
bottom: 0px;
left: 0px;
right: 0px;
height: 40px;
text-align: center;
padding-left: 15px;
padding-right: 15px;
padding-bottom: 10px;
padding-top: 10px;
background-color: #041a9b;
color: white;
font-size: 0.5em;
z-index: 100;
}
/*********************************************
* HEADERS
*********************************************/
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
margin: 0 0 20px 0;
color: #000;
font-family: 'News Cycle', Impact, sans-serif;
font-weight: normal;
line-height: 1.2;
letter-spacing: normal;
text-transform: none;
text-shadow: none;
word-wrap: break-word; }
.reveal h1 {
font-size: 3.77em; }
.reveal h2 {
font-size: 2.11em; }
.reveal h3 {
font-size: 1.55em; }
.reveal h4 {
font-size: 1em; }
.reveal h1 {
text-shadow: none; }
/*********************************************
* OTHER
*********************************************/
.reveal p {
margin: 20px 0;
line-height: 1.3; }
.reveal imagecredits {
font-size: 12pt;
position: absolute;
right: -10px;
bottom: -10px;
text-align: right;
}
.reveal citation {
font-size: 12pt;
position: absolute;
right: -10px;
bottom: -10px;
text-align: right;
}
/* Ensure certain elements are never larger than the slide itself */
.reveal img, .reveal video, .reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong, .reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol, .reveal dl, .reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
.reveal ol {
list-style-type: decimal; }
.reveal ul {
list-style-type: disc; }
.reveal ul > li {
margin-top: 20px; }
.reveal ul.tight > li {
margin-top: 10px; }
.reveal ol > li {
margin-top: 20px; }
.reveal ol.tight > li {
margin-top: 0px; }
.reveal ul ul {
list-style-type: square; }
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul {
display: block;
margin-left: 40px; }
.reveal dt {
margin-top: 20px;
margin-bottom: 0px;
font-weight: bold; }
.reveal dd {
margin-top: 0px;
margin-left: 40px; }
.reveal q, .reveal blockquote {
quotes: none; }
.reveal blockquote {
display: block;
position: relative;
width: 70%;
margin: 20px auto;
padding: 5px;
font-style: italic;
background: rgba(255, 255, 255, 0.05);
box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
.reveal blockquote p:first-child, .reveal blockquote p:last-child {
display: inline-block; }
.reveal q {
font-style: italic; }
.reveal pre {
display: block;
position: relative;
width: 90%;
margin: 20px auto;
text-align: left;
font-size: 0.55em;
font-family: monospace;
line-height: 1.2em;
word-wrap: break-word;
box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); }
.reveal code {
font-family: monospace;
}
.reveal pre code {
display: block;
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal;
background: #3F3F3F;
color: #DCDCDC; }
.reveal table {
margin: auto;
border-collapse: collapse;
border-spacing: 0; }
.reveal table th {
font-weight: bold;
border-bottom: 1px solid; }
.reveal table th, .reveal table td {
text-align: center;
padding: 0.2em 0.5em 0.2em 0.5em;}
.reveal table th[align="left"], .reveal table td[align="left"] {
text-align: left; }
.reveal table th[align="right"], .reveal table td[align="right"] {
text-align: right; }
.reveal table tr:last-child td {
border-bottom: none; }
.reveal sup {
vertical-align: super; }
.reveal sub {
vertical-align: sub; }
.reveal small {
display: inline-block;
font-size: 0.6em;
line-height: 1.2em;
vertical-align: top; }
.reveal small * {
vertical-align: top; }
/*********************************************
* LINKS
*********************************************/
.reveal a {
color: #00008B;
text-decoration: none;
-webkit-transition: color 0.15s ease;
-moz-transition: color 0.15s ease;
transition: color 0.15s ease; }
.reveal a:hover {
color: #0000f1;
text-shadow: none;
border: none; }
.reveal .roll span:after {
color: #fff;
background: #00003f; }
/*********************************************
* IMAGES
*********************************************/
.reveal section img {
margin: 15px 0px;
background: rgba(255, 255, 255, 0.12);
}
.reveal section img.bordered
{
border: 4px solid #000;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}
.reveal a img {
-webkit-transition: all 0.15s linear;
-moz-transition: all 0.15s linear;
transition: all 0.15s linear; }
.reveal a:hover img {
background: rgba(255, 255, 255, 0.2);
border-color: #00008B;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left, .reveal .controls div.navigate-left.enabled {
border-right-color: #00008B; }
.reveal .controls div.navigate-right, .reveal .controls div.navigate-right.enabled {
border-left-color: #00008B; }
.reveal .controls div.navigate-up, .reveal .controls div.navigate-up.enabled {
border-bottom-color: #00008B; }
.reveal .controls div.navigate-down, .reveal .controls div.navigate-down.enabled {
border-top-color: #00008B; }
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: #0000f1; }
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: #0000f1; }
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: #0000f1; }
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: #0000f1; }
/*********************************************
* PROGRESS BAR
*********************************************/
.reveal .progress {
background: rgba(0, 0, 0, 0.2); }
.reveal .progress span {
background: #00008B;
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
/*********************************************
* SLIDE NUMBER
*********************************************/
.reveal .slide-number {
color: #00008B; }
/*********************************************
* CUSTOM HIGHLIGHTS
*********************************************/
.reveal .slides section .fragment.highlight-grey,
.reveal .slides section .fragment.highlight-current-grey {
opacity: 1;
visibility: inherit; }
.reveal .slides section .fragment.highlight-grey.visible {
color: lightgrey; }
.reveal .slides section .fragment.highlight-current-grey.current-fragment {
color: lightgrey; }
/*********************************************
* CUSTOM TAGS
*********************************************/
attribution {
width: 100%;
text-align: right;
font-size: 40%;
display: block;
}

View File

@ -0,0 +1,132 @@
<!doctype html>
<html lang="en">
<% slides_dir="../slides" %>
<% reveal_js_dir=slides_dir+"/reveal.js-3.7.0" %>
<head>
<meta charset="utf-8">
<title><%= title %></title>
<meta name="description" content="<%= title %>">
<meta name="author" content="Oliver Kennedy">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
<link rel="stylesheet" href="<%=reveal_js_dir%>/css/reveal.css">
<link rel="stylesheet" href="ubodin_v1.css" id="theme">
<!-- Code syntax highlighting -->
<link rel="stylesheet" href="<%=reveal_js_dir%>/lib/css/zenburn.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '<%=reveal_js_dir%>/css/print/pdf.css' : '<%=reveal_js_dir%>/css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
<!--[if lt IE 9]>
<script src="<%=reveal_js_dir%>/lib/js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<div class="reveal">
<!-- Any section element inside of this container is displayed as a slide -->
<div class="header">
<!-- Any Talk-Specific Header Content Goes Here -->
<%= title %>
</div>
<div class="footer">
<!-- Any Talk-Specific Footer Content Goes Here -->
<div style="float: left; margin-top: 15px; ">
Exploring <u><b>O</b></u>nline <u><b>D</b></u>ata <u><b>In</b></u>teractions
</div>
<a href="https://odin.cse.buffalo.edu" target="_blank">
<img src="graphics/logos/odin-1line-white.png" height="40" style="float: right;"/>
</a>
</div>
<div class="slides">
<%= body %>
</div></div>
<script src="<%=reveal_js_dir%>/lib/js/head.min.js"></script>
<script src="<%=reveal_js_dir%>/js/reveal.js"></script>
<script>
// Full list of configuration options available at:
// https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
controls: false,
progress: false,
history: true,
center: true,
slideNumber: true,
transition: 'fade', // none/fade/slide/convex/concave/zoom
chart: {
defaults: {
global: {
title: { fontColor: "#333", fontSize: 24 },
legend: {
labels: { fontColor: "#333", fontSize: 20 },
},
responsiveness: true
},
scale: {
scaleLabel: { fontColor: "#333", fontSize: 20 },
gridLines: { color: "#333", zeroLineColor: "#333" },
ticks: { fontColor: "#333", fontSize: 16 },
}
},
line: { borderColor: [ "rgba(20,220,220,.8)" , "rgba(220,120,120,.8)", "rgba(20,120,220,.8)" ], "borderDash": [ [5,10], [0,0] ]},
bar: { backgroundColor: [
"rgba(220,220,220,0.8)",
"rgba(151,187,205,0.8)",
"rgba(205,151,187,0.8)",
"rgba(187,205,151,0.8)"
]
},
pie: { backgroundColor: [ ["rgba(0,0,0,.8)" , "rgba(220,20,20,.8)", "rgba(20,220,20,.8)", "rgba(220,220,20,.8)", "rgba(20,20,220,.8)"] ]},
radar: { borderColor: [ "rgba(20,220,220,.8)" , "rgba(220,120,120,.8)", "rgba(20,120,220,.8)" ]},
},
// Optional reveal.js plugins
dependencies: [
{ src: '<%=reveal_js_dir%>/lib/js/classList.js', condition: function() { return !document.body.classList; } },
{ src: '<%=reveal_js_dir%>/plugin/math/math.js',
condition: function() { return true; },
mathjax: '<%=reveal_js_dir%>/js/MathJax.js'
},
{ src: '<%=reveal_js_dir%>/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: '<%=reveal_js_dir%>/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: '<%=reveal_js_dir%>/plugin/highlight/highlight.js', async: true, condition: function() { return !!document.querySelector( 'pre code' ); }, callback: function() { hljs.initHighlightingOnLoad(); } },
{ src: '<%=reveal_js_dir%>/plugin/zoom-js/zoom.js', async: true },
{ src: '<%=reveal_js_dir%>/plugin/notes/notes.js', async: true },
// Chart.min.js
{ src: '<%=reveal_js_dir%>/plugin/chart/Chart.min.js'},
// the plugin
{ src: '<%=reveal_js_dir%>/plugin/chart/csv2chart.js'},
{ src: '<%=reveal_js_dir%>/plugin/svginline/es6-promise.auto.js', async: false },
{ src: '<%=reveal_js_dir%>/plugin/svginline/data-src-svg.js', async: false }
]
});
</script>
</body>
</html>