Skip to content

Study

21 posts with the tag “Study”

Workshop: Security Token

Der Open Source Arbeitskreis (OSAK) der Fachschaft FSMPI, veranstaltet nun zum zweiten Mal eine Crypto Party auf der sich Interessierte über Verschlüsselung und verwandte Themen informieren können.

Ich möchte hier die Gelegenheit nutzen um etwas Werbung für diese Veranstaltung zu machen. Genaue Infos findet Ihr unten im Flyer.

Dieses Mal wird es auch einen kleinen Workshop von mir geben:

„I know none of my passwords“

Ich werde in circa 20 Min eine kurze Übersicht über Security Tokens wie beispielsweise den Yubikey oder die OpenPGP Smartcard geben. Dabei wird der Fokus auf verschiedenen Anwendungsszenarien wie One-Time-Passwords, Logins, sowie E-Mail Verschlüsselung liegen.

Update: Hier sind die Vortragsfolien und das Handout:

Download:Präsentation
Download:Handout
Cryptoparty im Sommersemester 2015
Cryptoparty im Sommersemester 2015.

Seminar: Camera-based PCB Analysis for Solder Paste Dispensing

Mini Kossel 3D Printer
Mini Kossel 3D Printer.

The lectures during my last semester were largely focused on digital image processing. Combining this with the inspiration for 3D printing, I gathered through my trip though South Korea, resulted in the following seminar paper. Seminars are a compulsory part of our curriculum which I like due the self-contained work and the ability to pick an individual topic.

Over the past year, I’ve built my own Kossel 3D printer. The Mini Kossel is based on a novel parallel delta kinematic which was developed by Johann C. Rocholl, a Google engineer from Germany.

This paper is targeting the automation of solder paste dispensing onto printed circuit boards by using computer vision and RepRap robots.

Download:Presentation Slides
Download:Full Paper
Source Code

Bachelor Thesis: Extended Abstract

Almost fourteen months ago, I started working on my bachelor thesis. Although I finished it half a year ago, it’s still part of my work as a student research assistant.

During my initial work, most of the code was written for an internal research kernel. I’m now happy that we were able to port it to an open source kernel called eduOS: /RWTH-OS/eduOS ). This minimal operating system is used for practical demo’s and assignments during the OS course at my university. There’s much more I could write about. So this will probably be another separate blog post.

The motive for this article is an abstract I wrote for the student research competition of the ASPLOS conference which is held this year in Istanbul, Turkey. Unfortunately my submission got rejected. But as a nice side-effect, I’ve now the chance to present my work to an English audience as well:

Download:Extended Abstract (PDF)

breadBUG

breadBUG ist ein kleines Mikrocontroller Modul, das direkt auf ein Breadboard aufgesteckt werden kann. Es ist als Prototyping-Werkzeug für tägliche Basteleien gedacht.

Es fasst das für den Mikrocontroller nötige “Vogelfutter” auf einer kleinen Platine zusammen:

  • ATmega8 Controller
  • 16 MHz Quarz und Keramikkondensatoren
  • 5 V Festspannungsregler
  • Reset Taster
  • ISP Stecker
  • LED zur Spannungsüberwachung

breadBUG ist während meiner Arbeit für die Mikrocontroller-AG des MMIs entstanden. Einige Teilnehmer wünschten sich ein einfaches, kleines und günstiges Modul, das sie als Alternative zu dem von uns verwendeten Evaluation Board für eigene Projekte nutzen können.

Fast alle von uns in der AG verwendeten Erweiterungsmodule sind daher Pin-kompatibel mit dem “breadBUG” Board. Bis auf den Controller selber haben wir nur Through-hole Komponenten verwendet um den Aufbau auch für Einsteiger möglichst einfach zu halten.

Das Board hat etwa eine Größe von 2.5x5 cm, sodass im Mehrfachnutzen genau zwei Boards auf eine 5x5cm Platine von seeedstudio.com passen. Damit liegt der Preis für eine einzelne Platine bei weniger als 50 Cent.

