Files: 4ffc83ead4a4a8c516db044d4c05aa2f2e5b58eb / slides.ps
15491 bytesRaw
1 | %! |
2 | % vi: et ts=2 sts=2 sw=2 |
3 | << /PageSize [1280 720] >> setpagedevice |
4 | |
5 | /lineheight 20 def |
6 | /lineheight_ratio 1.2 def |
7 | /tab 72 def |
8 | |
9 | /selectfont2 { dup lineheight_ratio mul /lineheight exch def selectfont } bind def |
10 | /h0 { /LiberationSerif-Bold 60 selectfont2 } bind def |
11 | /h1 { /LiberationSerif-Bold 45 selectfont2 } bind def |
12 | /h2 { /LiberationSerif-Bold 34 selectfont2 } bind def |
13 | /h3 { /LiberationSerif-Bold 28 selectfont2 } bind def |
14 | /body0 { /LiberationSerif 27 selectfont2 } bind def |
15 | /bold0 { /LiberationSerif-Bold 27 selectfont2 } bind def |
16 | /body { /LiberationSerif 32 selectfont2 } bind def |
17 | /body1 { /LiberationSerif 48 selectfont2 } bind def |
18 | /bold { /LiberationSerif-Bold 32 selectfont2 } bind def |
19 | /italic { /LiberationSerif-Italic 27 selectfont2 } bind def |
20 | /code { /LiberationMono 27 selectfont2 } bind def |
21 | /ref0 { /LiberationMono 9 selectfont2 } bind def |
22 | /ref { /LiberationMono 13 selectfont2 } bind def |
23 | /centershow { dup stringwidth pop /w exch def w neg 2 div 0 rmoveto show } bind def |
24 | /hmoveto { /h exch def h currentpoint exch pop moveto } bind def |
25 | /vmoveto { /v exch def currentpoint pop v moveto } bind def |
26 | /cr { tab hmoveto } bind def |
27 | /lf { 0 lineheight neg rmoveto } bind def |
28 | /lf0 { 0 lineheight 0.5 mul neg rmoveto } bind def |
29 | /lf2 { 0 lineheight 1.5 mul neg rmoveto } bind def |
30 | /scl { show cr lf } bind def |
31 | /cscl { centershow cr lf } bind def |
32 | /indent { /tab exch def tab hmoveto } bind def |
33 | /indent_here { currentpoint pop indent } bind def |
34 | /imoveto { moveto indent_here } bind def |
35 | |
36 | /top_center { 640 660 imoveto } bind def |
37 | |
38 | % width height scale file DrawImage |
39 | /DrawImage { |
40 | /the_file exch def |
41 | /z exch def |
42 | /h exch def |
43 | /w exch def |
44 | gsave |
45 | 0 lineheight 0.75 mul rmoveto |
46 | currentpoint translate |
47 | z z scale |
48 | w h scale |
49 | 0 -1 translate |
50 | w h 8 |
51 | [w 0 0 h neg 0 h] |
52 | the_file false 3 colorimage |
53 | grestore |
54 | 0 h z mul lineheight 0.75 mul sub neg rmoveto |
55 | } bind def |
56 | |
57 | /DrawRgb { (r) file DrawImage } bind def |
58 | /DrawJpeg { (r) file /DCTDecode filter DrawImage } bind def |
59 | |
60 | /DrawEps { |
61 | /filename exch def |
62 | /z exch def |
63 | save |
64 | currentpoint translate |
65 | z z scale |
66 | /showpage { } def |
67 | filename run |
68 | restore |
69 | } bind def |
70 | |
71 | /split { |
72 | /str exch def |
73 | /num_words 0 def |
74 | { |
75 | str search { % post match pre |
76 | 2 -1 roll % post pre match |
77 | 3 -1 roll % pre match post |
78 | /num_words num_words 2 add def |
79 | } { |
80 | /num_words num_words 1 add def |
81 | exit |
82 | } ifelse |
83 | } loop |
84 | num_words packedarray |
85 | } bind def |
86 | |
87 | /newline ( |
88 | ) def |
89 | |
90 | /show_lines { |
91 | /str exch def |
92 | str newline split { |
93 | dup newline ne { |
94 | scl |
95 | } if |
96 | } forall |
97 | } bind def |
98 | |
99 | 640 558 imoveto |
100 | |
101 | h0 (Secure Scuttlebutt) cscl |
102 | h1 (Peer-to-peer Collaboration and Community Infrastructure) cscl |
103 | lf2 |
104 | |
105 | h2 |
106 | gsave |
107 | -440 0 rmoveto |
108 | 184 184 0.80 (lp2020.rgb) DrawRgb |
109 | grestore |
110 | gsave |
111 | 300 -110 rmoveto |
112 | 0.85 (hermies-rainbow.eps) DrawEps |
113 | grestore |
114 | (March 15, 2020) cscl |
115 | (LibrePlanet) cscl |
116 | (Boston, MA) cscl |
117 | lf2 |
118 | |
119 | h2 (Charles E. Lehner) cscl |
120 | code |
121 | %(cel@celehner.com) cscl |
122 | (@f/6sQ6d2CMxRUhLpspgGIulDxDCwYD7DzFzPNr7u5AU=.ed25519) cscl |
123 | |
124 | showpage |
125 | |
126 | |
127 | top_center h1 (Me) cscl |
128 | body |
129 | 200 500 imoveto |
130 | 256 256 1 (cel.jpg) DrawJpeg |
131 | |
132 | 638 480 imoveto |
133 | (@cel) h2 scl |
134 | body |
135 | lf |
136 | (Developer) scl |
137 | (git-ssb, patchfoo, sbotc) scl |
138 | lf |
139 | (Using SSB since 2014) scl |
140 | lf |
141 | |
142 | showpage |
143 | |
144 | |
145 | top_center h1 (SSB) cscl |
146 | body1 |
147 | 420 500 imoveto |
148 | (� p2p, f2f, e2e) scl |
149 | (� gossip protocol) scl |
150 | (� social network) scl |
151 | (� application platform) scl |
152 | |
153 | 50 120 imoveto |
154 | 0.6 (gossip.eps) DrawEps |
155 | -20 30 rmoveto |
156 | ref lf2 (%xRPUKpUVLyyMJw/obpJXGyl8D3N3VJKE4d6BObXFGDk=.sha256) show |
157 | |
158 | 860 120 imoveto |
159 | 0.6 (ebt.eps) DrawEps |
160 | -20 30 rmoveto |
161 | ref lf2 (%ipyEyC3oODPTf2X/GyCzU7vgPB/Ut5uay4MtT5w3X9U=.sha256) show |
162 | |
163 | showpage |
164 | |
165 | |
166 | % Technical Intro |
167 | top_center h1 (Cypherlinks) cscl |
168 | |
169 | body |
170 | 72 550 imoveto |
171 | |
172 | h1 (Message) scl |
173 | code (%Oys+Dg6P0h8LvykiMTQW5L43iwuJpuvOIiVW5RZs9Cw=.sha256) scl |
174 | lf |
175 | lf |
176 | |
177 | h1 (Blob) scl |
178 | code (&C93joUl4xSFH3cVJM6ZZQdAr+WXIiDLIyUQDZ//y4qw=.sha256) scl |
179 | lf |
180 | lf |
181 | |
182 | h1 (Feed) scl |
183 | body |
184 | code (@f/6sQ6d2CMxRUhLpspgGIulDxDCwYD7DzFzPNr7u5AU=.ed25519) scl |
185 | lf |
186 | lf |
187 | |
188 | showpage |
189 | |
190 | |
191 | top_center h1 (Message) cscl |
192 | |
193 | 36 indent |
194 | gsave |
195 | 2.0 dup scale |
196 | ref ( |
197 | { |
198 | "key": "%8XKAub/+keTbOXU+eS1/r2+wDMfk0369fLJ57Re9Ku0=.sha256", |
199 | "value": { |
200 | "previous": "%0tpLhWn8nC1iA+thcZnVYt5Nm6OtUvkFXMuHdB9roS4=.sha256", |
201 | "author": "@C3iYh/12sO1uvKq1KcZXLFxSySzxOkHxXN8rtNB5MGA=.ed25519", |
202 | "sequence": 1359, |
203 | "timestamp": 1506213306259, |
204 | "hash": "sha256", |
205 | "content": { |
206 | "type": "post", |
207 | "text": "hello world" |
208 | }, |
209 | "signature": "Nz4WOuOMpXU2xXUgW+cGTLCiU1BCYiHQFWvyUnppq+YmwV1TZM |
210 | 5+FM12SAclA2BFgRdHyG6Y9lDCXHJdMFiMAw==.sig.ed25519" |
211 | } |
212 | }) show_lines |
213 | grestore |
214 | |
215 | showpage |
216 | |
217 | |
218 | % Peers and pubs |
219 | % Network structure |
220 | top_center h1 (Pubs) cscl |
221 | |
222 | 100 530 imoveto |
223 | 960 640 0.60 (robot-bartender.jpg) DrawJpeg |
224 | ref lf2 (%7Puw6nBVX0uaL/Q7C6jv4sJiv2xcVv465JoyQseLPcs=.sha256) show |
225 | |
226 | 760 520 imoveto |
227 | 512 512 0.60 (pub-cel.jpg) DrawJpeg |
228 | -20 0 rmoveto |
229 | ref lf2 (%AsywVupvKB2HcnGX7OMsuo7G32uq+sEM0+qGzJ3YZ9w=.sha256) show |
230 | |
231 | showpage |
232 | |
233 | top_center h1 (Herm[i]es) cscl |
234 | |
235 | 480 300 imoveto |
236 | 0.3 (hermies.eps) DrawEps |
237 | 0 30 rmoveto |
238 | ref lf2 (%6Ykl7b5uYr429NTJEvtPYQijCvyA5nK/EZh55mj5574=.sha256) show |
239 | |
240 | 239 210 imoveto |
241 | 250 200 0.9 (hermies-gift.rgb) DrawRgb |
242 | -30 0 rmoveto |
243 | ref lf2 (%muLMFIRjAuMiOs7gKGQrisWF9QEX7PjHJR7HrwmNbac=.sha256) show |
244 | |
245 | 739 230 imoveto |
246 | 900 663 0.30 (hermies-drawing.jpg) DrawJpeg |
247 | ref lf2 (%PeCILG55OGNA/6V6dnWoIX6v8KdRHVqyPBgYT9neU6g=.sha256) show |
248 | |
249 | 70 500 imoveto |
250 | 389 400 0.60 (bwcrab.rgb) DrawRgb |
251 | ref lf2 (%lmP6wJqkUFbeke8b0FJ8DCcFln7rWJaaoms/gN3FzAA=.sha256) show |
252 | |
253 | showpage |
254 | |
255 | |
256 | top_center h1 (Patchwork) cscl |
257 | |
258 | 115 610 imoveto |
259 | h2 (Public Feed) scl |
260 | 900 962 0.58 (patchwork-feed.jpg) DrawJpeg |
261 | ref lf2 (%n/hAHVDJevZ92Nteu0CKlx9YKDDxqejPsPB/jw49llc=.sha256) show |
262 | |
263 | 720 610 imoveto |
264 | h2 (Profile) scl |
265 | 900 1005 0.555 (patchwork-joey-profile.jpg) DrawJpeg |
266 | ref lf2 (%xZ8vcTR67JCFtYOYsnSgsWIKfAnJarg8aMMY5ELjTrA=.sha256) show |
267 | |
268 | showpage |
269 | |
270 | |
271 | top_center h1 (Patchwork) cscl |
272 | |
273 | 115 610 imoveto |
274 | h2 (Tags) scl |
275 | 937 1080 0.5 (patchwork-tags.jpg) DrawJpeg |
276 | ref lf2 (%+1kBGWr4TMZkKvXCn7VboGkv6G23c32Kun2xl9m3Qjk=.sha256) show |
277 | cr lf2 (%0rpoHSyVRIkY9lSXkjF+B68x+d8RNyVJy/ErvAF82T8=.sha256) show |
278 | |
279 | 720 610 imoveto |
280 | h2 (Thread) scl |
281 | 803 1035 0.52 (patchwork-thread.jpg) DrawJpeg |
282 | ref lf2 (%wcR3H38WfELYOFRno/PpKBqgo90Gk273ya+mRM4kDxQ=.sha256) show |
283 | cr lf2 (%lCX+OgVrPgs44b6meFz3kE54r4CW19y0oiU6rrV6GQU=.sha256) show |
284 | |
285 | showpage |
286 | |
287 | |
288 | top_center h1 (Patchwork - Gatherings) cscl |
289 | 295 600 imoveto |
290 | 1028 876 0.68 (patchwork-gathering.jpg) DrawJpeg |
291 | ref lf2 (%EQXXQhhDdVNDvj5R9klck6/V8kYz65NiaQld4RBd/uY=.sha256) show |
292 | |
293 | showpage |
294 | |
295 | |
296 | false { |
297 | top_center h1 (Moderation) cscl |
298 | % blocking, following, private blocking |
299 | |
300 | showpage |
301 | } if |
302 | |
303 | |
304 | top_center h1 (Patchbay) cscl |
305 | |
306 | 330 590 imoveto |
307 | h2 (Thread) scl |
308 | 1028 795 0.6 (patchbay-thread.jpg) DrawJpeg |
309 | ref lf2 (%RP5p5qBqjsW/5Rl68xGIcn58X3MiyinsqsbLTHWbnM4=.sha256) show |
310 | |
311 | showpage |
312 | |
313 | |
314 | top_center h1 (Patchbay apps) cscl |
315 | % chess, books, image search, query, scry |
316 | 20 610 imoveto |
317 | h2 (Polls) scl |
318 | 1028 795 0.69 (patchbay-scry.jpg) DrawJpeg |
319 | ref lf2 (%FMqOZqJIdj3VD59nMw+acmZFvQ/OSXaWr+cfdIH6F9s=.sha256) show |
320 | |
321 | 770 610 imoveto |
322 | h2 (Books) scl |
323 | gsave |
324 | 0.57 dup scale |
325 | currentpoint translate |
326 | 0 20 imoveto |
327 | 820 1009 1 (books.jpg) DrawJpeg |
328 | ref |
329 | 348 711 rmoveto indent_here |
330 | (%Aze1pn6qC6VMMTSdSXwVr94qjRhtf3usLlmN7u1Y30U=.sha256) scl |
331 | 0 -285 rmoveto |
332 | (%ZdU8zCk6sQm4Z8oMg3tmcNZxzV/+N+RbE/+zRZGn4Nw=.sha256) scl |
333 | 0 -268 rmoveto |
334 | (%Ct+wss64+fcTRMSRsPZU+/efgWsvmQ+QqXVaWKHtkaU=.sha256) scl |
335 | 0 -270 rmoveto |
336 | (%H50O+eJxQLmyDEdBJTAx08hRnyYIZBpxGcXeGNRQh4k=.sha256) scl |
337 | grestore |
338 | |
339 | showpage |
340 | |
341 | top_center h1 (Patchbay apps 2) cscl |
342 | |
343 | 130 625 imoveto |
344 | h2 (Chess) scl |
345 | 1280 720 0.8 (patchbay-chess.jpg) DrawJpeg |
346 | ref lf2 (%jyn3lc2F6ICLxFbYbvrfsdKp1fDQWyiZDdiz5gYdtI8=.sha256) show |
347 | |
348 | showpage |
349 | |
350 | |
351 | top_center h1 (Patchfox) cscl |
352 | |
353 | 30 590 imoveto |
354 | 1705 1080 0.5 (patchfox.jpg) DrawJpeg |
355 | ref lf2 (%iAuYhV5rAs+t/+gyWVilPOTSnmnEl9SJdj6bZlSnRRA=.sha256) show |
356 | |
357 | 920 590 imoveto |
358 | 327 403 0.9 (patchfox-menu.jpg) DrawJpeg |
359 | body |
360 | gsave |
361 | 0.7 0.7 scale |
362 | ref lf2 (%vNnZtiCafFum3VGH2cOhbvaeMCXJnVl9HrQhH7WkPto=.sha256) show |
363 | grestore |
364 | |
365 | showpage |
366 | |
367 | |
368 | top_center h1 (patchfoo) cscl |
369 | 215 590 imoveto |
370 | 1024 600 0.80 (patchfoo.rgb) DrawRgb |
371 | ref lf2 (%O3uj3mNvhbwTNb7Mo/30FNo46pYKakNvc3G0Y0DYif8=.sha256) show |
372 | |
373 | showpage |
374 | |
375 | |
376 | top_center h1 (Oasis) cscl |
377 | 220 590 imoveto |
378 | 977 641 0.9 (oasis.jpg) DrawJpeg |
379 | ref lf2 (%u+Mnq1AFB2w7BV3F27jfi2EcZiyPc7YCnK1mEf+9Z9U=.sha256) show |
380 | |
381 | showpage |
382 | |
383 | |
384 | top_center h1 (ssb-browser-demo) cscl |
385 | 200 590 imoveto |
386 | 1126 927 0.64 (ssb-browser-demo.jpg) DrawJpeg |
387 | ref lf2 (%pc3IVvokQreZF1a0q448THRccPcuBv5PHhuO6sBUTIA=.sha256) show |
388 | |
389 | showpage |
390 | |
391 | |
392 | top_center h1 (Manyverse) cscl |
393 | |
394 | currentgray |
395 | 0.3 setgray |
396 | 73 48 334 587 rectfill |
397 | 873 48 334 587 rectfill |
398 | setgray |
399 | |
400 | body |
401 | 78 600 imoveto |
402 | 720 1280 0.45 (manyverse-connections.jpg) DrawJpeg |
403 | ref lf2 |
404 | gsave |
405 | 0.9 dup scale |
406 | -20 0 rmoveto |
407 | (%P7B6o2keZ3UNVWqohSzTzGWzkt7Xum0cehoe6GpkZXQ=.sha256) show |
408 | grestore |
409 | body |
410 | |
411 | 488 610 imoveto |
412 | 500 1000 0.6 (manyverse-ios.jpg) DrawJpeg |
413 | gsave |
414 | 0.9 dup scale |
415 | -35 0 rmoveto |
416 | ref lf2 (%yNkrJtnHyR4LcgzYvJ3nYdvQ1U3i2SlVxzbs7vOH5WU=.sha256) show |
417 | grestore |
418 | body |
419 | |
420 | 878 600 imoveto |
421 | 720 1280 0.45 (manyverse-thread.jpg) DrawJpeg |
422 | |
423 | showpage |
424 | |
425 | |
426 | top_center h1 (Planetary) cscl |
427 | |
428 | currentgray |
429 | 0.3 setgray |
430 | 48 78 296 524 rectfill |
431 | setgray |
432 | |
433 | 50 560 imoveto |
434 | 750 1334 0.39 (planetary-menu.jpg) DrawJpeg |
435 | ref lf2 (%I/I5GcW48qtCYCdF8tViB2kT3DXzvGBISh8mAdaDRFY=.sha256) show |
436 | |
437 | 465 630 imoveto |
438 | 724 1280 0.48 (planetary-post.jpg) DrawJpeg |
439 | |
440 | 880 630 imoveto |
441 | 724 1280 0.48 (planetary-channels.jpg) DrawJpeg |
442 | |
443 | 640 25 imoveto |
444 | ref (%SD3WszbEsswbRHhj6cCffcKD2ZhwF6iJ/OCKwQmLGOY=.sha256) show |
445 | |
446 | showpage |
447 | |
448 | |
449 | top_center h1 (git-ssb) cscl |
450 | 200 590 imoveto |
451 | 1280 800 0.70 (git-ssb-web.jpg) DrawJpeg |
452 | ref lf2 (%dY2VrwvI5vO9Dqf1UR3Ev4zZdXJU0/XwRFwt92Y29v4=.sha256) show |
453 | |
454 | showpage |
455 | |
456 | |
457 | top_center h1 (More apps) cscl |
458 | body |
459 | 100 570 imoveto |
460 | (� ScuttleShell) scl |
461 | (� ssb-npm-registry) scl |
462 | (� ssb-viewer) scl |
463 | (� ssb-dns) scl |
464 | (� ssb-mutual) scl |
465 | (� yap) scl |
466 | (� mvd) scl |
467 | (...) scl |
468 | |
469 | 100 240 imoveto |
470 | 500 246 0.6 (scat.jpg) DrawJpeg |
471 | body lf (ssb-chat) show cr |
472 | ref0 lf2 (%R801Mq6vKv3lO0DueYJdP3fBzuOKLBYC5IftdvQ5N9I=.sha256) show |
473 | |
474 | 500 560 imoveto |
475 | 500 284 0.6 (ticktack.jpg) DrawJpeg |
476 | body lf (TickTack) show cr |
477 | ref0 lf2 (%ZGfik3+hbI0uKkpG0aRijRfHLNy6PwdWuuJ2BnR/Bg4=.sha256) show |
478 | |
479 | 500 270 imoveto |
480 | 500 266 0.6 (guild-lands.jpg) DrawJpeg |
481 | body lf (Guild Lands) show cr |
482 | ref0 lf2 (%hagbVpbADoNQ6zmhovB3HhzRzrcSEkY0G0g3Dd+QMwE=.sha256) show |
483 | |
484 | body1 |
485 | 850 540 imoveto |
486 | 500 351 0.6 (talenet.jpg) DrawJpeg |
487 | body lf (tale:net) show cr |
488 | %ref0 lf2 () show |
489 | |
490 | 850 280 imoveto |
491 | 500 376 0.6 (ngx.jpg) DrawJpeg |
492 | body lf (ngx-ssb-client) show cr |
493 | %ref0 lf2 (%ZGfik3+hbI0uKkpG0aRijRfHLNy6PwdWuuJ2BnR/Bg4=.sha256) show |
494 | |
495 | showpage |
496 | |
497 | |
498 | top_center h1 (Other implementations) cscl |
499 | body |
500 | gsave |
501 | 1.5 dup scale |
502 | 200 300 imoveto |
503 | |
504 | (Full: Node.js, Go, Rust) scl |
505 | lf |
506 | |
507 | (Partial: C, Python, Java, Swift, Erlang) scl |
508 | lf |
509 | |
510 | (Crypto: C (libsodium)) scl |
511 | |
512 | grestore |
513 | showpage |
514 | |
515 | |
516 | false { |
517 | top_center h1 (Funding) cscl |
518 | % dfinity grant / ssbc grants |
519 | |
520 | showpage |
521 | } if |
522 | |
523 | |
524 | top_center h1 (Funding) cscl |
525 | % Handshake grant / council / budget |
526 | 130 0 imoveto |
527 | currentgray 0.8 setgray |
528 | currentpoint 20 add 488 610 rectstroke |
529 | setgray |
530 | 0.80 (hc-budget.eps) DrawEps |
531 | body |
532 | lf |
533 | %(Handshake Council Budget, 2019-04-03) show cr |
534 | %ref lf2 (%zmv8Fvm3a7qnAVBs2O7se5JlJXqsrqjBZwB88/Bv8DQ=.sha256) show |
535 | % Planetary |
536 | |
537 | showpage |
538 | |
539 | |
540 | %top_center h1 (Open Collectives) cscl |
541 | % |
542 | %showpage |
543 | |
544 | |
545 | top_center h1 (Scuttlecamp) cscl |
546 | 230 590 imoveto |
547 | 1080 722 0.75 (scuttlecamp1.jpg) DrawJpeg |
548 | ref lf2 (%hLhNMksptjCxNi+B77DHrYEu26jDTrqgGsfb1+NvuWA=.sha256) show |
549 | |
550 | showpage |
551 | |
552 | |
553 | top_center h1 (Diversity and Inclusion) cscl |
554 | |
555 | 55 16 imoveto |
556 | gsave |
557 | 0.78 dup scale |
558 | 1 (inspo.eps) DrawEps |
559 | currentgray 0.8 setgray |
560 | 0 792 rlineto |
561 | 612 0 rlineto |
562 | 0 -792 rlineto |
563 | currentpoint |
564 | stroke |
565 | moveto |
566 | -612 0 rlineto |
567 | [4] 0 setdash |
568 | stroke |
569 | grestore |
570 | |
571 | 580 110 imoveto |
572 | gsave |
573 | 0.78 dup scale |
574 | 1 (inclusion.eps) DrawEps |
575 | currentgray 0.8 setgray |
576 | currentpoint 15 add 840 575 rectstroke |
577 | grestore |
578 | |
579 | showpage |
580 | |
581 | |
582 | top_center h1 (Principles stack) cscl |
583 | |
584 | 200 550 imoveto |
585 | 1309 637 0.70 (principles.rgb) DrawRgb |
586 | body |
587 | ref lf2 (%NwS0OAEqJDfbioRdwmY/IQwCdMBm6RmzhZJR682DATA=.sha256) show |
588 | |
589 | showpage |
590 | |
591 | |
592 | false { |
593 | top_center h1 (Culture) cscl |
594 | % technical influences: immutability, sharing |
595 | |
596 | showpage |
597 | } if |
598 | |
599 | |
600 | 10 660 imoveto |
601 | 1600 656 0.5 (accessories.jpg) DrawJpeg |
602 | 0 10 rmoveto |
603 | ref lf2 (%0h9biRh7teJlwtWD6gFkzSBv8fZlXj9Qr3HrbHPkgwU=.sha256) show |
604 | |
605 | top_center |
606 | 0 20 rmoveto |
607 | h1 (Solarpunk) cscl |
608 | |
609 | 780 600 imoveto |
610 | 1200 684 0.40 (urban-garden.jpg) DrawJpeg |
611 | ref lf2 (%uKy6Lo0gTFRIt/pMXowWHU7ZbioE04kQgJ/K3I4WTPc=.sha256) show |
612 | |
613 | 20 300 imoveto |
614 | 800 600 0.45 (mushroom-foraging.jpg) DrawJpeg |
615 | ref lf2 (%mUnUnlqp8gftsmw8oTuc7CezL/BwkoxPn6ucx3y5kSI=.sha256) show |
616 | |
617 | 440 280 imoveto |
618 | 1200 742 0.30 (solarpunk-flag.jpg) DrawJpeg |
619 | ref lf2 (%oKr5NKriL3WEoEGO+fnXnkJoFwg4JPV6Hmvun86Swx8=.sha256) show |
620 | |
621 | 860 300 imoveto |
622 | 600 450 0.60 (solar-shack.jpg) DrawJpeg |
623 | ref lf2 (%SaFh1Tea8Mqh02NRFQxoKKjWhnFAzb8JaJm0ss52Nj4=.sha256) show |
624 | |
625 | showpage |
626 | |
627 | |
628 | top_center h1 (Boats) cscl |
629 | body |
630 | % Cleo |
631 | % Alchemist |
632 | |
633 | 60 600 imoveto |
634 | 900 501 0.60 (boat.jpg) DrawJpeg |
635 | ref lf2 (%on6hMTGlQZ5zW+UqawDcdNmYHdReFS8GuEXvmozL64M=.sha256) show |
636 | |
637 | 660 600 imoveto |
638 | 900 671 0.50 (boat-alchemist.jpg) DrawJpeg |
639 | body |
640 | lf (Alchemist) show cr |
641 | ref lf2 (%FdmACu6aDF4SbbVuh8B1xDSusVoUCrri1YU+KkttrAk=.sha256) show |
642 | |
643 | showpage |
644 | |
645 | top_center h1 (Crab meet) cscl |
646 | |
647 | 780 640 imoveto |
648 | 810 1080 0.58 (basel.jpg) DrawJpeg |
649 | ref lf2 (%LhJZpvqMaaORd7E1S3azBPtJBSJRSFdoeXQfVSixJmA=.sha256) show |
650 | |
651 | 60 350 imoveto |
652 | 900 675 0.45 (boat-crabmeet.jpg) DrawJpeg |
653 | ref lf2 (%CsF9pDgrxzeU5oDZRQ+GmtKBVk85wDiLPcq0keLA42I=.sha256) show |
654 | |
655 | 60 670 imoveto |
656 | 900 540 0.45 (dweb1.jpg) DrawJpeg |
657 | ref lf2 (%sV6uNHQeYiMh+GHjMCQCCFP9pigTRTq6WXpFsNKsEQw=.sha256) show |
658 | |
659 | 530 600 imoveto |
660 | 600 800 0.30 (crabmeet-naarm.jpg) DrawJpeg |
661 | gsave |
662 | 0.5 dup scale |
663 | ref lf2 (%TaKmeNL5ympWXpsyudJ1QqrXLg3ycD2GN7LIN/9QR7E=.sha256) show |
664 | grestore |
665 | |
666 | 505 300 imoveto |
667 | 600 800 0.40 (mozfest.jpg) DrawJpeg |
668 | 0 60 rmoveto |
669 | gsave |
670 | 0.6 dup scale |
671 | ref lf2 (%6zsNFEriZ3ckKi7WpaoM71esgRj+mZmUVbYH3OVVbpg=.sha256) show |
672 | grestore |
673 | |
674 | showpage |
675 | |
676 | |
677 | top_center h1 (#showmeyourcoffee) cscl |
678 | |
679 | 72 580 imoveto |
680 | 1280 960 0.42 (coffee.jpg) DrawJpeg |
681 | ref lf2 (%7411jvQ9GqJyL2So3C5M10d61WGSSDsdyoex+0aUQ+8=.sha256) show |
682 | |
683 | 672 580 imoveto |
684 | 675 900 0.45 (coffee-library.jpg) DrawJpeg |
685 | ref lf2 (%3dkhZpXrnlKfE/sJb/A+NYBiKhUZCGnvcgbYpVWzE6k=.sha256) show |
686 | |
687 | showpage |
688 | |
689 | |
690 | 400 660 imoveto |
691 | h1 (Network graphs) cscl |
692 | 100 600 imoveto |
693 | 900 900 0.67 (gephi-modularity.jpg) DrawJpeg |
694 | ref lf2 (%utUlBefFYqHWcFQaz4r5bZUil9YtYyTik1j6d7ymVyE=.sha256) show |
695 | |
696 | 760 690 imoveto |
697 | 750 727 0.46 (gephi-sun.jpg) DrawJpeg |
698 | ref lf2 (%Qy84JD3wGrXSC3/nfar9DAzWPP4aku6CIcOSr6/CC/E=.sha256) show |
699 | |
700 | 760 310 imoveto |
701 | 750 563 0.50 (gephi-mix50.jpg) DrawJpeg |
702 | ref lf2 (%ZCODq83xRs+sbU8YXxZ1MPlFP1u9i2wyIYAu6GCTqNo=.sha256) show |
703 | |
704 | showpage |
705 | |
706 | top_center h1 (Network activity graph) cscl |
707 | 60 510 imoveto |
708 | 1280 370 0.90 (daily-activity.jpg) DrawJpeg |
709 | body lf (2015-08-05 - 2020-03-05) show cr |
710 | ref lf2 (https://ssb.celehner.com/activity/) show |
711 | showpage |
712 | |
713 | |
714 | 90 16 imoveto |
715 | 0.86 (ccr19.eps) DrawEps |
716 | 62 24 rmoveto |
717 | ref lf2 (%aclRXl3q1cnoOyfVuDRaTAKPESv4J6QLDE4B5M2vDaM=.sha256) show |
718 | |
719 | 670 16 imoveto |
720 | 0.86 (icn19.eps) DrawEps |
721 | 62 24 rmoveto |
722 | ref lf2 (%ky3+/h0MFsevtRpCBYHAq7l7N7JF2FgI21Sw0BSt9Gc=.sha256) show |
723 | |
724 | top_center h1 (Published research) cscl |
725 | |
726 | showpage |
727 | |
728 | |
729 | false { |
730 | top_center h1 (Protocol) cscl |
731 | % https://ssbc.github.io/scuttlebutt-protocol-guide/ |
732 | |
733 | showpage |
734 | } if |
735 | |
736 | |
737 | false { |
738 | top_center h1 (Future) cscl |
739 | % private groups |
740 | |
741 | showpage |
742 | } if |
743 | |
744 | |
745 | false { |
746 | top_center h1 (Links and further resources) cscl |
747 | % http://scuttlebutt.nz |
748 | % http://scuttlebot.io |
749 | % https://ssbc.github.io/scuttlebot/ |
750 | % https://modules.scuttlebutt.nz/ |
751 | |
752 | showpage |
753 | } if |
754 | |
755 | |
756 | top_center |
757 | 0 -300 rmoveto |
758 | h1 (https://scuttlebutt.nz/) cscl |
759 | |
760 | showpage |
761 | |
762 | |
763 | false { |
764 | top_center h1 (Bonus material) cscl |
765 | |
766 | showpage |
767 | } if |
768 |
Built with git-ssb-web