Kurzvorträge: Plattentektonik, C99

Thema
Kurzvorträge: Plattentektonik, C99
Termin
2016-12-12 20:00
Ort
Uni Ulm, Hörsaal H20
Vortragende
Marco, Marcus
Archiv
Noch keine Aufzeichnungsdateien verfügbar.

Vortrag: Klimaerwärmung und Plattentektonik

  1. Wärmeleitungsgleichung
  2. Lösung für Sinusförmige Anregung an der Erdoberfläche (Eis- und Warmzeiten)
  3. Eindringtiefe der Temperaturänderung durch Eiszeiten
  4. Dadurch verursachte Wärmeausdehnung der Erdplatten
  5. Dadurch verursachte Kontinentaldriftgeschwindigkeit (3-10 cm pro Jahr)

Vortrag: Das Byte in C99

Für einen Netzwerkstack soll Code entstehen, der auch noch in 20 Jahren kompiliert. Wie bildet man das ab?

Gewachsene kleine Programmiersprachen

Thema
Gewachsene kleine Programmiersprachen
Termin
2016-11-14 20:15
Ort
Uni Ulm, Hörsaal H20
Vortragende
Marco
Archiv

Vielleicht geht’s euch auch so, dass ihr so erst mal ein kleines Programm schreibt, das irgendwas nützliches tut. Dann wird es erweitert, weil es läuft ja eh so toll, dann soll es interaktiv werden, und man muss irgendwie eine input-switch-case-schleife basteln, und schon ist mehr oder weniger zufällig eine primitive Programmiersprache entstanden.

Wenn wir dann so weit sind, wäre es ja toll, einen Befehl nicht mehrfach zu tippen, sondern ein tu-es-N-Mal-konstrukt zu haben, irgendwann ist die Programmiersprache dann Turing-mächtig.

Der Vortragende hat schon des öfteren solche mikro-Programmiersprachen gebastelt, und wenn einige andere hier ein Beispiel mitbringen könnten, dürfte sich daraus vielleicht ein interessanter Patchworkvortrag ergeben.

Der Vortrag stellt einen Kalender vor, der Code starten kann, und weil’s so geschickt ist, sich um Datenschnittstellen und Datenübertragung zwischen den Jobs kümmert, so entstand mehr oder weniger zufällig ein verteiltes System zur verteilten Programmierung. Dadurch, dass es nicht geplant wurde, sondern historisch gewachsen ist, hat es einige Eigenschaften, die die üblichen verteilten Programmiersprachen (oder Parallelisierungserweiterungen, …) nicht haben. Ob sie sinnvoll sind, darüber kann man diskutieren. :-)

Charset, Encoding & Font

Thema
Charset, Encoding & Font
Termin
2016-10-10 20:15
Ort
Uni Ulm, Hörsaal H22
Vortragende
meillo
Archiv

Dieser Vortrag bringt Licht in die Verwirrungen und das Unwissen im Themenfeld um Zeichensaetze (Charsets), Zeichenkodierungen (Encodings) und Schriften (Fonts).

Fonts:

Zeichensaetze:

Encodings:

Sollte man ausrotten:

Unicode-Zeichen und deren Repraesentation in verschiedenen Kodierungen:

Wie man’s richtig macht:

Guter Uebersichtsartikel. Der Hauptfokus ist zwar auf Windows gelegt (weil dort der Bedarf am groessten ist), aber es wird viel allgemeines Wissen vermittelt:

Ein Klassiker von Blogpost, wenn auch technisch nicht unbedingt der exakteste:

Eine Erklaerung der Situation der Schriftsysteme in Ostasien (der Titel passt nicht unbedingt zum Inhalt):

Auch Google vermischt Charsets und Encodings:

Was zur Folge hatte, dass diese abgeleitete Grafik jahrelang in der Wikipedia zu finden war – im Namen Unicode, im Inhalt UTF-8:

Bei PHP muss man der Charset-Methode ein Encoding uebergeben. Man hat einfach den Fehler von Mysql uebernommen, Charsets und Encodings in einen Topf zu werfen:

Wir sollten uns mit der groessten Anstrengung bemuehen, Charsets und Encodings auseinander zu halten und als orthogonal zueinander anzusehen. (Orthogonalitaet ist eine so wertvolle Eigenschaft; sie sollte geschaetzt und angestrebt werden.) 90% der Verwirrung im Gebiet um Charsets und Encodings stammt daher, dass die beiden nicht so klar getrennt werden wie es ihre Natur ist. Es ist notwendig, dass wir anfangen, die zwei Dinge explizit auseinander zu halten, auf dass wir es der zukuenftigen Informatikwelt ermoeglichen, in diesem Thema klar zu sehen!

Python

Thema
Python
Termin
2016-09-12 20:00
Ort
Uni Ulm, Hörsaal H20
Vortragende
Rens
Archiv

