Linux-Kernelmodule - Teil 1

Auch wenn es sich bei Linux um ein monolithisches Betriebssystem handelt, sind viele Teile davon in Modulen aufgebaut. Diese Kernelmodule können zur Laufzeit geladen und auch wieder entladen werden. Wie man so ein Modul entwickelt und zum Laufen bringt möchte ich hier kurz zeigen. C-Code Linux wird in C entwickelt und darum werden auch Kernel-Module in C geschrieben. Sie bestehen im Grunde aus zwei Funktionen: Eine, die beim Laden ausgeführt wird und eine, die beim Entladen ausgeführt wird.

Johannes Mittendorfer

Abfahrt - Meine erste Android-App ist da!

Endlich ist es soweit: Meine erste Android-App Abfahrt ist im Play Store! Damit soll das Benutzen von öffentlichen Verkehrsmittel leichter werden und das Verspassen des Zuges der Vergangenheit angehören. Weitere Informationen gibt es auf der eigenen Website.

Johannes Mittendorfer

Heartbleed - Oder wie das Internet unsicher wurde

Die Aufregung war groß, als die Sicherheitslücke CVE-2014-0160, genannt Heartbleed, am 7. April bekannt wurde. Nach Schätzungen von Experten sind oder waren bis zu 75% der Server im Internet betroffen. Wieso? Durch diesen Fehler in der Open Source Software OpenSSL war, und ist es zum Teil immer noch möglich, einen Teil des Arbeitsspeichers eines Servers, der diese Software verwendet, auszulesen und so die Anfragen anderer Benutzer zu sehen. Diese Anfragen können auch den Benutzernamen und das Passwort beinhalten, die durch SSL eigentlich sicher übertragen werden sollen.

Johannes Mittendorfer

Wenn grunt nichts mehr tut

Was tun, wenn grunt nichts mehr tut, also keinerlei mehr Ausgabe liefert? Es liegt meist am Paket node. Es hat überhaupt nichts mit nodejs zu tun und kann weg. Das heißt: sudo apt-get remove node löst das Problem. Schon sollte dem fröhlichen Automatisieren nichts mehr im Wege stehen!

Johannes Mittendorfer

DSLR-Steuerung für Linux

Die Steuerprogramme für digitale Spiegelreflexkameras sind oftmals nur für Windows und Mac verfügbar. Für den Linux-Benutzer gibt es aber, wie von mir vor kurzem entdeckt, gphoto2.

Johannes Mittendorfer

Wie man Assembler schreibt

Assembler ist gar nicht so schwer. Vorausgesetzt natürlich man hat es einmal verstanden. Und genau das soll dieser Artikel leisten: Verständlich machen, wie es grundsätzlich geht. In diesem Beispiel verwende ich GNU Assembler mit der AT&T-Syntax. Ein Programm besteht immer aus zwei Teilen: Dem data- und dem text-Bereich: 1.section .data 2# hier kommt was hin 3 4.section .text 5# hier auch Im data-Bereich werden die Variablen definiert und im text-Bereich steht das eigentliche Programm.

Johannes Mittendorfer

vine.co only supports RC4 ciphers

Due to the well-known problems with the RC4 cipher i recently disabled all ciphers that use RC4 in my web browser. I have not experienced any problems until a week ago. Maybe some old websites will not support ciphers without it. That is what i thought. So days ago one of these short videos from vine, a service of Twitter, showed up in my Twitter timeline. I clicked it and got this:

Johannes Mittendorfer

Mein erster Beitrag zum Firefox-Quellcode

Heute wurde meiner erster Beitrag zum Quellcode von Firefox in den Source-Baum eingefügt. Bug 956678 - Replace TaskUtils.spawn() by Task.spawn() in Session Restore. r=yoric Dadurch habe zu meinem Lieblingsbrowser auch etwas beigetragen!

Johannes Mittendorfer

ELGA am Start

Seit heute ist die neue elektronische Gesundheitsakte, kurz ELGA, in Betrieb. Auch wenn noch keine Gesundheitsdaten gespeichert werden (können), kann man sich ab heute davon abmelden. Gerade in Zeiten der Totalüberwachung durch die NSA und ständiger Hackerangriffe sollte jeder von uns überlegen, ob er Daten zu seiner Gesundheit dort ablegen lassen will. Ich jedenfalls habe mich heute abgemeldet. Dazu nötig ist eine Bürgerkarte oder Handysignatur und der Besuch von http://gesundheit.gv.at. Alternativ kann man die Verwendung auch schriftlich sperren lassen.

Johannes Mittendorfer

Zeit sparen mit Grunt

Mit dem Tool Grunt ist es möglich wiederkehrende Aufgaben beim Entwickeln von JavaScript-Bibliotheken zu automatisieren. Beim Entwickeln meiner Strichcode-Bibliothek bin ich auf Grunt gestoßen und will es jetzt nicht mehr missen. Installation Unter der Voraussetzung von Node.js kann man Grunt einfach mit dem folgenden Befehl installieren: 1npm install -g grunt-cli Konfigurationsdatei Zur Konfiguration wird eine Datei namens Gruntfile.js angelegt, in der die Aufgaben definiert werden. Hier ist ein Beispiel einer Konfigurationsdatei, wie ich sie aktuell in meiner Strichcode-Bibliothek verwende:

Johannes Mittendorfer