Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Start presentation for FT 2020 |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
66f115082b638cf5cf83d949ad0b84bc |
User & Date: | bernd 2020-03-23 21:58:15.547 |
Context
2020-03-24
| ||
23:11 | More on FT2020 presentation check-in: bb236b4601 user: bernd tags: trunk | |
2020-03-23
| ||
21:58 | Start presentation for FT 2020 check-in: 66f115082b user: bernd tags: trunk | |
2020-03-19
| ||
13:38 | Bump version number check-in: 4ef8185694 user: bernd tags: trunk, 0.9.7-20200319 | |
Changes
Added doc/cloudcalypse-16-9-corona.jpg.
cannot compute difference between binary files
Changes to doc/ft2019-presentation.fs.
︙ | ︙ | |||
49 50 51 52 53 54 55 | glue*l }}glue }}v >o font-size# f2/ to border o o> to baseline# ; $FFFFBBFF text-color: redish $00CCCCFF dup text-emoji-color: blue-emoji# m2c:shadow-color# @ color, FValue shadow-col# | | | | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | glue*l }}glue }}v >o font-size# f2/ to border o o> to baseline# ; $FFFFBBFF text-color: redish $00CCCCFF dup text-emoji-color: blue-emoji# m2c:shadow-color# @ color, FValue shadow-col# dark-mode m2c:shadow-color# @ re-color shadow-col# $FFFFBBFF re-text-color redish $00CCCCFF dup re-emoji-color blue-emoji# light-mode $10 stack: vp-tops ' }}i18n-text is }}text' {{ {{ glue-left }}glue |
︙ | ︙ | |||
340 341 342 343 344 345 346 | " }" \\ " }," \\ " \"isPublic\": true" \\ " }" \\ "}" \\ tex: vp-google+ glue*lll ' vp-google+ }}vp vp[] dup vp-tops >stack !i18n \sans \normal | | | | 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 | " }" \\ " }," \\ " \"isPublic\": true" \\ " }" \\ "}" \\ tex: vp-google+ glue*lll ' vp-google+ }}vp vp[] dup vp-tops >stack !i18n \sans \normal light-mode $DDDDDDFF color, dark-mode $202020FF color, fdup to slider-color to slider-fgcolor light-mode dup font-size# f2/ f2/ fdup vslider }}h box[] }}v box[] >bdr }}z box[] /flip dup >slides \ page 5b {{ |
︙ | ︙ | |||
471 472 473 474 475 476 477 | " {" \\ " \"post\": \"Ich hab' noch gar kein Video in meiner Zeitleiste. Deshalb hier die Wedding-Fotos.\"" p\\ " }" \\ " ]" \\ " }," \\ tex: vp-facebook glue*lll ' vp-facebook }}vp vp[] dup vp-tops >stack !i18n \sans \normal | | | | | 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 | " {" \\ " \"post\": \"Ich hab' noch gar kein Video in meiner Zeitleiste. Deshalb hier die Wedding-Fotos.\"" p\\ " }" \\ " ]" \\ " }," \\ tex: vp-facebook glue*lll ' vp-facebook }}vp vp[] dup vp-tops >stack !i18n \sans \normal light-mode $CCCCFFFF color, fdrop dark-mode $000040FF color, fdup to slider-color to slider-fgcolor light-mode dup font-size# f2/ f2/ fdup vslider }}h box[] }}v box[] >bdr }}z box[] /flip dup >slides \ page 7 {{ |
︙ | ︙ | |||
529 530 531 532 533 534 535 | " \"full_text\" : \"@marco_keule @Karl_Lauterbach Die AfD stößt selbst sehr viel Methan aus, wenn sie ihre Furze verbreiten.\"," p\\ " \"lang\" : \"de\"," \\ " \"in_reply_to_screen_name\" : \"marco_keule\"," \\ " \"in_reply_to_user_id_str\" : \"3353806857\"" \\ "}, {" \\ tex: vp-twitter glue*lll ' vp-twitter }}vp vp[] dup vp-tops >stack !i18n \sans \normal | | | 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 | " \"full_text\" : \"@marco_keule @Karl_Lauterbach Die AfD stößt selbst sehr viel Methan aus, wenn sie ihre Furze verbreiten.\"," p\\ " \"lang\" : \"de\"," \\ " \"in_reply_to_screen_name\" : \"marco_keule\"," \\ " \"in_reply_to_user_id_str\" : \"3353806857\"" \\ "}, {" \\ tex: vp-twitter glue*lll ' vp-twitter }}vp vp[] dup vp-tops >stack !i18n \sans \normal light-mode $DDDDDDFF color, dark-mode $202020FF color, fdup to slider-color to slider-fgcolor dup font-size# f2/ f2/ fdup vslider }}h box[] }}v box[] >bdr }}z box[] /flip dup >slides \ page 8 |
︙ | ︙ |
Added doc/ft2020-presentation.fs.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 | #! /usr/bin/env gforth-fast \ Presentation on CloudCalypse \ Copyright © 2020 Bernd Paysan \ This program is free software: you can redistribute it and/or modify \ it under the terms of the GNU Affero General Public License as published by \ the Free Software Foundation, either version 3 of the License, or \ (at your option) any later version. \ This program is distributed in the hope that it will be useful, \ but WITHOUT ANY WARRANTY; without even the implied warranty of \ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the \ GNU Affero General Public License for more details. \ You should have received a copy of the GNU Affero General Public License \ along with this program. If not, see <http://www.gnu.org/licenses/>. require minos2/widgets.fs [IFDEF] android hidekb also android >changed hidestatus >changed previous [THEN] also minos ctx 0= [IF] window-init [THEN] require minos2/font-style.fs 44e update-size# require minos2/text-style.fs require minos2/presentation-support.fs tex: net2o-logo tex: 36c3-logo ' net2o-logo "net2o-200.png" 0.666e }}image-file 2Constant net2o-img ' 36c3-logo "36c3-logo.png" 0.444e }}image-file 2Constant 36c3-img : logo-img ( o1 -- o o-img ) { rightimg } baseline# 0e to baseline# {{ {{ glue*ll }}glue rightimg }}h glue*l }}glue }}v >o font-size# f2/ to border o o> to baseline# ; : logo-img2 ( o1 o2 -- o o-img ) { leftimg rightimg } baseline# 0e to baseline# {{ {{ leftimg glue*ll }}glue rightimg }}h glue*l }}glue }}v >o font-size# f2/ to border o o> to baseline# ; ' }}i18n-text is }}text' light-gui $005555FF text-color: author# dark-gui $44FFFFFF re-color author# {{ {{ glue-left @ }}glue \ page 0 {{ $FFFFFF00 dup pres-frame tex: cloudcalypse ' cloudcalypse "cloudcalypse-16-9-corona.jpg" 2e 3e f/ }}image-file drop /center {{ {{ glue*l }}glue l" CloudCalypse — Coronavirus Edition" /title l" Social Distancing mit net2o" /subtitle glue*2 }}glue l" Bernd Paysan" /author l" Virtuelle Forth–Tagung 2020, Internet" /location {{ glue*l }}glue {{ glue*l }}glue author# \tiny l" Photo: Ralph W. Lambrecht" }}text' /right \normal blackish }}v box[] }}z box[] tex: vp-title glue*l ' vp-title }}vp vp[] dup value title-vp >o 3 vp-shadow>># lshift to box-flags o o> }}v box[] >o font-size# to border o Value title-page o o> }}z box[] dup >slides \ page 1 {{ $000000FF $FFFFFFFF pres-frame {{ l" Motivation" /title glue*l }}glue \ ) $CCDDDD3F color, 4e }}frame dup .button1 tex: bad-gateway ' bad-gateway "bad-gateway.png" 0.666e }}image-file Constant bgw-glue /center glue*l }}glue \ ) $CCDDDD3F color, 4e }}frame dup .button1 }}v box[] >bdr }}z box[] /flip dup >slides \ page 2 {{ $3F0000FF $FFAAAAFF pres-frame {{ l" 6 Years after Snowden" /title l" What changed?" \\ \skip l" Politics" /subsection {{ l" Germany: Telemedia providers = ISPs" "🤦" e\\ l" Germany: Providers have to hand out passwords" "🤦🤦" e\\ l" Germany: online search of cloud data" "🤦🤦🤦" e\\ l" Backdoors still wanted (“reasonable encryption”)" "🤦🤦🤦🤦" e\\ l" Terrorism/Child Porn/Protection of Minors rotated as reasons" "🤦🤦🤦🤦🤦" e\\ }}v box[] \skip l" Progress" /subsection l" net2o becomes more and more usable" \\ \skip l" Permanent Record" /subsection l" BTW, Snowden wrote a book" \\ glue*l }}glue \ ) $CCDDDD3F 4e }}frame dup .button1 }}v box[] >o o Value snowden-page font-size# to border o o> }}z box[] /flip dup >slides \ page 3 {{ $3F0000FF $FFAAAAFF pres-frame {{ glue*l }}glue tex: snowden ' snowden "snowden.png" 0.666e }}image-file drop /right glue*l }}glue }}v >o font-size# to border o o> {{ l" Permanent Record" /title l" On social networks" /subsection \italic l" … Few of us understood it at that time, but none of the things that we’d go on to share would belong to us anymore. The successors to the e–commerce companies that had failed because they couldn’t find anything we were interested in buying now had a new product to sell." p\\ \skip l" That new product was Us." p\\ l" Our attention, our activities, our locations, our desires—everything about us that we revealed, knowingly or not, was being surveilled and sold in secret, so as to delay the inevitable feeling of violation that is, for most of us, coming only now. And this surveillance would go on to be actively encouraged, and even funded by an army of governments greedy for the vast volume of intelligence they would gain." p\\ \regular \skip l" Edward Snowden" }}text' /right \skip l" Note: libertarian framing? corporate vs. government evilness" p\\ glue*l }}glue }}v box[] >o o Value snowden-page2 font-size# to border o o> }}z box[] /flip dup >slides \ page 4 {{ $5F0000FF $FF7777FF pres-frame {{ l" Antisocial Hateworks" /title l" Problems with People since Eternal September" /subsection vt{{ l" Opinions " l" are not facts, but values people believe in" b\\ l" Beliefs " l" are not up to discussion, but part of identity" b\\ l" Identity " l" is vigurously defended and used to segregate people" b\\ l" Walls " l" are in the head, and tearing them down causes aggression" b\\ \skip l" Free Speech " l" is a concept from a time where religion" b\\ l" " l" was strong and science weak" b\\ l" " l" It helped coexistence of different beliefs" b\\ l" " l" and scientific research against dogma" b\\ }}vt }}v box[] >bdr {{ glue*ll }}glue \tiny \mono dark-blue {{ glue*ll }}glue l" 🔗" }}text' l" xkcd.com/386" }}text' _underline_ }}h [: s" xdg-open https://xkcd.com/386" system ;] 0 click[] tex: duty-calls \normal \sans ' duty-calls "duty_calls.png" 0.95e }}image-file drop /right }}v box[] >bdr blackish }}z box[] /flip dup >slides \ page 5 {{ $221100FF $DDEEFFFF pres-frame {{ l" Centralized/Federated/P2P?" /title vt{{ l" Centralized" /subsection l" + " l" good funding, robust hardware and attack protection" b\\ l" – " l" lacks privacy, honeypot, captive, EOL at whim of CEO" b\\ l" – " l" diverse global censorship, possible toxic business model" b\\ l" Federated" /subsection l" + " l" not captive, small business models" b\\ l" ± " l" regional censorship (nodes blacklisted, e.g. Lolicon Mastodon nodes)" b\\ l" – " l" poor funding, underpowered hardware/attack protection" b\\ l" – " l" lacks privacy, EOL of nodes at whim of node admin" b\\ l" Peer2Peer" /subsection l" + " l" Full control over your node, good privacy" b\\ l" + " l" Development funding? Otherwise cheap" b\\ l" ± " l" non–existend censorship (attracts censorship refugees)" b\\ l" – " l" Full responsibility for your node" b\\ }}vt glue*ll }}glue }}v box[] >bdr }}z box[] /flip dup >slides \ page 6 {{ $200020FF $FFCCFFFF pres-frame {{ l" net2o in a nutshell" /title l" net2o consists of the following 6 layers (implemented bottom up):" /subsection \skip {{ vt{{ l" 2. " b0 blackish l" Path switched packets with 2" }}text' \italic l" n" }}smalltext \regular >o font-size# -0.4e f* to raise o o> l" size writing into shared memory buffers" }}text' glue*l }}glue }}h box[] >bl l" 3. " l" Ephemeral key exchange and signatures with Ed25519," b\\ l" " l" symmetric authenticated encryption+hash+prng with Keccak," b\\ l" " l" symmetric block encryption with Threefish" b\\ l" " l" onion routing camouflage with Threefish/Keccak" b\\ l" 4. " l" Timing driven delay minimizing flow control" b\\ l" 5. " l" Stack–oriented tokenized command language" b\\ l" 6. " l" Distributed data (files, messages) and distributed metadata (DHT, DVCS)" b\\ l" 7. " l" Apps in a sandboxed environment for displaying content (ΜΙΝΩΣ2)" b\\ }}vt \skip l" Protocol stack details:" /subsection l" 🔗" l" https://fossil.net2o.de/net2o/doc/trunk/wiki/31c3.md" bm\\ "https://fossil.net2o.de/net2o/doc/trunk/wiki/31c3.md" link[] glue*l }}glue \ ) $CCDDDD3F 4e }}frame dup .button1 }}v box[] >bdr }}z box[] /flip dup >slides \ page 6 {{ $200020FF $FFCCFFFF pres-frame {{ l" Social Networks in net2o" /title vt{{ l" Texts " l" as markdown" b\\ l" Images " l" JPEG, PNG" b\\ l" Movies " l" mkv/webm" b\\ l" Timeline " l" Chat log with link to DVCS project" b\\ l" Posting " l" DVCS project, keeping data+comments together" b\\ l" DVCS project " l" Chat log with link to patchsets/snapshots" b\\ l" Reshare " l" Fork+added posting+log message in own timeline" b\\ l" Comment " l" Fork+added posting+pull request" b\\ l" Likes " l" Chat log messages directly in DVCS project" b\\ }}vt }}v box[] >bdr }}z box[] /flip dup >slides \ page 7 {{ $202000FF $FFFFCCFF pres-frame {{ l" Last year’s things still to do" /title vt{{ l" + " l" Finish bulk importer for Google+" b\\ l" – " l" Write bulk importers for Facebook/Twitter/Blogger/etc." b\\ l" + " l" Use avatars to display users’s ID" b\\ l" + " l" Markdown renderer" b\\ l" + " l" Album viewer" b\\ l" – " l" Movie player" b\\ l" – " l" Key handover to contact in net2o world (temporary keypair)" b\\ l" + " l" Mark imported keys as not trustworthy" b\\ }}vt l" Hands on presentation" /subsection }}v box[] >bdr }}z box[] /flip dup >slides \ page 8 {{ $200030FF $EECCFFFF pres-frame {{ l" New Challenges found" /title l" This endeaver is an exploration of what’s actually needed" /subsection vt{{ l" • " l" Hackers need a night mode (color theme) ✅" b\\ l" • " l" Some JPEGs don't have thumbnails (use epeg?)" b\\ l" • " l" Protocol to provide “who has what” with privacy in mind (✅½)" b\\ l" • " l" Comfortable ID cloning (see IETF MEDUP task group)" b\\ l" • " l" Permissions for DVCS updates/posting&comment submission" b\\ l" • " l" Likes/+1s/etc.: only the last one (per user) counts" b\\ l" • " l" Closed group chats ✅" b\\ l" • " l" Permissions for moderators" b\\ l" • " l" Shareable list of collections/groups" b\\ l" • " l" What about port 53/80/443–only networks?" b\\ }}vt }}v box[] >bdr }}z box[] /flip dup >slides \ page 9 {{ $200030FF $EECCFFFF pres-frame {{ l" “Who has What”" /title l" Query object origin by hash" /subsection vt{{ l" ❓ " l" Original plan: keep hashes in DHT" b\\ l" ➡ " l" Query reveals who wants what" b\\ l" ❓ " l" Original solution: Encrypt hashes" b\\ l" ➡ " l" Query reveals who wants/has the same thing" b\\ l" ❓ " l" Onion routing within DHT?" b\\ l" ➡ " l" Complex, slow" b\\ \skip l" ➡ " l" Better keep “who has what” within the chat log structure" b\\ l" ➡ " l" “who” is device.pubkey" b\\ }}vt }}v box[] >bdr }}z box[] /flip dup >slides \ page 10 {{ $200030FF $EECCFF pres-frame {{ l" Comfortable ID cloning" /title l" solve the multi–device problem" /subsection vt{{ l" ❓ " l" Copy your secret+public keys" b\\ l" ➡ " l" You need authorized remote file access" b\\ l" ❓ " l" Establish authorization with net2o itself" b\\ l" ➡ " l" Scan a color–QR–code" b\\ l" ➡ " l" Send an invitation packet back" b\\ l" ➡ " l" Get a confirmation color–QR–Signature" b\\ l" ➡ " l" Do a zero–knowledge proof of “has the password”" b\\ l" ➡ " l" Send the keys over via that net2o connection" b\\ }}vt }}v box[] >bdr }}z box[] /flip dup >slides \ page 11 {{ $200030FF $EECCFF pres-frame {{ l" Web–only networks" /title l" Strict port filter policy, DNS+HTTP[S] only" /subsection vt{{ l" ❓ " l" Can not use UDP as overlay (DNS only to intern resolver)" b\\ l" ➡ " l" need a transport layer over HTTPS" b\\ l" ❓ " l" Web Socket API?" b\\ l" ➡ " l" Adversary may test connection and drop connections if net2o tunnel is detected" b\\ l" ➡ " l" Add authorization" b\\ l" ➡ " l" Requires single–package auth" b\\ l" ➡ " l" Change of net2o connection setup" b\\ l" ➡ " l" Bonus: one RTD less for NAT traversal, too" b\\ }}vt }}v box[] >bdr }}z box[] /flip dup >slides \ page 12 {{ $000000FF $FFFFFFFF pres-frame {{ l" The non–technical problems" /title vt{{ l" • " l" Get your contacts over to net2o" b\\ l" • " l" How to make a social network a nice place?" b\\ l" • " l" Funding of net2o?" b\\ }}vt }}v box[] >bdr }}z box[] /flip dup >slides \ page 12 {{ $000000FF $FFFFFFFF pres-frame {{ l" Literatur & Links" /title \small vt{{ l" Bernd Paysan " l" net2o fossil repository" bi\\ l" 🔗" l" https://net2o.de/" bm\\ "https://net2o.de/" link[] }}vt glue*l }}glue tex: qr-code tex: qr-code-inv {{ glue*l }}glue ' qr-code "qr-code.png" 12e }}image-file drop qr-code nearest glue*l }}glue ' qr-code-inv "qr-code-inv.png" 12e }}image-file drop qr-code-inv nearest glue*l }}glue }}h glue*l }}glue }}v box[] >bdr }}z box[] /flip dup >slides ' }}text is }}text' \ end glue-right @ }}glue }}h box[] ( 36c3-img drop ) net2o-img drop logo-img }}z slide[] to top-widget also opengl [IFDEF] writeout-en lsids ' .lsids s" ef2018/en" r/w create-file throw dup >r outfile-execute r> close-file throw [THEN] previous dark-gui script? [IF] next-arg s" time" str= [IF] +db time( \ ) [THEN] presentation bye [ELSE] presentation [THEN] \\\ Local Variables: forth-local-words: ( (("net2o:" "+net2o:") definition-starter (font-lock-keyword-face . 1) "[ \t\n]" t name (font-lock-function-name-face . 3)) ("[a-z0-9]+(" immediate (font-lock-comment-face . 1) ")" nil comment (font-lock-comment-face . 1)) (("x\"" "l\"") immediate (font-lock-string-face . 1) "[\"\n]" nil string (font-lock-string-face . 1)) ) forth-local-indent-words: ( (("net2o:" "+net2o:") (0 . 2) (0 . 2) non-immediate) (("{{" "vt{{") (0 . 2) (0 . 2) immediate) (("}}h" "}}v" "}}z" "}}vp" "}}p" "}}vt") (-2 . 0) (-2 . 0) immediate) ) End: [THEN] |