Platinen Layout des breadBUG
Platinen Layout des breadBUG.

EAGLE Schaltplan, Layout und Gerber Dateien gibt es auf Codeberg: /stv0g/hardware/breadBUG/v1 .

Mikrocontroller AG

Vor drei Jahren war ich selber Teilnehmer der Mikrocontroller AG und habe diese dann für die vergangenen zwei Jahre mit Hilfe zweier weiterer Kommilitonen, Markus Hamm und Mats Markus, geleitet.

Als Abschluss meiner dortigen Arbeit schreibe ich nun meinen Bericht und möchte diesen hier kurz zusammenfassen. Den kompletten Tutoriums Bericht könnt ihr euch hier herunterladen:

Download:Tutoriums Bericht Mikrocontroller AG

Das Institut für Mensch-Maschine-Interaktion (MMI) der RWTH bietet für Studenten des zweiten Semesters eine freiwillige AG zum Einstieg in die Mikrocontroller Programmierung an. Diese verknüpft theoretische Grundlagen der Vorlesung “Grundgebiete der Informatik 2” von Prof. Roßmann mit praktischen Beispielen und Aufgaben aus dem Bereich der Mikrocontroller. Es handelt sich um eine freiwillige Veranstaltung, die für die Teilnehmer nicht als Studienleistung anerkannt werden kann. Wie auch in der Vorlesung werden die ATmega Mikrocontroller der Firma Atmel verwendet.

mountL2P: Mount L2P Shares on Linux

l2p-3d-klein

Vielleicht kennt ihr Sync-my-L2P? Es ist ein kleines Tool, das automatisiert Dateien vom Online Lernportal der RWTH herunterlädt und syncronisieren kann.

Eigentlich eine super Sache! Entgegen meiner ursprünglichen Erwartung ist das Tool auch unter Linux lauffähig. Ich habe mich trotzdem dazu entschieden das ganze etwas anders, aus meiner Sicht deutlich simpler, zu lösen.

Mein Skript nutzt die Möglichkeit einzelne Microsoft Sharepoint Ordner (hier: L2P-Lernräume) via WebDav einzubinden.

