.tostring() überschreiben für Loggingzwecke

Wenn man am entwickeln ist baut man fast automatisch Logginganweisungen ein um dem Programmverlauf zu folgen, sofern man keine Debug-Umgebung nutzen kann. Meistens nutzt man dann an mehreren Stellen fast die gleichen Zustandsausgaben.

Macht man sich einmal die Arbeit, die tostring() Methode zu überladen, erspart man sich eine Menge Arbeit und hällt nebenbei den Quellcode des eigentlichen Programmablaufs frei von überflüssigem Code.

Folgende Situation:

Object:

  1. public class object {
  2.   private String vString1 = "";
  3.   private int vIntZahl = 1;
  4.   public String toString() {
  5.       return ("der Inhalt des aktuellen Objektes ist: vString1: " + vString1 + " vIntZahl: " + vIntZahl);
  6.   }
  7.   public String getVString1() {
  8.     return vString1;
  9.   }
  10.   public void setVString1(String string1) {
  11.      vString1 = string1;
  12.  }
  13.   public int getVIntZahl() {
  14.     return vIntZahl;
  15.  }
  16.  public void setVIntZahl(int intZahl) {
  17.     vIntZahl = intZahl;
  18.   }
  19. }

Main Mathode:

  1. public class mainclass {
  2. public static void main(String[] args) {
  3. Exampleobject vConcreteObject= new Exampleobject();
  4. System.out.println("Inhalt vorher: "+vConcreteObject.toString());
  5. vConcreteObject.setVIntZahl(3);
  6. vConcreteObject.setVString1("hallo");
  7. System.out.println("Inhalt nachher: "+vConcreteObject.toString());
  8. }
  9. }

Normal müssten wir bei beiden System.out Aufrufen die Get-Funktionen des Objektes nutzen. Die Ausgabe ist nun an jedem Ort normiert und wenn sich etwas am Aufbau des Objektes ändert, kann dies zentral in der toString() Methode angepasst werden und alle zugreifenden Ausgaben können genutzt werden.

Weiterführend könnte man natürlich eine toLog() Funktion einführen, wenn man ausführlichere Informationen haben möchte, das Prinzip bleibt aber gleich.

Noch einen drauf setzen kann man mit dem Umleiten der log Nachrichten per Syslog an seine eigene Syslog factory.

Google Health, Google tut etwas für die Gesundheit der Menschen

Google Healt - Microsoft Health Vault

Gestern hat das „googleversum“ ein neuen Stern bekommen: Google Health.
„Google Health puts you in charge of your health information. It’s safe, secure, and free.
Organize your health information all in one place Gather your medical records from doctors, hospitals, and pharmacies Keep your doctors up to date about your health Be more informed about important health issues Google stores your information securely and privately. We will never sell your data. You are in control, you choose what you want to share and what you want to keep private. View our privacy policy to learn more. „

Sprich Google bietet eine Plattform, in der der Benutzer seine Daten, Krankheiten, Ärzte und Medikamente eingeben kann. Desweiteren bietet es eine Hilfestellung was die Nebenwirkung bzw. Wechselwirkungen von Medikamenten untereinander angeht.

Als Nachschlagewerk in medizinischen Fragen ist eine Datenbank angebunden. Um es den Usern einfach zu machen ist auch eine Import Funktion vorgesehen, ob diese in Deutschland nutzbar ist, kann mangels eines Tests nicht beurteilt werden. Vorerst ist diese Importfunktion für amerikanische Einwohner relevant.
Auch eine Arzt- / Krankenhaussuche ist eingebettet, welche auf Basis von Google Maps Daten die nächste ärztliche Versorgung anzeigen kann.

Die Antwort auf die erste zu Google Health gestellten frequently asked Questions drückt verschönt das oberste Unternehmensziel Googles aus: Alle Informationen der Welt zu sammeln.

1. Why is Google offering this product?

– t’s what we do. Our corporate mission is to organize the world’s information and make it universally accessible and useful. […]

Die Vorteile bringen eine Menge Nutzer, über die Nachteile denken nur die wenigsten nach. Ein Austausch der eingegeben Daten mit anderen Google Produkten wie Search wird in den FAQs eingeräumt, jedoch ohne personenbezogene Daten.

