09.04.2012

Sierpinski-Dreieck in eine Custom-View zeichnen.
In der folgenden Beispielanwendung wird ein Sierpinski-Dreieck in eine Cocoa Custom-View gezeichnet. Der Algorithmus für das Sierpinkski-Dreieck ist in Objective-C umgesetzt. Bei dem Sierpinkski-Dreieck handelt es sich um ein Fraktal, welches durch folgende rekusive Regel entsteht: ...

Weiter

08.04.2012

Tutorial: Wie erstelle ich eine Custom View.
In diesem Tutorial wird erklärt, wie man mit Xcode 4 und Cocoa eine Custom-View erstellt, die man beispielsweise verwenden kann, um darin mit NSBezierPath zu zeichnen oder Text anzuzeigen. In diesem Beispiel wird einfach ein kurzer Text mit drawAtPoint:withAttributes: in die NSView gezeichnet...

Weiter

06.04.2012

Routenplanung für Rennrad-Touren.
Ich beschreibe hier, wie man auf einfachem Wege eine Rennrad-Tour planen kann. Dabei wird erklärt, wie man zu den Kilometer-Werten, den Höhenmetern und dem Höhenprofil kommt. Außerdem wird noch kurz erklärt, wie die Route in einem gängigen Format (KML, TCX, GPX, ..) ...

Weiter

25.03.2012

Tutorial: Zeichnen einer Box mit appendBezierPathWithArcFromPoint (NSBezierPath).
In diesem Tutorial wird erklärt, wie man mit moveToPoint, lineToPoint und appendBezierPathWithArcFromPoint einen NSBezierPath erstellt, der eine Box in eine Custom-View (NSView) zeichnet. Cocoa stellt zwar mit der Klasse NSBox eine Möglichkeit zur Verfügung, um einen Rahmen mit abgerundeten "Ecken" zu zeichnen, aber es gibt Anwendungsfälle ...

Weiter

20.11.2011

Wie erstelle ich eine Table View mit statischem Inhalt
In diesem Tutorial wird erklärt, wie eine Table View (NSTableView) mit einer Data-Source verknüpft wird, um die Zeilenweise mit Daten zu befüllen. In dem Beispiel werden die Daten, die angezeigt werden sollen, statisch in einer Datenstruktur aus NSArrays und NSDictionarys hinterlegt. In realen Applikationen würde die Table View dynamisch ...

Weiter

18.11.2011

Einfaches Cocoa-Tutorial mit NSTextFields, NSButtons und NSColorWell (Vokabeltrainer)
In dem folgenden Tutorial wird am Beispiel eines Vokabeltrainers erklärt, wie man NSTextFields, NSButtons und NSColorWells in Objective-C und Cocoa verwenden kann. Bei der Beispielanwendung werden die Vokabeln in einer plist als key-value-Paare verwaltet ...

Weiter

17.11.2011

Einlesen von XML und Zugriff mit XQuery
Hier wird beschrieben, wie XML-Content, d.h. eine XML-Datei oder eine URL, die XML liefert, eingelesen werden. Danach werden gezielt Werte mittels XQuery ausgelesen. Zu beachten ist, daß der XML-Content in ein NSXMLDocument eingelesen werden und damit Probleme auftreten können, wenn die XML-Daten "zu groß" werden. In diesen Fall sollte ein ...

Weiter

02.11.2011

plist-Dateien einlesen und schreiben mit Objective-C
Die plists sind eine Möglichkeit Konfigurationsdateien oder andere Daten auf dem Mac abzulegen. Mit Objective-C lassen sich diese sehr einfach in Datenstrukturen einlesen und wieder auf die Platte schreiben. Die plist-Dateien ...

Weiter

24.10.2011

Aktualisierung aller CorePlot-Tutorials auf CorePlot Version 0.9 und Xcode 4
Alle Tutorials zu CorePlot wurde auf die aktuelle Version 0.9 und Xcode4 gehoben. Bei CorePlot handelt es sich um ein Framework für Mac OSX, iPhone und iPad. Es kann zur 2D-Visualisierung von Daten verwendet werden. Gehostet wird es bei Google-Code unter http://code.google.com/p/core-plot/. ...

Weiter

31.07.2011

