#LyX 2.0 created this file. For more info see http://www.lyx.org/
\lyxformat 413
\begin_document
\begin_header
\textclass beamer
\begin_preamble
%\usetheme{Warsaw}
% or ...
\usetheme{lankton-keynote}

\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
\options aspectratio=169
\use_default_options false
\maintain_unincluded_children false
\language american
\language_package auto
\inputencoding utf8x
\fontencoding global
\font_roman default
\font_sans default
\font_typewriter default
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 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_amsmath 2
\use_esint 0
\use_mhchem 1
\use_mathdots 1
\cite_engine basic
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\use_refstyle 0
\index Stichwortverzeichnis
\shortcut idx
\color #008000
\end_index
\secnumdepth 2
\tocdepth 2
\paragraph_separation indent
\paragraph_indentation default
\quotes_language english
\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
net
\begin_inset ERT
status open

\begin_layout Plain Layout


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

\end_inset


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

\end_inset


\begin_inset ERT
status open

\begin_layout Plain Layout

}
\backslash
kern-.5ex
\end_layout

\end_inset

: Application Layer
\begin_inset Argument
status open

\begin_layout Plain Layout
net2o app layer
\end_layout

\end_inset


\end_layout

\begin_layout Subtitle
Browser Components
\end_layout

\begin_layout Author
Bernd Paysan
\end_layout

\begin_layout Date
EuroForth 2013, Hamburg
\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 BeginFrame
Overview
\end_layout

\begin_layout Standard
\begin_inset CommandInset toc
LatexCommand tableofcontents

\end_inset


\end_layout

\begin_layout EndFrame

\end_layout

\begin_layout Section
Motivation
\end_layout

\begin_layout EndFrame

\end_layout

\begin_layout BeginFrame
Purpose?
\end_layout

\begin_layout Standard
People want to share information 
\emph on
(share
\emph default
 means 
\emph on
copy)
\end_layout

\begin_layout Pause

\end_layout

\begin_layout Itemize
Texts, photos, videos, music
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
longer, structured documents
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Real--time media (chat, videos, video conferences)
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
collaborative gaming
\end_layout

\begin_layout EndFrame

\end_layout

\begin_layout BeginFrame
Things I want to show
\end_layout

\begin_layout Itemize
In 2011 I did a presentation with the same title --- back then, this was
 complete vaporware: the plan.
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Now there are components which need to be put together
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
and there's a concept how to do that
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
needs to work on PCs and mobile platforms like Android, which are sometimes
 
\begin_inset Quotes eld
\end_inset

a bit strange
\begin_inset Quotes erd
\end_inset

.
\end_layout

\begin_layout EndFrame

\end_layout

\begin_layout Section
Sidetracking: What Changed Due to Snowden?
\end_layout

\begin_layout BeginFrame
Sidetracking: Impact of Snowden Leaks
\end_layout

\begin_layout Itemize
Encryption now uses Keccak (SHA--3) as primitive.
 Universal crypto primitive, faster than Wurstkessel at same level of security,
 chosen in an open competition.
 
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
ECDHE for connection setup in a way that doesn't reveal identities (metadata!)
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Made sure the random numbers use entropy of the system, but not directly
 system random numbers
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Secure internet more important than ever!
\end_layout

\begin_layout EndFrame

\end_layout

\begin_layout Section
Requirements
\end_layout

\begin_layout BeginFrame
Formats and IO
\end_layout

\begin_layout FrameSubtitle
How to display things
\end_layout

\begin_layout Standard
\align center
\begin_inset Graphics
	filename formats+io.fig
	scale 36

\end_inset


\end_layout

\begin_layout EndFrame

\end_layout

\begin_layout BeginFrame
Why OpenGL?
\end_layout

\begin_layout FrameSubtitle
OpenGL can do everything
\end_layout

\begin_layout Standard
OpenGL renders:
\end_layout

\begin_layout Pause

\end_layout

\begin_layout Enumerate
Triangles, lines, points --- simple components
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Enumerate
Textures and gradients
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Enumerate
and uses shader programs --- the most powerful thing in OpenGL from 2.0.
\end_layout

\begin_layout Pause

\end_layout

\begin_layout Standard
Real requirement: visualization of 
\emph on
any 
\emph default
data.
 OpenGL can do that.
\end_layout

\begin_layout EndFrame

\end_layout

\begin_layout BeginFrame
How to connect the media?
\end_layout

