David Hadizadeh



Daten:

Studiengang: (Angewandte) Informatik

Hochschule für Technik und Wirtschaft Berlin,

Humboldt-Universität zu Berlin

E-Mail





Ich habe den LSF Noten Checker heute mal um eine interessante Funktion erweitert.

Es ist jetzt auch möglich, die geschützte PDF mit allen Studienleistungen anzusehen und daran auch den berechneten Notendurchschnitt zu prüfen. Dieser berechnet sich anhand folgender Formel: (Note * LP) / Gesamt-LP

Das Script parst die PDF und liest dadurch alle notwendigen Informationen auf.

Der Quellcode wurde wieder im Download-Center veröffentlicht.

Die Liste und der Notendurchschnitt sind über die Datei “average_calculator.php” aufgerufen.

Viel Spaß mit den neuen LSF-Funktionen!

Kategorie: Allgemein, News, Programmierung | Keine Kommentare »

Im vor Kreativität strotzenden Bereich “Anderes” habe ich ein paar interessante Links zu Websites (hauptsächlich Blogs) von Freunden hinzugefügt. Es lohnt sich in jedem Fall mal reinzuschauen.

Kategorie: Allgemein, News | Keine Kommentare »

Das LSF (Lehre Studium Forschung) dient für viele Hochschulen als Kurs- und Notenverteilung.
Leider besitzt es keine Benachrichtigungsfunktion für neu eingetragene Noten.
Alexander Czyrny und ich (David Hadizadeh) haben uns heute die Aufgabe gestellt, diese Funktion unabhängig vom LSF zu realisieren.
Den Code dazu wollen wir hier veröffentlichen.
Der LSF Noten Checker besteht aus fünf Dateien.
Die saveCount.txt und tmpSave.txt beinhalten das Ergebnis des letzten Aufrufes und reduzieren den Traffic zum LSF.
Beide Dateien sollten 777 (chmod) Rechte erhalten (Lese-, Schreibrechte sind mindestens notwendig).
Die einzige Datei, die angepasst werden muss, ist die config.php.
Diese beinhaltet euer LSF-Passwort, den LSF-Loginname (Matrikelnummer) und eine E-Mail-Adresse, an die die Benachrichtigungen für neue Noten gesendet werden.
Das Hauptscript selbst befindet sich in der lsf_reader.php. Diese stellt eine Verbindung mit der PHP eigenen Funktion Curl zum LSF her und liest die entsprechenden Daten aus.

Dies beinhaltet:
- Login in das LSF
- Ermittelung der ASI-ID über reguläre Ausdrücke
- Aufruf der Notenseite mithilfe der ermittelten ASI
- Parsen der Noten in ein Array
- Speichern der Notenanzahl in der saveCount.txt
- Speichern der genauen Daten in der tmpSave.txt

Sollte eine neue Note eingetragen worden sein, wird eine Benachrichtigung per E-Mail mit den neu eingetragenen Noten versandt.
Um die aktuellen Noten formatiert zu sehen ruft man einfach die index.php auf.
Dieser gesamte Vorgang erspart das Einloggen in das LSF und das manuelle Aufrufen der Notenübersicht.
Möchte man die Funktion des Scriptes und die damit verbundenen E-Mail-Funktion automatisieren, ist es notwendig einen Cronjob anzulegen, der die Datei lsf_reader.php regelmäßig aufruft.

Cronjob-Beispiel unter Debian:
crontab -e [zum Bearbeiten der Crontab-Liste]
Dort folgende Code-Zeile ergänzen:

 0,5,10,15,20,25,30,35,40,45,50,55 * * * * wget --spider "www.domain.de/ordner/LSF-Noten-Checker/lsf_reader.php"

Damit würde das Script alle 5 Minuten aufgerufen werden. Das kann natürlich entsprechend angepasst werden.
Weitere Informationen zu Cronjobs sind hier zu finden:

http://unixhelp.ed.ac.uk/CGI/man-cgi?crontab+5

http://de.wikipedia.org/wiki/Cron

Wer dazu nicht die Möglichkeit hat, kann auch über diverse Internet-Dienste Cronjobs erzeugen, die die lsf_reader.php in selber Art und Weise aufrufen.
Unter http://www.cronjob.de/ ist dies beispielsweise möglich.

