März 2nd, 2009

Neues Wordpress Theme online - Bad Lausick

Posted by warper in WP Themes

Schaut bei Interesse auf unserer Themepage nach. Ihr findet dort Themes für Euer Wordpress! Soeben ist das Theme Bad Lausick hinzu gekommen: Es beruht auf einem schicken HDR Bild.
Bad Lausick

Juni 7th, 2008

Eclipse Ganymede Preview

Posted by Holger in Eclipse

25.06.2008, dieses Datum stellt etwas Besonderes dar.

Ganymede

An diesem Tag wird Eclipse Ganymede offiziell released. Für alle die es nicht erwarten können, stellt eclipse.org schon jetzt „latest build“ Pakete bereit. Um die Entscheidung leichter zu machen, ob man nun auf die neue Version 3.4 wechseln soll, möchte ich an dieser Stelle ein paar Features erwähnen die im neuen Release besonderst hervor stechen. Ich habe dazu den Release Candidate 2 getestet, dessen Stabilität schon jetzt überzeugt. Einige neue Features sind:

  • Rich AJAX Plattform in Version 1.1
  • CDT 5.0
  • Subversive in Version 1.0 mit SVN 1.5 Support
  • BIRT 2.3
  • Web Tools Plattform in Version 3.0

Hinzu kommt, dass die Core Entwickler dem Basis Framework unzählige Bugfixes verpasst haben, was der Stabilität von Eclipse 3.4 nur zu gute kommt. Als Fazit kann man sagen, dass die neue Version 3.4 viele tolle Neuerungen bereit hält. Jedoch sollte mit dem Umsteigen bis zum Final Release gewartet werden. Ist ja nichtmehr lange ;)

Februar 12th, 2008

Der Raid ist da!

Posted by Kai in Standard

Heute ist unser Raid-Controller gekommen.

Verpackung bei der Ankunft:

Verpackung Raid vorher

Wie man auf dem Bild sieht, ist dieser gut verpackt, weil man beachte er ist für einen 1HE-Server.

Nachdem es ausgepackt war, sah es so aus:

Raid Verpackung Nachher

Was lernt man daraus? Safety First!

Januar 30th, 2008

JBoss-Cache mit Gesicht!

Posted by frank in Standard

JBoss-Cache, bekannt als ein verteilter In-Memory-Cache, hat ein Gesicht bekommen. Manik Surtani hat eine GUI zu Demo-Zwecken für den JBoss-Cache-Bibliothek veröffentlicht. Damit kann man JBoss-Cache nicht nur vorführen, sondern auch in eigenen Umgebungen die Konfiguration und das Verhalten testen.

Januar 2nd, 2008

Transparente Buttons im IE

Posted by frank in AJAX

Heute hatte ich wieder einmal ein Problem, was speziell den InternetExplorer betrifft. Ziel war es einen transparenten Button (INPUT Type=Submit) zu erzeugen, der sich über einen beliebigen Text legt. Hintergrund hierfür ist, dass der IE6 ja das Button-Problem hat und zusätzlich im JSF-Framework einfache Links nicht für die Navigation (Navigation-Rules) verwendet werden können. Die Idee dahinter ist daher einen SPAN-Tag mit dem gewünschten Inhalt zu haben und darüber ein transparentes INPUT-Feld zu legen.
In den Browsern Firefox, Safari und Opera funktioniert dies auf Anhieb problemlos. Hierzu musste einfach dem Span-Tag die Position relative verpasst werden und das innere Input-Feld wurde absolut positioniert (Breite / Höhe 100%).
Im IE gab es dann jedoch schon den ersten Fehler. Der Button war weg!
Da der Button als Value nichts hat und zusätzlich transparent ist und keinen Rand besitzt wurde dieser einfach gar nicht gerendert und die Größe ignoriert. Er war nicht anklickbar. Abhilfe schafft hier das Setzen eines Hintergrundbildes in Form eines transparenten GIF-Pixels.
Im IE6 gab es zusätzlich noch das Problem, dass dieser die geerbte Breite von 100% nicht vom Elternelement mit Position, als in unserem Fall das Span-Tag, bezog, sondern vom Body selbst. Damit war der Button natürlich viel zu Breit. Einen Hinweis hierzu habe ich auf http://www.satzansatz.de/cssd/onhavinglayout.html gefunden. Dort wird das Verhalten des IEs beim Rendern erläutert. Abhilfe schafft hier ein display:inline-block im Span-Tag.

Der fertige Code sieht dann wie folgt aus:

<?xml version=”1.0″ encoding=”UTF-8″ ?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd“>
<html xmlns=“http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=“Content-Type” content=“text/html; charset=UTF-8″ />
<title>Insert title here</title>
</head>
<body>
<form method=“get” action=“http://google.de/search?q=”>
<p><input type=“hidden” name=“q” value=“text” />
text davor
<span style=position: relative; display:inline-block><a href=“#”>link</a><input style=position: absolute; cursor:pointer; left: 0px; width:100%; top: 0px; height: 100%; background:transparent; background-image:url(trans.gif); border: 0px solid #0000ff ; margin: 0px; padding: 0px type=“submit” name=“button” value=“” /></span>
text danach
</p>
</form>
</body>
</html>