\begin_layout FrameSubtitle
Lemma: every glue logic will become Turing complete
\end_layout

\begin_layout Itemize
currently used glue: HTML+CSS+JavaScript
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
containers with Flash, Java, ActiveX, PDF, Google's NaCl\SpecialChar \ldots{}

\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
conclusion: use a powerful tool right from start!
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
browser: run--time and development tool for applications
\end_layout

\begin_layout EndFrame

\end_layout

\begin_layout BeginFrame
Security
\end_layout

\begin_layout FrameSubtitle
Lemma: every sufficiently complex format can be exploited
\end_layout

\begin_layout Standard
Java's approach to secure the language from the inside can be seen as a
 failure.
 Java is now malware entry door number 1.
\end_layout

\begin_layout Pause

\end_layout

\begin_layout Block
\begin_inset ERT
status open

\begin_layout Plain Layout

{Sandbox}
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout Itemize
sandbox the process that interprets network apps
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
funnel network connections through a proxy --- a shared memory module for
 net2o is missing
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
encryption (key access!) outside the sandbox
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
\begin_inset Quotes gld
\end_inset

same--origin
\begin_inset Quotes grd
\end_inset

--policies don't work in a P2P cloud
\end_layout

\end_deeper
\begin_layout EndFrame

\end_layout

\begin_layout Section
A Few Demos
\end_layout

\begin_layout Subsection
Slideshow
\end_layout

\begin_layout BeginFrame
Slideshow
\end_layout

\begin_layout FrameSubtitle
I use the slide-how for this presentation
\end_layout

\begin_layout ExampleBlock
\begin_inset ERT
status open

\begin_layout Plain Layout

{Fader}
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout LyX-Code

\color cyan
:
\color inherit
 
\color cyan
fade 
\color inherit
{ n1 n2 f: delta-time -- } n1 n2 = 
\color yellow
?EXIT
\end_layout

\begin_layout LyX-Code
    ftime { f: startt }
\end_layout

\begin_layout LyX-Code
    
\color yellow
BEGIN
\color inherit
  ftime startt f- delta-time f/ fdup 
\color red
1e
\color inherit
 f<  
\color yellow
WHILE
\end_layout

\begin_layout LyX-Code
            <draw-slide
\end_layout

\begin_layout LyX-Code
            
\color red
1e
\color inherit
 blend n1 draw-slide
\end_layout

\begin_layout LyX-Code
            
\color blue
( time )
\color inherit
 blend n2 draw-slide
\end_layout

\begin_layout LyX-Code
            draw-slide>  
\color yellow
REPEAT
\end_layout

\begin_layout LyX-Code
    <draw-slide 
\color red
1e
\color inherit
 blend n2 draw-slide draw-slide>
\end_layout

\begin_layout LyX-Code
    fdrop 
\color cyan
;
\end_layout

\end_deeper
\begin_layout EndFrame

\end_layout

\begin_layout BeginFrame
Slideshow 2
\end_layout

\begin_layout FrameSubtitle
Even more effects
\end_layout

\begin_layout ExampleBlock
\begin_inset ERT
status open

\begin_layout Plain Layout

{Hslide}
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout LyX-Code

\color cyan
: hslide
\color inherit
 { n1 n2 f: delta-time -- } n1 n2 = 
\color yellow
?EXIT
\end_layout

\begin_layout LyX-Code
    ftime { f: startt }
\end_layout

\begin_layout LyX-Code
    
\color yellow
BEGIN
\color inherit
  ftime startt f- delta-time f/ fdup 
\color red
1e
\color inherit
 f<  
\color yellow
WHILE
\end_layout

\begin_layout LyX-Code
            <draw-slide
\end_layout

\begin_layout LyX-Code
            pi f* fcos 1e f- 
\end_layout

\begin_layout LyX-Code

\color yellow
            [
\color inherit
 
\color magenta
pi f2/ fnegate
\color inherit
 
\color yellow
]
\color inherit
 FLiteral f* fcos 1e f-
\end_layout

\begin_layout LyX-Code
            fdup n1 n2 > 
\color yellow
IF
\color inherit
 fnegate  
\color yellow
THEN
\color inherit
 xshift n1 draw-slide
\end_layout

\begin_layout LyX-Code
            
\color red
2e
\color inherit
 f+ n1 n2 > 
\color yellow
IF
\color inherit
 fnegate  