Den Code findet ihr hier als gepacktes Zip-Paket. Bei Fragen einfach eine Mail schreiben oder den News-Eintrag kommentieren.

Der Download ist über das Download-Center möglich.

Hier ist ein Screenshot von der ausgelesenen LSF-Tabelle zu sehen:

Screenshot der E-Mail-Benachrichtigung:

Kategorie: Allgemein, News, Programmierung | Keine Kommentare »

Ich habe jetzt auf Anfrage zusätzlich eine für Windows compilierte Version im Download-Center hochgeladen.

Viel Spaß damit.

Kategorie: News | Keine Kommentare »

C++ Mau-Mau
24.11.2011

Es gab mal wieder einen Beleg für das C++ Modul. Da dies etwas amüsant ist, will ich das hier mal posten.
Es handelt sich um das Spiel Mau-Mau, das objektorientiert und auf Console basierend programmiert werden sollte.

Mein Programm ermöglicht es nun 0-4 menschlichen Spielern und dem Rest vom PC gesteuerten Spielern (also auch 0-4) Mau-Mau mit den bekannten Grundregeln und den Sonderregeln (7: Ziehen, Bube: Wünschen, Ass: Aussetzen, Bube auf Bube nicht erlaubt) zu spielen.

Die Binary habe ich mal im Download-Center hochgeladen, kompiliert auf und für Unix, getestet auf Ubuntu.

Hier ist ein Screenshot zu sehen:

Mau-Mau

Kategorie: News, Programmierung | Keine Kommentare »

Seitenumzug
19.11.2011

Ich habe die Seite in den letzten Tagen mal auf einen neuen Server und eine neue Domain umziehen lassen.
Die Struktur wurde auch ein wenig geändert.

Kategorie: News | Keine Kommentare »

Nachdem ich mir vor kurzem ein HTC Desire bestellt habe, hielt ich es für angebracht mit der Programmierung von Android-Apps zu beginnen.
Diese erste App sollte ursprünglich nur ein Test werden und ist bislang auch nicht viel mehr als ein Experiment, mit dem ich testen wollte, was so alles auf welche Art und Weise möglich ist.
Neben dem Testen der App-Entwicklung ist diese Anwendung aber auch gar nicht so unnütz, wie sie auf den ersten Blick erscheinen mag.
Sie soll hauptsächlich der Unterstützung bei Veranstaltungen von Events (Treffen, Partys, etc.) dienen.
Über den Button “Event eintragen” ist das Hinzufügen von Veranstaltungen mit genauem Namen, Ort und Zeit möglich.
Diese Veranstaltungen werden anschließend bei allen Nutzern als grüne Markierung angezeigt, solange sie nicht mindestens 3 Stunden abgelaufen sind.
Außerdem ist ein Grundstein des Programms die Lokalisierung der Nutzer. Die Daten werden an einen zentralen Server gesendet, wenn man den entsprechenden Button drückt (nicht automatisch).
Hierzu wird zuerst automatisch getestet, welches Modul (z.B. GPS oder Netzwerk) derzeit die genauesten Positionsdaten liefert. Dieses wird dann zur weiteren Ortung verwendet.
Es ist auch möglich über die Einstellungen ein Zeitintervall zu bestimmen, um die eigene Position regelmäßig zu updaten.
Die Position wird bei allen Nutzern als rote Markierung (die eigene Position ist hellblau) dargestellt.
Alle Markierungen können angeklickt werden, worauf hin die genaue Beschreibung der Person oder des Events und deren Eintragungszeit erscheint.
Auch die genaue Adresse (wenn vorhanden mit Hausnummer und PLZ) erscheint.
Sollten sich mehrere Personen an genau dem gleichen Ort befinden, werden sie als eine Markierung dargestellt. Bei einem Klick auf die Markierung ist zu sehen, wer sich dort alles befindet.
Die Anzeige der Daten, die in der App zu sehen sind, ist zusätzlich über ein Online-Interface zu erreichen, über das man alle Positionen (auch abgelaufene) zu Gesicht bekommt.
Unter den Screenshots des Tools ist dieses Interface zu sehen. Die dort eingetragenen Daten sind Testdaten und wurden teilweise von mir manipuliert.
Die rote Markierung unten rechts (Stand: 04.05.2011) ist mit einem Android-Smartphone in der Mensa Wilhelminenhof aufgenommen und nicht manipuliert worden.