Beispiel für den Java SwingWorker mit einem JTree
Im Folgenden wird am Beispiel eines JTree erklärt, wie man den Java SwingWorker einsetzt, um zu verhindern, daß sich eine Swing-Oberfläche nicht neu zeichnet (repaint()), während ein Task oder Prozess lange läuft. In dem Beispiel wird ein JTree erstellt, der auf jeder Ebene 10 Knoten hat. Wird ein Knoten aufgeklappt (expand) ...

Weiter

23.07.2011

Java Swing JTree Performance beim Aufklappen (Expand) von großen Bäumen
Im folgenden wird erklärt, wie die Performance beim Aufklappen von großen JTrees unter Java Swing beschleunigt werden kann. Dazu wird ein Beispiel mit einem JTree implementiert, der sich über ein Popup-Menü aufklappen (expand) läßt. In dem Beispiel wird gezeigt, wie durch das überschreiben der Methode public Enumeration ...

Weiter

12.06.2011

Wie erstellt man eine Java Swing TreeTable
TreeTables mit Java sind ein Thema für sich. Eigentlich geht man davon aus, daß so eine elementare Komponente in jeder GUI-Bibliothek vorhanden sind. Bei Java Swing ist das leider nicht der Fall. Allerdings besteht die Möglichkeit sich eine eigene Komponente zu erstellen, die sich wie eine TreeTable verhält und auch so aussieht. ...

Weiter

19.03.2011

Core Data: Binärdaten (BLOBs-Binary Large OBjects) lesen und schreiben (für Xcode 3.2 und Xcode 4)
Ausgehend von dem Tutorial Simple Core Data Command Line Importer (Xcode 4) wird im Datenmodell nun ein zusätzliches Attribut vom Typ Binary Data (NSData) hinzugefügt, um Binärdaten (BLOBs) zu speichern und zu lesen. In dem Beispiel werden Bilder (jpgs) verwendet. Allerdings können auf die gleiche Weise alle anderen ...

Weiter

13.03.2011

Core Data Command Line Tool für Xcode 3.2 und Xcode 4. (Importieren, Auslesen, Sortieren und Löschen)
In dem Beispielprojekt wird mit Xcode 4 ein einfaches Datenmodell mit Core Data angelegt, das Personen mit Vor- und Nachnamen speichern kann. Danach wird eine Funktionalität ergänzt, die das Importieren von Personen aus einer Textdatei in das Datenmodell erlaubt. Dazu wird eine Textdatei mit Vor- und Nachnamen zeilenweise ...

Weiter

28.02.2011

Einlesen und Laden von Dateien mit Objective-C
In den folgenden Abschnitten findet man Code-Beispiele zum Einlesen und Laden von Dateien. Wie so oft bei Objective-C wird der Java-Entwickler an der falschen Stellen nach einer Methode zum Einlesen suchen. Wie auch schon in dem Artikel Verwendung von Dateipfaden bei Objective-C befindet sich die passende Methode in ...

Weiter

27.02.2011

Verwendung von Dateipfaden bei Objective-C
Im Folgenden wird an ein paar Beispielen erklärt, mit welchen Hilfsmethoden einfach mit Dateipfaden umgegangen werden kann. Beispielsweise das Zerlegen von Pfaden, Zugriff auf das Parent-Verzeichnis, Inhalt eines Verzeichnisses, usw. ...

Weiter

13.02.2011

Neue CorePlot-Beispiele: CorePlot - Drucken von Diagrammen
In dem Beispielprojekt wird mit Xcode 4 ein einfaches Datenmodell mit Core Data angelegt, das Personen mit Vor- und Nachnamen speichern kann. Danach wird eine Funktionalität ergänzt, die das Importieren von Personen aus einer Textdatei in das Datenmodell erlaubt. Dazu wird eine Textdatei mit Vor- und Nachnamen zeilenweise ...

Weiter

11.02.2011

Neue CorePlot-Beispiele: CorePlot - Speichern von Diagrammen als PDF
Im Folgenden wird erklärt, wie ein CorePlot-Diagramm als PDF-Datei abgespeichert werden kann. Als Vorlage kann entweder Tutorial: CorePlot Liniendiagramm oder Tutorial: CorePlot Balkendiagramm verwendet werden. In dem Beispiel wird ein zusätzlicher Button in die Oberfläche eingebaut, der mit einer Methode zum Speichern ...

Weiter

06.02.2011

