#LyX 2.2 created this file. For more info see http://www.lyx.org/
\lyxformat 508
\begin_document
\begin_header
\save_transient_properties true
\origin unavailable
\textclass beamer
\begin_preamble
%\usetheme{lankton-keynote}
\usetheme{Singapore}

\setbeamercovered{transparent}
% or whatever (possibly just delete it)
\usepackage{fontspec}
%\newfontface\cjk{ShanHeiSun-Uni}
%\newfontface\cjk{BousungEG-Light-GB}
\newfontface\cjk{GBZenKai-Medium}
%\newfontface\cjk{ZenKai-Medium}
%\newfontface\cjk{ShanHeiSun-Light}
%\newfontface\cjk{ZenKai-Uni}
\end_preamble
\use_default_options false
\maintain_unincluded_children false
\language ngerman
\language_package auto
\inputencoding utf8x
\fontencoding global
\font_roman "default" "default"
\font_sans "default" "default"
\font_typewriter "default" "default"
\font_math "auto" "auto"
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100 100
\font_tt_scale 100 100
\graphics default
\default_output_format pdf5
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize 12
\spacing single
\use_hyperref false
\papersize default
\use_geometry true
\use_package amsmath 2
\use_package amssymb 2
\use_package cancel 1
\use_package esint 0
\use_package mathdots 1
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine basic
\cite_engine_type default
\biblio_style plain
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 0
\index Stichwortverzeichnis
\shortcut idx
\color #008000
\end_index
\secnumdepth 2
\tocdepth 2
\paragraph_separation indent
\paragraph_indentation default
\quotes_language german
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header

\begin_body

\begin_layout Title
MINOΣ2: GUI für net
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
kern-1ex
\backslash
lower1.8ex
\backslash
hbox{
\end_layout

\end_inset


\begin_inset Graphics
	filename net2o-logo.pdf
	lyxscale 10
	scale 7

\end_inset


\begin_inset ERT
status open

\begin_layout Plain Layout

}
\backslash
kern-.5ex
\end_layout

\end_inset


\begin_inset Argument 1
status open

\begin_layout Plain Layout
MINOΣ2
\end_layout

\end_inset


\end_layout

\begin_layout Subtitle
Widgets und Layout Engine
\end_layout

\begin_layout Author
Bernd Paysan
\end_layout

\begin_layout Date
Forth–Tagung 2017, Kalkar Wunderland
\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
addtobeamertemplate{headline}{}{
\backslash
vbox{
\backslash
vspace{3ex}
\backslash
hbox to
\backslash
paperwidth{
\backslash
hfill
\end_layout

\end_inset


\begin_inset Graphics
	filename net2o-logo.pdf
	lyxscale 5
	scale 5

\end_inset


\begin_inset ERT
status open

\begin_layout Plain Layout

~~~}}}
\end_layout

\end_inset


\end_layout

\begin_layout Frame
\begin_inset Argument 4
status open

\begin_layout Plain Layout
Übersicht
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout Standard
\begin_inset CommandInset toc
LatexCommand tableofcontents

\end_inset


\end_layout

\end_deeper
\begin_layout Section
Motivation
\end_layout

\begin_layout Frame
\begin_inset Argument 4
status open

\begin_layout Plain Layout
Motivation
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout Standard
\align center
\begin_inset Graphics
	filename bad-gateway.png
	width 50text%

\end_inset


\end_layout

\end_deeper
\begin_layout Standard
\begin_inset Separator parbreak
\end_inset


\end_layout

\begin_layout Frame
\begin_inset Argument 4
status open

\begin_layout Plain Layout
4 Jahre nach Snowden
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout Standard
Was hat sich seitdem geändert?
\end_layout

\begin_layout Pause

\end_layout

\begin_layout Description
Politik 
\end_layout

\begin_deeper
\begin_layout Description
Postfaktisch/Hate
\begin_inset space ~
\end_inset

Speech als Ausrede für Zensurgesetze
\end_layout

\begin_layout Description
Crypto
\begin_inset space ~
\end_inset

Wars
\begin_inset space ~
\end_inset

4.0 Mal wieder werden Cryptoverbote diskutiert
\end_layout

\begin_layout Description
Legalize
\begin_inset space ~
\end_inset

it (die Totalüberwachung)
\end_layout

\begin_layout Description
Kill
\begin_inset space ~
\end_inset

the
\begin_inset space ~
\end_inset

link LG Humbug möchte Störerhaftung für den Link
\end_layout

\begin_layout Description
Datenschutz Niemand wird gezwungen, das Internet zu nutzen (
\noun on
Jim Sensenbrenner
\noun default
)
\end_layout

