-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathspaceapi.tex
147 lines (131 loc) · 3.58 KB
/
spaceapi.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
\documentclass{beamer}
\usepackage[utf8x]{inputenc}
\usepackage{color}
\usepackage{listings}
\usepackage{graphicx} % needed for beamer
\lstset{%
language=sh, % FIXME: nice syntax coloring for JSON
basicstyle=\ttfamily\footnotesize,
showspaces=false,
showstringspaces=false,
showtabs=false,
keepspaces=true,
%breaklines=true,
}
\usetheme{Boadilla}
\usefonttheme{professionalfonts}
\useoutertheme[subsection=false,footline=empty]{miniframes}
\useinnertheme{circles}
\setbeamertemplate{footline}[frame number]
\author{slopjong, rohieb}
\title{SpaceAPI}
\subtitle{Dezentrales Hackerspace-Informationssystem}
\institute{GPN13}
\date{1. Juni 2013}
\begin{document}
\begin{frame}
\maketitle
\end{frame}
\section{Motivation}
\begin{frame}{Motivation}
Jeder Hackerspace kennt das Problem\ldots
\begin{center}
\includegraphics[width=0.9\textwidth]{openclose-impl.png}
\end{center}
\end{frame}
\begin{frame}{Motivation}
\begin{itemize}
\item einheitliche API für Metadaten über Hackerspaces
\pause
\begin{itemize}
\item Adressen
\item Kontaktdaten
\item Events
\item \ldots you name it.
\end{itemize}
\pause
\item because we can
\item more dataporn
\end{itemize}
\end{frame}
\section{Architektur}
\begin{frame}{Architektur}
\begin{itemize}
\item HTTP
\item JSON
\item dezentral!
\begin{itemize}
\item Endpoints
\item OpenSpace Directory
\end{itemize}
\end{itemize}
\end{frame}
\subsection{OpenSpace Directory}
\begin{frame}[fragile]{OpenSpace Directory}
\texttt{GET} \url{http://spaceapi.net/directory.json}
\begin{itemize}
\item Mapping Hackerspace-Name $\Rightarrow$ Endpoint-URL
\item Attribut-Filter
\end{itemize}
\begin{lstlisting}
$ curl http://spaceapi.net/directory.json?filter=cam
{
"Ace Monster Toys":"http:\/\/acemonstertoys.org\/status.json",
"Bitlair":"https:\/\/bitlair.nl\/statejson.php",
"FamiLAB":"http:\/\/familab.org\/status\/status.php",
"Farset Labs":"http:\/\/openspace.slopjong.de\/cache\/Farset+Labs",
[...]
}
\end{lstlisting}
\end{frame}
\begin{frame}{ALL the Spaces}
\begin{center}
\includegraphics[width=0.9\textwidth]{allthespaces.png}
\end{center}
\end{frame}
\subsection{Endpoints}
\begin{frame}[fragile]{Endpoints}
\begin{lstlisting}
$ curl http://status.stratum0.org/status.json
{
"api": "0.12",
"space": "Stratum 0",
"url": "https:\/\/stratum0.org",
"logo": "https:\/\/stratum0.org\/mediawiki\/images\/thumb\/c\/c6\/Sanduhr-twitter-avatar-black.svg\/240px-Sanduhr-twitter-avatar-black.svg.png",
"address": "Hamburger Strasse 273a, 38114 Braunschweig, Germany",
"lon": 10.5211247, "lat": 52.2785658,
"lastchange": 1369899560
"open": true, "status": "We're open for public",
"contact": {
"phone": "+4953128769245",
"twitter": "@stratum0",
"ml": "[email protected]",
"irc": "irc:\/\/irc.freenode.net\/#stratum0" },
"icon": {
"open": "http:\/\/status.stratum0.org\/open_square.png",
"closed": "http:\/\/status.stratum0.org\/closed_square.png"
} }
\end{lstlisting}
\end{frame}
\section{Apps}
\begin{frame}{Hackerspace Globe}
\begin{center}
\includegraphics[height=0.7\textheight]{hackerspace-globe.png}
\url{http://joewalnes.github.io/hackerspace-globe/}
\end{center}
\end{frame}
\begin{frame}{Hackerspace Globe}
\begin{center}
\includegraphics[height=0.7\textheight]{my-hackerspace.png}
\url{https://github.com/fixme-lausanne/MyHackerspace}
\end{center}
\end{frame}
\begin{frame}[fragile]{Kontakt}
\begin{itemize}
\item \url{http://spaceapi.net}
\item Mailingliste:
\url{http://lists.hackerspaces.org/mailman/listinfo/spaceapi-devel}
\item IRC: \texttt{\#spaceapi} auf FreeNode
\end{itemize}
\end{frame}
\end{document}