RSS-Feed

David Hadizadeh

E-Mail

Xing-Profil

LinkedIn

Impressum

 




News

The indoor positioning solution (java library) has been updated for Android 7. You can find the download of the version 1.1 on the documentation page (http://hadizadeh.de/indoor-positioning/) or in the download center.

Kategorie: News | Keine Kommentare »

Indoor Ortung: Addons
7.05.2015 (David Hadizadeh)

Unter Indoor Positioning –> Addons sind jetzt Beispiele und Zusatzfunktionen für die Indoor Ortungs Bibliothek zu finden. Dabei handelt es sich um eine weitere Schicht um Koordinaten auf die Positions-IDs zu mappen, um eine alternative Persistierung und um ein Beispiel für eine Bluetooth-Low-Energy Implementierung unter Android.

Kategorie: News | Keine Kommentare »

Indoor Ortung: Java-Library
22.01.2015 (David Hadizadeh)

Unter dem Menüpunkt Indoor-Positioning habe ich eine Java Bibliothek veröffentlicht, welche das Implementieren einer Innenraum-Ortung in einfachster Weise ermöglicht.

Die Library arbeitet Hardware unbezogen und unterstützt somit sämtliche zur Ortung in Frage kommenden Techniken.

Indoor Positioning Library

So sind beispielsweise folgende Elemente denkbar und werden durch die Bibliothek unterstützt:

  • WLAN
  • Bluetooth
  • NFC
  • RFID
  • QR-Codes / andere Symbole
  • Infrarot
  • Tastendruck
  • Lichtschranke
  • Kamera

Dabei kombiniert die Ortungs-Library die unterschiedlichen Medien und liefert automatisiert die aktuelle Position. Hierfür wird auf ein Fingerprinting Verfahren (Mapping) gesetzt, das aus einer Offline- und einer Online-Phase besteht. In der Offline-Phase werden die Positionen im zu ortenden Gebäude einmalig gemappt. In der Online-Phase wird anschließend die aktuelle Position mit ihnen abgeglichen und der wahrscheinlichste Ort ermittelt. Auch eine Caching Funktionalität ist verfügbar, welche es ermöglicht Signalstärken eines Zeitintervalls zu interpolieren.

Eine ausführliche Dokumentation und der Download der Jar-Datei ist unter folgender URL zu finden: http://hadizadeh.de/indoor-positioning/

Kategorie: News | 2 Kommentare »

Für das Importieren von Kontakten in das Android-Adressbuch gibt es unterschiedliche Wege. Es gibt die Möglichkeit über ContentValues die Kontaktinformationen anzulegen und anschließend über den Android-ContentResolver den Kontakt hinzuzufügen. Hierfür müssen aber alle Werte einzeln angelegt und entsprechenden Konstanten von Android zugewiesen werden. Somit ist die vCard zuerst zu parsen und für jedes Element eine Bedingung, die zur richtigen Konstanten führt, anzulegen. Das ist bei sich ändernden vCard-Versionen schwer erweiterbar und wartbar. Daher ist der gewünschte Weg ein direkter Import der vCard. Dafür ist eine nahe liegende Lösung ein Content Provider.

[weiter lesen…]

Kategorie: News, Programmierung | Keine Kommentare »

NFC-Visitenkarte
27.01.2014 (David Hadizadeh)

Im Rahmen meines Studiums ist neben der Erzeugung eines Prototyps von einer Visitenkarte mit integriertem NFC-Tag auch eine Android-Applikation entstanden, welche ich hier vorstellen will.
Im Gegensatz zu bereits verfügbaren Applikationen ist diese auch in Hinsicht Kompression auf Kontakte spezialisiert und unterstützt somit mehrere Modi.

Die App kann über Google Play installiert werden.

Get it on Google Play

[weiter lesen…]

Kategorie: News | Keine Kommentare »

Es gab soeben ein Update der hier beschriebenen App „Radiation Runner“.

Dies verbessert die App um folgende Punkte:
Sobald man ein Spiel startet oder einen Track anlegen will, wird das WLAN aktiviert. Derzeit wurde dies nach Fertigstellung des Tracks nicht wieder deaktiviert, das wurde nun geändert.
Außerdem hat die Englische Hilfe ein Update erhalten.
Als letztes wurde ein Bug behoben, der das Einlesen von NFC-Tags betraf, dies sollte nun reibungslos funktionieren.

Bei Problemen oder Fragen stehe ich weiterhin gerne per E-Mail (zu finden im Header dieser Seite) oder über die Kommentarfunktion zur Verfügung.

Kategorie: News | Keine Kommentare »

Radiation Runner (Android-App)
21.06.2013 (David Hadizadeh)

Die nächste Android-App, die ich vorstellen möchte ist eine, die sich mit Techniken mobiler Geräte beschäftigt.
Dabei handelt es sich um ein Spiel, das man sich als Mischung von einer Schnitzeljagd, einem Topfschlagen und einem Versteckspiel der modernen Technik vorstellen kann.

Die App kann in „Google play“ unter folgendem Link herunter geladen werden:

Get it on Google Play

Alternativ ist der Link zusammen mit einem QR-Code im Download-Center verfügbar:
http://hadizadeh.de/downloadcenter/downloaddetails/?id=8

[weiter lesen…]

Kategorie: News | 1 Kommentar »

Gerade für Android-Entwickler ist es ein sehr interessantes Thema:
Wie veröffentliche ich ein Bildschirm-Video meiner App?

Mit dem Nexus 4 ist das kein einfaches Unterfangen.

Hierbei will ich in drei verschiedene Ansätze unterteilen:
– Aufnahme mittels einer App auf dem Android-Gerät
– Aufnahme per USB (mit der Android Debug Bridge)
– Aufnahme per HDMI

[weiter lesen…]

Kategorie: News | 2 Kommentare »

Android-App: MapTrack (Reise-Tracking)
28.02.2013 (David Hadizadeh)

Im Rahmen meiner Spezialisierung entstand in Zusammenarbeit mit Alexander Czyrny eine Android App, die ich an dieser Stelle vorstellen möchte.
Die App ermöglicht es, Reisen zu tracken, POIs (Point of Interest) hinzuzufügen und diese Reisen dann abzuspielen.
Als erstes möchte ich auf die Hauptfunktionen der App eingehen:
[weiter lesen…]

Kategorie: News, Programmierung | Keine Kommentare »

In Artikel 2 hatte ich die verschiedenen Spielarten bereits erklärt. Dabei fällt auf, dass bei allen Spielen Zufallswerte eine große Rolle spielen.
Es macht keinen Sinn das Farbspiel mit immer der gleichen Abfolge zu spielen. Man wüsste dort schon vorher, wann zu drücken ist.
Genauso wenig macht es Sinn beim Client diese Abfolge per Zufall zu ermitteln. Beide Clients hätten dann unterschiedliche Abfolgen.

[weiter lesen…]

Kategorie: News, Programmierung | Keine Kommentare »

Team Challenger Teil 4: OpenGL
17.09.2012 (David Hadizadeh)

Heute will ich auf die Spiele selbst eingehen, die über das Client-Server-Modell gespielt werden können.
Im ersten Artikel hatte ich erwähnt, dass ich vermeiden will, jedes mal die App zu updaten, wenn es ein neues Einzelspiel gibt.

Dazu wollte ich einen OpenGL-Parser programmieren. Dies habe ich auch lange Zeit gemacht, was sehr aufwändig ist. Eine wirkliche Freiheit hat man dadurch aber nicht, da man stark eingeschränkt ist, was die Funktionen angeht (welche für den Parser implementiert wurden). Daher bin ich von diesem Gedanken weg gegangen und habe einen viel schöneren Weg gefunden.

[weiter lesen…]

Kategorie: News, Programmierung | 2 Kommentare »

Team Challenger Teil 3: Synchronisation
14.09.2012 (David Hadizadeh)

Kommen wir zum 3. Teil der Android-App-Planung, zur Synchronisation.
Dazu gibt es mehrere Möglichkeiten.
Bei vielen Tools spielt die Zeit eine Rolle, zu der die Daten vom Client beim Server ankommen.
Das zu realisieren ist trivial.
In meinem Fall benötige ich aber die Zeit des Absendens der Daten vom Client zum Server.
Der Grund dafür ist, dass bei einem Geschwindigkeitsspiel, wie im letzten Beitrag beschrieben,
interessant ist, wann der Spieler beim Client den Button gedrückt hat und nicht, ob er eine bessere
Anbindung zum Server hat, als ein anderer Client.

[weiter lesen…]

Kategorie: News, Programmierung | 2 Kommentare »

Team Challenger Teil 2: Spielidee
11.09.2012 (David Hadizadeh)

Heute will ich kurz auf die Spielidee eingehen.
Es ist keine innovative neue Idee, sondern eine Weiterführung einer App, die mir im Playstore sehr zugesagt hat. Es handelt sich dabei um ein Multiplayer-Spiel, das aus vielen verschiedenen einfachen Spielen besteht.
Dabei geht es im Groben um Wissen und um Geschwindigkeit.

[weiter lesen…]

Kategorie: News, Programmierung | Keine Kommentare »

In den letzten Tagen habe ich angefangen ein Multiplattform-Spiel für Android und PC (Windows / Unix) zu planen und zu entwickeln. Dieses soll auf einem Client-Server Modell aufbauen.

Bei meinen Texten darüber will ich auf zwei Elemente genauer eingehen, die mich interessieren:

  • Client-Server-Synchronisation
  • Open-GL-Parser

[weiter lesen…]

Kategorie: News, Programmierung | Keine Kommentare »

PDFs zusammenfügen (auch encryptete)
28.06.2012 (David Hadizadeh)

In Vorbereitung auf einige Prüfungen füge ich mir gerne Folien aus verschiedenen PDFs zusammen, um diese eine zusammengefasste PDF besser lernen zu können. Dazu hat mir lange Zeit ein komfortables Programm gefehlt. Es gibt sie zwar wie Sand am Meer, allerdings fehlten bei bislang allen getesteten Tools immer essentielle Funktionen. Sei es mal die Vorschau, mal das Heranzoomen (wozu soll ich eine Vorschau haben, auf der ich nichts erkenne) oder Probleme mit verschiedenen Formaten.

[weiter lesen…]

Kategorie: News | 1 Kommentar »

In den letzten Tagen habe ich für einen Vortrag den Huffman Algorithmus in Cpp implementiert.

Da ich das Thema der String-Kompression sehr interessant finde, will ich euch heute den Code und die verschiedenen algorithmischen Herangehensweisen dazu vorstellen.

Zum Überblick aber erst mal ein paar Daten des Projekts:

Die Huffman-Klasse selbst, stellt alle notwendigen Möglichkeiten zur Verfügung, die der Huffman-Algorithmus ermöglicht.

Er ist stark an den Shannon-Fano-Algorithmus angelehnt. Allerdings ist die Optimalität des Binärbaums garantiert (Beweis siehe: Wikipedia-Artikel)

Dort sind auch weitere Beschreibungen zur theoretischen Funktionsweise nachzulesen. Auf diese möchte ich nicht länger eingehen, sondern mich auf die Implementierung konzentrieren. Eine Präsentation von mir auf Englisch über die theoretischen Ansätze, Vor- und Nachteile des Huffman Codes findet ihr aber auch in meiner Filebase.

[weiter lesen…]

Kategorie: News, Programmierung | 1 Kommentar »

Update des LSF Noten Checkers
20.02.2012 (David Hadizadeh)

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: News, Programmierung | Keine Kommentare »

Interessante Links hinzugefügt
16.02.2012 (David Hadizadeh)

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: 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.

[weiter lesen…]

Kategorie: News, Programmierung | Keine Kommentare »

C++ Mau-Mau (Windows Compiled)
30.11.2011 (David Hadizadeh)

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 (David Hadizadeh)

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.

[weiter lesen…]

Kategorie: News, Programmierung | 1 Kommentar »

Seitenumzug
19.11.2011 (David Hadizadeh)

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 »

Mensa-Speiseplan auf dem Desktop
19.11.2011 (David Hadizadeh)

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.

[weiter lesen…]

Kategorie: News, Programmierung | Keine Kommentare »

Programmierung eines kompletten Netzwerkes
19.11.2011 (David Hadizadeh)

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.

[weiter lesen…]

Kategorie: News, Programmierung | Keine Kommentare »

Sudoku-Löser
19.11.2011 (David Hadizadeh)

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 »

Beschreibung
18.11.2011 (David Hadizadeh)

Diese Website ist eine kleine Seite, auf der ich regelmäßig meine Studiumsinhalte hochlade, um sie überall verfügbar zu wissen.
Sie sind in der Navigation zu finden. Zum Zugriff auf die Daten ist ein Login notwendig, der an gezielte Mitstudenten weiter gegeben werden kann.
In der Filebase sind einige alte Klausuren, Übungsaufgaben und Mitschriften zu finden.
Außerdem organisiere ich auf der Startseite alle für mich und meine Mitstudenten wichtigen Links, um sie schnell zugänglich zu machen.
Als weiteren Punkt habe ich einen Bereich für ausgewählte derzeitige Arbeiten oder Spielereien eingerichtet.
Dort ist derzeit die Entwicklung einer kleinen Android-Applikation zu finden.
Über die Entwicklung werde ich im Programmierungsbereich regelmäßig Notizen hinterlassen.
Außerdem habe ich im selbigen Bereich ein kleines Mensa-Gadget für den Desktop vorgestellt.
Sollte jemand eines der Tools interessant finden, Fragen zur Programmierung haben oder es nutzen wollen, dann kann man sich einfach auf direktem Weg (in der Hochschule) oder per Mail an mich wenden.
Ein gewisses Verständnis für Humor ist für einige der Texte auf der Website und der Übungsabgaben/Mitschriften von Nöten. Wer mich kennt, sollte wissen, welche hoch gestelzten Sätze ernst oder spaßig gemeint sind. Oder auch nicht.
Die Inhalte der Seite entstehen hauptsächlich in Freiblöcken und anderen enorm hilfreichen Zeiten.

Kategorie: News | Keine Kommentare »

Impressum