Neue CorePlot-Beispiele: CorePlot - Liniendiagramme mit Hintergrundfarbe
Im Folgenden wird erklärt, wie man mit dem Mac-Framework CorePlot ein Liniendiagramm erstellt, bei dem der Hintergrund angepaßt wird. In dem CorePlot Liniendiagramme anpassen wurde erklärt, wie ein Liniendiagramm mit CorePlot erstellt wird. Es wurde auf Themen wie Linienstärke, Linienfarbe, Linienart, Symbole, Symbolfarbe...

Weiter

05.02.2011

Neue CorePlot-Beispiele: CorePlot - Liniendiagramme anpassen
In dem Beispiel wird ausgehend von Tutorial: CorePlot Liniendiagramm das Liniendiagramm so angepaßt, daß eine blaue, gestrichelte Linie mit runden weißen Markierungen zu sehen ist. Dabei wird die Breite der....

Weiter

05.02.2011

Neue CorePlot-Beispiele: CorePlot - Liniendiagramme und Symbole (Symbols)
In dem Tutorial: CorePlot Liniendiagramm wurde erklärt, wie ein einfaches Liniendiagramm mit CorePlot erstellt wird. Der folgende Text beschreibt, wie das Liniendiagramm den eigenen Bedürfnissen angepaßt werden kann. Es wird erklärt, wie Markierungen (Symbole) eingefügt werden und wie deren Aussehen beeinflußt werden kann...

Weiter

30.01.2011

Wie erstelle ich ein Liniendiagramm mit CorePlot: Tutorial
Im Folgenden wird erklärt, wie man mit dem Framework CorePlot ein einfaches Liniendiagramm auf dem Mac erstellt. Als erstes muß ein neues Projekt in Xcode angelegt werden. Als Typ wird dabei eine Cocoa Application gewählt. ...

Weiter

25.01.2011

Wie erstelle ich eine Outline View mit statischem Inhalt: Tutorial
In diesem Tutorial wird erklärt, wie die Outline View verwendet werden kann, um eine einfache hierarchische Struktur anzuzeigen. In dem Beispiel werden die Daten, die angezeigt werden sollen, statisch in einer Datenstruktur aus NSArrays und NSDictionarys hinterlegt. In realen Applikationen würde man die Outline View dynamisch füllen. Beispielsweise würde man ...

Weiter

22.01.2011

Wie erstelle ich ein Balkendiagramm mit CorePlot: Tutorial
Im Folgenden wird erklärt, wie man mit dem Framework CorePlot ein einfaches Balkendiagramm auf dem Mac erstellt. Als erstes muß ein neues Projekt in Xcode angelegt werden. Als Typ wird dabei eine Cocoa Application gewählt. ...

Weiter

20.01.2011

Neue Objective-C Code-Schnipsel: Zeichnen von Punkten
Hier werden zwei Möglichkeiten zum Zeichnen von Punkten in Cocoa vorgestellt. Eine Methode, die mit Hilfe von Bezierkurven arbeitet und eine Methode, die mit NSRectFill einen Punkt zeichnet. In dem Beispiel wird ein einfaches Apfelmännchen gezeichnet. Der Begriff Fraktal wurde von Benoit Mandelbrot geprägt und ist durch das "Apfelmännchen" berühmt ...

Weiter

12.01.2011

Neue Objective-C Code-Schnipsel: NSArray und NSMutableArray
In diesem Artikel werden die Klassen NSArray und NSMutableArray kurz beschrieben. Außerdem wird die Anwendung einiger weniger ausgewählter Funktionen demonstriert. Die folgende Funktion zeigt die Verwendung von NSArray. ...

Weiter

12.01.2011

Neue Objective-C Code-Schnipsel: NSDictionary und NSMutableDictionary
In diesem Artikel werden die Klassen NSDictionary und NSMutableDictionary kurz beschrieben. Außerdem wird die Anwendung einiger weniger ausgewählter Funktionen demonstriert. Die Erzeugung eines NSDictionary wird einmal mit der Funktion dictionaryWithObjects:forKeys und einmal mit der Funktion dictionaryWithObjectsAndKeys gezeigt. Zur Ausgabe wird einmal eine ...

Weiter

10.01.2011

Neue Objective-C Code-Schnipsel: Convenience Allocator mit dem Autorelease-Pool
Eine einfache und elegante Methode das "Aufräumen" von Objekten vor dem Benutzer einer Klasse zu verbergen ist der Convenience Allocator. Dies ist eine Art Factory (siehe Factory Pattern)., die als Hilfsmittel den Autorelease-Pool (ARP) verwendet um den allokierten Speicher wieder freizugeben. Der folgende Code zeigt eine Klasse die eine solche Factory-Methode...

