Tutorium Wann? Wo?
14 Freitag, 2024-10-25 09:45 - 11:15 50.34, Raum -119 0. Tutorium, ohne Zuteilung
16 Freitag, 2024-10-25 11:30 - 13:00 50.34, Raum -119 0. Tutorium, ohne Zuteilung
14 Freitag, 2024-11-08 09:45 - 11:15 Remote, in Zoom. Der Link wird im ILIAS-Kurs bekannt gegeben
16 Freitag, 2024-11-08 11:30 - 13:00 Remote, in Zoom. Der Link wird im ILIAS-Kurs bekannt gegeben
14 jeden Freitag 09:45 - 11:15 50.34 Raum -119
16 jeden Freitag 11:30 - 13:00 50.34 Raum -119

Hinweise

  1. Die Abgabe der Übungsblätter ist freiwillig!
  • Es muss nicht jedes Blatt und nicht jede Aufgabe bearbeitet werden.
  • Bitte geben Sie nicht einfach die Musterlösung ab und nutzen Sie keine LLMs. Das bringt niemanden irgendetwas und ihre Abgaben werden dann nicht mehr korrigiert.
  1. Die Bearbeitung der Blätter ist aber empfohlen, sie helfen bei der Klausur viel.
  • Bearbeiten Sie die kurzen Einstiegs-/C-Grundlagen Aufgaben auf jeden Fall.
  • Machen Sie die größeren Aufgaben, wenn Sie die Aufgabe interessant finden.
  1. Die Übungsinhalte, sowie die Übungsblattinhalte sind genauso wie die Vorlesungsinhalte klausurrelevant.
  2. Nehmen Sie einen Laptop in das Tutorium mit.

Arbeitsrechner

Die Abgaben werden auf x86_64-linux-gnu kompiliert und getestet. Auch wenn Sie einige Aufgaben auch auf anderen Plattformen lösen können, wird es Aufgaben geben, in denen Sie mit x86_64 Assembler und Linux syscalls arbeiten müssen. Insbesondere MacOS-{ppc64,x86_64,aarch64}, FreeBSD-x86_64 und Cygwin-x86_64 sind nicht mit allen Aufgaben kompatibel! Setzen Sie sich eine, dem geforderten target-triple entsprechende VM auf, oder nutzen Sie die Rechner der ATIS. Informationen dazu erfahren Sie im 0. bzw. 1. Tutorium.

Fixing Slow SSH Login Times

- 2 mins read

tl/dr: rm /var/log/btmp

Over time, I’ve noticed that logging into my VPS keeps taking longer and longer. And for once, the internet was not that helpful in finding a solution, so some good old troubleshooting was in order.

Looking at the client Logs

Running ssh -vvv host.name id, yields that we are stuck for a couple of seconds after debug3: client_repledge: enter

Authenticated to the.fqdn.of.the.server ([12.34.56.78]:22) using "publickey".
debug1: channel 0: new session [client-session] (inactive timeout: 0)
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug3: send packet: type 90
debug1: Requesting no-more-sessions@openssh.com
debug3: send packet: type 80
debug1: Entering interactive session.
debug1: pledge: filesystem
debug3: client_repledge: enter

So we can see that the connection is quickly established, but then the server is stuck doing something.

Tutorium Algorithmen I Nr. 3

Organisatorisches

Wann? Wo?
Montag 17:30 - 19:00 50.34 Raum -120

Hinweise

  1. Die Abgabe der Übungsblätter ist FREIWILLIG!
  • Es muss nicht jedes Blatt und nicht jede Aufgabe bearbeitet werden.
  • Aber, bei $\geq 50$% der Punkte, erhalten Sie einen Notenbonus von einer Notenstufe auf bestandene Klausuren.
  • Geben Sie nach Möglichkeit zu zweit ab.
  1. Die Bearbeitung der Blätter ist aber empfohlen, sie helfen bei der Klausur viel.

Tutorium

Disclaimer

This is not a tutorial, just brief description of a working configuration. You should be at least vaguely familiar with wireguard before attempting to do something like this. That being said, I am a networking novice, so please do not blindly copy and paste these configs.

Setup

flowchart LR subgraph Internet S[S\nCentral Server] end subgraph Clients C1(C1)---S C2(C2)---S C3(C3)---S end S---G subgraph LAN NAT G[G\nGateway] --- r1([LAN resource 1]) G --- r2([LAN resource 2]) G --- r3([LAN resource ...]) end
I wish to access the resources of a local network remotely. For this, I have $\geq 3$ peers: a central server $S$ publicly accessible, a gateway Server $G$ behind NAT (in the local network), and multiple clients $C_1, C_2, …$. All clients $C_i$ and $G$ connect to $S$.

Viel Erfolg bei der Klausur am 29.02.2024!

Tutorium Betriebssysteme Nr. 1 - Organisatorisches

Wann? Wo?
Mittwoch 08:00 - 09:30 50.34 Raum -118