\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
Konkurrenz sieht sich Stasi–artiger Zersetzung ausgesetzt (Das Tor–Projekt)
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
Lösungen net2o wird langsam benutzbar (
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
reflectbox{
\end_layout

\end_inset

em rof skrow
\begin_inset ERT
status open

\begin_layout Plain Layout

}
\end_layout

\end_inset

)
\end_layout

\end_deeper
\begin_layout Standard
\begin_inset Separator parbreak
\end_inset


\end_layout

\begin_layout Frame
\begin_inset Argument 4
status open

\begin_layout Plain Layout
Ausblick aus 2013
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout FrameSubtitle
Diese Präsentation ist mit \SpecialChar LaTeX
 Beamer gerendert\SpecialChar ldots

\end_layout

\begin_layout Itemize
Die nächste Präsentation muss komplett in MINOΣ2 gerendert sein
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Texte und Videos müssen über net2o geholt werden, und nicht schon vorbereitet
 auf dem Gerät sein
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Dazu fehlt noch eine Typesetting–Engine mit Boxes und Glues, Absatzumbruch
 und Silbentrennung
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Viel weniger Klassen als in MINOΣ — dafür dann mehr Objekte
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Neben der hbox und vbox noch eine zbox für übereinander gestapeltes
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Animationen integriert
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Die einzelnen GLSL–Programme müssen in einem Programm sein, mit Switch–Statement
\end_layout

\end_deeper
\begin_layout Standard
\begin_inset Separator parbreak
\end_inset


\end_layout

\begin_layout Section
Fortschritt beim Protokoll
\end_layout

\begin_layout Frame
\begin_inset Argument 4
status open

\begin_layout Plain Layout
Einschub: Fortschritt beim Protokoll
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout Description
chat Läuft stabil, Synchronisation des Logs funktioniert
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
Versionskontrolle Läuft für kleine Testprojekte, Syncen größerer Projekte
 geht noch nicht
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
Color
\begin_inset space ~
\end_inset

QR–Code
\begin_inset space ~
\end_inset

scannen zum Keys austauschen geht
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
Großer
\begin_inset space ~
\end_inset

Firewall Test liefert 300kB/s statt 80kB/s bei SSH, Dateiübertragung bleibt
 noch manchmal hängen
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
Sync um mehrere Computer zu syncen (RSN)
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
Audio/Video
\begin_inset space ~
\end_inset

Chat In Echtzeit Daten streamen (RSN)
\end_layout

\end_deeper
\begin_layout Standard
\begin_inset Separator parbreak
\end_inset


\end_layout

\begin_layout Frame
\begin_inset Argument 4
status open

\begin_layout Plain Layout
Color QR
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout Standard
Zum einfachen Schlüsselaustausch: Scanner für farbige QR--Codes
\end_layout

\begin_layout Standard
\align center

\lang english
\begin_inset Graphics
	filename colorqr2.png
	height 60theight%

\end_inset


\end_layout

\end_deeper
\begin_layout Standard
\begin_inset Separator parbreak
\end_inset


\end_layout

\begin_layout Frame
\begin_inset Argument 4
status open

\begin_layout Plain Layout
Einfach installierbare Versionen
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout Standard
Alles hier beschrieben: 
\begin_inset Flex URL
status open

\begin_layout Plain Layout

https://fossil.net2o.de/net2o/doc/trunk/wiki/get-it.md
\end_layout

\end_inset


\begin_inset Separator latexpar
\end_inset


\end_layout

\begin_layout Pause

\end_layout

\begin_layout Description
Debian Mit eigenem Debian–Repository einfach aktuell zu halten
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
Windows setup.exe ohne Auto–Update
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
Android Derzeit nur als Teil der Gforth–App
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
Sourcen Wer nur selbstcompiliertem traut, oder einen Mac hat\SpecialChar ldots

\end_layout

\end_deeper
\begin_layout Standard
\begin_inset Separator parbreak
\end_inset


\end_layout

\begin_layout Frame
\begin_inset Argument 4
status open

\begin_layout Plain Layout
Versionskontrolle: Details
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout Itemize
Patches werden mit bdelta berechnet
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Patchformat: { Insert 
\begin_inset Formula $\langle$
\end_inset

String
\begin_inset Formula $\rangle$
\end_inset

, Seek, Copy }*
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Versionen werden als Patchset (mit Vorgänger) oder Snapshot (ohne) abgespeichert
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Patchset–Format: Einlesen aller über Hash referenzierter Quellen, Patch,
 'rausschreiben der geänderten Dateien
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Patchsets werden von einer Chat–Message in einem Chatlog referenziert
\end_layout

\end_deeper
\begin_layout Standard
\begin_inset Separator parbreak
\end_inset


\end_layout

\begin_layout Section
MINOΣ2 Widgets
\end_layout

\begin_layout Frame
\begin_inset Argument 4
status open