Weiter

10.01.2011

Neue Objective-C Code-Schnipsel:NSString und NSMutableString
In diesem Artikel werden die Klassen NSString und NSMutableString kurz beschrieben. Außerdem wird die Anwendung einiger weniger ausgewählter Funktionen demonstriert....

Weiter

09.01.2011

Verwendung von CorePlot
Hier findet man eine Einführung und Installationshinweise von CorePlot. In den Installationshinweisen wird auf deutsch erklärt, wie man CorePlot auf dem Mac einrichtet. Außerdem werden an Beispielen und in Tutorials verschiedene Themen rund um CorePlot eräutert...

Weiter

08.01.2011

Neue Objective-C Code-Schnipsel: Grundlagen
Der folgende Code-Schnipsel erzeugt ein Objekt vom Type NSString. Als erstes wird die Variable testString deklariert. Dann wird Speicher für die Variable reserviert und es wird ihr beim Initialisieren der Wert Hello World! zugewiesen. Dann erfolgt die Ausgabe auf der Console und die Freigabe des reservierten Speichers. ...

Weiter

08.01.2011

Neue Objective-C Code-Schnipsel: Memory Management
Mit dem Autorelease-Pool (ARP) lassen sich viele Probleme in Bezug auf die Speicherfreigabe lösen. Wird beispielsweise ein Objekt erzeugt und es ist nicht klar, wie lange es benötigt wird und wer es zu gegebenen Zeit wieder deallokiert, d.h. den Speicher freigibt, dann wird der ARP eingesetzt. ...

Weiter

08.01.2011

Neue Objective-C Code-Schnipsel: Objekt-Orientierung
In dem Artikel geht des um Vererbung und Polymorphie. Um zu zeigen wie das Prinzip der Polymorphie ist, werden drei Klasse definiert die alle von der Klasse JHGraphic erben und die Funktion draw implementieren. Das folgende UML-Digramm zeigt die Vererbungsstruktur: ...

Weiter

20.07.2010

Neuer Webauftritt. Die alte Webseite findet man hier
Unter dieser Adresse findet man den "alten" Webauftritt. Die Inhalte sind allerdings alle auf der neuen Seite zu finden. ...

Weiter

07.08.2009

Veröffentlichung des Cocoa Kochbuchs
Im Jahr 2009 haben wir (Ferhat Ayaz, Erik Meißner, Jörn Hameister) ein Buch zum Thema Cocoa und Objective-C verfaßt. Das Buch beinhaltet Rezepte mit Fortgeschrittenen Themen zu Cocoa und Objektive-C. Es werden folgende Themen behandlet: Zahlreiche Rezepte und Beispiele für den sofortigen Einsatz; Applikationen, Frameworks, XML, Internet, Kommunikation, Agenten; Persistenz, Xcode Hacks, PDF-Export, Drawing ...

Weiter

25.06.2009

Heike Hameister's Web-Seite
Focussing on bioinformatics, plant physiology and biochemistry, I graduated at Darmstadt Technical University in 2007. While working in the bioinformatics group of Prof. Dr. Marc-Thorsten Hütt, I wrote my diploma thesis, discussing the "correlation-based signatures of microorganisms". Please find more information in my curriculum vitae. ...

Weiter

20.01.2008

Die Blog-Seite ist online.
Auf dieser Blog-Seite findet man allerlei Dinge, die mir im alltäglichen Leben passieren. Viele Dinge sollte man allerdings nicht allzu ernst nehmen. ...

Weiter

19.04.2006

TransinformationPicture hinzugefügt. Programm, daß ein Bild mittels der Transinformation untersucht.
Die Transinformation (mutual information) gibt die Korrelation zweier Zufallsgrößen an. Einfach ausgedrückt versteht man darunter, daß die Transinformation die Information von X mißt die mit Y geteilt wird. Wenn X und Y unabhängig sind, dann enthält X keine Information über Y und umgekehrt. In diesem Fall ist die Transinformation 0. Falls X und Y gleich sind, dann erhält man keine neue Information über X, wenn man Y untersucht. Die Transinformation ist in diesem Fall 1. ...

Weiter

09.04.2006