WICHTIG: Da der erste Tutoriumstermin auf Allerheiligen fällt, findet ein Ersatztutorium am Donnerstag, den 2.11 um 8Uhr in 50.34 R.-118. Falls Sie an dem Termin keine Zeit haben sollten, besuchen Sie einfach eines der anderen Tutorien in der Woche!

Hinweise

  1. Die Abgabe der Übungsblätter ist FREIWILLIG!
  • Es muss nicht jedes Blatt und nicht jede Aufgabe bearbeitet werden.
  • Bitte gibt nicht einfach die Musterlösung ab. Das bringt niemanden irgendetwas.
  1. Die Bearbeitung der Blätter ist aber dringendst empfohlen, sie helfen bei der Klausur viel.
  • Bearbeiten Sie die kurzen Einstiegsaufgaben auf jeden Fall.
  • Machen Sie die größeren Aufgaben, wenn sie die Aufgabe interessant finden.
  1. Das Format der Klausur hat sich im Vergleich zum Vorjahr verändert, näheres erfahren Sie noch in der Vorlesung.
  2. Alles was in der Übung behandelt wird ist 1:1 klausurrelevant! Nicht nur der Vorlesungsstoff.

Arbeitsrechner

Die Abgaben müssen auf Linux x86_64 kompilieren und laufen. Auch wenn Sie einige Aufgaben auch auf anderen Plattformen lösen können, wird es Aufgaben geben, in denen Sie mit x86 Assembler und Linux syscalls arbeiten müssen.

Organisatorisches

In dem Sommersemester herrscht reiner Übungsbetrieb, das bedeutet es gibt keine Vorlesung. Es finden pro Woche 4 Tutorien statt, welche von wechselnden Tutoren gehalten werden. Diese finden jeweils im Infobau (50.34) im ATIS Poolraum (R. -134) statt.

Tag Uhrzeit
Dienstag 09:45 - 11:15 Uhr
Dienstag 11:30 - 13:00 Uhr
Mittwoch 14:00 - 15:30 Uhr
Donnerstag entfällt, mangels Nachfrage

Erforderliche Werkzeuge

  • Ein Java JDK Version 17. Aus Lizenzrechtlichen Gründen wird Eclipse Adoptium JDK 17 empfohlen
  • (Optional) eine IDE
    • JetBrains IDEA bei weitem das Beste, aber nicht FOSS. Mit eurer Studenten-email erhaltet ihr aber eine kostenlose Lizenz
    • Eclipse Die offizielle IDE der Vorlesung
  • GIT und optional eine GUI

Hinweise

  1. Kopieren von Code und sonstigen Lösungen, insbesondere von Kommilitonen, ist zu unterlassen. Neben dem ausbleibenden Lernerfolg, werden Plagiate mit -20 Punkten bewertet und können zum nicht bestehen des Übungsscheines führen. Nach Plagiaten wird sowohl manuell als auch automatisch gesucht. Bei der Plagiatserkennung wird die Struktur des Quellcodes analysiert, also reicht es z.B. nicht, einfach Variablen umzubenennen.
  2. Die Verwendung von AI-Werkzeugen (wie z.B. Github Copilot) ist aus den gleichen Gründen nicht zu empfehlen.
  3. Die Verwendung des Codetesters ist nicht mehr erlaubt.
Wann? Wo?
Mittwoch 15:45 - 17:15 50.34 Raum -107

Erforderliche Werkzeuge

  • Ein Java JDK Version 17. Aus Lizenzrechtlichen Gründen wird Eclipse Adoptium JDK 17 empfohlen
  • (Optional) eine IDE
    • JetBrains IDEA bei weitem das Beste, aber nicht FOSS. Mit eurer Studentenemail erhaltet ihr aber eine kostenlose Lizenz
    • Eclipse Die offizielle IDE der Vorlesung
  • GIT und optional eine GUI

Hinweise

  1. Kopieren von Code und sonstigen Lösungen, insbesondere von Kommilitonen, ist zu unterlassen. Neben dem ausbleibenden Lernerfolg, werden Plagiate mit -20 Punkten bewertet und können zum nicht bestehen des Übungsscheines führen. Nach Plagiaten wird sowohl manuell als auch automatisch gesucht. Bei der Plagiatserkennung wird die Struktur des Quellcodes analysiert, also reicht es z.B. nicht, einfach Variablen umzubenennen.
  2. Die Verwendung von AI-Werkzeugen (wie z.B. Github Copilot) ist aus den gleichen Gründen nicht zu empfehlen.

About me

- 1 min read

Hi, I am Péter Bohner, a student at KIT , doing a bachelor of computer science in my 7th semester. I like to experiment with various technologies, but have mostly done embedded stuff until now.

Teaching

For the last 5 Semesters I have been a tutor for the modules programming, operating systems and algorithms. For students, information about the courses is available (in German) in category teaching.

Motivation and the state of this site

As it seems to be the case with most personal sites, I do not have much motivation to actually write posts. I hope this will change soon™ :)