In diesen Vortrag geht es um der Programmiersprache Python. Es wird ein kurzen Überblick über die Sprache gegeben, sowie auch eine ganze Reihe von Fragen beantwortet – wie ist das Programmierumfeld? Warum, wozu und wie benutzen Menschen Python? Warum gibt es Python 2 und Python 3? Für welche Anwendungszwecke ist Python besonders geeignet? Welche besondere Sprachkonstrukte gibt es? Was sind die Nachteile und Quirks, die man beachten sollte?

Da der Zeit vermutlich nicht reichen wird, um alles zu besprechen, würde ich mich während des Vortrags nach dem Interesse der Zuhörer/innen richten.

Secure Messengers

Thema
Secure Messengers
Termin
2016-07-11 20:00
Ort
Uni Ulm, Hörsaal H20
Vortragende
Dome, Matou
Archiv

Seit Jahren unterhalten wir uns über verschlüsselte E-Mails, aber bis heute gibt es kaum Menschen, die E-Mail-Verschlüsselung regelmäßig verwenden. Davon abgesehen findet ein Großteil der elektronischen Kommunikation mittlerweile über sogenannte Messenger (typischerweise auf dem Smartphone) statt. Hier sieht es mit der Verschlüsselung schon ganz anders aus. Seit in diesem Jahr einer der größten Messenger Ende-zu-Ende-Verschlüsselung eingeführt hat, kommunizieren plötzlich ganz normale User nur noch verschlüsselt miteinander. Aber auch die Diskussion um die Sicherheit solcher Dienste wurde von neuem angefacht. Viele bisher kaum verbreiteten Messenger-Alternativen bekommen immer mehr Aufmerksamkeit, weil sie eventuell als noch sicherer angesehen werden.

In diesem Chaosseminar wollen wir einmal diskutieren, was wir überhaupt von einem Kommunikationsdienst erwarten würden und was verschiedene Dienste tatsächlich bieten.

Spaß mit IPv6 Implementierungen

Thema
Spaß mit IPv6, widersprechenden Standards und Herstellerimplementierungen
Termin
2016-05-09 20:00
Ort
Uni Ulm, Hörsaal H20
Vortragende
Marcus
Archiv

Vortragszusammenfassung

Alias Resolution beschäftigt sich mit der Frage: Sind diese beiden Adressen 2001::1 und 2004::f der gleiche Router? Es werden Verfahren zur IPv6 Alias Resolution erklärt und partiell demonstriert.

weitere Inhalte

Wir verschaffen uns einen Überblick über den IPv6 Standard, das Spannungsfeld zwischen Standardautor und Implementierer und lästern über Widersprüche und freie Lesarten. Zur Demonstration kommt eine Software Namens scapy – eine interaktive Python-Shell zur Paketgenerierung.

Alle standardrelevanten Vortragsinhalte sind persönliche Meinung des Vortragenden (a.k.a lästern).

Zum Referenten: Marcus befasst sich für seine Masterarbeit mit IPv6 und sucht Lücken im Standard, um Router wiederzuerkennen.

zitierte RFCs

https://dontpanic.ulm.ccc.de/~marcus/chaosseminar/ipv6/ipv6.rfclist.png

Es folgt eine Einzelaufschlüsselung.

Internet Control Message Protocol, Ping

  • rfc1885, ICMPv6, Jahr 1995
  • rfc2463, ICMPv6, Jahr 1998
  • rfc4443, ICMPv6, Jahr 2006
  • rfc4884, Extended ICMP tu Support Multi-Part Messages, Jahr 2007
  • rfc3627, Use of /127 Prefix Length Between Routers Considered Harmful, Jahr 2003
  • rfc6164, 127-Bit IPv6 Prefixes on Inter-Router Links, Jahr 2011
  • rfc6547, rfc3627 to Historic Status, Jahr 2012

Path Maximum Transfer Unit Discovery

  • rfc1981, PMTU Discovery, Jahr 1996

Der Client findet die MTU durch wiederholtes ausprobieren heraus. Ob die MTU abhängig von Adresse, Interface, … gespeichert wird, ist Aufgabe des Implementierers zu entscheiden:

5.2. Storing PMTU information

   Ideally, a PMTU value should be associated with a specific path
   traversed by packets exchanged between the source and destination
   nodes.  However, in most cases a node will not have enough
   information to completely and accurately identify such a path.
   Rather, a node must associate a PMTU value with some local
   representation of a path.  It is left to the implementation to select
   the local representation of a path.

Internet Protocol Version 6 inklusive Flow Label, Traffic Class und Routing Type 0

  • rfc1883, IPv6, Jahr 1995
  • rfc2460, IPv6, Jahr 1998
  • Ergänzungen (5095,9722,5871,6437,6564,6935,6946,7045,7112)
6.  Flow Labels

   The 24-bit Flow Label field in the IPv6 header may be used by a
   source to label those packets for which it requests special handling
   by the IPv6 routers, such as non-default quality of service or
   "real-time" service.  This aspect of IPv6 is, at the time of writing,
   still experimental and subject to change as the requirements for flow
   support in the Internet become clearer.  Hosts or routers that do not
   support the functions of the Flow Label field are required to set the
   field to zero when originating a packet, pass the field on unchanged
   when forwarding a packet, and ignore the field when receiving a
   packet.