Fractal hinzugefügt. Zum Experimentieren mit Fraktalen (Mandelbrot- und Julia-Mengen)
Der Begriff Fraktal wurde von Benoit Mandelbrot geprägt und ist durch das "Apfelmännchen" berühmt geworden. Interessant an der Sache ist die recht einfach aussehende Definition der Mandelbrotmenge, deren grafische Darstellung das "Apfelmännchen" ergibt. Die folgende Abbildung zeigt ein "Apfelmännchen": ...

Weiter

04.04.2006

DNA-Alignment hinzugefügt. Tool zur Berechnung von Sequenzalignments.
Da DNA-Sequenzen in der Biologie experimentell gewonnen werden, sind sie häufig mit Meßfehlern behaftet, daher macht es Sinn zwei DNA-Sequenzen nicht "genau" zu vergleichen. Deshalb versucht man bei einem Sequenzalignment zwei DNA-Sequenzen so untereinander zu schreiben, daß möglichst viele Übereinstimmungen gefunden werden. Dabei ist es erlaubt Platzhalter in die DNA-Sequenzen einzufügen, damit die Übereinstimmungen "größer" werden. Als Maß für die Übereinstimmung, werden Punkte für ein "Match", "Mismatch" oder ein "Gap" verteilt. Die Werte dafür sind abhängig von dem verwendeten Algorithmus. ...

Weiter

13.03.2006

DNA-Analyzer hinzugefügt. Tool zum Nachweis künstlicher DNA.
Der DNA-Analyzer ist ein kleines Tool zur Analyse von DNA-Sequenzen. D.h. mit dem Tool ist es möglich die Häufigkeit von Basis-Sequenzen zu analysieren. Die Idee zu dem Tool kam mir bei der Lektüre des Buches "Methoden der Bioinformatik - Eine Einführung" von Marc-Thorsten Hütt und Manuel Dehnert. In dem Buch wird die DNA-Sequenz aus den Roman "Jurassic Park" untersucht und nachgewiesen, daß es sich um keine reale DNA-Sequenz handeln kann. Die Idee hinter dem Nachweis ist der CG-Gehalt in einer ...

Weiter

26.02.2006

Rubrik Bücher hinzugefügt. Rezensionen und Buch-Tips.
Eigentlich wollte ich nur mal sehen, wieviele Bücher ich so in einem Jahr lese. Deshalb habe ich angefangen zu jedem Buch, das ich gelesen habe, bei Amazon eine Rezension zu schreiben, um am Ende des Jahres nur die Rezensionen zählen zu müssen. Tja, es war dann doch ziemlich erscheckend, wieviele es waren. Und es werden immer mehr... ...

Weiter

12.02.2006

Bio Perl Tools hinzugefügt. Verschiedene Perl-Scripte für die Sequenzanalyse in der Bioinformatik.
In den folgenden Abschnitten findet man ein paar nützliche Tools zur Sequenzanalyse in der Bioinformatik. Alle Tools sind in Perl geschrieben. simpleRepeatStatistics.pl Die mit diesem Perl-Skript läßt sich eine Repeat-Tabelle einlesen und nach SimpleRepeats durchsuchen. D.h. es werden nur die Zeilen aus der Repeat-Tablle verwendet, die als repClass den Eintrag "SimpleRepeat" haben. Danach werden die Muster (Pattern) der SimpleRepeats gezählt (Wert in repName) und die Gesamtlänge der Muster gespeichert (genoEnd-genoStart). ...

Weiter

28.09.2005

step2html -Tool hinzugefügt. Wandelt eine Step-Datei in eine HTML-Datei um.
Dieses Tool transformiert eine STEP-Datei in eine HTML-Datei. Nach der Transformation ist es möglich die HTML-Datei in einem Browser zu laden. Folgende Funktionalitäten stehen zur Verfügung: Die STEP-Elemente, Referenzen und Text sind farblich hervorgehoben. Die STEP-Referenzen können über Links verfolgt werden. Beim Überfahren der der Links wird das Ziel-Element angezeigt. ...

Weiter

27.09.2005

Homepage-Generator Version 1.1; Kleine Erweiterungen und Bugfixing.
Der Homepage Generator ist ein einfache Perl-Script mit dem man auf sehr einfachem Wege seine eigene Homepage erstellen und auch pflegen kann. Auch diese Homepage ist mit diesem Tool erstellt worden. Das Perl-Script läßt sich über zwei XML-Datei konfigurieren. In der einen XML-Datei wird die Struktur der Navigation der Homepage angegeben, in der anderen XML-Datei werden die Farbeinstellungen und andere Einstellungen gemacht. ...

Weiter