\begin_layout Plain Layout
MINOΣ2 vs.
 MINOΣ
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout Description
Rendering OpenGL (ES) statt Xlib, später auch Vulkan–Backend geplant
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
Koordinaten Single Float statt Integer, Ursprung links unten (statt oben)
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
Typesetting Boxes&Glues viel näher an \SpecialChar LaTeX
 — Ober- und Unterlängen, Glues können
 auch schrumpfen, nicht nur wachsen
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
Objekt–System Mini–OOF2 statt BerndOOF
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
Klassenzahl Viel weniger Klassen, viel mehr Kombination durch Zusammensetzen
\end_layout

\end_deeper
\begin_layout Standard
\begin_inset Separator parbreak
\end_inset


\end_layout

\begin_layout Frame
\begin_inset Argument 4
status open

\begin_layout Plain Layout
MINOΣ2 Widgets
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout Standard
Grundprinzip ist ein Lego–artiges Zusammenstecken von sehr einfachen Komponenten
\end_layout

\begin_layout Pause

\end_layout

\begin_layout Description
actor Basisklasse, die auf alle Aktionen reagiert
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
widget Basisklasse für alle sichtbaren Objekte
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
glue Dimensionierung für flexible Objekte (nach oben, zur Seite, nach unten)
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
tile Farbige Fläche
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
frame Farbige Fläche mit Rändern
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
text Text–Element
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
icon Bild aus einer Icons–Textur (TBD)
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
image Großes Bild (TBD)
\end_layout

\end_deeper
\begin_layout Standard
\begin_inset Separator parbreak
\end_inset


\end_layout

\begin_layout Frame
\begin_inset Argument 4
status open

\begin_layout Plain Layout
MINOΣ2 Boxes
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout Standard
Wie bei \SpecialChar LaTeX
: Boxes, um Widgets anzuordnen
\end_layout

\begin_layout Pause

\end_layout

\begin_layout Description
hbox Horizontale Box, ausgerichtet auf die Grundlinie
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
vbox Vertikale Box, Mindestabstand ein Baselineskip
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
zbox Stapel mehrere Boxen übereinander
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
grid Box mit freier Anordnung der Kinder (TBD)
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Standard
Es wird noch weitere Varianten geben, die Tabellen und umgebrochene Absätze
 ermöglichen
\end_layout

\end_deeper
\begin_layout Standard
\begin_inset Separator parbreak
\end_inset


\end_layout

\begin_layout Frame
\begin_inset Argument 4
status open

\begin_layout Plain Layout
MINOΣ2 Displays
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout Standard
Rendern in verschiedene Arten von Displays (TBD)
\end_layout

\begin_layout Pause

\end_layout

\begin_layout Description
texture In eine Textur, die dann als Bild verwendet wird
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
display Auf das normale Display
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
viewport In einen Ausschnitt des Displays
\end_layout

\end_deeper
\begin_layout Standard
\begin_inset Separator parbreak
\end_inset


\end_layout

\begin_layout Frame
\begin_inset Argument 4
status open

\begin_layout Plain Layout
Draw–Calls minimieren
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout Standard
OpenGL möchte möglichst wenige Draw–Calls pro Durchgang, also werden verschieden
e Contexte stapelweise gezeichnet und mit einem Draw–Call abgesetzt
\end_layout

\begin_layout Pause

\end_layout

\begin_layout Description
init Initialisierungs-Runde
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
bg Hintergrund–Runde
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
icon Ausschnitte aus der Icon–Textur
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
thumbnail Ausschnitte aus der Thumbnail–Textur
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
image Verschiedene Bilder mit einem Draw–Call pro Bild
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Description
text Buchstaben aus der Buchstaben–Textur
\end_layout

\end_deeper
\begin_layout Section*
\start_of_appendix
Appendix
\end_layout

\begin_layout Subsection*
Literatur&Links
\end_layout

\begin_layout Frame
\begin_inset Argument 4
status open

\begin_layout Plain Layout
Literatur&Links
\end_layout

\end_inset


\begin_inset Separator latexpar
\end_inset


\end_layout

\begin_deeper
\begin_layout Bibliography
\labelwidthstring Literaturverzeichnis
\begin_inset CommandInset bibitem
LatexCommand bibitem
key "net2o"

\end_inset


\noun on
Bernd Paysan
\noun default
 
\begin_inset ERT
status collapsed

\begin_layout Plain Layout


\backslash
newblock
\end_layout

\end_inset


\emph on
net2o fossil repository
\emph default

\begin_inset ERT
status collapsed

\begin_layout Plain Layout


\backslash
newblock
\end_layout

\end_inset

 
\begin_inset Flex URL
status open

\begin_layout Plain Layout

http://fossil.net2o.de/net2o/
\end_layout

\end_inset


\end_layout

\end_deeper
\end_body
\end_document
