Blog

Neue Fraktale mit Apophysis

Veröffentlicht am 27. May 2010

Es gibt wieder ein paar neue Apophysis-Fraktale von mir.

Ich habe ja bereits einmal über meine Fraktale mit Apophysis geschrieben.

Ich habe mir eine neue Technik angeeignet, die mit den Variationen “splits” und “elliptic” arbeitet.
Die damit erstellten Bilder haben eine faserhafte, Blattähnliche Struktur.

Ich kann hierzu nur das Splits elliptic Tutorialvon SaTaNiA empfehlen.

Es werden zusätzlich die Plugins elliptic.dll und splits.dll (nicht mit split.dll verwechseln!) aus dem Aposhack Plugin Pack benötigt.

Weitere Bilder von mir findet ihr auf meinem Profil auf DeviantArt und in meinem persönlichen Filespace.

Kategorie: Grafik
Schlagworte:

Java: Typsicherheit bei generischen Datentypen

Veröffentlicht am 22. May 2010

Ab Java 1.5 unterstützt die Programmiersprache Java die Verwendung von sogenannten “Generics” (auch generische Typen, parametrisierte Typen).

Die Idee dahinter ist es, dass sich viele Datenstrukturen, die Objekte von bestimmten Typen enthalten, für alle diese Typen gleich (oder zumindest ähnlich) verhalten.
Als Beispiel kann man hier die Listen ansehen: Egal von welchem Typ die Objekte sind, die in der Liste enthalten sind, die Liste verhält sich immer gleich (Operationen: Hinzufügen, Löschen, Iterieren, Größe bestimmen, etc.)

Kategorie: Java
Schlagworte:

Umbenennen von Dateien nach Regulären Ausdrücken

Veröffentlicht am 19. May 2010

Ich hatte heute ein paar Dateien, die ich nach einem regulären Muster umbenennen musste.

Das das manuelle Umbenennen für einen Informatiker unwürdig ist und bei vielen Dateien schnell nervig und zeitfressend werden kann, habe ich schnell ein Perl-Script geschrieben, welches das für mich übernimmt.

Kategorie: Perl

Humble Indie Bundle - 5 plattformübergreifende Indie-Spiele

Veröffentlicht am 6. May 2010


Es gibt wieder mal eine “ Pay Whatever You Want” Aktion eines unabhängigen Software-Anbieters, diesmal ein Bunde mit den Spielen:

Das bedeutet, man bezahlt einen beliebigen Preis (= Spende), bekommt dafür fünf DRM-freie, plattformübergreifende Spiele, und kann entscheiden, zu welchen Teilen das Geld an die Entwickler oder an eine wohltätige Organisation geht.

Ich kenne bisher nur World of Goo, aber das ist bereits eines der besten Indie-Spiele (auf Linux), das ich je gespielt habe (unbedingt mal anschauen!)

Ich bin ja echt mal gespannt auf die Anderen!

Hoffentlich kommen solche Ideen in Mode und die großen Spielehersteller kapieren endlich, dass sie sich mit dem ganzen DRM-Dreck und anderen Kopierschutzverhackstückelungen (wie etwa die Zwangsauthentifizierung übers Internet beim Spielen) nur die eigenen Kunden vergraulen.

(via thinkJD)

Update:
Es wurd noch das Spiel Samorost 2 zum Bundle hinzugefügt.

Kategorie: Spiele
Schlagworte:

Java Swing: Layout-Manager für HTML-ähnliches Blocklayout

Veröffentlicht am 3. May 2010

Ich habe kürzlich für ein bestimmtes Projekt eine GUI (= graphische Benutzeroberfläche) mit den Java Swing-Klassen programmiert.

Dabei ist mir negativ aufgefallen, dass es scheinbar keine einfache Möglichkeit gibt, Elemente vernünftig untereinander anzuordnen.

Es gibt zwar massig Layout-Manager für sehr einfache oder sehr komplizierte Layouts (z.B: Elemente oben, unten, links, rechts und mittig ausrichten mit BorderLayout oder beliebig komplizierte Tabellenlayouts mit GridBagLayout).

Aber ein ganz simple Anordnung von Elementen untereinander mit jeweils wahlweise Zentrierung, linker oder rechter Ausrichtung oder Streckung über die volle Breite konnte ich irgendwie nicht so einfach erreichen.