\color yellow
THEN
\color inherit
 xshift n2 draw-slide
\end_layout

\begin_layout LyX-Code
            draw-slide>  
\color yellow
REPEAT
\end_layout

\begin_layout LyX-Code
    <draw-slide n2 draw-slide draw-slide>
\end_layout

\begin_layout LyX-Code
    fdrop 
\color cyan
;
\end_layout

\end_deeper
\begin_layout EndFrame

\end_layout

\begin_layout BeginFrame
Approach and Problems
\end_layout

\begin_layout FrameSubtitle
libSOIL: Simple API to load images
\end_layout

\begin_layout Standard
libjpeg and libpng have a very complcated AP
\end_layout

\begin_layout Pause

\end_layout

\begin_layout Standard
Other option: libSOIL:
\end_layout

\begin_layout Pause

\end_layout

\begin_layout ExampleBlock
\begin_inset ERT
status open

\begin_layout Plain Layout

{libSOIL load texture}
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout LyX-Code

\color cyan
: >texture 
\color blue
( addr w h -- )
\end_layout

\begin_layout LyX-Code

\color green
    2 pick >r rgba-texture wrap nearest r> free throw ;
\end_layout

\begin_layout LyX-Code

\color cyan
: mem>texture 
\color blue
( addr u -- addr w h )
\end_layout

\begin_layout LyX-Code