Ein weiteres nettes Feature ist eine Erinnerung in Form einer Pillenschachtel, wann Medikamente einzunehmen sind.
Microsoft ist indess schon auf diesem Markt mit dem „HealthVault-Dienst“ vertreten, und daher schon mehr oder weniger etabliert.

Der praktische Nutzen dieser neuen Applikation in der aktuellen Fassung ist zweifelhaft, die Idee dahinter jedoch zukunftsweisend: medizinische Informationen von jedem Menschen verbinden um so einen schnellen Austausch von neuen Krankheitsbildern, Forschungsergebnissen und Hilfestellungen bei Beschwerden.

<br> ist von gestern <br /> ist heute

In vielen Html Dokumentationen wird als Zeilenumbruch der <br> Tag verwendet. Dies ist prinzipiell auch in Ordnung, wer aber zukunftssicher bleiben möchte, benutzt den Tag XHTML konform in der folgenden Form: <br />

Damit wird das br Elemt als inhaltsleer markiert. XHTML in der Version 1.0 liegt es seit dem Jahre 2000 vom W3 Konsortiums vor.
Weitere Tags bei denen das Problem der Inhaltsleere vorkommt sind:
<img>, <input>, <hr>.
Diese werden HTML konform ohne schließendes Element genutzt. XTHML setzt bei allen genannten Tags auf ein markieren der Inhaltslosigkeit durch einen Slash / am Ende:

<p>Dies ist ein<br />Zeilenumbruch</p>
<p><img src=“http://www.party9.de/logo.jpg“ alt=“Party9 Logo“ /></p>

Das Leerzeichen vor der Zeichenkette /> ist dabei für die Kompatibilität zu alten Browsern, die noch nicht XHTML valide sind.

Weiterführend:
SelfHtml Seite

Eclipse PHP Entwicklung mit FTP Sync

Eines der schlagenden Argumente für Dreamweaver beim Einsatz in kleineren Projekten ist die Fähigkeit, Remote auf einem Server zu arbeiten. Dabei werden die Files automatisch vom FTP Server geholt, können lokal bearbeitet werden und dann direkt auf dem FTP Server gespeichert werden.

Die aus der Java Entwicklung entstandene IDE Eclips ist nun auch für ambitionierte PHP Entwickler immer relevanter. Das Eclipse PDT Projekt erweitert Eclipse um eine PHP Umgebung. Dies beinhaltet die Eclipse gewohnte Code-Vervollständigung, PHP Dokumentation und ein direktes Debuggen, sofern der benutzte Server dies unterstützt.

Ein wichtiges Feature erhällt man nach Installation von Aptana als Eclipse Plugin über:

1) Eclipse Help Menü -> Software-Updates -> Find and Install

2) neue remote Site (Name Aptana Url: http://update.aptana.com/install/3.2/)

3) das erstellte Aptana auswählen

4) Anweisungen folgen und Eclipse neustarten

Jetzt beginnt das eigentliche einrichten der Synchronisation:

1) Window – > Show View -> Other -> Aptana Standard Views -> Sync Manager

Hier kann das neue Sync Device angelegt werden. Der Seitenname ist dabei frei zu vergeben, die FTP Daten müssen hinterlegt werden, die Connection kann nach Eingabe der Daten getestet werden.

Nach Abschluss nun der erste Remote Sync:

Sync Dialog

Danach sind alle Dateien lokal vorhanden im Workspace Directory. Ab jetzt kann in dem Sync Tab gewählt werden, ob man nur in Richtung Remote Server, nur in Richtung lokalem Rechner oder in beide Richtungen abgeglichen werden soll.

Zu beachten ist, das nur gespeicherte Files auch abgeglichen werden können. Vorher also immer mittels Strg+S bzw cmd+S bei Apple Systemen die Dateien speichern.

Weiterführende Dokumentationen:

Installing Aptana as a Plugin

Update 2014:
Aptana hat nun auch wieder PHP Unterstützung eingebaut: http://www.aptana.com/products/php/

Dreamweaver CS3 Schriftgröße

Einige haben vllt. bei Adobe Dreamweaver CS3 ein Problem mit der sehr kleinen Schriftart in der Codeansicht, was auf die Dauer das Arbeiten sehr schwer macht.