Dies kann nun als CommandLink-Code verwendet werden, ohne dass hierfür JavaScript auf der Client-Seite notwendig ist.

Oktober 18th, 2007

Neue Wordpress Themes sind online

Posted by RuD in Standard

Wir werden in mehr oder weniger großen Abständen eine Sammlung von Wordpress Themes online stellen. Im Moment stehen zwei Themes zum Download bereit: ModernGreenTimes und BlueBlog.

Aktuell haben wir ein weiteres Theme erstellt: Photorama. Es liegt in englischer und deutscher Version vor.
Wir werden das Repertoire natürlich noch erweitern. Viel Spaß mit den Themes

Downloadseite

August 16th, 2007

java.rmi.NoSuchObjectException

Posted by frank in Java

Heute erreichte mich die Exception java.rmi.NoSuchObjectException mit der Meldung “No such object in table”. Diese Meldung habe ich zuerst nicht ganz verstanden, denn der Client hat ja zuvor über Lookup das Objekt erfolgreich geholt. Dennoch trat anschließend bei der Verwendung diese Meldung auf.
Das Problem ist jedoch so einfach wie zugleich auch etwas versteckt. Bei einem Lookup des Clients erfolgt dies auf die RMI-Registry. Diese hält die Stubs bereit und bei einem Lookup erhält der Client Informationen wie er zum eigentlichen Remote-Objekt gelangt. Der Lookup war also kein Problem. Bei der ersten Verwendung des erhaltenen Objektes wird nun eine Verbindung zum RMI-Server aufgebaut und dann das Remote-Objekt verwendet. Dies war jetzt nicht mehr da und damit kam es zu dieser Meldung. Aber warum war es nicht mehr da? Ganz einfach: Der Garbage Collector hatte es aus dem Speicher entfernt.
Die Lösung ist daher, dass die Instanz, die beim Erzeugen des UniCastRemoteObjects verwendet wird, mit gehalten werden muß, damit diese nicht vom GC entfernt wird.

August 15th, 2007

RMI Server im NAT-Netzwerk betreiben

Posted by frank in Java

RMI ist ja das Werkzeug schlechthin um verschiedene Javaprozesse miteinander kommunizieren zu lassen. Es können damit entfernte Methoden aufgerufen (Remote Method Invocation) werden, als wäre die Klasse lokal verfügbar. Da sich Java selbst um die ganze Kommunikation über TCP kümmert, hat man natürlich wenig Einflussmöglichkeiten. Betreibt man nun einen RMI-Server hinter einem NAT-Router und möchte diesen vom Internet aus zugreifbar machen, so wird einem immer wieder auf Clientseite eine Exception um die Ohren fliegen, die sagt dass das Netzwerk mit z.B. der IP 192.168.x.x nicht verfügbar wäre. Grund hierfür ist, dass der RMI-Server seine lokale IP nach außen sendet und nicht seine globale IP. Abhilfe schafft hier der Start der Applikation mit einem Parameter:

java -Djava.rmi.server.hostname=GLOBALEIP ...

Ab jetzt sendet der Server die globale IP als Hostnamen und ein Zugriff von Außerhalb ist problemlos möglich.

Juli 4th, 2007

Scrollleisten im Firefox auf dem Mac

Posted by frank in AJAX

Wieder einmal und wahrscheinlich auch nicht zum letzten Male bringt ein Browser einem zur Weißglut. Diesmal ist es (außnahmsweise) mal nicht der IE, sondern der Firefox. Dieser hat, auch in der aktuellsten Alpha (Firefox 3 Alpha 3), einen gravierenden Bug bei der Anzeige von Scrollleisten. Aber seht selbst:
Firefox Bug unter Mac
Der gelbe und der Blaue Layer sind eigentlich über den Layer mit dem Bild und sollten demzufolge auch die Scrollleisten überdecken. Das es eigentlich auch geht zeigt der Firefox 2 unter Windows:
Firefox unter Windows
Und auch ein anderer Browser, hier der Safari, kann es unter Mac wunderbar anzeigen:
Safari unter Mac
Für alle, die es selbst testen wollen bleibt noch die HTML-Variante.
Kann man nur hoffen, dass der Fehler bald behoben wird.

Juni 26th, 2007

JS: Auf Array prüfen

Posted by frank in AJAX

Gerade in komplexeren Anwendungen weiß man hin und wieder nicht welchen Typ eine bestimmte Variable hat und möchte daher dies prüfen. Ich hatte ja bereits in der Vergangenheit beschrieben, wie man zwischen Funktionen und Objekten unterscheidet.
Da sich Arrays jedoch auch als Objekte ausgeben hilft eine Unterscheidung zwischen einem Array und einem Objekt leider nicht. Abhilfe schafft hier jedoch eine Besonderheit bei “instanceof”:

var a = Array();
var b = new Object();
alert(a instanceof Array);
alert(b instanceof Array);
alert(a instanceof Object);
alert(b instanceof Object);

Als Ausgabe ist hier zu erwarten: true, false, true, true

Nächste Seite »