Daher habe ich mich entschieden, einen eigenen LayoutManager zu schreiben, der diesen Aufgaben gerecht wird.

Ich kenne dieses Layout-Modell aus HTML/CSS bei Elementen, die die CSS-Eigenschaft display: block besitzen.

Hierbei werden alle Elemente untereinander angeordnet, wobei die Höhe jedes Elementes vom Element selbst bestimmt wird (über getPreferredSize()), wogegen wie Breite normalerweise auf die volle Breite des Containers gestreckt wird.
Der Container ist außerdem mindestens so breit, wie die minimale Breite des breitesten Elements, so dass alle Elemente korrekt angezeigt werden können (es empfiehlt sich, dieses Layout in Kombination mit einer JScrollPane zu benutzen)

Für einzelne Elemente sind außerdem noch die vertikalen Ausrichtungen Zentriert, Linksbündig und Rechtsbündig möglich.

Zuletzt lassen sich auch noch die Abstände zwischen den Elementen und zum Rand (“margin”) frei einstellen.

Durch diesen Aufbau ist es leicht möglich, eine listenähnliche Struktur mit heterogenen Elementen (z.B: für einen Report mit Controls, Textblöcken und Bildern) zu erstellen.

Dieser LayoutManager ist kompatibel mit allen Java-Versionen seit Java 1.4 (daher: keine generics!)

Zur Anschauung ist noch eine Demo-Klasse vorhanden.

Code auf Github

Kategorie: Java

Dateien ausliefern mit Java Servlets

Veröffentlicht am 2. May 2010

Wenn man dynamische Web-Applikationen programmieren möchte, stehen einem eine große Auswahl an Technologien zur Verfügung. Sehr verbreitet ist vor allem im Business-Bereich die Java-Servlet-Technologie.

Üblicherweise ist an vordester Front ein gewöhnlicher Webserver (z.B. Apache HTTPD) vorgeschaltet, der eingehende HTTP-Requests zunächst verarbeitet.

Verweist der Request auf eine dynamische Resource (also eine Seite der Web-Applikation), so wird der Request an den Servlet-Container (z.B. Apache Tomcat) weitergeleitet und dort von dem zugehörigen Servlet verarbeitet.

Kategorie: Java

Fraktale erstellen mit Apophysis

Veröffentlicht am 28. April 2010

Fraktale

In diesem Artikel soll es um das Fraktal-Entwurfsprogramm Apophysis gehen.

Unter einem Fraktal versteht man eine Grafik, die (fast) ausschließlich über einen mathematischen Algorithmus definiert und erzeugt wird. Üblicherweise sind solche Fraktale in hohem Maß regelmäßig und weisen auch typischerweise viele “selbstähnliche” Elemente auf.

Eines der bekannteste Beispiele für fraktale Grafiken ist das sog. Sierpinski-Dreieck, eine Grafik die durch die Vorschrift entsteht, dass man aus einem Dreieck die Mitte entfernt, dann aus den neu entstehenden Dreiecken wiederum die Mitte, usw.
(Interessant ist vielleicht, dass das Sierpinski-Dreieck im Grenzwert für unendlich viele Schritte den Flächeninhalt 0 hat)

Sierpinski-Dreieck Sierpinski-Dreieck

Da solche Berechnungsvorschriften aus unendlich vielen Schritten bestehen, lassen sich Fraktale im Allgemeinen beliebig detailgenau rendern (durch höhere Detailstufen erhöht sich natürlich auch die benötigte Rechenleistung).

An dieser Stelle kommt überhaupt das Programm Apophysis in’s Spiel.

Kategorie: Grafik

Erste Schritte mit VirtualBox

Veröffentlicht am 27. April 2010

Ich habe seit längerer Zeit die Virtualisierungslösung VMware Server verwendet, um auf meinem (Gentoo) Linux PC Windows-Programme in einer nativen Windows-Umgebung laufen zu lassen, ohne das Betriebssystem wechseln zu müssen.

Allerdings kam vor einiger Zeit schon ein Update der VMware Software auf die Version 2, welche einige gravierende Änderungen in der Bedienung und auch in der ganzen Oberfläche mit sich brachte. Es ist mir auch trotz einiger Einarbeitungszeit nicht gelungen, einen effektiven Arbeitsablauf damit zu erreichen, bzw. die Software überhaupt vernünftig zu konfigurieren und zu bedienen.