\color green
    over >r  0 0 0 { w^ w w^ h w^ ch# }
\end_layout

\begin_layout LyX-Code

\color green
    w h ch# SOIL_LOAD_RGBA SOIL_load_image_from_memory
\end_layout

\begin_layout LyX-Code

\color green
    r> free throw w @ h @  2dup 2>r >texture 2r> ;
\end_layout

\begin_layout LyX-Code

\color cyan
: load-texture 
\color blue
( addr u -- w h )
\end_layout

\begin_layout LyX-Code

\color green
    open-fpath-file throw 2drop slurp-fid mem>texture ;
\end_layout

\end_deeper
\begin_layout EndFrame

\end_layout

\begin_layout Subsection
Videos
\end_layout

\begin_layout BeginFrame
Onion--Programming
\end_layout

\begin_layout FrameSubtitle
Looks big from the outside
\end_layout

\begin_layout Standard
\align center
\begin_inset Graphics
	filename zwiebel/2013-04-16 18.31.34.jpg
	lyxscale 10
	height 75theight%

\end_inset


\end_layout

\begin_layout EndFrame

\end_layout

\begin_layout BeginFrame
Onion--Programming
\end_layout

\begin_layout FrameSubtitle
Use of martial tools recommended
\end_layout

\begin_layout Standard
\align center
\begin_inset Graphics
	filename zwiebel/2013-04-16 18.32.14.jpg
	lyxscale 10
	height 75theight%

\end_inset


\end_layout

\begin_layout EndFrame

\end_layout

\begin_layout BeginFrame
Onion--Programming
\end_layout

\begin_layout FrameSubtitle
Onion 
\begin_inset Quotes eld
\end_inset

all the way down
\begin_inset Quotes erd
\end_inset


\end_layout

\begin_layout Standard
\align center
\begin_inset Graphics
	filename zwiebel/2013-04-16 18.32.30.jpg
	lyxscale 10
	height 75theight%

\end_inset


\end_layout

\begin_layout EndFrame

\end_layout

\begin_layout BeginFrame
Videos
\end_layout

\begin_layout FrameSubtitle
OpenMAX AL
\end_layout

\begin_layout Itemize
Android uses OpenMAX AL as video framework --- similar to gstreamer, but
 slightly different\SpecialChar \ldots{}

\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
renders video into a texture, but can also record videos from the camera
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
input: MPEG transport stream
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
C++--like C API (vtable implemented as function pointer struct)
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
only half--hearted implemented, needs Java via JNI, can't handle resizes
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
four languages for video player: Forth, C, Java, OpenGL shader language
\end_layout

\begin_layout EndFrame

\end_layout

\begin_layout BeginFrame
JNI declarations
\end_layout

\begin_layout ExampleBlock
\begin_inset ERT
status open

\begin_layout Plain Layout

{
\end_layout

\end_inset

MediaPlayer
\begin_inset ERT
status open

\begin_layout Plain Layout

}
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout LyX-Code
jni-class: android/media/MediaPlayer
\begin_inset Newline newline
\end_inset


\begin_inset Newline newline
\end_inset

jni-new: new-MediaPlayer ()V
\end_layout

\begin_layout LyX-Code
jni-method: prepare prepare ()V
\end_layout

\begin_layout LyX-Code
jni-method: start start ()V
\end_layout

\begin_layout LyX-Code
jni-method: setSurface setSurface (Landroid/view/Surface;)V
\end_layout

\begin_layout LyX-Code
jni-method: setVolume setVolume (FF)V
\end_layout

\end_deeper
\begin_layout EndFrame

\end_layout

\begin_layout BeginFrame
JNI declarations II
\end_layout

\begin_layout ExampleBlock
\begin_inset ERT
status open

\begin_layout Plain Layout

{
\end_layout

\end_inset

SurfaceTexture
\begin_inset ERT
status open

\begin_layout Plain Layout

}
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout LyX-Code
jni-class: android/graphics/SurfaceTexture
\begin_inset Newline newline
\end_inset


\begin_inset Newline newline
\end_inset

jni-new: new-SurfaceTexture (I)V
\end_layout

\begin_layout LyX-Code
jni-method: updateTexImage updateTexImage ()V
\end_layout

\begin_layout LyX-Code
jni-method: getTimestamp getTimestamp ()J
\end_layout

\begin_layout LyX-Code
jni-method: setDefaultBufferSize setDefaultBufferSize (II)V
\end_layout

\begin_layout LyX-Code
jni-method: getTransformMatrix getTransformMatrix ([F)V
\end_layout

\end_deeper
\begin_layout EndFrame

\end_layout

\begin_layout BeginFrame
JNI calls
\end_layout

\begin_layout ExampleBlock
\begin_inset ERT
status open

\begin_layout Plain Layout

{
\end_layout

\end_inset

get timestamp
\begin_inset ERT
status open

\begin_layout Plain Layout

}
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout LyX-Code
: get-deltat ( -- f )
\end_layout

\begin_layout LyX-Code
    media-sft >o getTimestamp o> d>f 1e-9 f*
\end_layout

\begin_layout LyX-Code
    first-timestamp f@ f- ;
\end_layout

\end_deeper
\begin_layout Pause

\end_layout

\begin_layout Standard
Java--Calls integrate seamless into Mini--OOF2 (Mini--OOF with current object)
\end_layout

\begin_layout EndFrame

\end_layout

\begin_layout BeginFrame
MTS? All videos today are MKV!
\end_layout

\begin_layout FrameSubtitle
\begin_inset Quotes eld
\end_inset

Matroska
\begin_inset Quotes erd
\end_inset

 sounds like onion programming, too\SpecialChar \ldots{}

\end_layout

\begin_layout Standard
Container --- what for?
\end_layout

\begin_layout Pause

\end_layout

\begin_layout Itemize
Usual explanation: several files too difficult to handle.
 IMHO, directories with multiple files are better than containers.
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Videos and audio stored as single frames and short packets
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Timestamps for synchronized playback
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Index for random access
\end_layout

\begin_layout EndFrame

\end_layout

\begin_layout BeginFrame
Matroska interpreter
\end_layout

\begin_layout FrameSubtitle
Binary XML format
\end_layout

\begin_layout Standard
Solution: read MKV, convert to MTS
\end_layout

\begin_layout Pause

\end_layout

\begin_layout Itemize
Matroska parser uses a hash table for the tags
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
each tag has an associated Mini OOF2 method
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
different classes for different purposes: dump for inspection, MTS converter
 class
\end_layout

\begin_layout EndFrame

\end_layout

\begin_layout Subsection
Text
\end_layout

\begin_layout BeginFrame
Fonts rendering
\end_layout

\begin_layout FrameSubtitle
Freetype--GL renders OpenType fonts into OpenGL--Textures
\end_layout

\begin_layout Itemize
OpenType is state of the art
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
we render textures, so the vector font needs to go into a texture
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
FreeType--GL uses a texture as glyph cache
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
1 glyph: 2 triangles
\end_layout

\begin_layout EndFrame

\end_layout

\begin_layout BeginFrame
Text Render Demo Code
\end_layout

\begin_layout ExampleBlock
\begin_inset ERT
status open

\begin_layout Plain Layout

{Fonts and Texts}
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout LyX-Code
48e 
\color cyan
FConstant fontsize#
\end_layout

\begin_layout LyX-Code

\end_layout

\begin_layout LyX-Code
atlas 
\color red
"/system/fonts/DroidSans.ttf
\backslash
0"
\color inherit
 drop
\end_layout

\begin_layout LyX-Code
fontsize# texture_font_new 
\color cyan
Value font1
\end_layout

\begin_layout LyX-Code
atlas 
\color red
"/system/fonts/DroidSansFallback.ttf
\backslash
0"
\color inherit
 drop
\end_layout

\begin_layout LyX-Code
fontsize# texture_font_new 
\color cyan
Value font2
\end_layout

\begin_layout LyX-Code

\end_layout

\begin_layout LyX-Code

\color cyan
Variable text1$
\color inherit
 
\color red
"Dös isch a Tägscht."
\color inherit
 text1$ $!
\end_layout

\begin_layout LyX-Code

\color cyan
Variable text2$
\color inherit
 
\color red
"
\begin_inset ERT
status open

\begin_layout Plain Layout

{
\backslash
cjk 
\end_layout

\end_inset

这是一个文本：我爱彭秀清。
\begin_inset ERT
status open

\begin_layout Plain Layout

}
\end_layout

\end_inset

"
\color inherit
 text2$ $!
\end_layout

\end_deeper
\begin_layout EndFrame

\end_layout

\begin_layout BeginFrame
Text Render Demo Code II
\end_layout

\begin_layout ExampleBlock
\begin_inset ERT
status open

\begin_layout Plain Layout

{Fonts und Texte}
\end_layout

\end_inset


\end_layout

\begin_deeper
\begin_layout LyX-Code

\color cyan
: glyph-demo
\color inherit
 
\color blue
( -- )
\color inherit
  hidekb
\end_layout

\begin_layout LyX-Code
    
\color red
1
\color inherit
 level# +!  
\color yellow
BEGIN
\end_layout

\begin_layout LyX-Code
        <render
\end_layout

\begin_layout LyX-Code
        
\color red
0.

\color inherit
 penxy 2!
\end_layout

\begin_layout LyX-Code
        font1 to font  text1$ $@ render-string
\end_layout

\begin_layout LyX-Code
        
\color red
-100e
\color inherit
 penxy sf! 
\color red
-60e
\color inherit
 penxy sfloat+ sf!
\end_layout

\begin_layout LyX-Code
        font2 to font  text2$ $@ render-string
\end_layout

\begin_layout LyX-Code
        render>
\end_layout

\begin_layout LyX-Code
        sync >looper
\end_layout

\begin_layout LyX-Code
    level# @ 0= 
\color yellow
UNTIL
\color inherit
 
\color cyan
;
\end_layout

\end_deeper
\begin_layout EndFrame

\end_layout

\begin_layout Section
Outlook
\end_layout

\begin_layout BeginFrame
Outlook
\end_layout

\begin_layout FrameSubtitle
This presentation has been rendered with LaTeX Beamer\SpecialChar \ldots{}

\end_layout

\begin_layout Itemize
The next presentation should be rendered with MINOΣ2
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Texts, videos, and images should be get with net2o, shouldn't be on the
 device
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
Typesetting engine with boxes and glues, line breaking and hyphenation missing
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
a lot less classes than MINOΣ --- but more objects
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
add a zbox for vertical layering
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
integrate animations
\end_layout

\begin_deeper
\begin_layout Pause

\end_layout

\end_deeper
\begin_layout Itemize
combine the GLSL programs into one program?
\end_layout

\begin_layout EndFrame

\end_layout

\begin_layout Section*
\start_of_appendix
Appendix
\end_layout

\begin_layout Subsection*
Literature&Links
\end_layout

\begin_layout BeginFrame
Literature&Links
\end_layout

\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
\color white
net2o fossil repository
\emph default
\color inherit

\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

\begin_layout Bibliography
\labelwidthstring Literaturverzeichnis

\noun on
\begin_inset CommandInset bibitem
LatexCommand bibitem
key "minos2"

\end_inset

Bernd Paysan
\noun default
 
\begin_inset ERT
status collapsed

\begin_layout Plain Layout


\backslash
newblock
\end_layout

\end_inset


\emph on
\color white
minos2 fossil repository
\emph default
\color inherit

\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/minos2/
\end_layout

\end_inset


\end_layout

\begin_layout EndFrame

\end_layout

\end_body
\end_document
