diff --git a/Readme.md b/Readme.md
index 2ed7cfc..dc664f5 100644
--- a/Readme.md
+++ b/Readme.md
@@ -3,6 +3,9 @@
* [Kimsufi Private Cloud](kimsufi-private-cloud/)
* [Raspberry Pi](raspberrypi/)
* [VSYS Private Cloud](vsys-private-cloud/)
+* [34c3 Congress Notes](congress-34c3-notes/)
+* [Bif 04 - FH Technikum 4. Semester](fhtw-bif04-ss2018/)
+* [Meetups & Workshops](meetups-workshops/)
---
@@ -27,3 +30,27 @@
## [VSYS Private Cloud](vsys-private-cloud/)
* [DNS with Bind 9](vsys-private-cloud/dns-bind9.md)
+
+## [34c3 Congress Notes](congress-34c3-notes/)
+
+* [Day 1](congress-34c3-notes/2017-12-27_day1.md)
+* [Day 2](congress-34c3-notes/2017-12-28_day2.md)
+* [Day 3](congress-34c3-notes/2017-12-29_day3.md)
+* [Day 4](congress-34c3-notes/2017-12-30_day4.md)
+
+## [Bif 04 - FH Technikum 4. Semester](fhtw-bif04-ss2018/)
+
+* [MLE - Machine Learning](fhtw-bif04-ss2018/mle-se/)
+ - [2018-02-27](fhtw-bif04-ss2018/mle-se/20180227.md)
+
+* [MATU - Angewandte Mathematik 2](fhtw-bif04-ss2018/matu/)
+ - [Zahlentheorie - 2018-02-28](fhtw-bif04-ss2018/matu/20180228.md)
+
+
+## [Meetups & Workshops](meetups-workshops/)
+
+* [Modern Mobile Web Day 2018](meetups-workshops/modern-mobile-web-day/Readme.md)
+ - [Optimierungstipps](meetups-workshops/modern-mobile-web-day/Readme.md#optimierungstipps)
+ - [Accelerated Mobile Pages](meetups-workshops/modern-mobile-web-day/Readme.md#accelerated-mobile-pages)
+ - [Progressive Web Apps](meetups-workshops/modern-mobile-web-day/Readme.md#progressive-web-apps)
+ - [Q & A](meetups-workshops/modern-mobile-web-day/Readme.md#qa-1)
\ No newline at end of file
diff --git a/congress-34c3-notes/2017-12-27_day1.md b/congress-34c3-notes/2017-12-27_day1.md
new file mode 100644
index 0000000..a3bbe70
--- /dev/null
+++ b/congress-34c3-notes/2017-12-27_day1.md
@@ -0,0 +1,409 @@
+# 34C3 Notes - Day 1
+
+## Dude, you broke the future
+
+Science fiction author talks about his predictions about the near future.
+
+* The great Paperclip optimiser
+* Corporations as hive-minds/AI
+
+## Ladeinfrastruktur von Elektroautos
+
+Alles am Arsch.
+
+Mac oder Username für Auth.
+
+Diverse Betrugsszenarien durch tionmanipula and E-Ladestellen.
+
+## Gamified Control
+
+Social credit systems in China.
+
+## BBS and early internet access in the iesninet
+
+## Inside Intel Management Engine
+
+JTAG über USB3 dank exploi.
+
+## Bildung auf dem Weg ins Neuland
+
+### Informatik-Unterricht
+
+* Zu viel auf einen Haufen geworfen.
+
+Sinvoll wÃre:
+
+* Netzwerke
+* Programmiergrundlagen
+
+Was oft passiert:
+
+* Anwendungsunterricht
+
+Weil Lehrer nicht ausreichend geschuld (Bsp: 2 Tage).
+
+Guter Unterricht ist Einzelfall, durch sehr motivierte Lehrkräfte.
+
+ Digitale Mündigkeit
+
+### Strategiepapier
+
+Anwenderausbildung. Falscher Schwerpunkt.
+
+Setzt Medienausbildung vorraus.
+
+Neue Faecher
+
+Informatikunterricht gestarkt
+
+Smartboards. Tafel/Fehrnseher
+
+https://digitalcourage.de/support/digitale-selbstverteidigung/adventskalender2015/06-digitale-muendigkeit
+
+### Firmen kommen immer mehr in Bildungsmarkt.
+
+Z.B. Chromebooks in US Schulen
+
+Google Bildungszentren in Deutschland
+
+### Ziel von Schule
+
+Vorbereitung aufs Leben. Um die Welt veraendern zu koennen.
+
+Nicht Berufsausbildung.
+
+### tuwat
+
+Erwartung *Chaos macht Schule* war die Hoffnung dass es mit der Zeit zum Selbstlaeufer wird.
+
+Forderung vom CCC veroeffentlicht.
+
+## Der PC-Wahl-Hack
+
+* Day 1, 19:45
+* Linus Neumann, Thorsten Schroeder, Martin Tschirsich
+
+### Warum?
+
+Organisation, Erfassung, Auswertung, Schnellmeldung.
+
+Unterschiedliche Regelungen.
+
+### Transparenz
+
+Bis zum Landesverfassungsgericht hochgeklagt.
+
+Keine Einsicht durch Buerger
+
+### Betriebssicheheitskonzept
+
+Indexfreiesdatenbankkonzept
+
+Daten werden ins FS veschrieben.
+
+Redundant, zwei kopien im FS
+
+Sync mit SMB share.
+
+### Angriffsszenarien
+
+#### Uebertragung
+
+.exe via SMB
+
+Datenuebertragung mit FTP.
+
+Konfigfiles mit Passwoerter oeffentlich durch ekom21.
+
+Hackertools wie Google und Texteditor.
+
+Lokaler FTP server. VPN user `test` pass `test`.
+
+#### Update
+
+Mindestens 4 vulns am Updateserver.
+
+*Da braucht man schon viel Hinrschmalz um crypto zu knacken*
+
+https://github.com/devio/Walruss
+
+#### Dateiformate
+
+ini Dateien liegen im Internet.
+
+Viele selbgebaute crypto. Teils ohne Schluessel, 1 Byte Schluessel.
+
+Wahlergebnisse unsigniertes XML.
+
+### 25 Seiten Bericht
+
+Mit Verbesserungsvorschlaege.
+
+Tagesschau am Veroeffentlichungstag sagt es wurde verbessert.
+
+Jede Verbesserung in kuerze kaputt.
+
+### Fixes?
+
+#### Signierte Updates
+
+Hersteller hat *Selbsttest* nachgeliefert.
+
+Am Ende: manuelle Zertifikatsueberpruefung.
+
+#### Signierte Ergebnisse
+
+GPG/kleopatra aber kein Plan fuers Keymanagment.
+
+gpg2.exe wird von pcwahl aufgerufen, nicht lib... ueber generierte BATCHDATEIEN welche die passphrase enthalten, auf smb fileshare.
+
+#### Nuke from Orbit
+
+Geheimer Wahlerlass. Alles ausdrucken, vergleichen, stempeln, abheften.
+
+#### OS installer
+
+Wurde natuerlich angenommen.
+
+Lieber keine Updates mehr.
+
+### Fazit
+
+Kerkhoffs' Prinzipien
+
+Manipulation ist dem Wahlleiter egal.
+
+- *Es gibt bessere Passworte als `test`*
+
+BSI Chef will naechste Wahl komplett elektronisch machen.
+
+Entwicklerunternehmen hat Lobbyverein fuer Onlinewahl.
+
+### Politische forderungen
+
+Sicherheit > Geschwindigkeit
+
+Transparenz
+
+Keine geheime Software
+
+Oeffentliche Audits und Code
+
+## Die Sprache der Ueberwacher
+
+### Lueckenlose Ueberwachung
+
+Staatstrojaner mehrmals zurueckgenommen.
+
+### Gesetzesvorschlaege im Juli
+
+Zensur von Inhalten
+
+Mittel muss geignet erforderlich und angemessen sein.
+
+Nie bewiesen oder belegt.
+
+### Sicherheitsgefuehl
+
+Frueher Schmaehwort heute ernst gemeint.
+
+### Neues Regierungseinkommen
+
+Einschraenkung von Reise und Kommunikationsmitteln von gefaehrdern.
+
+Kaum eine moeglichkeit wieder aus Gefaehrderdatenbanken rauszukommen.
+
+* *Luecke schliessen*
+* *Sicherheit steht ueber Politik*
+
+### Ueberwachungspaket 2.0
+
+https://epicenter.works/content/analyse-des-schwarz-blauen-regierungsprogramms-2017-2022
+
+## Die fabelhafte Welt des Mobilebankings
+
+Diverse Tan verfahren.
+
+Sicherheit und Bequemlichkeit im vordergrund.
+
+Sicher: 2-faktor-auth
+
+Bequem: 1-App-Verfahren
+
+### Promon SHIELD
+
+App hardening
+
+*Vollstaendiger schutz auch auf infizierten Geraeten*
+
+Weiterer builstep hardened app.
+
+Von dirversen deutschen banking Apps verwendet.
+
+### Yomo
+
+1-app-auth verfahren. n26 nachempfunden.
+
+Vermutlich neueste Promon Shield version.
+
+Uebernimmt main acttivity und laed eigenen Code. Konstanten aus App in libshield verschoben.
+
+libshield obfuscated.
+
+Strings koennen einfach durch iteriert werden.
+
+(client) Zertifikate werden vom Promon verwaltet.
+
+
+nomorp tool um Promon shield zu entfernen.
+
+Automatische angriffe auf banking apps moeglich.
+
+### Reaktionen
+
+Neue Promon version.
+
+Aktuelle Nomorp version geht zumindest nicht mehr.
+
+Banken: *Bis heute keine Schadenfaelle bekannt*
+
+Geringe verbreitung von app tans.
+
+### Fazit
+
+Daseinsberechtigung: ja aber nur zusaetzlich
+
+Kein ersatz fuer 2fa
+
+https://www1.cs.fau.de/nomorp
+
+## DPRK Consumer Tech
+
+Library with computers
+
+Android Desktops
+
+Apps are sold in actual stores.
+
+Korean electronics arent sold to foreigners.
+
+Hardware made in china (big supprise).
+
+first tablets 2011,2012.
+
+Java and Linux pdf textbooks. English and korean titles. Not actually pdf. Proprietary DRM.
+
+Modified version of a commercial available pdfandroid reader.
+
+4 byte crypto key derived from mac address and file.
+
+### Educational ebooks
+
+A lot of tranlation of foreign educational books.
+
+Solid translations fairly quickly.
+
+http://www.koreacomputercenter.org/
+
+## Practical Mix Network Design
+
+Tor is not enough if the enemy own both the entry and the exit.
+
+# What is a mix network?
+
+* Message Oriented (instead of stream)
+* Unrelyable
+
+```
+ +-----------+
+ |Mix Network|
+ +-----------+
++---+
+|PKI|
++---+
+ +------+
+ |Client|
+ +------+
+```
+
+No exit nodes.
+
+### Attacks: Epistemic
+
+* PKI: trusted, public
+
+Distributed PKIs usually are attackable so usually central PKI used instead.
+
+Not talked in the talk to full extend.
+
+### Topologies
+
+* Cascade
+
+* Free route
+
+Reduced anonymity
+
+* Startified
+
+Entropy predictable. Easier to scale than free route.
+
+### Diff to tor
+
+Tor doesnt mix.
+
+Mix networks add latency.
+
+Mix networks accumulate messages and send them to next hop. Each hop removes a layer of encryption.
+
+### Attack: Blending, n-1
+
+Allows attacker to choose delay by blocking and cleaning queues to to router messages over empty queues.
+
+* Heartbeat message. Loop send over a bunch of notes and back to sender.
+
+### Statistical disclosure attack
+
+Attacker tries to attack whole network and look for probabilities.
+
+We dont know how well this would work in real world.
+
+### Loopix Architexture
+
+* Sphinx packet format
+
+dont roll your own packet format.
+
+### Anonymity Trilemma
+
+Annonymity cant scale better than `|cover traffic| * |latency|`.
+
+
+### Anonymous Receivers
+
+Single use reply block
+
+### Layers
+
+* Client end to end
+
+* Mixnet packet layer sphinx
+
+* link layer
+
+### qa
+
+* Not sure if different applications (like email) can share the same network (to increase anonymity pool)
+
+* Testnetwork running, nothing production ready. Stuff doesnt work yet. Soon.
+
+* Reduce engagement to increase security
+
+### Links
+
+* [Learning with errors](https://en.wikipedia.org/wiki/Learning_with_errors)
+* [Private Information Retrieval](https://de.wikipedia.org/wiki/Private_Information_Retrieval)
+* [Taler, Cyber Monies](https://thecryptopapers.com/tag/taler/)
+* [The Loopix Anonymity System](https://arxiv.org/abs/1703.00536)
+* [Katzenpost](https://katzenpost.mixnetworks.org/)
+
diff --git a/congress-34c3-notes/2017-12-28_day2.md b/congress-34c3-notes/2017-12-28_day2.md
new file mode 100644
index 0000000..1201f6b
--- /dev/null
+++ b/congress-34c3-notes/2017-12-28_day2.md
@@ -0,0 +1,239 @@
+# Day 2
+
+## Lightning Talks
+
+### Libre Silicon
+
+Project to empower people to make microchips in their basement.
+
+Open source license for chip designs.
+
+MPW ... Multi-project wafer service
+
+Smart contracts to reward IP developers.
+
+Rent cleanroom in Hongkong university.
+
+qtflow toolchain
+
+### Known beacons
+
+* Stayed at hotel
+* chromecast
+* fon network
+* congress network
+
+Then maybe vulnerable to known beacon attack.
+
+Beacon spoofing of known public networks.
+
+Wifiphisher community builds dictionary.
+
+Auto-connect flag.
+
+#### Diff to KARMA attack
+
+KARMA abuses active scanning. This abuses auto-connect.
+
+Windows not vulvnerable.
+
+Will be included in wifiphisher 1.4.
+
+### Color based network analysis
+
+* Networks based on standards
+* Faster do see picture, than read text
+* Grafical visualisation of network data
+* Structures and patterns show up
+* [goNetViz](https://github.com/florianl/goNetViz)
+
+### Genossenschaften
+
+Fuer nebeneinkommen.
+
+Geplant fuer etwa 100 Leute.
+
+Viele Leute die gemeinsam Grundkapital zahlen
+
+Bei Kleinbetraegen kommen wohl um die 20% admin kosten.
+
+100 Leute, 100 euro Grundkapital pro.
+
+50k jahresumsatz.
+
+Hacker Eg auf media.ccc.de
+
+### Radio badge talk
+
+qspectrumanalyzer
+
+rad1o/f1rmware opera-merge
+
+### Piano hacking
+
+14 USB Kernel Exploits last year.
+
+http://youtu.be/WeCri7WeRDw
+
+## Blinkenrocket!
+
+Soldering kit
+
+https://github.com/blinkenrocket
+
+* target audience: children,adults
+* cheap
+* through hole parts
+
+### Hardware
+
+* Dotmatrix
+* Atmel Attiny88 MCU
+* 64k eeprom
+* Some smd components
+
+Open firmware, hardware, manual.
+
+* C++ firmware
+* react web editor
+
+1000 Blinkenrockets in mid 2016 funded by Ccc/Chaos macht Schule.
+
+#### Good va bad signals
+
+Square waves for data transmission. Didnt work with all computers.
+
+Signal drifting.
+
+Data transmission over soundcard. Some soundcards arent good with square signals. Web browser sound api not that great. Signal hets distorted.
+
+* Solution: ADC edge detection, better
+* Solution: Frequency shit key
+
+Sine waves for transmission. More reliable but slower.
+
+### Hardware improvements
+
+Battery holder. Battery can be inserted the wrong way.
+
+* ++ Better battery holder
+
+Square dotmatrix module.
+
+* Square dots
+* Difused lights
+
+Revised pcb design.
+
+Pre-populated version for some users.
+
+### How to manufacture >= 1000 boards
+
+* First batch
+
+Everything by hand.
+
+Manual labeling.
+
+* Production enhancements
+
+Maybe more expensive.
+
+Preprogrammed MCUs.
+
+Color coded SMD parts.
+
+New package design.
+
+* The *Zerhacker*
+
+## Console Security - Switch
+
+Open browser via link in tetris.
+
+Tegra x1
+
+Custome microkernel *Horizon*.
+
+Drivers im userspace *Services*.
+
+This GPU abstraction layer.
+
+ASLR.
+
+https://github.com/switchbrew/libnx
+
+### Security Model
+
+1. Trust zone.
+2. Kernel
+3. Base Services
+4. Micro services/drivers
+5. Game
+
+### Application sandbox
+
+Each process has virt fs. Hard to load exploit from SD card.
+
+Reduced nbet of sys calls.
+
+### Service Sandbox
+
+a bit more sys calls.
+
+### Base service sandbox
+
+### Webkit
+
+Pegasus exploit with wifiwebauth.
+
+### SlabHeap
+
+## Intel ME: Myths and Reality
+
+## All Computer are beschlagnahmt
+
+### repression
+
+G20.
+
+Polizeibrutalitaet.
+
+Drohender wahlverlusst gegenueber AFD.
+
+-> Verbot von Indiemedia.
+
+Verbot ueber Vereinsvervot.
+
+Klage vor Bundesverwaltungsgericht.
+
+Post-Beschlagnahmung.
+Email Beschlagnahmung.
+
+ Betreiber haben sich nicht dagegen gewehrt.
+
+Razzien & Beschlagmahmungen.
+
+Observation -> Behoerdenzeugnisse.
+
+Spitzel.
+
+#### Methoden der Repression
+
+Standortsortung mit stiller SMS schon 2011.
+
+2014 Kameraueberwachung.
+
+2017 Wanze in Innenraumverkleidung.
+
+### indiemedia
+
+OpenPosting.
+
+#### linksunten
+
+Anarchistisches Grundsatzprogramm.
+Anonyme Nutzer.
+
+### tuwat
+
diff --git a/congress-34c3-notes/2017-12-29_day3.md b/congress-34c3-notes/2017-12-29_day3.md
new file mode 100644
index 0000000..997936d
--- /dev/null
+++ b/congress-34c3-notes/2017-12-29_day3.md
@@ -0,0 +1,335 @@
+# Day 3
+
+## Antipatterns und Missverstaendnisse in der Softwareentwicklung
+
+Schlechte Loesungen fuer haeufige Probleme.
+
+* Problem
+* Seal Team 6
+* Java
+* Effekt (ProblemFactory)
+
+### Versionierung
+
+* Problem Versionierung mit Filenames
+* Bastelt mal eben
+* Git, svn, perforce ...
+* Jeder darf ueberall einchecken.
+* Effekt: Leute checken bins ein
+* e: Leute checken versions filenames ein.
+
+#### Besser
+
+* Git ist ok
+* Kleine patches
+* Features einlesen
+* Annahmen ueberpruefen, schnell failen
+* Repos trennen ist hard
+
+### Bugs fallen unterm tisch
+
+* Bugs unterm tisch
+* Bugtracker
+* Wir haben viele Bugs
+* Priorisierubg
+* Alle anderen Bugs bleiben offe
+
+Bugwelle
+
+#### Idee
+
+Bugfreien Code belohnen.
+
+*Du Arsch hast einen Bug gemeldet. Jetzt kamm ich meine Hypothek nicht zahlen*
+
+Mit Geld keine gute Idee
+
+##### Anti anti pattern
+
+Bugs im Bugtracker offen lassen fuer Berufssicherheit. Oder um nicht naechste Aufgabe zu bekommen.
+
+### Geht nur am Entwickler rechner
+
+* Geht nur am Entwickler rechner
+* Buildserver
+* Alter code aus antiken snapshots, fileshare.
+* Effekt Build failed: Dev logged sich eim und aendert...
+* Laeuft auf sehr spezieller Version.
+ - Keine updates auf neue lib/tool versionen
+
+#### Rat
+
+* Daily build
+* Deterministisch, repoduzierbar
+* Agilitaet, rollback.
+* Fehler muessen schnell erkannt werden
+
+### Build geht, laeuft aber nur am Dev pc
+
+* Docker
+* Irgendwelche images aus dem Internet
+ - Alter versionen
+* Komponenten werden oft als statische Version eingebunden und nicht geupdated.
+
+#### Ratschlag Container
+
+* Deterministischer zuschand
+* Triviale Rollbacks
+* Am besten Mittagspause
+* Komponenten isolieren nicht Monsterkontainer
+
+* Integration!
+
+### Code geht nicht
+
+* Unit tests
+* Bug wegtesten
+* Niedirge coverage
+
+Unitests sind um zu erkennen ob der Code noch (in der Zulunft geht) geht.
+
+* Oft nur positive tests
+* Bugs meist in der Fehlerbehandlung
+
+100% coverage ist keine Garantie.
+
+### Entwickler vergessen Testfaelle
+
+* Tdd
+* ? (noch nie im Freien gesehen)
+
+### Unbekannt was der Code tut
+
+* Dokumentation
+* Wiki
+* Navigation?
+* Noch aktuell?
+
+Wiki keine Loesung.
+
+### Kommunikation
+
+* Grossraumbueros
+* Meetings ...
+* Effekt: kann micht nicht konzentrieren
+
+Meetings lieber selten. 1-on-1.
+
+### Wir trauen code nicht
+
+* Compilerwarnung weg
+* Onion Code
+ - Gewrapter code den keiner versteht
+ - Fehler werden in Schichten behoben
+
+* Release nur ohne offene Bugs
+* Vorm release zumachen, danach auf
+
+### Externer Audit
+
+* Blackbox pentest
+
+Nicht der code sondern Pentester wird getestet.
+
+Wohl aus compliance.
+
+* Fuzzing
+
+Zufaellige Eingaben. Ershuetternd erfolgreich.
+
+Fuzzer muss auch alle Kombinationen durchprobiern.
+
+Ersetzt nicht andere Massnahmen.
+
+### Welche Massnahme
+
+Funktionierende Massnahme oder Messbare.
+
+Managment nimmt lieber Messbar.
+
+### Coder ueberfordert
+
+* Thread modeling!
+* Jedes theam macht Thread model
+
+Oft am Dev team vorbei.
+
+Es ensteht oft nur papier.
+
+### Allgemeine Ratschlaege
+
+* Fehlerkultur sonst werdwn Bugs versteckt
+* Feedback
+
+Bug sollte vom Verursacher gefixt werden um lernen zu ermoeglichen.
+
+* Werte kommunizieren
+
+Guter code besser als Menge. Nur mit Unit tests moeglich.
+
+* Zeit zum Lernen geben
+
+* Managment sollte nicht die Architektur vorgeben.
+
+Wenn sie Offensichtlich ist hilts nicht.
+
+Wenn nicht ist es vermutlich nicht die richtige.
+
+### Ratschlaege
+
+* Keine Ueberstunden
+* Keine Unrealistische Vorhaben annehmen
+* Zeit muss man sich nehmen
+
+## Censorship in the Catalan referendum
+
+* A lot of referendum mirrors
+
+A lot of political orgs blocked.
+
+* DNS tampering
+* HTTP blocking
+
+HTTP DPI with regex.
+
+Censorship in place against illegal gambling used for political reason.
+
+## cryptocurrencies, smart contracts, etc.
+
+* 1970 - cryptographers acted as activists
+
+Turned cryptographie from military secrete into a science.
+
+* 2015 - Lightning Network
+
+Overcome scaling limits.
+
+Fast, cheap, conflicts can still be resolved cia blockchain.
+
+Satoshi has clear vision, cash.
+
+Both scientific breakthrough. CS thought this was impossible, bitcoin solved it.
+
+And economic success.
+
+Estimate lost and stolen btc ~10 billion $.
+
+https://onchainfx.com/
+
+* bitcoin
+
+Very commited. No changes. Basically cult.
+
+* Monero Security issues
+
+Was inveted before certain cryptography breakthroughs.
+
+Also a cult.
+
+* ethereum sharding
+
+Next thing they will do.
+
+Splitting into subnetworks.f
+
+### real or hype?
+
+hype not just hype.
+
+Lots of new valuable tech.
+
+### will it be used for good or evil?
+
+Inherently empowering.
+
+Long run, large scale: very good
+
+### Questions?
+
+* Only really good reason right now speculation.
+
+* Parent child chain approach?
+
+ - Dunno
+
+* Source for figures on cc use for illegal drugs.
+
+Rand corp.
+
+Counting up drugs.
+
+* Proof of stake
+
+Interesting/promising.
+
+Lock up a part of money to proof. Monies can get redistributed if transaction is proofable incorrect.
+
+* Daily use
+
+Safety.
+
+User experience.
+
+Scaleability.
+
+* UX super important?
+
+ 1. Make tools good for us to use.
+ 2. Make everyone like use
+
+Didnt work.
+
+* Privacy
+
+Least favourite tweet.
+
+* Outlaw?
+
+Some countries have.
+
+China, outlawed some uses.
+
+* Ceremony Workshop
+
+Multiple people stopping each other from itroducing backdoors.
+
+General purpose zero knwoledge proof.
+
+* Seems like centralised protocls are winning.
+
+Scale really well.
+
+Self limitting factor.
+
+* Uses
+
+Donations.
+
+Venezuela, fiat inoperable.
+
+CryptoKitties
+
+* Smart contract/contract
+
+Shouldnt have called them programs not smart contracts.
+
+* zsnarks
+
+Metaphor.
+
+Colorblind.
+
+Billiard balls.
+
+Proofing a truth without revealing addition imformation.
+
+* Few people hold most bitcoins
+
+Hopeful future tech.
+
+* Working with jpmorgan
+
+Help make blockchain to use for enterprise usecases. Helpfull for pursoading regulators, startups, enterprises that privacy is important.
+
+They cant destroy cryptocurrencies.
+
diff --git a/congress-34c3-notes/2017-12-30_day4.md b/congress-34c3-notes/2017-12-30_day4.md
new file mode 100644
index 0000000..f9103de
--- /dev/null
+++ b/congress-34c3-notes/2017-12-30_day4.md
@@ -0,0 +1,29 @@
+# Day 4
+
+## Lightning Talks
+
+### Civil Clauses
+
+At university you dont always know what you are working at.
+
+Prohibit military use of project.
+
+zivilklausel.de
+
+### Circle of hope
+
+hope.net
+
+Talk: Enforcing net neutrality
+
+### Noicebridge Hackerspace
+
+US Hackspace influenced by CCC.
+
+anarchist hackerspace, one rule be excellent to each other.
+
+Landowner doesnt want to renew lease.
+
+City preassure.
+
+
diff --git a/congress-34c3-notes/Readme.md b/congress-34c3-notes/Readme.md
new file mode 100644
index 0000000..187f5b8
--- /dev/null
+++ b/congress-34c3-notes/Readme.md
@@ -0,0 +1,41 @@
+# 34C3 Notes
+
+## [Day 1](2017-12-27_day1.md)
+
+* [Dude, you broke the future](2017-12-27_day1.md#dude-you-broke-the-future)
+* [Ladeinfrastruktur von Elektroautos](2017-12-27_day1.md#ladeinfrastruktur-von-elektroautos)
+* [Gamified Control](2017-12-27_day1.md#gamified-control)
+* [BBS and early internet access in the nineties](2017-12-27_day1.md#bbs-and-early-internet-access-in-the-iesninet)
+* [Inside Intel Management Engine](2017-12-27_day1.md#inside-intel-management-engine)
+* [Der PC-Wahl-Hack](2017-12-27_day1.md#der-pc-wahl-hack)
+* [Die Sprache der Ueberwacher](2017-12-27_day1.md#die-sprache-der-ueberwacher)
+
+## [Day 2](2017-12-28_day2.md)
+
+* [Lightning Talks](2017-12-28_day2.md#lightning-talks)
+
+ - [Libre Silicon](2017-12-28_day2.md#libre-silicon)
+ - [Known beacons](2017-12-28_day2.md#known-beacons)
+ - [Color based network analysis](2017-12-28_day2.md#color-based-network-analysis)
+ - [Genossenschaften](2017-12-28_day2.md#genossenschaften)
+ - [Radio badge talk](2017-12-28_day2.md#radio-badge-talk)
+ - [Piano hacking](2017-12-28_day2.md#piano-hacking)
+
+* [Blinkenrocket!](2017-12-28_day2.md#blinkenrocket)
+* [Console Security - Switch](2017-12-28_day2.md#console-security---switch)
+* [Intel ME: Myths and Reality](2017-12-28_day2.md#intel-me-myths-and-reality)
+
+## [Day 3](2017-12-29_day3.md)
+
+* [Antipatterns und Missverstaendnisse in der Softwareentwicklung](2017-12-29_day3.md#antipatterns-und-missverstaendnisse-in-der-softwareentwicklung)
+* [Censorship in the Catalan referendum](2017-12-29_day3.md#censorship-in-the-catalan-referendum)
+* [cryptocurrencies, smart contracts, etc.](2017-12-29_day3.md#cryptocurrencies-smart-contracts-etc)
+
+## [Day 4](2017-12-30_day4.md)
+
+* [Lightning Talks](2017-12-30_day4.md#lightning-talks)
+
+ - [Civil Clauses](2017-12-30_day4.md#civil-clauses)
+ - [Circle of hope](2017-12-30_day4.md#circle-of-hope)
+ - [Noicebridge Hackerspace](2017-12-30_day4.md#noicebridge-hackerspace)
+
diff --git a/fhtw-bif04-ss2018/matu/20180228.md b/fhtw-bif04-ss2018/matu/20180228.md
new file mode 100644
index 0000000..cd66237
--- /dev/null
+++ b/fhtw-bif04-ss2018/matu/20180228.md
@@ -0,0 +1,98 @@
+# Zahlentheorie
+
+## Kongruenz
+
+Bei kongruenten Zahlen ist die Differez durch den Rest teilbar.
+
+
+
+### Restklasse
+
+Alle Zahlen einer Restklasse sind kongruent.
+
+
+
+
+## Rechnen im Z_m
+
+### Gruppe
+
+Menge + eine Verknuepfunge.
+
+sodass:
+
+* assoziativ
+* neutrales Element
+* zu jedem Element gibt es inverses Element
+
+
+Bei Abelscher Gruppe:
+
+* kommunitativ Gesetz
+
+
+
+| | Z+ | Z* |
+|---------------------------------------|----|--------------------------|
+| assoziativ | ✓ | ✓ |
+| neutrales Element | ✓ | ✓ |
+| zu jedem Element gibt es ein inverses | ✓ | zu 0 kein mult, Inverses |
+| kommutativ | ✓ | ✓ |
+
+
+Z_10 ist keine Gruppe.
+
+Z_10\\{0,2,4,6,8,5} ist eine kommunitative Gruppe.
+
+### Koeper
+
+Menge mit 2 Verknuepfungen.
+
+* Menge **M**
+* Verknuepfungen **+**, **\***
+* (M, +) ... kommutative Gruppe
+* (M\\0 \*) .. kommutative Gruppe
+* distributiv Gesetz: a * (b + c) = (a * b) + (a * c)
+
+Beispiele:
+
+* (Z_5, +, \*) Koerper
+
+* (Z_10, +, \*) kein Koerper weil K_10, \* keine Gruppe
+
+* allgemein (Z_p, + \*) ist ein Koerper
+
+#### negatives / additives Inverses in Z_m
+
+26 - 3 = 23
+
+-3 = 23
+
+#### Kehrwert / multiplikatives Inverses in Z_m
+
+Kehrwert von a in Z_m existiert <=> a und m teilerfremd
+
+ ggT(a, m) = 1
+
+Berechnet mit erweitertem Euklidischen Algorithmus.
+
+
+
+
+
+
+
+
+
+## Eulersche phi-Funktion
+
+
+
+
+
+
+## kleiner Satz von Fermat
+
+
+
+
diff --git a/fhtw-bif04-ss2018/matu/20180228_pic001.png b/fhtw-bif04-ss2018/matu/20180228_pic001.png
new file mode 100644
index 0000000..6dc2eaf
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180228_pic001.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180228_pic002.png b/fhtw-bif04-ss2018/matu/20180228_pic002.png
new file mode 100644
index 0000000..ce14c13
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180228_pic002.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180228_pic003.png b/fhtw-bif04-ss2018/matu/20180228_pic003.png
new file mode 100644
index 0000000..2ee585c
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180228_pic003.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180228_pic004.png b/fhtw-bif04-ss2018/matu/20180228_pic004.png
new file mode 100644
index 0000000..efa673e
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180228_pic004.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180228_pic005.png b/fhtw-bif04-ss2018/matu/20180228_pic005.png
new file mode 100644
index 0000000..f2c718c
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180228_pic005.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180228_pic006.png b/fhtw-bif04-ss2018/matu/20180228_pic006.png
new file mode 100644
index 0000000..21ca331
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180228_pic006.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180228_pic007.svg b/fhtw-bif04-ss2018/matu/20180228_pic007.svg
new file mode 100644
index 0000000..4eec082
--- /dev/null
+++ b/fhtw-bif04-ss2018/matu/20180228_pic007.svg
@@ -0,0 +1,269 @@
+
\ No newline at end of file
diff --git a/fhtw-bif04-ss2018/matu/20180228_pic008.svg b/fhtw-bif04-ss2018/matu/20180228_pic008.svg
new file mode 100644
index 0000000..4e4cd3e
--- /dev/null
+++ b/fhtw-bif04-ss2018/matu/20180228_pic008.svg
@@ -0,0 +1,248 @@
+
\ No newline at end of file
diff --git a/fhtw-bif04-ss2018/matu/20180228_pic009.png b/fhtw-bif04-ss2018/matu/20180228_pic009.png
new file mode 100644
index 0000000..7f89718
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180228_pic009.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180228_pic010.svg b/fhtw-bif04-ss2018/matu/20180228_pic010.svg
new file mode 100644
index 0000000..78f00ef
--- /dev/null
+++ b/fhtw-bif04-ss2018/matu/20180228_pic010.svg
@@ -0,0 +1,47 @@
+
\ No newline at end of file
diff --git a/fhtw-bif04-ss2018/matu/20180228_pic011.jpg b/fhtw-bif04-ss2018/matu/20180228_pic011.jpg
new file mode 100644
index 0000000..ff1ec40
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180228_pic011.jpg differ
diff --git a/fhtw-bif04-ss2018/matu/20180309.md b/fhtw-bif04-ss2018/matu/20180309.md
new file mode 100644
index 0000000..5c3e2aa
--- /dev/null
+++ b/fhtw-bif04-ss2018/matu/20180309.md
@@ -0,0 +1,106 @@
+# Kryptologie - 2018-03-09
+
+## Symmetrische Verfahren
+
+
+
+## Kryptoanalyse
+
+Verschluesselung durcch substitution.
+
+Aufwand (naiv)
+
+ 26! 2 ^ 88
+
+Kann durch statitische analyse des plain text geschwaecht werden.
+
+* a) DES 56 bit
+
+ 2^56 keys
+ 10^9 schluessel pro sekunde
+ Etwa 1 Jahr
+
+* b) AES 128 bit
+
+ 2^128
+ 10^9 schluessel pro sekunde
+ Etwa 5 * 10^21 Jahre
+
+## Sicherheitsniveau
+
+
+
+### Praktisch sicher *(computational secure)*
+
+* Aufwand zum Aufbrechen größer als Wert der Daten die zum Aufbrechen notwendige Zeit größer als die Zeit ist, für die die Daten geheim gehalten werden müssen
+* Beispiel: alle in der Praxis etablierten (korrekt implementierten, mit hinreichend langen Schlüsseln) verwendeten Verfahren, z.B. AES, RSA
+
+### Perfekt *(unconditional secure)*
+
+* wenn mit beliebig hohem Aufwand (zeitlich, finanziell, . . . ) die Verschlüsselung nicht gebrochen werden kann.
+* Der Angreifer weiß, wenn er den Geheimtext kennt, nicht mehr über den Klartext, als als wenn er den Geheimtext nicht kennt. Er ist nicht in der Lage, aus dem Geheimtext irgendwelche Informationen über den Klartext oder den geheimen Schlüssel zu extrahieren.
+* Beispiel: One Time Pad
+
+## monoalphabetisch-polyalphabetisch
+
+* **monoalphabetische Verfahren**: ein Klartextbuchstabe wird(unabhängig von seiner Postition im Klartext) immer in denselben Geheimtextbuchstaben verschlüsselt (z.B. Cäsar-Verschlüsselung)
+
+* **polyalphabetisch**: ein Klartextbuchstabe wird (je nachdem, wo er im Klartext auftritt) in unterschiedliche Geheimtextbuchstaben verschlüsselt (z.B. Vigenere-Verschlüsselung, Enigma)
+
+## monoalphabetisch
+
+### Caesar Veschluesselung (Verschiebechiffre)
+
+
+
+**Gegeben:** Geheimtext, von dem der Angreifer weiß, dass Verschiebechiffre verwendet wurde Klartext = deutscher Text
+**Gesucht:** Verschiebung e(n=26 Möglichkeiten)
+
+Effizienter als ein Brute-Force Angriff ist eine mathematische
+Kryptoanalyse. Es muss nur ein einziges zusammengehörendes Paar
+
+ x, y
+
+gefunden werden, dann kann daraus die Verschiebung
+
+ e
+
+berechnet werden.
+
+Verwende dazu die Buchstabenhäufigkeiten.
+
+
+
+
+
+### Affine Chiffrec
+
+
+
+* Entschluesselungsvorschrift??
+
+
+
+* welche t und e sind moeglich?
+
+ t ... 12 Moeglicheiten
+
+ e ... 26 Moeglichkeiten
+
+ 12 * 26 Moeglichkeiten
+
+* Bsp: Z_26 - Wie viele Moeglichkeiten gibt es fuer (t,e)?
+
+## Polyalphabetische Verschluesselung
+
+### Hill-Chiffre
+
+
+
+ a=4, b=2, c=6, d=7
+
+Klartext:
+
+ 5,1,3,3
+
+
diff --git a/fhtw-bif04-ss2018/matu/20180309_pic001.png b/fhtw-bif04-ss2018/matu/20180309_pic001.png
new file mode 100644
index 0000000..c2f0cc9
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180309_pic001.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180309_pic002.png b/fhtw-bif04-ss2018/matu/20180309_pic002.png
new file mode 100644
index 0000000..fa00973
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180309_pic002.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180309_pic003.png b/fhtw-bif04-ss2018/matu/20180309_pic003.png
new file mode 100644
index 0000000..5f620c1
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180309_pic003.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180309_pic004.png b/fhtw-bif04-ss2018/matu/20180309_pic004.png
new file mode 100644
index 0000000..722975f
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180309_pic004.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180309_pic005.png b/fhtw-bif04-ss2018/matu/20180309_pic005.png
new file mode 100644
index 0000000..bce01a0
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180309_pic005.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180309_pic006.svg b/fhtw-bif04-ss2018/matu/20180309_pic006.svg
new file mode 100644
index 0000000..9738f6c
--- /dev/null
+++ b/fhtw-bif04-ss2018/matu/20180309_pic006.svg
@@ -0,0 +1,58 @@
+
\ No newline at end of file
diff --git a/fhtw-bif04-ss2018/matu/20180309_pic007.svg b/fhtw-bif04-ss2018/matu/20180309_pic007.svg
new file mode 100644
index 0000000..50f836c
--- /dev/null
+++ b/fhtw-bif04-ss2018/matu/20180309_pic007.svg
@@ -0,0 +1,33 @@
+
\ No newline at end of file
diff --git a/fhtw-bif04-ss2018/matu/20180309_pic008.svg b/fhtw-bif04-ss2018/matu/20180309_pic008.svg
new file mode 100644
index 0000000..7ba88ba
--- /dev/null
+++ b/fhtw-bif04-ss2018/matu/20180309_pic008.svg
@@ -0,0 +1,81 @@
+
\ No newline at end of file
diff --git a/fhtw-bif04-ss2018/matu/20180309_pic009.svg b/fhtw-bif04-ss2018/matu/20180309_pic009.svg
new file mode 100644
index 0000000..6b93052
--- /dev/null
+++ b/fhtw-bif04-ss2018/matu/20180309_pic009.svg
@@ -0,0 +1,328 @@
+
\ No newline at end of file
diff --git a/fhtw-bif04-ss2018/matu/20180315.md b/fhtw-bif04-ss2018/matu/20180315.md
new file mode 100644
index 0000000..bfeadb2
--- /dev/null
+++ b/fhtw-bif04-ss2018/matu/20180315.md
@@ -0,0 +1,25 @@
+# Klassische Verschluesselung - 2018-03-15
+
+## Vigenere Veschluesselung
+
+Aus dem 16. Jahrhunder, galt als unknackbar.
+
+**Kryptoanalyse**
+
+Laenge des Schluesselwortes ermitteln mit Zeichenkoinzidenzindex.
+
+## One-Time Pad
+
+# Endliche Koerper
+
+Gesucht Koerper mit 256 Elementen.
+
+Verwendung z.B. beim AES oder Reed Solomon Code.
+
+Konstruktion mithilfe von Polynomen.
+
+## Restklassenring
+. . . enthält alle Reste, die bei Division durch m(x) auftreten können.
+. . . also alle Polynome in K[x], deren Grad kleiner als jener vo nm(x)ist
+
+
\ No newline at end of file
diff --git a/fhtw-bif04-ss2018/matu/20180315_pic001.png b/fhtw-bif04-ss2018/matu/20180315_pic001.png
new file mode 100644
index 0000000..8f0248a
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180315_pic001.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180322.md b/fhtw-bif04-ss2018/matu/20180322.md
new file mode 100644
index 0000000..54ad8e1
--- /dev/null
+++ b/fhtw-bif04-ss2018/matu/20180322.md
@@ -0,0 +1,78 @@
+## Endliche Koerper
+
+### irreduzibles Polynom
+
+Ein Polynom welches sich nicht als Produkt von polynomen niedrigeren Grades zerlegen laesst.
+
+Jeder Linearfaktor gehoert zu einer Nullstelle.
+Es gibt Linearfaktor, genau dann wenn es Nullstellen gibt.
+
+
+
+
+
+
+
+
+Für jede Primzahlpotenz p^k gibt es einen zugehörigen Galois-Körper. Dieser
+Körper ist bis auf die Bezeichnung seiner Elemente eindeutig.
+
+Man kann weiters zeigen: Es gibt
+nur dann
+einen Körper mit n Elementen, wenn
+n=p^k eine Primzahlpotenz ist. D.h., andere endliche Körper als
+Galois-Körper gibt es nicht. Es gibt also z.B. insbesondere keinen Körper
+mit 26 Elementen.
+
+## Moderne Blockchiffren
+
+* Blockchiffre wird Blockweise verschluesselt (z.B. 64 Bit
+ Bloecke).
+
+* Stromchiffre werden einzeln mit Schluesselzeichen verknuepft
+ (z.B. XOR)
+
+Stromchiffren sind weniger gut analysiert und weniger
+verbreitet als Blockchiffren
+
+durch Wahl eines geeigneten Betriebsmodus können Blockchiffren
+auch als Stromchiffren betreiben werden
+
+Bei Blockchiffre sollte es keinen besseren Angriff als
+Bruteforce geben. Blockchiffre gelten dann als praktisch Sicher.
+
+Unterschiedliche Arten:
+
+* Feistelnetzwerk
+* Substitutionsnetzwerk
+
+Starke Kryptografie muss folgendes erfuellen:
+
+* Konfusion
+ - Zusammenhang zwischen Schlüssel, Klartext und Geheimtext soll möglichst kompliziert (nichtlinear) sein.
+ - Auch wenn man mehrere zusammengehörende Klartext-Geheimtextpaare hat, die mit demselben Schlüssel verschlüsselt sind, soll es praktisch unmöglich sein, den Schlüssel zu finden.
+ - Beispiel: Hill-Chiffre: keine ausreichende Konfusion – Klartextangriff einfach, weil Verschlüsselungfunktion linear war
+
+* Diffusions
+ - die im Klartext enthaltene Struktur soll über weite Teile des Geheimtextes verteilt werden
+ - die Änderung eines einzelnen Klartextbits soll mehrere Geheimtextbits ändern
+ - Beispiel: keine Diffusion bei Cäsar oder Vigenere-Verschlüsselung, da die Änderung eines Klartextbits nur ein einzelnes Geheimtextbit verändert
+
+Diffusion erreicht man durch mehrere Runden, "Lawineneffekt".
+
+### DES
+
+*"Data Encryption Standard"*
+
+- Ueber 30 Jahre wichtigste Blockchiffre.
+- Am besten untersucht.
+- Hat viele andere Blockchiffre beeinflusst.
+
+Grundlage war *Luzifer* aus dem Hause IBM.
+
+Mit input von der NSA wurde daraus DES.
+
+Verbessert zu 3DES (dreiache durchfuehrung).
+
+#### Struktur von DES
+
diff --git a/fhtw-bif04-ss2018/matu/20180322_pic001.png b/fhtw-bif04-ss2018/matu/20180322_pic001.png
new file mode 100644
index 0000000..3694d18
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180322_pic001.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180322_pic002.png b/fhtw-bif04-ss2018/matu/20180322_pic002.png
new file mode 100644
index 0000000..5a30031
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180322_pic002.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180322_pic003.png b/fhtw-bif04-ss2018/matu/20180322_pic003.png
new file mode 100644
index 0000000..ca365a9
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180322_pic003.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180322_pic004.png b/fhtw-bif04-ss2018/matu/20180322_pic004.png
new file mode 100644
index 0000000..6b8e21f
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180322_pic004.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180322_pic005.png b/fhtw-bif04-ss2018/matu/20180322_pic005.png
new file mode 100644
index 0000000..272db50
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180322_pic005.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180322_pic006.png b/fhtw-bif04-ss2018/matu/20180322_pic006.png
new file mode 100644
index 0000000..ee14b50
Binary files /dev/null and b/fhtw-bif04-ss2018/matu/20180322_pic006.png differ
diff --git a/fhtw-bif04-ss2018/matu/20180517.md b/fhtw-bif04-ss2018/matu/20180517.md
new file mode 100644
index 0000000..da9b33b
--- /dev/null
+++ b/fhtw-bif04-ss2018/matu/20180517.md
@@ -0,0 +1,50 @@
+# MATU - 2018-05-17
+
+## Das Diskrete Logarithmus Problem
+
+
+
+## Der RSA Algorithmus
+
+### Schluesselerzeugung
+
+Wie erzeugt man ein Schluesselpaar?
+
+* Waehle zwei verschiedene Primzahlen p,q (in der Praxis: gross)
+* berechne `n = p * q`
+* berechne `m = (p - 1)(q - 1)`
+
+> m = φ(n)
+
+* waehle `e ∈ Z_n`, e teilerfremd zu m
+
+> Weil e teilerfremd zu m, gibt es ein multiplikatives Inverese
+
+* berechne `d = 1/e mod m`
+
+gebe bekannt:
+- (e, n) ... oeffentlicher Schluessel
+
+behalte (geheim):
+- d ... geheimer Schluessel
+
+> p,q,m werden nicht mehr benoetigt
+
+### Ver- und Entschluesselung
+
+
+
+> p = 5, q = 11
+> x = 8
+
+### Sicherheit
+
+Die Sicherheit des RSA-Algorithmus beruht auf der Schwierigkeit n in die Primzahlen p,q zu zerlegen. ("Faktorisierungsproblem")
+
+#### Methode von Fermat
+
+
+
+
+### Primzahlentests
+
diff --git a/fhtw-bif04-ss2018/matu/Readme.md b/fhtw-bif04-ss2018/matu/Readme.md
new file mode 100644
index 0000000..fa0f9bd
--- /dev/null
+++ b/fhtw-bif04-ss2018/matu/Readme.md
@@ -0,0 +1,4 @@
+* [Zahlentheorie - 2018-02-28](20180228.md)
+ - [Kongruenz](20180228.md#kongruenz)
+ - [Restklassen](20180228.md#restklassen)
+* [Kryptologie - 2018-03-09](20180309.md)
\ No newline at end of file
diff --git a/fhtw-bif04-ss2018/mle-se/20180227-ich-habe-nur-gezeigt-dass-es-die-bombe-gibt-das-magazin.pdf b/fhtw-bif04-ss2018/mle-se/20180227-ich-habe-nur-gezeigt-dass-es-die-bombe-gibt-das-magazin.pdf
new file mode 100644
index 0000000..06549d2
Binary files /dev/null and b/fhtw-bif04-ss2018/mle-se/20180227-ich-habe-nur-gezeigt-dass-es-die-bombe-gibt-das-magazin.pdf differ
diff --git a/fhtw-bif04-ss2018/mle-se/20180227.md b/fhtw-bif04-ss2018/mle-se/20180227.md
new file mode 100644
index 0000000..ae0db61
--- /dev/null
+++ b/fhtw-bif04-ss2018/mle-se/20180227.md
@@ -0,0 +1,73 @@
+# Introduction - 2018-02-27
+
+## Arten
+
+* Supervised learning
+
+Lernmodel aufgrund bekannter daten.
+
+Datensatz mit korrekter Loesung.
+
+* Unsupervised learning
+
+Automatischer kategorisierung, clustering.
+
+* Reinforced learning
+
+Mischung. Algo bekommt feedback zu getroffenen Entscheidungen.s
+
+* Evolutionary learning
+
+## Nearest neighbour
+
+### Studieren oder Party?
+
+
+
+## Decicion Tree
+
+### Spielen?
+
+
+
+
+
+## Artikel und Diskussion
+
+**Angabe**
+
+Maschinelles Lernen im Artikel
+
+Wo haben Sie, aus Ihrer Sicht einen Zusammenhang zu maschinellem Lernen im Artikel gefunden?
+
+[Artikel](20180227-ich-habe-nur-gezeigt-dass-es-die-bombe-gibt-das-magazin.pdf)
+
+## Datenkonzept schreiben:
+
+**Concept:**
+
+- Beschreibt das zu lernende Ergebnis
+- Welche Attribute gibt es?
+- Welches Attribut beschreibt das Ergebnis?
+- Welche Attribute sind zum Lernen heranzuziehen?
+- Welche Beziehungen bestehen zwischen den Attributen?
+
+### Angabe
+
+**Daten**
+
+Für die Lehre stehen öffentliche Datensätze bereit,
+die Sie zum ausprobieren heranziehen können. Einfache
+Datensätze für diese Lehrveranstaltung sind
+
+1. SMS Spam Collection Data Set
+
+2. Iris Data Set
+
+3. White Wine Quality
+
+Suchen Sie diese 3 Datensätze, laden Sie sie herunter,
+sehen Sie sich diese Daten an und beantworten Sie dann
+die Fragen in der nächsten Aufgabe.
+Click https://archive.ics.uci.edu/ml/datasets.html link
+to open resource.
diff --git a/fhtw-bif04-ss2018/mle-se/20180227_pic01.png b/fhtw-bif04-ss2018/mle-se/20180227_pic01.png
new file mode 100644
index 0000000..d6b2914
Binary files /dev/null and b/fhtw-bif04-ss2018/mle-se/20180227_pic01.png differ
diff --git a/fhtw-bif04-ss2018/mle-se/20180227_pic02.png b/fhtw-bif04-ss2018/mle-se/20180227_pic02.png
new file mode 100644
index 0000000..7ae1e9c
Binary files /dev/null and b/fhtw-bif04-ss2018/mle-se/20180227_pic02.png differ
diff --git a/fhtw-bif04-ss2018/mle-se/20180227_pic03.png b/fhtw-bif04-ss2018/mle-se/20180227_pic03.png
new file mode 100644
index 0000000..01b0a22
Binary files /dev/null and b/fhtw-bif04-ss2018/mle-se/20180227_pic03.png differ
diff --git a/fhtw-bif04-ss2018/mle-se/20180227_pic04.png b/fhtw-bif04-ss2018/mle-se/20180227_pic04.png
new file mode 100644
index 0000000..7b5547c
Binary files /dev/null and b/fhtw-bif04-ss2018/mle-se/20180227_pic04.png differ
diff --git a/fhtw-bif04-ss2018/mle-se/20180307.md b/fhtw-bif04-ss2018/mle-se/20180307.md
new file mode 100644
index 0000000..e6c0173
--- /dev/null
+++ b/fhtw-bif04-ss2018/mle-se/20180307.md
@@ -0,0 +1,85 @@
+
+# 2018-03-07
+
+## Iris Datenbank
+
+
+
+Je besser die Trainingsdaten desto leichter die klassifizierung.
+
+Algorithmus sucht die naechsten K-Punkte.
+
+Daten werden in lern und Testdaten geteilt um overfitting zu vermeiden.
+Eventuell zusaetzlich noch validation data.
+
+### k-fold cross validation
+
+Z.B. 10-fold cross validation.
+
+9 Teile der Daten zum lernen, 1 Teil zum validieren.
+
+Ergebnis Accuracy oder Confusion Matrix.
+
+
+
+## Distanz zwischen 2 Istanzen
+
+
+
+## Confusion Matrix
+
+
+
+## Angabe
+
+Allgemein:
+
+Implementieren Sie einen Klassifizierer mittels k
+-Nearest
+-Neighbor Algorithmus. Sie können dafür
+Java oder C# als Sprache auswählen
+und dürfen keine Machine Learning Frameworks ver
+wenden.
+Messen Sie
+jeweils die Zeit
+ für jeweils 1000
+, 10.000 oder 100.000
+ Klas
+sifizierungen (also ohne
+Einlesen der Daten, Lernen etc.). Teilen Sie die Daten jeweils in Lern- und Test Daten. Verwenden
+Sie dafür ein
+beliebiges Validation Verfahren,
+erstellen Sie eine Confusion Matrix und
+berechnen
+Sie die Accuracy für Ihren Algorithmus.
+ Achten Sie bei der Implementierung, dass Sie
+konkret dieses Beispiel lösen. Sie müssen keine
+allgemeine, wiederverwendbare Lösung implementieren, die auch für andere Dat
+en verwendet
+werden kann.
+ Abzugeben ist ein einseitiger Bericht im PDF Format mit den gemessenen Zeiten und den
+Confusion Matri
+zen.
+Beim Prüfungsgespräch ist auch der Code zu erklären.
+
+Variante 1:
+
+Daten zu den Iris
+-Blumen aus https://archive.ics.uci.edu/ml/datasets/Iris
+.
+
+Variante 2:
+
+Daten zur Weinquali
+tät aus https://archive.ics.uci.edu/ml/datasets/Wine+Quality
+, Rot
+-, oder
+Weißwein
+
+Zusatzaufgabe (Optional):
+
+Erstellen
+ Sie zunächst ein Framework für den kNN Algorithmus und implementieren Sie Klassen,
+die auch für andere Daten
+ zum Einsatz kommen können.
+
\ No newline at end of file
diff --git a/fhtw-bif04-ss2018/mle-se/20180307_exercise.md b/fhtw-bif04-ss2018/mle-se/20180307_exercise.md
new file mode 100644
index 0000000..6249428
--- /dev/null
+++ b/fhtw-bif04-ss2018/mle-se/20180307_exercise.md
@@ -0,0 +1,149 @@
+
+## Angabe
+
+### Allgemein:
+
+Implementieren Sie einen Klassifizierer mittels k -Nearest -Neighbor Algorithmus. Sie können dafür Java oder C# als Sprache auswählen und dürfen keine Machine Learning Frameworks ver wenden. Messen Sie jeweils die Zeit für jeweils 1000 , 10.000 oder 100.000 Klas sifizierungen (also ohne Einlesen der Daten, Lernen etc.). Teilen Sie die Daten jeweils in Lern- und Test Daten. Verwenden Sie dafür ein beliebiges Validation Verfahren, erstellen Sie eine Confusion Matrix und berechnen Sie die Accuracy für Ihren Algorithmus. Achten Sie bei der Implementierung, dass Sie konkret dieses Beispiel lösen. Sie müssen keine allgemeine, wiederverwendbare Lösung implementieren, die auch für andere Dat en verwendet werden kann. Abzugeben ist ein einseitiger Bericht im PDF Format mit den gemessenen Zeiten und den Confusion Matri zen. Beim Prüfungsgespräch ist auch der Code zu erklären.
+
+### Variante 1:
+
+Daten zu den Iris -Blumen aus https://archive.ics.uci.edu/ml/datasets/Iris .
+
+### Variante 2:
+
+Daten zur Weinqualität aus https://archive.ics.uci.edu/ml/datasets/Wine+Quality , Rot -, oder Weißwein
+
+### Zusatzaufgabe (Optional):
+
+Erstellen Sie zunächst ein Framework für den kNN Algorithmus und implementieren Sie Klassen, die auch für andere Daten zum Einsatz kommen können.
+
+
+```python
+# Imports
+%matplotlib inline
+import matplotlib.pyplot as plt
+import matplotlib.cm as cm
+
+import urllib.request
+import random
+```
+
+## Iris Blumen
+
+Attribute Information:
+
+1. sepal length in cm
+2. sepal width in cm
+3. petal length in cm
+4. petal width in cm
+5. class:
+ - Iris Setosa
+ - Iris Versicolour
+ - Iris Virginica
+
+
+```python
+# Fetch data
+
+url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/iris/bezdekIris.data'
+
+response = urllib.request.urlopen(url)
+respbytes = response.read()
+resptext = str(respbytes, 'utf8')
+```
+
+
+```python
+resptext
+```
+
+
+```python
+# Parse data
+
+lines = resptext.split('\n')
+data = [[
+ float(line.split(',')[0]),
+ float(line.split(',')[1]),
+ float(line.split(',')[2]),
+ float(line.split(',')[3]),
+ line.split(',')[4]]
+ for line
+ in lines
+ if len(line.split(',')) == len(head)]
+```
+
+
+```python
+data_setosa = [row for row in data if row[4] == 'Iris-setosa']
+data_versicolor = [row for row in data if row[4] == 'Iris-versicolor']
+data_virginica = [row for row in data if row[4] == 'Iris-virginica']
+```
+
+* x: Sepal Length
+* y: Sepal Width
+
+
+```python
+plt.scatter([x[0] for x in data_setosa], [y[1] for y in data_setosa])
+plt.scatter([x[0] for x in data_versicolor], [y[1] for y in data_versicolor])
+plt.scatter([x[0] for x in data_virginica], [y[1] for y in data_virginica])
+```
+
+* x: Pedal Length
+* y: Pedal Width
+
+
+```python
+plt.scatter([x[2] for x in data_setosa], [y[3] for y in data_setosa])
+plt.scatter([x[2] for x in data_versicolor], [y[3] for y in data_versicolor])
+plt.scatter([x[2] for x in data_virginica], [y[3] for y in data_virginica])
+```
+
+
+```python
+TEST_SAMPLE_SIZE = 5
+
+data_setosa = random.sample(data_setosa, len(data_setosa))
+data_versicolor = random.sample(data_versicolor, len(data_versicolor))
+data_virginica = random.sample(data_virginica, len(data_virginica))
+
+test_sample = data_setosa[:TEST_SAMPLE_SIZE] + data_versicolor[:TEST_SAMPLE_SIZE] + data_virginica[:TEST_SAMPLE_SIZE]
+training_sample = data_setosa[TEST_SAMPLE_SIZE:] + data_versicolor[TEST_SAMPLE_SIZE:] + data_virginica[TEST_SAMPLE_SIZE:]
+```
+
+## Weinqualität
+
+
+```python
+# Fetch data
+
+url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-white.csv'
+
+response = urllib.request.urlopen(url)
+respbytes = response.read()
+resptext = str(respbytes, 'utf8')
+```
+
+
+```python
+# Parse data
+
+lines = resptext.split('\n')
+head = lines[0].replace('"', '').split(';')
+data = [[
+ float(val)
+ for val
+ in line.split(';')]
+ for line
+ in lines[1:]
+ if len(line.split(';')) == len(head)]
+
+for i in range(0, len(head)):
+ print(i, head[i])
+```
+
+
+```python
+plt.scatter([x[11] for x in data], [y[0] for y in data])
+```
diff --git a/fhtw-bif04-ss2018/mle-se/20180307_pic01.png b/fhtw-bif04-ss2018/mle-se/20180307_pic01.png
new file mode 100644
index 0000000..036fe8a
Binary files /dev/null and b/fhtw-bif04-ss2018/mle-se/20180307_pic01.png differ
diff --git a/fhtw-bif04-ss2018/mle-se/20180307_pic02.png b/fhtw-bif04-ss2018/mle-se/20180307_pic02.png
new file mode 100644
index 0000000..3ed6802
Binary files /dev/null and b/fhtw-bif04-ss2018/mle-se/20180307_pic02.png differ
diff --git a/fhtw-bif04-ss2018/mle-se/20180307_pic03.png b/fhtw-bif04-ss2018/mle-se/20180307_pic03.png
new file mode 100644
index 0000000..493d622
Binary files /dev/null and b/fhtw-bif04-ss2018/mle-se/20180307_pic03.png differ
diff --git a/fhtw-bif04-ss2018/mle-se/20180307_pic04.png b/fhtw-bif04-ss2018/mle-se/20180307_pic04.png
new file mode 100644
index 0000000..98e9c07
Binary files /dev/null and b/fhtw-bif04-ss2018/mle-se/20180307_pic04.png differ
diff --git a/fhtw-bif04-ss2018/mle-se/Readme.md b/fhtw-bif04-ss2018/mle-se/Readme.md
new file mode 100644
index 0000000..ca61b2d
--- /dev/null
+++ b/fhtw-bif04-ss2018/mle-se/Readme.md
@@ -0,0 +1,3 @@
+* [Introduction - 2018-02-27](20180227.md)
+ - [ML Arten](20180227.md#arten)
+ - [Supervised learning](20180227.md#supervised-learning)
\ No newline at end of file
diff --git a/fhtw-bif04-ss2018/ucd/.gitignore b/fhtw-bif04-ss2018/ucd/.gitignore
new file mode 100644
index 0000000..a136337
--- /dev/null
+++ b/fhtw-bif04-ss2018/ucd/.gitignore
@@ -0,0 +1 @@
+*.pdf
diff --git a/fhtw-bif04-ss2018/ucd/ucd_ue1_klepp/Screenshot_20180322-084739.png b/fhtw-bif04-ss2018/ucd/ucd_ue1_klepp/Screenshot_20180322-084739.png
new file mode 100644
index 0000000..4805fff
Binary files /dev/null and b/fhtw-bif04-ss2018/ucd/ucd_ue1_klepp/Screenshot_20180322-084739.png differ
diff --git a/fhtw-bif04-ss2018/ucd/ucd_ue1_klepp/Screenshot_20180322-084826.png b/fhtw-bif04-ss2018/ucd/ucd_ue1_klepp/Screenshot_20180322-084826.png
new file mode 100644
index 0000000..5c819ce
Binary files /dev/null and b/fhtw-bif04-ss2018/ucd/ucd_ue1_klepp/Screenshot_20180322-084826.png differ
diff --git a/fhtw-bif04-ss2018/ucd/ucd_ue1_klepp/Screenshot_20180322-085043.png b/fhtw-bif04-ss2018/ucd/ucd_ue1_klepp/Screenshot_20180322-085043.png
new file mode 100644
index 0000000..aba3192
Binary files /dev/null and b/fhtw-bif04-ss2018/ucd/ucd_ue1_klepp/Screenshot_20180322-085043.png differ
diff --git a/fhtw-bif04-ss2018/ucd/ucd_ue1_klepp/Selection_028.png b/fhtw-bif04-ss2018/ucd/ucd_ue1_klepp/Selection_028.png
new file mode 100644
index 0000000..4bd7e32
Binary files /dev/null and b/fhtw-bif04-ss2018/ucd/ucd_ue1_klepp/Selection_028.png differ
diff --git a/fhtw-bif04-ss2018/ucd/ucd_ue1_klepp/Selection_029.png b/fhtw-bif04-ss2018/ucd/ucd_ue1_klepp/Selection_029.png
new file mode 100644
index 0000000..dc1cbbc
Binary files /dev/null and b/fhtw-bif04-ss2018/ucd/ucd_ue1_klepp/Selection_029.png differ
diff --git a/fhtw-bif04-ss2018/ucd/ucd_ue1_klepp/ucd_ue1_klepp.rst b/fhtw-bif04-ss2018/ucd/ucd_ue1_klepp/ucd_ue1_klepp.rst
new file mode 100644
index 0000000..3d83b8e
--- /dev/null
+++ b/fhtw-bif04-ss2018/ucd/ucd_ue1_klepp/ucd_ue1_klepp.rst
@@ -0,0 +1,117 @@
+#############################
+UCD - Persönliche Erfahrungen
+#############################
+
+Gutes Beispiel
+==============
+
+Sublime Text 3
+
+Zielgruppe
+**********
+
+Programmierer
+
+Power User
+
+Hauptfunktionalitäten
+*********************
+
+Texteditor mit Erweiterungen für Programmiersprachen.
+
+https://www.sublimetext.com/
+
+Usability Feedback (was ist „gut“/„schlecht“)
+*********************************************
+
+Schnell
+~~~~~~~
+
+Der Texteditor startet schnell und reagiert schnell auf Usereingaben.
+
+Schlichtes Design
+~~~~~~~~~~~~~~~~~
+
+Anders als vergleichbare Texteditoren ist Sublime Text nicht bitte Button und Icons überladen.
+
+Mächtige Tastenkombinationen
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Mit der *Goto Anything* Tastkombination öffnet sich eine Eingabeaufforderung wo man mit Textvervollständigung einen Dateinamen angeben um zu dieser Datei zu springen.
+
+Über die Command Palette können die meisten Features des Editors über eine Suchfunktion effizient aufgerufen werden.
+
+Mehrere Auswahlen
+~~~~~~~~~~~~~~~~~
+
+Es können gleichzeitig an mehreren Stellen im Dokument Textstücke markiert und Cursor plaziert werden. Damit kann das Dokument an mehreren Stellen zeitgleich bearbeitet werden.
+
+.. image:: Selection_029.png
+
+Hervorhebungen und Screenshots
+******************************
+
+.. image:: Selection_028.png
+
+Schlechtes Beispiel
+===================
+
+Mobile Website vom XXXLutz.
+
+https://m.xxxlutz.at/
+
+Zielgruppe
+**********
+
+Familien, Erwachsene die Möbel brauchen.
+
+Hauptfunktionalitäten
+*********************
+
+* E-commerce.
+* Suchen von Möbel.
+* Reservieren von Möbel.
+* Bestellen von Möbel.
+
+Usability Feedback (was ist „gut“/„schlecht“)
+*********************************************
+
+Lange Ladezeiten
+~~~~~~~~~~~~~~~~
+
+Das erstmalige Laden der Hauptseite braucht knapp 30 Sekunden.
+
+Werbung für „Trendartikel“ von vor einem Jahr
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Kein eigentliches Benutzbarkeitsproblem, vermittelt jedoch den
+Eindruck die Seite würde nicht aktiv gewartet werden.
+
+.. image:: Screenshot_20180322-084739.png
+
+Im Hamburgermenu kein Indikator wo man sich gerade befindet
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Es würde die Benutzung der Seite erleichtern wenn die derzeit
+aktive Kategorie Beispielsweise farblich hervorgehoben wäre.
+
+.. image:: Screenshot_20180322-085043.png
+
+Punkte unter Bilderkarusell können nicht angeklickt werden
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Bei den Meisten Webseiten zeigen die Punkte nicht nur an bei
+welchen Bild man sich befindet sonder können auch zur
+Navigation zwischen den Bildern genutzt werden.
+
+.. image:: Screenshot_20180322-084826.png
+
+.. header::
+
+ +-------------+--------------------+------------+
+ | ###Title### | Jakob Klepp | 2018-03-22 |
+ +-------------+--------------------+------------+
+
+.. footer::
+
+ ###Page### / ###Total###
diff --git a/meetups-workshops/Readme.md b/meetups-workshops/Readme.md
new file mode 100644
index 0000000..31f06a5
--- /dev/null
+++ b/meetups-workshops/Readme.md
@@ -0,0 +1,7 @@
+# Meetups & Workshops
+
+## [Modern Mobile Web Day 2018](modern-mobile-web-day/Readme.md)
+- [Optimierungstipps](modern-mobile-web-day/Readme.md#optimierungstipps)
+- [Accelerated Mobile Pages](modern-mobile-web-day/Readme.md#accelerated-mobile-pages)
+- [Progressive Web Apps](modern-mobile-web-day/Readme.md#progressive-web-apps)
+- [Q & A](modern-mobile-web-day/Readme.md#qa-1)
\ No newline at end of file
diff --git a/meetups-workshops/modern-mobile-web-day/Readme.md b/meetups-workshops/modern-mobile-web-day/Readme.md
new file mode 100644
index 0000000..1067825
--- /dev/null
+++ b/meetups-workshops/modern-mobile-web-day/Readme.md
@@ -0,0 +1,208 @@
+# Modern Mobile Web Day
+
+## Optimierungstipps
+
+### Wie testen
+
+* PageSpeedInsights
+
+* TestMySide
+
+* WebPageTest
+
+* Developer Tools
+
+### What to aim for
+
+* Competitors Test
+
+* User Tests
+
+* A/B Tests
+
+### Pitfalls:
+
+* Server-side delay
+* Transferring more than needed
+ - Split
+ - Defer
+ - Outsource
+ - Omit
+* Forgetting some compression
+
+https://compressor.io/
+
+* Unsuitable formats
+* To many transfers/requests
+ - sprite maps
+ - combine scripts/styles
+* Fix & forget
+
+Einmalige optimierung, sollte automatisch sein.
+
+### Q&A
+
+##### Single click pay - Datenschutz
+
+IANAL:
+
+Unkompliziert weil client seitig.
+
+###### Autofill:
+
+- User muss einmal einwilligen
+
+###### Chrome Autosync:
+
+- Googles problem
+
+###### Automatische eingabe:
+
+- Pop fragt User nach konsent.
+
+## Accelerated Mobile Pages
+
+https://ampbyexample.com/
+
+https://ampstart.com/
+
+## Progressive Web Apps
+
+https://developers.google.com/web/progressive-web-apps/
+
+* Offline
+* Push Notifications
+* Add to Homescreen
+
+https://www.pwabuilder.com/
+
+https://github.com/GoogleChrome/workbox
+
+### Progressive Features
+
+https://whatwebcando.today/
+
+https://pwa-directory.appspot.com/
+
+* Auto SignIn/Credential API
+
+* Payment Request API
+
+ new PaymentRequest(methodData, transactionDetails, options)
+
+ // know ahead of time if a user can pay
+ request.canMakePayment()
+
+ProprietÃre extension: Google pay
+
+* `web_share.js`
+
+ navigator.share(title, text, url)
+
+* Chrome dev tools - Audits - Light House
+
+### Q&A
+
+##### Browser Support
+
+Microsoft nimmt pages automatisch in appstore auf.
+
+Safari macht Probleme, geht aber so langsam. Derzeit
+in der preview/beta.
+
+##### Wie viel Speicher zur verfuegung?
+
+Vom Browser abhaengig.
+
+Bei Chrome: 16% vom verfuegbaren Device storage.
+
+##### Playstore?
+
+bs
+
+###### Trusted web activities
+
+**Derzeit:**
+
+Viele Leute Web als Webview in den Playstore.
+
+Nicht so nice.
+
+**Plan:**
+
+https://developers.google.com/web/updates/2017/10/using-twa
+
+Signierter code der mehr darf, z.B. native APIs aufrufen.
+
+##### Interaktion mit normalem Cache
+
+Normaler cache funktioniert weiter.
+
+Zusaetzlich Code cache. Geparsedter code wird vorgehalten.
+Bessere performance.
+
+## Amp vs Pwa
+
+
+
+#### AMP as PWA
+
+#### AMP to PWA
+
+#### AMP in PWA
+
+PWA *shell* content als AMP, wird von PWA gefetched.
+
+
+
+
+### Q&A
+
+##### Deregister
+
+Nicht sicher ob sich der der service worker selber deregistern kann.
+
+##### Push Notification wenn der User nicht online
+
+Eventuell irgendwo gequequed.
+
+AbhÃngig vom Backend.
+
+##### Was ist das erste wenn man hier raus geht?
+
+Was macht überhaupt Ãr mich Sinn?
+
+Wo verliere ich den User?
+
+* Verschwindet der User -> add home screen
+* Verliere den User im Bezahlprozess -> payment api
+* Beim ersten page load -> amp
+* ...
+
+##### Gegenfrage: was brÃuchte es denn?
+
+* Bewusstsein bei den PMs
+ - Dass die User abspringen wenn die Seite lÃnger als 2s laden
+
+* Kosten-nutzen Rechnung / Benchmarking
+
+https://www.thinkwithgoogle.com/tools/
+
+https://www.thinkwithgoogle.com/feature/mobile/
+
+##### Wie kommt ihr zur Kosten/Nutzen Berechnung
+
+Google's Empfehlung: SPA mit SSR
+
+##### Manifest kann nicht mehr aktualisiert werden
+
+War mal so, derzeit kanns einmal/Tag geupdated werden. (zumindest bei Chrome)
+
+##### Wie kann man Splashscreen anpassen
+
+Tasächlich relativ wenig
+
+##### Wie kann man sich an Martin wenden
+
+Martin hilft gerne.
+
diff --git a/meetups-workshops/modern-mobile-web-day/_20180313_160257.JPG b/meetups-workshops/modern-mobile-web-day/_20180313_160257.JPG
new file mode 100644
index 0000000..97644f2
Binary files /dev/null and b/meetups-workshops/modern-mobile-web-day/_20180313_160257.JPG differ
diff --git a/meetups-workshops/modern-mobile-web-day/_20180313_161151.JPG b/meetups-workshops/modern-mobile-web-day/_20180313_161151.JPG
new file mode 100644
index 0000000..3196dd6
Binary files /dev/null and b/meetups-workshops/modern-mobile-web-day/_20180313_161151.JPG differ
diff --git a/meetups-workshops/react-vienna/20180413.md b/meetups-workshops/react-vienna/20180413.md
new file mode 100644
index 0000000..55b3895
--- /dev/null
+++ b/meetups-workshops/react-vienna/20180413.md
@@ -0,0 +1,83 @@
+# React Meetup 2018-04-13
+
+## [Sponsor] CONDA - Crowd Token
+
+https://ico.conda.online/
+
+## [Sponsor] Twigo
+
+## A Common Design Language
+
+> Let Designers & Developers talk to each other
+
+Language is a system that consists of the development, acquisition, maintenance and use of complex systems of communication, particularly the human ability to do so; and a language is any specific example of such a system.
+
+#### Components
+
+
+#### Patterns
+
+- Design Patterns
+- but UI Patterns too
+
+Common language primitives
+
+