Einstellen lässt sich die Schriftart / Schriftgröße unter: Dreamweaver – Einstellungen – Schrifarten.

Ansonsten kann man noch auf Eclipse in Verbindung mit PDT umsteigen. Über diese Kombination wird es an dieser Stelle demnächst einen Erfahrungsbericht geben.

Wer kennt wen …

Wer-kennt-wen

… oder das Aufstreben eines neuen sozialen Netzes. So neu wie gedacht ist der Grundgedanke jedoch nicht. Einjeder kennt die Situation in einer Konversation mit neuen Bekannten die aus dieser oder jener Ecke kommen stellt man die Frage „Kennst du Person x oder y, die müsste auch aus der Ecke kommen“. In den seltensten Fällen wird die Frage positiv beantwortet. Nun macht sich seit einiger Zeit das soziale Netzwerk „wer-kennt-wen.de“ auf, diese Netz an Bekanntschaften zu digitalisieren und für jeden einsehbar zu machen. Nach einem Gespräch kann gemütlich vor dem heimischen PC nachgeprüft werden, über welche anderen Personen man die neue Bekanntschafft noch zu erreichen wäre, selbstverständlich wird sogleich auch eine „kennst du mich“ Anfrage gestellt.

Hauptantrieb der Seite ist der Sammel- und Profilierungswunsch der breiten Masse. Jeder möchte durch die Zahl seiner Bekanntschaften zeigen, wie beliebt, sozial eingebunden und bekannt er ist. Personen mit mehreren Tausend Bekanntschaften sind hierbei keine Seltenheit. Der Vorteil gegenüber auf spezielle Nutzerschaft bezogenen sozialen Netzwerken wie die Studentenseite studivz.net, das Schülerportal schuelervz.net oder das Geschäftsportal xing.com ist die Zielgruppe von „wkw“: jeder gehört zur Zielgruppe. So kann es durchaus passieren das man eine Anfrage von seinem Grundschullehrer oder der Sandkastenbekanntschaft bekommt. Besonders die Gruppe 30+ scheint Gefallen an der Seite gefunden zu haben, die technisch gesehen nichts neues bringt. Eine durchschnittliche Blogfunktionalität, eine unterirdisch schlecht wirkende Galeriefunktion, die obligatorischen Bildmarkierungen, es wirkt doch alles sehr zusammengewürfelt. Das schadet dem Wachstum jedoch nicht, da die Seite nicht wegen diesen Funktionen genutzt wird.

Enstanden ist die Seite laut Betreiber im August 2006 an der Uni Koblenz als Idee entstanden, von dort breitete sich die Seite durch Bekannte nach dem selben Prinzip wie heute aus: Bekannte einladen damit das eigene soziale Netzwerk größer erscheint.
Neue Leute kennenlernen, das soziale Geflecht vergrößern ist indess theoretisch zwar möglich, praktisch aber nicht relevant, Nachrichten ohne bestehenden Bezug fallen verständlicherweise negativ auf und führen bei weiblichen Mitgliedern zu Belästigungen, wie in diversen Foren zu lesen ist.

Eine vergleichbare Seite ist vor einiger Zeit in München gestartet. Die Lokalisten haben mit imenser Medienpräsenz versucht die Seite vorran zu treiben, die Nutzerzahlen und Wachstumsprognosen sprechen dabei aber für wer-kennt-wen.de.
Die Möglichkeiten für kommerzielle Zwecke bei geschätzen 1,5 Millionen Mitgliedern inclusive deren Profilen weckt auch bei Großkonzernen Begehrlichkeiten, so verleibte sich die RTL Group 49 % von wer-kennt-wen ein. Pro7 besitzt Anteile an lokalisten und der Holtzbrinck ist die geldgebende Kraft im VZ Universum (schuelerVZ, studiVZ, meinVZ). Das Potential ist unbestritten da, die Art und Weise jedoch nicht die feine englische Art. WKW blendet personenbezogene Werbung ein, ermöglicht zwar diese auf allgemeine Werbung umzustellen, jedoch wäre der umgekehrte Weg der für Nutzer unbedenklichere. Nur bei aktiver Zustimmung sollte personenbezogene Werbung eingeblendet werden.

Drei große Konzerne tragen im Stile von Gutsherren eine Schlacht aus, die Ritter sind die Seitenbetreiber und am Ende entscheiden die Benutzer im Stile von Bauern den Ausgang, wer das Feld als Sieger verlassen wird.

Ordnung in die Linksammlung

Soziale Netzwerke waren in diesem Blog schon desöfteren Thema, heute wird eine weitere Sonderform des sozialen Netzwerk beschrieben, welches einen sehr engen Fokus auf ein soziales Bedürfniss richtet: die Organisation von Links.
Nachdem bereits in einem Beitrag (Link zu Last.FM) über das Thema Music-Social-Network berichtet, heute also die soziale Bindung und das Bereitstellen von Links.

Die meisten kennen das Problem: auf der Suche nach Informationen zur Zeitpunkt x findet man eine bunte Menge an themenrelevanten Seiten. Kommt man zum Zeitpunkt y auf die Idee selbiges zu suchen offenbaren sich zwei Möglichkeiten: entweder man hat zu Zeitpunkt x seinem Browser die Adressen zur Eintragung in die Favoritenliste gegeben, oder man führt die Suche erneut durch und hofft, die selben Ergebnisse zu finden.
Möglichkeit zwei ist natürlich zeitaufwendiger, bei der ersten Version steht man dann vor einem Problem wenn man den Rechner wechselt und keinen Zugriff mehr auf die lokalen Favoriten hat.

Nun habe ich schon verschiedenste Lösungsansätze gesehen, von statischen html Seiten die auf Webspace online gestellt wurden, mit dem Problem der Wartbarkeit und der „Privatsphäre“ bis hin zu Personen die zur Linkverwaltung ganze Forensysteme aufgesetzt haben, was für die Anforderungen übertrieben ist.Del.icio.us Screenshot

Der Dienst del.icio.us bietet nach einer Anmeldung die Möglichkeit, lokale Favoriten zu importieren in Form einer html Datei, dabei werden alle importierten Links nach Wunsch mit einem Extra Label versehen, wie z.B. „imported“. Diese Tags wiederrum sind die Sortierkriterien für das System, jeder Link man mit beliebig vielen Tags versehen werden, und so den entsprechenden Themen zugeordnet werden.
Neben diesen Tags kann auch eine freie Beschreibung eingegeben werden. Sobald ein Link hinzugefügt wurde, wird angezeigt, wieviele Personen im System
noch diesen Link getagged haben, darüber lassen sich z.B. Personen finden, die gleiche Interessen ahben und somit neue relevante Webseiten finden.
So haben z.B. x Personen das älteste Freizeit Portal Deutschlands aktuell in deren Linkliste.

Für Links, bei denen nicht gewünscht wird, diese öffentlich zur Schau zu stellen, bietet sich die Möglichkeit diese als „don’t share“ zu markieren, sie sind dann nur im eigenen Profil sichtbar.

Soweit das Eintragen von Links, das Hauptaugenmerk des Dienstes ist aber nicht das Hinzufügen von Informationen, sondern das gezielte filtern, wenn man auf der Suche nach bestimmten Themenbereich ist, an verschiedenen Stellen der Oberfläche sind Eingabefelder angebracht, über ein Filter gesetzt werden kann, was zur Folge hat das nur Links angezeigt werden, die dem Kriterium entsprechen, beispielsweise Tag „coding“ zeigt nur eigene Links an die mit dem Label „coding“ versehen wurden.
Man kann auch im del.icio.us Netz nach Seiten mit einem bestimmten Tag suchen, was in bestimmten Fällen qualitativ bessere Ergebnisse als herkömmliche Suchmaschinen bringen dürfte.

Firefox Benutzern bietet sich indess ein besonderes BonBon, sie können del.icio.us Einträge direkt aus der Adresszeile des Browsers erzeugen, vorrausgesetzt das entsprechende Add-On ist installiert:
https://addons.mozilla.org/en-US/firefox/addon/3615

Die vergeben Tags lassen sich entweder als geordnete Liste mit Zahlen oder in einer in Web 2.0 Anwendungen gerne verwendeten Tag Cloud anzeigen.
Selbstverständlich kann man die erzeugten Daten auch wieder exportieren und als Favoriten in den Browser einspielen.

Pendants im deutschsprachigen Raum wären indess Mr.Wong.