Aktueller Stand:
Alle auf den Screenshots zu sehenden Funktionen sind fertig programmiert und funktionieren so weit.
Nur die Möglichkeit nur für Kontakte aus dem eigenen Adressbuch sichtbar zu sein ist derzeit nicht fertig gestellt.

Download

Eine Beta-Version der App kann im Download-Center herunter geladen werden.
Zu erreichen ist der Download hier: http://hadizadeh.de/downloadcenter/downloaddetails/?id=1

Screenshots

imageimageimageimageimageimage

Webinterface

Kategorie: News, Programmierung | Keine Kommentare »

Wie einigen vermutlich bekannt ist, bin ich ein leidenschaftlicher Esser oder anders gesagt Nahrungsvernichter.
Aus dem Grund habe ich mir vor längerer Zeit ein kleines Widget gebastelt, um die Mensa-Speisekarten auf meinem Desktop zu sehen.
Dieses wurde dann noch an die HTW angepasst.
Eingeblendet werden alle Beilagen und die “Standard-Essen”. Aktionsessen habe ich ausgeblendet, da die sowieso meistens überteuert sind.
Da es sich hier ja um die Seite eines Informatik-Studenten handelt, will ich natürlich auch kurz auf die technischen Aspekte eingehen.
Das Ganze ist ein Widget für das Programm Samurize, das ich allen, die ihren Desktop ein wenig individueller gestalten wollen, ans Herz legen will.
Soweit zum Grundgerüst. Der Code von mir parst die Seiten des Studentenwerks und extrahiert so die für mich relevanten Daten.
Das RSS-Feed von ihnen ist leider zur Erstellung des Codes ziemlicher Unfug gewesen, sodass dies nicht helfen konnte. Somit habe ich einfach die “echte” Website geparst.
Sollte sich noch jemand unter den lebenden Menschen befinden, der diese kleine für mich in hohem Maße nützliche Gerätschaft für verwendbar hält, der kann sich gerne einfach entweder auf direktem Wege oder per Mail bei mir melden.

Screenshot

image

Kategorie: News, Programmierung | Keine Kommentare »

Dieses Projekt entstand im Rahmen einer großen Belegarbeit im Modul “Kommunikationssysteme”.
Das Projekt wurde in Groovy programmiert (war vorgeschrieben), was eine Abwandlung von Java ist. Ein Groovy-Framework wurde uns zur Verfügung gestellt.
Inhalt war die Programmierung eines Netzwerkes mit folgenden Daten:
2 File-Server, 1 Client, 1 Nameserver, insgesamt 4 Router, ein Hub.
Hierbei gab es 2 Netzwerke, die durch die Router mit verschiedenen Wegen verbunden wurden.
Das eine Netzwerk hatte die Token-Ring Topologie, das andere war ein Stern-Netzwerk.
Implementiert wurden alle Schichten und Protokolle der Netzwerke und der Geräte, mit zusätzlicher Fehlersteuerung und Wegefindung.
Das Projekt kam am Ende auf über 200 Stunden Arbeitszeit und war wohl das aufwändigste, das wir in der Universität zu erstellen hatten.

Screenshot

image

Kategorie: News, Programmierung | Keine Kommentare »

Sudoku-Löser
19.11.2011

Ein kleines Praktikum an der Universität, das finde ich auf Grund seines praxisnahen Anwendungsbereichs erwähnenswert ist.
Das in Java geschriebene konsolenbasierte Programm liest automatisch ein Sudoku ein und löst es.
Hierbei ging es nicht um das Lösen allein, sondern auch um die Effizienz, bei der es das Tool unter die Top 10 geschafft hat.
Es hat am Ende ca. 30 verschieden schwierige Sudoku in 2 Sekunden gelöst.
Eine gute Lösung, um dem Sudoku-Wahn einen Strich durch die Rechnung zu machen.
Sollte allerdings behutsam eingesetzt werden, da es zu unerwarteten Reaktionen der Betroffenen kommen kann, wenn das neu gekaufte Sudoku-Buch auf diese Weise zu nichte gemacht wird.

Kategorie: News, Programmierung | Keine Kommentare »

« Vorherige Einträge

Impressum