Also war ein Downgrade auf die Version 1 für mich die einzige Lösung.

Ein paar Kernel-Updates später liessen sich leider die VMware-Module (die den Zugriff auf die Hardware steuern) nicht mehr mit dem geänderten Kernel-Interface kompilieren. Es ist mir auch nicht gelungen, dieses Problem zu lösen.

Das Ende der ganzen Geschichte: Die Virtualisierung mit VMware ist für mich keine Option mehr.

Daher schau ich mich jetzt nach neuen Virtualisierungslösungen um.

Ein Freund hat mir kürzlich die Virtualisierungssoftware VirtualBox empfohlen, daher werde ich diese nun einmal ausprobieren.

Ich werde hier nun meine Erfahrungen mit dieser Software schildern.

Wolfram Alpha - Die Wissensmaschine für's Internet

Veröffentlicht am 18. June 2009

Wolfram Alpha

Seit einiger Zeit ist die Wissensmaschine Wolfram Alpha online.

Was auf den ersten Blick wie “nur eine weitere überflüssige Suchmaschine, die sich mit Google messen will” aussieht, entpuppt sich bei einem genaueren zweiten Blick als etwas völlig anderes.

Denn im Gegensatz zu herkömmlichen Suchmaschinen, geht es bei Alpha nicht darum, vorhandenes Wissen aus bestehenden Webseiten zugänglich zu machen, sondern eher darum, Wissen aus der (doch sehr umfangreichen) Wissensdatenbank von Wolfram abzufragen oder mit Hilfe dieser Datenbank gewisse Informationen zu berechnen.

Besonders interessant dürfte das ganze für Naturwissenschaftler sein. So ist der Herausgeber von Alpha, Wolfram Research, bereits durch seine sehr populäre Mathematiksoftware Mathematica bekannt.

Eben jene professionelle Mathematiksoftware arbeitet auch in abgespeckter Version als Kern von Wolfram Alpha.

So lassen sich mit dem Mathematik-Kern ohne Probleme unendliche Summen berechnen, Funktionen integrieren, Funktionen zeichnen, Polynome faktorisieren, Matrizen invertieren oder Gleichungssysteme lösen.

Aber auch in anderen Disziplinen schneidet die Wissensmaschine nicht schlecht ab:
Strukturdiagramm von Koffein, Gegenüberstellung von Goethe und Schiller oder das Wetter in Würzburg.

Alles in allem ist Wolfram Alpha also schon etwas, was man ab und an ganz gut gebrauchen kann.

Auf der Website von Wolfram Alpha selbst ist auch eine recht umfangreiche Beispiel-Liste vorhanden, die man bei Gelegenheit auch mal durchstöbern kann.

Aber meistens genügt es einfach, ein Wort oder eine Frage einzugeben, um Informationen zu diesem Thema zu erhalten.

Kategorie: Webseite

Videos schneiden auf der Kommandozeile

Veröffentlicht am 10. January 2009

Besitzer einer TV-Karte oder eines an einen Receiver angeschlossenen Computers kennen sicher das Problem:
Da hat man nun endlich den lang erwarteten Film aufgezeichnet und möchte ihn für spätere Videoabende archivieren; doch leider ist er wie immer vollgestopft mit Werbung und es befinden sich mit etwas Pech auch noch die letzten zehn Minuten der vorherigen Sendung auf der Aufnahme, so dass die gemütliche Atmosphäre beim Filmabend durch ein lästiges Herumspulen bzw. -scrollen gestört wird.

Also muss Abhilfe geschafft werden:
ein Videoschnittprogramm kann die lästigen Teile, die nicht zum Film gehören, herausschneiden.

Glücklicherweise gibt es mittlerweile auch ausreichend viele Open-Source-Videoschnittprogramme, so dass diese Arbeit kostenneutral angegangen werden kann.

Ärgerlicher wird das ganze, wenn die Videodatei irgendwo auf einem Fileserver liegt, auf dem kein grafische Umgebung läuft – oder diese nicht erreichbar ist.

In diesem Falle muss man die Videodatei per Kommandozeile von ihrer ungewollten Werbe-Last befreien.
Wie dies mit ein paar Scripten und einem lokalen Mediaplayer zu bewerkstelligen ist, will ich hier kurz zeigen.

Kategorie: Linux
Schlagworte: