cosin-fahrplan/schedules/2017/events/28.html

134 lines
4.8 KiB
HTML
Raw Normal View History

2024-04-07 00:57:09 +02:00
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type">
<title>Programm Cosin</title>
<link rel="stylesheet" media="screen" href="/fahrplan/2017/assets/public_schedule-fe5c2995f8fa4b0f51bd82df5c41e84e7e7c12485fe767c4a3cf56ad83b2844e.css">
<link rel="stylesheet" media="all" href="/fahrplan/2017/style.css">
<link rel="stylesheet" media="print" href="/fahrplan/2017/assets/public_schedule_print-99d3251f43ed74e6a77a8013f74ce1ee07c4de819a619a15d8b8bb5dc9d4dad1.css">
</head>
<body>
<div id="wrapper">
<div id="banner"></div>
<div id="header">
<h1>Programm Cosin</h1>
</div>
<div id="navigation">
<ul>
<li>
<a href="/fahrplan/2017/schedule.html">Übersicht</a>
</li>
<li>
<a href="/fahrplan/2017/schedule/1.html">
Freitag
-
<span class="small-font">16.06.2017</span>
</a>
</li>
<li>
<a href="/fahrplan/2017/schedule/2.html">
Samstag
-
<span class="small-font">17.06.2017</span>
</a>
</li>
<li>
<a href="/fahrplan/2017/schedule/3.html">
Sonntag
-
<span class="small-font">18.06.2017</span>
</a>
</li>
<li>
<a href="/fahrplan/2017/speakers.html">Referenten</a>
</li>
<li class="selected">
<a href="/fahrplan/2017/events.html">Veranstaltungen</a>
</li>
<li>
<a href="/fahrplan/2017/qrcode.html">QR-Code</a>
</li>
</ul>
</div>
<div id="main-content">
<p class="release">
Version 1.3
</p>
<h2>Vortrag: A Tale of Overengineering</h2>
<h3 class="title">How we Implemented the SpaceAPI in Rust</h3>
<div class="column left" id="basic">
<div class="image large"><img src="/fahrplan/2017/system/events/logos/000/000/028/large/rust-logo-128x128.png" alt="Rust logo 128x128"></div>
<p class="abstract">A talk about the implementation of the SpaceAPI in Rust.</p>
<p class="description">At the hackerspace coredump we started to play around with the Rust programming language around 2015. In order to learn the language by means of overengineering a real world project, we started an implementation of the SpaceAPI. Since then the project grew and includes:</p>
<p class="description">spaceapi-rs (https://github.com/coredump-ch/spaceapi-rs) Implementations of the SpaceAPI types
<br>spaceapi-server-rs (https://github.com/coredump-ch/spaceapi-server-rs) Server which uses the Iron (https://docs.rs/iron/) framework to serve the SpaceAPI JSON. To support dynamic data like sensors it provides a REST API to update values in a redis database.
<br>status (https://github.com/coredump-ch/status) The SpaceAPI implementation for coredump, based on spaceapi-server-rs</p>
<p class="description">In the meantime, we also implemented a SpaceAPI validator (https://github.com/spacedirectory/validator) micro-service which checks if a given JSON object according to the SpaceAPI schema.</p>
<p class="description">We will give a tiny overview about the SpaceAPI, if you're interested in the details you should attend the "The SpaceAPI, and Why Your Hackerspace Should Implement It" talk. We will then continue to show how we replace our 50 lines Python implementation of the SpaceAPI with a slightly overengineered Rust iplementation, consisting of multiple crates. Then we will take a look at how we used Rust's type system to reach our design goal of "making it impossible to produce invalid SpaceAPI JSON".</p>
</div>
<div class="column left" id="details">
<h3>Info</h3>
<p>
<b>Tag:</b>
<a href="/fahrplan/2017/schedule/2.html">17.06.2017</a>
<br>
<b>Anfang:</b>
18:30 Uhr
<br>
<b>Dauer:</b>
00:45
<br>
<b>Raum:</b>
Movie Room
<br>
<b>Track:</b>
<font class="event track-software">
<a href="/fahrplan/2017/events.html#software">Software</a>
</font>
<br>
<b>Sprache:</b>
en
</p>
<h3>Links:</h3>
<ul>
<li><a href="/fahrplan/2017/events/28.ics">iCalendar</a></li>
<li><a href="https://www.rust-lang.org/">Rust Lang</a></li>
<li><a href="http://status.crdmp.ch/">Coredump SpaceAPI</a></li>
<li><a href="https://github.com/coredump-ch/spaceapi-server-rs">SpaceAPI server implementation</a></li>
</ul>
<h3>Dateien</h3>
<ul>
<li><a href="/fahrplan/2017/system/event_attachments/attachments/000/000/005/original/spaceapi_in_rust.pdf">Slides</a></li>
</ul>
<div class="column left" id="concurrent_events">
<h3><span class="translation_missing" title="translation missing: de.public.schedule.event.concurrent_events">Concurrent Events</span></h3>
<dl class="dl-horizontal">
<dt>Workshop Room</dt>
<dd><a href="/fahrplan/2017/events/51.html">42birds: Creative Coding with Processing</a></dd>
</dl>
</div>
</div>
<div class="column right" id="sidebar">
<h3>Referenten</h3>
<table class="list">
<tbody>
<tr>
<td><div class="image small"><img src="/fahrplan/2017/assets/person_small-6becbdd9bedc5ac3962dfb66f90e5ebb8fdbb97c287002e97bba3762a122a2bf.png" alt="Person small"></div></td>
<td><a href="/fahrplan/2017/speakers/24.html">rnestler</a></td>
</tr>
</tbody>
</table>
</div>
<div class="span16">
</div>
<br class="clear">
</div>
</div>
</body>
</html>