Dazu gibt es unter Linux zwei Varianten:

  1. [davfs2](https://savannah.nongnu.org/projects/davfs2 (nutzt FUSE, kompatibel mit mount und fstab)
  2. gvfs (stark in GNOME & Nautilus integriert, einfach)

Die zweite Variante ist für GNOME Nutzer deutlich einfacher, da hier nur eine entsprechende URI in die Adresszeile des Dateimanagers eingegeben werden muss.

Mein Tool hilft euch diese URIs zu finden, indem es sich unter eurem Namen im L2P einloggt und nachsieht in welchen Lernräumen ihr registiert seid.

Das Skript ist auf Codeberg verfügbar: /stv0g/snippets/bash/mount.l2p.sh .

Terminal window
$ mountl2p.sh
usage: mountl2p.sh [-f FORMAT] [-s SEMESTER] [-u L2P_USER] [-p L2P_PASS]
FORMAT is one of 'gvfs' or 'fstab'
SEMESTER is an optional regex to filter the semester
L2P_USER is your L2P account name like 'sv123242'
L2P_PASS is your L2P account password

Um schnell auf die aktuellen Lernräume zugreifen zu können, bietet es sich an diese als Lesezeichen im Dateimanager zu registrieren:

Terminal window
./mountl2p.sh -f gvfs -s "ws12|ss12" -u sv111090 >> ~/.gtk-bookmarks
L2P WebDAV Mount
L2P WebDAV Mount.

Mikrocontroller & Elektronik CheatSheet

Daniel

Wie war nochmal die Pinbelegung des Festspannungsreglers? Wie stark darf ich die Pins des Mikrocontrollers belasten? Wie viel Volt fallen an dieser LED ab?

Häufig sind es diese kleine Fragen, die gerade Anfänger den Einstieg in die Welt Elektronik oder Mikrocontroller erschwert.

Um diesen etwas zu erleichtern und auch den erfahrenen Bastlern einen Spickzettel zur Verfügung zu stellen, habe ich folgendes CheatSheet zusammengestellt:

Download:Mikrocontroller CheatSheet

Anmerkungen, Hinweise zu Fehlern oder Ergänzungen nehme ich gerne auf. Bitte kontaktiert mich dazu einfach.

CampusOffice Kalender synchronisieren

Campus Office & Google Kalender

Campus Office ist unser Studienplaner an der RWTH. Über ihn stellen wir uns unseren Stundenplan zusammen und melden uns zu Prüfungen an. Campus Office besitzt auch einen einfachen Kalender, der alle Termine des aktuellen Semesters individuell für jeden Studenten zusammenfasst. Glücklicherweise kann dieser Kalender auch im iCalendar-Format exportiert werden.

Leider ist jedoch keine automatische Synchronisation mit Google, Outlook & co möglich, da sich jeder Student zuvor mit seinen Daten angemeldet haben muss. Um dieses Problem zu umgehen habe ich ein kleines Skript geschrieben, welches als Proxy fungiert und diese Anmeldung übernimmt.

Folgende URL kann beispielsweise im Google-Kalender abonniert werden:

http://t0.0l.de/snippets/php/campus/cocal.php?u=[matrikelnr]&p=[passwort]

Alternativ kann man sich über das Frontend das Passwort in der URL auch noch etwas verschleiern lassen:

http://t0.0l.de/snippets/php/campus/cocal.php?hash=<base64_encode(matrikelnr + ':' + passwort)> => http://t0.0l.de/snippets/php/campus/cocal.php?hash=MzA0OTU3OmFzZGZzZGY=

So habe ich nun alle meine Uni-Vorlesungen, Übungen und Klausuren in meinem Android-Smartphone ohne mich jemals wieder um die Synchronisierung kümmern zu müssen.

Zusammenfassung: Grundgebiete der Informatik 3

Petri-Netz

Auch im dritten Semester hatten wir wieder eine Grundlagenvorlesung Informatik. Im Vergleich zu letztem Jahr, war diese leider weniger interessant:

  • balancierte Bäume
  • konvexe Optimierungsprobleme
  • Multi-Prozessorsysteme
  • OSI-Layer

Glücklicherweise handelt es sich um eine Kofferklausur. Das heißt man darf außer elektronischen Geräten so ziemlich alles mit in die Prüfung nehmen 😉.

Aber lasst euch nicht davon täuschen: einfacher wird es dadurch leider nicht. Die Klausur war so überladen, dass man zum Nachlesen im Skript praktisch gar keine Zeit hatte.

Da war es ganz praktisch ein Inhaltsverzeichnis des Skriptes und eine knackige Zusammenfassung dabei zu haben. Diese möchte ich hier mit euch teilen:

Download:Inhaltsverzeichnis
Download:Zusammenfassung

Schreibblockade?!

So, nun geht es auch hier wieder weiter! Nach 7 Monaten Pause neigt sich auch mein dritten Semester an der RWTH nun dem Ende entgegen und ich möchte hier wieder etwas regelmäßiger schreiben!

Dass es hier lange keine Beiträge gab, sollte nicht darauf schließen lassen, dass ich nichts zu berichten hatte 😉. In den vergangenen Monaten hat sich viel getan. Ich habe unter anderem an vzlogger und HIDeKey gewerkelt. Ab diesem Semester arbeite arbeite ich beim Institut für Mensch-Maschine-Interaktion. Dort betreue ich die Mikrocontroller AG und das Praktikum Informatik 1. Den Blog habe ich mal etwas aufgeräumt nutze nun Amazon Cloudfront als CDN.

In den nächsten Beiträgen möchte ich euch Erlang, eine funktionale Sprache zur parallel Programmierung, vorstellen und über meine ersten Erfahrungen mit digitalen Schaltungsentwurf auf FPGA’s berichten.

RWTH Rant
RWTH Rant.

transcode

Digital Logic Diagram
Assembler code

Ich sitze im Zug nach Hause. Gerade komme ich von der letzten Vorlesung des zweiten Semesters: Informatik. Eigentlich bin ich auf dem Weg in die Semester-”Ferien”, ständen da nicht für den nächsten Monat noch 4 Klausuren in meinem Kalender 😉.

Informatik, Grundlagen des Digitalrechners. Klingt eigentlich recht trocken. Trotzdem ist es klar mein Favorit unter den Fächern dieses Semesters. Als Ergänzung zur Vorlesung richtete unser Professor einen kleinen Wettbewerb aus. Mein Beitrag zum Students Englightment Award ist ein Compiler Frontend für den GNU Compiler der Atmel AVRs.

Teil der Vorlesung war die Einführung des Mikrocontrollers ATMega8 von Atmel und dessen Programmierung mit Assembler. Dabei lernten wir zuerst die Schaltungstechnischen Grundlagen und die Minimierung von Schaltnetzen. Anschließend sind wir auf den Aufbau der Zentralen Recheneinheit eingegangen (Steuerwerk, ALU).

transcode kompiliert & assembliert ANSI C und Assembler in Maschinencode und umgekehrt. Dabei wird mit Hilfe von Debugging Informationen ein Bezug zwischen Zeilen im C-Code und den Mnemonics hergestellt. Durch Auswählen von Zeilen werden Bezüge direkt durch Hervorhebungen dargestellt. Für die Darstellung des Maschinencodes lässt sich zwischen binär, dezimal & hexadezimaler Form wählen.

ROCK YOUR LIFE! in Aachen

ROCK YOUR LIFE! Logo

Über die Hälfte der Studierenden haben in ihrer Familie einen akademischen Hintergrund. Wir denken, dass auch sozial benachteiligte Schüler das Recht haben, ihre Potentiale zu entfalten und Chancen zu nutzen!

Dabei wollen wir Hauptschüler durch individuelle Coaching Beziehungen mit Studenten unterstützen.

Unsere Vision ist eine Gesellschaft, in der

  • Bildungsgerechtigkeit,
  • soziale Mobilität und
  • Integration

Realität sind.

Zusammen mit 9 weiteren Gründungsmitgliedern haben wir dazu den ROCK YOUR LIFE! Standort Aachen gegründet. Wir sind eingetragener Verein und Teil des Deutschland weiten Social Franchising Netzwerkes.

Wenn du Lust hast dich sozial zu engagieren, freuen wir uns dich bei einem unserer wöchentlichen Treffen am Mittwoch kennen zu lernen (aachen@rockyourlife.de). Wir suchen noch begeisterte Mitstreiter für die Organisation unseres Standortes. Werde Teil der Bewegung und sei einer der Ersten in Aachen.

Wir freuen uns auf dich 😉!

Willst du nur auf dem Laufenden bleiben kannst du dich gerne in unseren Newsletter eintragen.

Klausurvorbereitung: MMET

Square Wave

MMET: Das steht für Mathematische Methoden der Elektrotechnik und ist die erste Klausur meines Studiums. Glücklicherweise dürfen wir ganz offiziell einen “Spicker” benutzen. Ein DIN A4 Blatt beidseitig. Gedruckt oder handgeschrieben.

Es geht hauptsächlich um Signale, Systeme, FIR-Filter und Fourier Transformationen. Ich habe mir für die Klausur mal alle Definitionen mit LaTeX zusammengetragen. Das Formelblatt gibt es auf uni.ist.hirnlos.net.

Morgen ist die Klausur. Vielleicht können ja die folgenden Jahrgänge etwas damit anfangen 😉.

Download:Definitionen & Plots
Download:Formelblatt & MATLAB (nicht von mir)

Die LaTex Version gibt es auf Anfrage…

MATLAB powered NXT omniwheel robot

MATLAB-powered NXT Omniwheel Roboter
MATLAB-powered NXT Omniwheel Roboter.

Kurz vor Weihnachten beendeten wir unser Erstsemester Projekt “MATLAB meets LEGO Mindstorms” an der RWTH Aachen.

Während dieser Pflichtveranstaltung sollten wir die Lerninhalte der Vorlesung “Mathematische Methoden der Elektrotechnik” durch Steuerung von LEGO Mindstorms NXT Robotern unter MATLAB vertiefen. Das Projekt ist eine Pflichtveranstaltung im ersten Semester meines Studienganges (Elektrotechnik, Informationstechnik und Technische Informatik) und wird durch alle Lehrstühle unserer Fakultät als 10-tägige Blockveranstaltung vor Weihnachten durchgeführt.

Ich wurde dem Institut für vernetzte System (MOBNETS) zugeteilt. Etwas verwundert war ich dann am ersten Tag, als wir auf Englisch begrüßt wurden. Aber naja, später werden wir vermutlich sowieso dazu gezwungen werden.

Während der ersten Woche lernten wir die eigens für das Projekt entwickelte “RWTH Mindstorms NXT-Toolbox” kennen und haben an einigen vorgegebenen Versuchen gearbeitet.

In der zweiten Hälfte des Projektes durften wir dann in einem Wahlversuch selber kreativ werden und einen eigenen Roboter konstruieren.

Meine beiden Kollegen und ich haben uns für einen Roboter mit omni-direktionalem Antrieb entschieden. Das Prinzip dieses etwas außergewöhnlichen Antriebes wird das folgende Video deutlich.

Die Konstruktion der “Omniwheels” war komplizierter als Anfangs angenommen. Dafür sind wir glücklicherweise recht schnell auf den nötigen Zusammenhang zwischen Fahrtrichtung und den drei Motorgeschwindigkeiten gekommen.

Als Projektabschluss mussten alle Gruppen ihren Roboter präsentieren. Unsere Präsentation gibt es hier:

Download:RWTH Omniwheel Bot (Präsentation)
  • Omniwheel-Antrieb
    • Bewegungsfreiheit in 360°
    • Drehen auf der Stelle
  • Intuitive Fernsteuerung über zweiten NXT-Brick
    • Durch Neigung des Controllers (Beschleunigungssensoren)
    • Schalter zur Steuerung des Programmablaufs
  • Signal-Hupe
  • Akustischer Abstandswarner
/_astro/DSC04214.RRBoXpNQ.jpg /_astro/IMG_9300.CIeUocJW.jpg /_astro/IMG_9302.bKvasTTu.jpg /_astro/IMG_9305.BgUpQKXL.jpg

Conway's Game of Life

Conway's Game of Life Screenshot
Conway's Game of Life Screenshot.

Als Übung für meine Informatik Vorlesung an der RWTH Aachen habe ich diese C Implementation von Conways Game of Life geschrieben.

Dieses simple “zero player” Game wird komplett im Terminal ausgeführt. Mit Mausunterstützung und Farben wurden mit libncurses realisiert.

Den Quelltext findet ihr inklusive eines Makefiles auf Codeberg: /stv0g/rwth-info1/src/conway.c .

  • p” pausiert das Spiel
  • q” beendet das Spiel
  • c” leert das Spielfeld
  • Leertaste setzt eine neue Zelle in das aktuelle Feld
  • Pfeiltasten bewegen den Cursor
  • Maus kann zum Bewegen des Cursors genutzt werden
  • 0” fügt ein chaotisches Anfangsmuster ein
  • 1” fügt einen Glider in das Spielfeld ein
  • 2” fügt einen Segler in das Spielfeld ein
  • 3” fügt einen Buffer in das Spielfeld ein
  • +” erhöht die Anzahl der Generationen pro Sekunde (frames per second)
  • -” erniedrigt die Anzahl der Generationen pro Sekunde (frames per second)

FöJ Erfahrungsbericht

Zielflagge

Zwei Tage noch! Dann habe ich mein freiwilliges ökologisches Jahr abgeschlossen. Ich bin bereits dabei meinen Schreibtisch aufzuräumen, Sachen zu packen, die neuen FöJ’ler einzuarbeiten.

Micha hat sich bereits vor zwei Wochen nach Tarifa verabschiedet. Für mich geht es dann Sonntag mit der Familie für zwei Wochen nach Island bevor ich in Aaachen richtig mit Studium beginnen kann.

Nun aber zum eigentlichen Inhalt dieses Posts: gerade habe ich meinen Erfahrungsbericht über das FöJ fertig gestellt. Diesen habe ich für das LVR geschrieben um mein Zeugnis zu bekommen 😉. Es ist mal wieder mit acht Seiten etwas länger als geplant geworden. Daher habe ich das ganze mal in ein PDF gepackt:

Download:FöJ Erfahrungsbericht

Ich schreibe hier etwas allgemein über das FöJ und meine persönlichen Erfahrungen, die ich während diesem Jahr gesammelt habe.

Vielleicht kann ich ja hier die Chance nutzen etwas Werbung für das FöJ zu machen. Ich empfehle es jedem! Nutzt die Chance, beginnt nicht gleich zu studieren und macht lieber ein FöJ 😊.

Es hat sich gelohnt. 100%ig

Ausblick

Jetzt schreibe ich mal wieder etwas über mich, diesen Blog und meine Zukunft 😉.

Bevor ich jedoch damit beginnen kann muss ich erst einmal die Vergangenheit aufholen:

  • Mein freiwilliges ökologisches Jahr ist so gut wie vorbei. Ich komme gerade von meinem letzten Seminar in Overath. Nun habe ich nur noch zwei Wochen Arbeit in Köln vor mir.
  • Vor knapp vier Monaten Ich habe eine neue WG gefunden und so langsam wird es endlich mal wieder etwas wärmer in Köln 😊.
  • Die SIGINT Konferenz 2010 war ein echter Knaller. Viel neues kennen gelernt und neue Bekanntschaften geknüpft.
  • Ich war auf dem Hurricane in Scheeßel, dem c/o Pop und habe Phoenix live gesehen 😉. Endlich mal wieder etwas Musik in Köln 😉.
  • Ich habe mich entschieden an der RWTH Aachen Elektrotechnik, Kommunikationstechnik und Technische Informatik zu studieren und befinde mich gerade mitten in der Wohnungssuche.
  • Im August geht es erst mal nach Island 🗻.
/_astro/10-hrr-01-028.CsZ7cubS.jpg /_astro/200px-Logo_CCC.svg.By6zLqta.png /_astro/425px-Export3_480.CRazIlfo.png /_astro/9857.4c2495c78a7ce.CyAQcLId.jpg /_astro/copop_logo_rgb.Bu6yFi34.jpg /_astro/rwth_logo.DDhE2mLz.svg

Freiwilliges ökologisches Jahr in Köln

Wappen von Köln

Ja! Endlich habe ich eine Stelle für meinen Wehrdienstersatz gefunden. Ab August werde ich für ein Jahr meinen Zivildienstersatz in einem Umweltinstitut in Köln ableisten. Zusammen mit meinem Freund Micha, der bei der gleichen Einsatzstelle angenommen wurde, suchen wir nun zusammen eine WG in Köln.

Ich freue mich auf ein Jahr voller neuer Erfahrung in einer der größten Städte Deutschlands 😉. Leider sind dementsprechend auch die Mieten relativ teuer 🙁. Unsere Einsatzstelle, die Katalyse e.V., liegt im Zentrum Kölns und ist zum Glück relativ gut erreichbar, sodass wir auch etwas ausserhalb Kölns noch gut eine WG suchen können.

Nach diesem Jahr plane ich eigentlich wieder nach Darmstadt zurückkehren um dort dann mit meinem Studium beginnen zu können. Wahrscheinlich werde ich Elektrotechnik und Informationstechnik an der TU Darmstadt studieren…

So das war jetzt aber genug von mir 😊. Die nächsten Beiträge sind mal wieder etwas technischer 😜.