Freitag, Dezember 07, 2007

Blog ist umgezogen...

Nach ein wenig hin und her, habe ich jetzt doch den Schritt gemacht. Wie sicher alle gemerkt haben, bin ich ein begeisterter Drupalianer. So ist der Schritt auch nicht mehr so fern, das Blog wieder selber zu betreiben. Somit kann ich auch wieder alles unter einen Hut bringen:
http://www.rapsli.ch

Irgend wann werden auch noch die ganzen Beiträge verschoben werden, aber das wird wohl noch ein wenig dauern, bis ich ein wenig mehr Zeit habe...

Samstag, Dezember 01, 2007

PHP Zeichensatz konvertieren

So, nach gut 2h suchen und probieren hat es endlich geklappt. Ich hoffe, ich kann dies hiermit jemandem ersparen.

Ich habe also einen Text gehabt und wollte darauf ein str_replace anwenden. Ganz simpel. Aber leider hat der einfach die Sonderzeichen und Umlaute nicht geschluckt. str_replace("ä","&auml",$text) hat somit einfach nicht funktioniert. Hö, komisch?

Dann habe ich gesehen, dass es text ist, der eigentlich im UTF-8 steht, aber doch irgendwie Ansi ist... das war der Fehler. Dieser kann wie folgt behoben werden:

$write = iconv("UTF-8","ISO-8859-1",$write);

Die Wunderfunktion :) Hier noch der Link zur Beschreibung Solche Sachen sind echt nicht schön, aber gehören wohl einfach dazu ;)

Donnerstag, November 15, 2007

Gute Aussichten für Informatikstudenten

Anscheinend geht die Zahl an Informatikstudenten drastisch zurück. Dafür muss ich nicht die NZZ lesen, denn das merke ich an der Uni. Laut NZZ verlassen 5000-7000 Leute den IT Bereich und gerade mal 2500 (inkl. Informatikberufslehre) werden ausgebildet. Es scheint also, als sollte es somit kein Problem werden, um nach dem Studium einen Job zu finden. Langerfristig ist es natürlich keine Lösung, nein, ist sogar ein riesiges Problem, denn es ist ja nicht anzunehmen, dass in Zukunft die Computer verschwinden und es keine Informatiker mehr braucht. Ich denke, eher, dass die Zahl immer mehr zunehmen wird, denn: Es schwebt ja immer noch die Vision vom intelligenten Kühlschrank, welcher selber online Shoppen geht, das semantische Netz und und und vor. Ja, wer bitte soll dies alles Programmieren, warten, weiterentwickel?

Interessant wäre zu wissen, ob dies lediglich in der Schweiz so ist, oder ob dieses Phänomen auch in anderen Ländern zu beobachten ist. Laut Spiegel sind in Deutschland allgmein die Naturwissenschaftler im Rückgang, die Zahl der Informatiker wächst hingegen. Interessant. Warum wohl die Informatikstudenten hier weniger beliebt sind?

Mittwoch, November 14, 2007

Drupal gewinnt Overall 2007 Open Source CMS Award

Ich bin jetzt nun seit knapp 3/4 Jahren bei Drupal dabei und nach wie vor begeistert. Nachdem ich meine ersten Schritte mit Joomla gemacht habe, bin ich jetzt froh, bei Drupal voll eingestiegen zu sein. Der Award zeigt, dass ich doch nicht ganz falsch liege...
Es lebe Drupal :) und weil es so schön ist:


Montag, November 12, 2007

Open Social - Googles Antwort auf Facebook

Vor einigen Wochen bin auch ich auf den Facebook Zug gesprungen und war sehr erstaunt, festzustellen, wieviele von meinen Leuten bereits einen Account haben. Alles verlief reibungslos und ich konnte Kontakte zu Leuten knüpfen, welche ich schon lange nicht mehr gesehen habe. Eine Freude für beide Seiten. Die Funktionen auf Facebook sind wirklich sehr gut durchdacht. Was meiner Meinung nach die Killerapplikation von Facebook ist, ist das Feed. Beim Besuch der eigenen Startseite sieht man auf den ersten Blick, was die Freunde so gemacht haben, welche neuen Kontakte sie geknüpft haben, oder was für Applikationen sie brauchen... da ist vielleicht auch etwas dabei, was man selber brauchen kann.

Leider ist die Plattform lediglich auf Facebook beschränkt. Schade eigentlich. Hier setzt Google an. Ich muss ehrlich sagen, dass ich mich noch nicht im Detail damit auseinander gesetzt habe, aber was ich bisher davon verstanden habe:

Open Social ist eine offene Schnittstelle, welche von den Partner Social Network Sites benutzt werden kann. Ich kann also einen Multisite Friend Finder bauen, welche nicht nur die Freunde der Plattform A sucht, sondern auch die von Plattform B, C und D (halt einfach alle die, welche die Schnittstelle benutzen). Vom Prinzipt her funktioniert es ein bisschen gleich wie die Multiprotokoll Messenger. So lassen sich dann halt beliebige Applikationen bauen.

Das Ganze befindet sich jedoch noch in einer Betaphase und gibt wohl noch diverse Bugs (zdnet). Ich bin auf jeden Fall gespannt, was daraus wird und würde auch gerne mal einen näheren Blick darauf werfen... Dies wird vielleicht auch eine Möglichkeit für kleine Entwickler, Programe zu schreiben, welche einer breiten Öffentlichkeit zur Verfügung stehen.

Die kommenden Monate werden es zeigen...

Hier ein paar Links:
Offizielle Google Seite
Erster Hack
Wirtschaftliche Hintergründe

Und sonst einfach mal nach Open Social googeln. Da kommt eine ganze Menge.

Donnerstag, Oktober 18, 2007

wubi - deinstallieren

Oky. Da ich nicht wirklich Verwendung für Linux habe und den Platz auf meiner Platte dringend brauche, habe ich wubi wieder deinstalliert.
Ganz einfach im Windows software manager -> deinstallieren und beim nächsten Neustart hatte ich wieder Platz und wubi war weg.


Siehe auch:
http://rapsli.blogspot.com/2007/09/wubi-erster-erfahrungsbericht.html
http://rapsli.blogspot.com/2007/09/wubi-linux-unter-windows.html

Donnerstag, Oktober 11, 2007

Wireless USB

Nachdem ich schon viel Gerüchte gehört habe über das neue W-USB/Wireless USB habe ich in der letzten Zeit eigentlich nicht mehr so viel darüber gehört.
Umso erstaunter war ich, als ich in einem Internetshop zufälligerweise über ein angeblich erstes Gerät gestossen bin.
Check it out:
http://www.buy.com/prod/IOGEAR-Wireless-USB-Hub-and-Adapter
Sieht echt vielversprechend aus, leider aber noch etwas teuer. Würde mich interessieren, wie die ersten Erfahrungen und Testberichte sind.
Auf der selben Seite wird übrigens Google Checkout verwendet, auf welches ich in der realen Internetwelt bis anhin auch noch nie gestossen bin....

Mittwoch, Oktober 03, 2007

Mozy - Backup inkl. Versionierung

Mozy ist ein Backupsystem. Es funktioniert wie folgt:

  1. Registration (2GB sind gratis)
  2. Client installieren
  3. Entsprechende Ordner für Backup auswählen oder entsprechende Filter erstellen
  4. Los
Die Daten werden komprimiert und hochgeladen. Danach kann man ihm sagen, wann er regelmässig ein backup machen soll, d.h. täglich um 12 Uhr, oder jedes Mal wenn der Computer für 30 Minuten nicht benutzt wird usw.
Um Daten wiederherzustellen kann in Windows lediglich ein rechtsklick auf die entsprechende Datei gemacht werden, worauf eine neue Auswahlmöglichkeit vorhanden ist. Die Version auswählen und auf Restore klicken. Schon gemacht.
Wenn ihr euch anmeldet bitte meinen Referal Code eingeben: A46A86 Dadurch erhält ihr und ich extra 250 MB Speicher. https://mozy.com/?ref=A46A86

Samstag, September 29, 2007

Wubi - erster Erfahrungsbericht

Nachdem ich wubi runtergeladen habe. Konnte ich es installieren. Ganz normal wie ein Windows Programm.

Nächste Schritte:

  • Speicher, welcher Linux zur Verfügung stehen sollen angeben (ich habe 5 GB)
  • Neustarten
  • Jetzt wird Ubuntu erst installiert. Alles wunderbar geklappt.
  • Leider kein Treiber für meine WLan Karte :( gäbe irgend eine Lösung mit den Windows Treibern, war mir aber zu kompliziert
  • LAN funktioniert.
  • Beim Aufstarten ist jetzt ein Bootmanager da, welcher die Wahl zwischen Win XP und Ubuntu gibt.
Ich war echt erstaunt, wie simpel es ging. Ich bin mal noch gespannt, wie die Deinstallation klappt. Wer also einfach mal ein Linux haben will.... einfach mal versuchen. (ich übernehme jedoch keine Garantie).

Dienstag, September 25, 2007

wubi - Linux unter windows

Nachdem ich vor einigen Jahren meine ersten (bescheidenen) Erfahrungen mit Linux gemacht habe, bin ich davon abgekommen, da die hohe Bildschirmauflösung an meinem Notebook nicht unterstützt wurde.

Jetzt muss ich C++ programmieren und habe unter Windows nichts als Probleme. Auf der Suche bin ich dann auf wubi gestossen. Noch bin ich am runterladen. Laut Homepage soll es jedoch Ubuntu ganz einfach als Programm ausführbar machen... das könnte die Lösung zu meinen Problemen werden.

Noch kann ich nicht sagen, ob es auch klappt, aber ich bin am installieren.

Freitag, September 14, 2007

Drupal Modul - Taxonomy Menu

Taxonomy ist ein ziemlich praktisches Modul, aber hat auch seine Tücken. Dabei ist es sehr vielfältig einsetzbar. Als Freetagging, mit einer Hierarchie um z.B. ein Buch zu schreiben, usw. Besonders für die Hierarchische Struktur ist die standardmässige Verwaltung ziemlich mühsam. Dafür gibts das taxonomy_manager:
Es lässt sich bequem mit AJAX bedienen, hinzufügen. Wirklich ziemlich praktisch. Das Modul findet sich unter http://drupal.org/project/taxonomy_menu

Donnerstag, September 13, 2007

Einfach mal schnell Fotos verkleinern...

Ja, ich weiss, dazu gibt es im Photoshop ein Batch Funktion. Doch was ist mit denen, die kein Photoshop haben. Es gibt sicher noch andere Bildbearbeitungsprogramme, die irgend eine Batchfunktion haben, aber ich will nur eben schnell ein paar Fotos verkleinern.

Kein Problem: http://www.rw-designer.com/picture-resize
Echt cooles Tool. Keine Installation und einfachst Konfiguration. Einfach den Namen des exe Files entsprechend anpassen und schon ist das Programm konfiguriert.

Um die Bilder zu verkleiner kann man diese dann einfach per Drag & Drop auf die Exe Datei fallen lassen und schon haben wir es geschafft. Super!

Dienstag, September 11, 2007

Drupal boomt

Laut google gehen die Suchanfragen für Drupal massiv nach oben:

http://www.google.com/trends?q=drupal

Arcor hats endlich geschafft

Nachdem ich nun fast 1 Monat auf den Internetanschluss gewartet habe, ist er endlich da :)

1. Termin war für für ende August geplant (2 Wochen nachdem meine Anmeldung geschickt war, da noch ein Techniker vorbeikommen sollte). Ok, na gut, dann halt 2 Wochen. Mir wäre es zwar lieber gewesen, er würde gleich am Tag darauf kommen, aber was solls.
Nach ca. 3 Tagen hatte ich bereits das Modem zugeschickt bekommen. Ich war sehr optimistisch, dass doch alles gut klappen wird.
Der Tag kam, doch kein Techniker: "Bitte seien sie zwischen 8:00 Uhr und 16:00 Uhr zuahause". Na gut, als Student kann man das ja machen. Ein wenig verwirrst hat mich das Formular, welches im Brief mit kam "Der Techniker kam nicht, neuen Termin ausmachen". ... naja, der wird schon kommen.
Der kam nicht. So habe ich mich mal bei der Hotline gemeldet, sehr freundlich, doch die gute Frau meinte nur, ja, der kam vorbei, der neue Termin ist für den 10. September. Die haben wohl einen knall. Doch alles rumdiskutieren, auch mit der T-Com Hotline half nichts.
Ich stellte dann auf den Papieren fest, dass eine falsche Adresse drauf war, 2b und nicht 22, was ich ihnen bereits am ersten Tag mitgeteilt habe, doch hat da anscheinend jemand seine Arbeit nicht gut genug gemacht.

Wenige Tage später kam der Brief für einen Umzug für den 11. September? Hö? Ich meinte doch es wäre der 10. Naja, einen Tag länger kann ichs auch noch aushalten. Es wurde also der 10. September und da klingelt plötzlich das Telefon: "Ihre Klingel ist nicht angeschrieben, ich stehe vor der 22". Autsch! Nein, jetzt raste ich dann gleich aus.
Verhandlungen mit dem Techniker halfen nichts, der braucht einen Auftrag für die entsprechende Adresse. Extrem genervt rufe ich bei Arcor an und lasse Dampf ab... zum Glück für die gute Frau brach die Verbindung ab, da ich im Zug war.
Am Nachmittag rief mich ein Herr an und meinte, dass ein neuer Auftrag für den 25. September rausgegangen sei... kann ja wohl nicht wahr sein! Das ist ein Witz.

Doch: Es besteht ja noch die Chance, dass der Techniker am 11. kommt, doch der gute Mann im Call Center wusste nichts vom 11.
11:00 - Kein Techniker. 11:30 - Kein Techniker (die Leute von Arcor meinten, der Techniker würde immer Vormittags kommen). Wenn er um 12:00 Uhr nicht da ist, dann explordiert die Arcor Hotline.
12:00 Uhr - Kein Techniker. Na gut, jetzt platzt die Bombe. Noch schnell überprüfen, obs vielleicht doch geht.... oh Wunder, das DSL Lämpchen brennt? Hä?

Schön, warum? Ich habe null Schimmer? Vielleicht mussten die dort nur den Schalter umkippen? Ich weiss es nicht.

Donnerstag, August 30, 2007

Mein Video Blog

http://nickiplorer.schaerwebdesign.ch/site/user/1/blog

:) eine entstehende Video Community. Interesse? Dann einfach anmelden und mal ausprobieren...

Montag, August 20, 2007

Ein Leben ohne Internet?

Durch den Umzug hat sich der Internetanschluss ein wenig verspätet... das Leben steht praktisch still. Ich könnte eigentlich auch Ferien machen. Wenn mans nicht hat, merkt man wie sehr man davon abhängig ist...

Freitag, August 10, 2007

Deutsche Drupal Entwickler



Drupal ist am Kommen. Im deutschsprachigen Raum gibt es jedoch noch nicht viele Entwickler. Hier eine kleine Liste

Donnerstag, August 09, 2007

Kleines praktisches Firefox Addon/Erweiterung

Es gibt sie noch, die kleinen, praktischen, platzsparenden Firefox Addons. Über so eines bin ich heute gerade gestoplert.
Das Addon zeigt unten in der Statusliste an, wie lange die Seite zum laden hatte, und wie viele bytes effektiv geladen wurden. Da ich im Moment gerade eine Plattform am entwickeln bin, welche möglichst platzsparend sein muss, kommt bei mir die Anzeige der geladenen Bytes gerade wie gerufen, da ich so sofort sehe, wie gross die effektiv geladenen bytes (natürlich excl. dem Inhalt, welcher schon im Cache ist) sind.
Hier der Link zum Addon:
Life of request info

Mittwoch, August 08, 2007

Autocomplete für Drupal mit JQuery Teil 2

Wie ich im gestrigen Post berichtet habe, lässt sich mit Drupal ziemlich einfach eine autocomplete Funktionalität bauen... es geht sogar noch einfacher. Drupal besitzt von Haus auf bereits die entsprechende Funktionalität. Es muss nur noch folgendes gemacht werden:

Die Schnittstelle im hook_menu festlegen:

$items[] = array(
'path' => 'autocomplete',
'callback' => 'autocomplete',
'access' => user_access('access autocomplete'),
'callback arguments' => array('in' => arg(2)),
'type' => MENU_CALLBACK);

Wobei mit callback arguments der String vom Autocomplete Feld kommt.

Danach muss die entsprechende callback Funktion definiert werden:

function autocomplete($in){
...
while($row_3 = db_fetch_array($res_3)){
$matches[$row_3['tag']] = $row_3['tag'];
}

print drupal_to_js($matches);

}
Wobei die ungefähr so aussehen könnte. Mittels drupal_to_js werden die Daten in der richtigen Form zurückgegeben.

Und zu guter Letzt muss nur noch das Formularfeld definiert werden. Dies kann leicht über die Form API gemacht werden:

$form['ngroups_search_tags'] = array(
'#type' => 'textfield',
'#title' => t('Tagsuche'),
'#description' => t("Inhalt deiner Gruppe durchsuchen"),
'#autocomplete_path' => 'ngroups/ngroups_autocomplete_search_tag',

);

Das wäre es dann auch schon gewesen!

Dienstag, August 07, 2007

Autocomplete für Drupal mit JQuery

Die Funktion "Autocomplete" kennt jeder. Die gängigen Browser unterstützen diese bereits seit einiger Zeit. Ich möchte nicht mehr darauf verzichten, da es doch die Arbeit erleichtert. Auch in Drupal lässt es sich relative einfach einbinden. Ich zeige hier ganz kurz die wichtigsten Grundlagen auf.

Update 8.8.07: Es gibt eine einfachere und bessere Möglichkeit.

Zuerst müssen die entsprechenden Daten herunter geladen werden.

Daten laden
Damit steht die entsprechende CSS und Javascript Datei zur Verfügung und kann von Drupal verwendet werden.
drupal_add_js('/jquery.autocomplete.js');
drupal_add_css('/css/jquery.autocomplete.css');

Ajax Schnittstelle erstellen
Als nächstes muss eine entsprechende Ajax Schnittstelle im Modul bereitgestellt werden. Dies gschieht im hook hook_menu():

$items[] = array(
'path' => 'autocomplete',
'callback' => 'autocomplete',
'access' => user_access('access autocomplete'),
'type' => MENU_CALLBACK);
Path: Dies ist die Schnittstelle, welche vom Javascript angesprochen werden kann.
Callback: Falls der Pfad "autocomplete" aufgerufen wird, dann wird diese Callback Funktion aufgerufen.
access: Wer hat Zugriff auf diese Funktion (muss dann auch noch im Admin Bereich ein entsprechendes Häckchen gesetzt werden.

Feld festlegen
$("#input_field").autocomplete("autocomplete", {
delay: 150,
width: 260,
maxItemsToShow:10,
lineSeparator: '%'
});
Es gibt noch viele andere Parameter, welche gewählt werden können. Dafür am Besten das Readme anschauen. "autcomplete" zeicht auf den Pfad, welcher in hook_menu spezifiziert.
wurde.

Folgende Modifikationen mussten gemacht werden:
jquery.autcomplete.js - Das Skript übergibt einen get Parameter (q). Dies klappt jedoch nicht mit Drupal, da Drupal auch q als Parameter hat. Dies führt zu Problemen. Ich habe daher, um sicher zu sein, all Variablen q in f umbenannt. Wahrscheinlich könnte man auch lediglich die entsprechenden Anpassungen in der Funktion makeUrl auf Zeile 337 machen. Damit es übersichtlicher ist, habe ich die Änderung jedoch konsequent durchgezogen.

Im Weiteren habe ich den lineSeparator geändert. Standardmässig ist '\n' als lineSeparator, doch hat das bei mir irgendwie nicht geklappt.
Das wäre dann auch schon alles.

autocomplete Funktion
Jetzt muss lediglich noch die Autocomplete Funktion auf dem Server gemacht werden. Hier können beliebige Serversachen gemacht werden:
function nickiplorerm_autocomplete(){
global $user;
$uid = $user->uid;
$q = strtolower($_GET["f"]);
if (!$q || $uid == '') return;
$sql = " SELECT DISTINCT receiver_email FROM {nickiplorerm_sent_content}
WHERE uid = '$uid'
AND receiver_email like '%$q%'";
$res = db_query($sql);
while($row = db_fetch_array($res)){
print $row['receiver_email'].' % ';
}
}

mittels $_GET["f"] kann der zu verfollständigende Text eingelesen werden. Am Schluss einfach alles mit print ausgeben und dabei nicht vergessen, den entsprechenden lineSeperator einzugeben. Ist eigentlich ganz simpel.

Donnerstag, August 02, 2007

Google Reader mit Ordner Funktion

Ich weiss nicht, wie lange diese Funktion schon vorhanden ist, aber sie ist genial. Diese erlaubt es, eine hierarchische Struktur zu machen. Besonders wenn man viele Feeds beobachtet, ist das doch sehr nützlich. Kann ich also nur weiter empfehlen...

Dienstag, Juli 24, 2007

Selenium - Unit Test für Webapplikationen

Wer aus dem Javabereich kommt ist (hoffentlich) bestens mit Unit Testing vertraut. Diese Art von Test machen ein ganz anderes entwickeln möglich. Für alle anderen, welche Unit Testing nicht kennen: Es wird eine Testumgebung geschrieben, welche bestimmte Zusicherungen für Funktionen enthält. Es werden also beliebig viele Assertions aufgestellt. Die müssen alle erfüllt werden.

Beim Programmieren kann jetzt jederzeit der Unittest gemacht werden. Leuchtet irgendwo eine rote Lampe auf, dann ist schlecht. Wer schon mal grössere Webapplikationen gebaut hat, der vermisst so etwas. Problem: Es wird programmiert und gebastelt und plötzlich geht’s nicht mehr und keiner weiss warum „gestern hats doch noch funktioniert“.

Hier tritt Selenium in die Lücke. Selenium ist ein Framework, welches automatisches Testing erlaubt. Folgende Tools sind dabei sehr hilfreich:

  • Xpath Plug für Firefox
  • Selenium IDE für Firefox

Damit kann man dann auch schon loslegen. Mit dem Selenium IDE wird ein Makro aufgezeichnet. Man klickt sich also durch die Seiten durch und es wird alles aufgezeichnet. Das „Video“ kann man dann abspielen und man sieht genau was man gemacht hat. So kann schon mal ein Test gemacht werden, welcher alle Links überprüft… ganz nützlich. Im Weiteren können noch Zusicherungen gemacht werden, als zum Beispiel verifyTestPresent(test), würde nur true zurückgeben, falls auf der entsprechenden Seite das Wort test zu finden ist.

Fehler werden in einer Tabelle rot dargestellt und so ist man denen ziemlich schnell auf der Spur.

Dienstag, Juli 10, 2007

AJAX - In Drupal - Modulentwicklung

AJAX lässt sich ziemlich leicht in Drupal integrieren, hier die wichtigsten Schritte. Zuerst muss der hook_menu implementiert werden:


function modulname_menu(){
$items[] = array(
'path' => 'modulname/function_name',
'callback' => 'function_name',
'access' => user_access('access module'),
'type' => MENU_CALLBACK);
}
Der Pfad (modulname/function_name) lässt sich jetzt bequem als AJAX Request vom Browser (oder natürlich auch als normaler Request) aufrufen. Die Parameter sind ganz normal vorhanden und können mittels $_GET ausgelesen werden.
callback sagt dem Skript welche Funktion aufgerufen werden soll, wenn ein Request an den Pfad (path) gelangt.
Mittels access kann noch spezifiziert werden, wer alles Zugriff hat.

Als zweiter Schritt muss dann lediglich noch der entsprechende Pfad aufgerufen werden. Für AJAX und Drupal empfehle ich die JQuery Bibliothek. JQuery ist bereits standardmässig in Drupal integriert und erlaubt ein sehr einfaches benutzen von AJAX. Zudem erlaubt JQuery ziemlich coole Effekte. Die Funktionalität und Benutzerfreundlichkeit von Webandwendungen nehmen unter der Verwendung von AJAX massiv zu.

Montag, Juli 09, 2007

Drupal eigenes Modul

Im Zuge der Entwicklung des NickiPlorers habe ich mich entschlossen, den NickiPlorer als Modul für Drupal zu programmieren. Die Entscheidung ist mir ziemlich leicht gefallen: Da der NickiPlorer mit diversen Community Features ausgstattet werden wird, ist ein mächtiges Backend System notwendig (z.B. die Userverwaltung). Dies ist doch ziemlich aufwendig zu programmieren und so habe ich mich beschlossen, die Userverwaltung von Drupal zu übernehmen.
Der bestehende Code liess sich binnen 2 Stunden in ein Modul portieren und läuft jetzt stabil weiter.

Als Grundlage hat mir vor allem das Handbuch auf Drupal.org geholfen. Dort findet sich ein hübsches Tutorial für die Modulentwicklung.

Auch die AJAX Funktionalität liess sich sehr leicht implementieren. Hier ist vor allem die hook Funktion:

drupal_add_js
Dadurch lässt sich im bestehenden Template ganz leicht eine Javascript Datei einbinden, welche zum Beispiel entsprechende AJAX Funktionalität beinhaltet.

Mittwoch, Juli 04, 2007

Neues YouTube Interface - NickiPlorer

Wie schon in einem früheren Post angekündigt, befasse ich mich mit einem Prototypen für ein neues YouTube Interface: Der NickiPlorer.

Die Idee dahinter ist folgende: Auf dem Internet ist es jedem möglich, einfach Inhalte zu veröffentlichen. Dies hat in den letzten Jahren dazu geführt, dass die Anzahl solcher Inhalte (User generated Content) explosionsartig gestiegen ist. Man denke hier an YouTube, MySpace und natürlich die zahlreichen Blogs. Das Angebot hat dadurch schlagartig zugenommen und auf YouTube z.B. gibt es sicher für jeden Geschmack ein passendes Video. Doch wie finden sich solche Inhalte. Hier genau liegt das Problem.
Der User kann die Inhalte selber frei gestalten und tut dies auch. Es wurden entsprechende Tags eingefügt, welche jedoch von den Nutzern frei gewählt werden können. Die Vorstellungen der Ersteller und der Besucher decken sich nicht. So würden einem bestimmten Video 2 verschiedene Benutzer ganz andere Tags zuordnen.

Der NickiPlorer hat folgendes Ziel:

  1. Ein angenehmes Interface, welches zum verweilen einlädt. Es soll Spass machen sich durch die Videokollektionen von YouTube zu durchwühlen. Dadurch dass man mehr Zeit damit verbringt, ist es auch wahrscheinlicher, dass etwas gefunden wird.
  2. Der NickiPlorer soll das kollektive Suchen fördern.
  3. Der NickiPlorer soll das verbreiten und wieder auffinden von Videos vereinfachen
  4. Der NickiPlorer soll nicht für Videos eingesetzt werden können, sondern eine offenen Schnittstelle auch für andere Inhalte haben (Fotos, Text, Audio...)
Im Moment suche ich Leute, welche gerne ein wenig mit dem NickiPlorer browsen und auch entsprechendes Feedback geben. Dafür habe ich ein kleines Forum eingerichtet.

Zend Framework Version 1.0

Es hat sich wie ein Lauffeuer verbreitet. Das Zend Framework ist als Version 1.0 fertig gestellt worden. Nachdem ich erstmals mit der Version 0.7 eine Applikation gebaut habe, darf ich für die Firma, für die ich arbeite eine Modellapplikation in der Version 1.0 bauen.
Das Zend Framework benötigt PHP 5, da es vollkommen Objekt Orientiert ist. Mit dem Zend Framework wird eine sogennante Model View Controller (MVC) Architektur bereitgestellt, bzw. der Programmierer wird dazu gezwungen dieses Pattern anzuwenden.
Es scheint doch einige Veränderungen (Verbesserungen) gegeben zu haben. Was mir besonders gefällt ist die Möglichkeit zu modularisieren. Dies scheint für besonders grosse Projekte sehr hilfreich zu sein. Aus irgend einem mir noch unbekannten Grund kann ich Module jedoch nicht einbinden.
Im Weitere ist mir aufgefallen, dass es die Möglichkeit gibt, ein Konfigurationsfile als XML einzulesen. Ist natürlich sehr hilfreich.
Die Datenbankanbindung erfolgt ohne Probleme. Ich war bisher eigentlich immer nur MySQL gewöhnt. In der Firma wird jedoch mit Oracle gearbeitet. Dank der Datenbankabstraktion ist dies kein Problem und die Verbindung zur Datenbank hat auf Anhieb gut geklappt.

Fazit: Um mit dem Zend Framework zu programmieren, ist sicher ein wenig Übung erforderlich, doch ist es besonders für grosse Projekte sehr übersichtlich und gibt eine klare Struktur vor, so dass man auch gut im Team arbeiten kann.

Ich werde versuchen, die Modellapplikation hier bereit zu stellen, wenn diese fertig ist, damit vor allem auch die Filestruktur ersichtlich ist.

Donnerstag, Juni 28, 2007

Semantic Web Video Cast Tim Burners-Lee

http://webcast.oii.ox.ac.uk/?view=Webcast&ID=20060314_139

Tim Burners-Lee ist der "Erfinder" vom semantischen Web. Er gibt hier persönliche eine Einführung. Ist sicher ein guter Einstieg für alle die, die sich näher damit befassen wollen.

Freitag, Juni 22, 2007

Usecase and Interface Design

Eigentlich bin ich kein Interface Designer, sondern eher ein Entwicklicker, doch besteht nun einmal ein Teil meiner Bachelorarbeit auch aus Interface Designing.
Dazu gibt es zwei interessante Quellen: "Usability Engineering" von Morgan Kaufmann, und dann ein Artikel von Boxes and Arrow, Pioneering a User Experience (UX) Process.

Wie bin ich vorgegangen?

  1. Usecase. Ich habe mir einfach ein kleines Szenario ausgedacht, welches auf die heutige Situation zutrifft, eine kleine Geschichte, welche möglichst gut den aktuellen User abbildet und eventuell Stärken bzw. Schwächen aufzeigt.
  2. Der Analyse Prozess und der Schaffungsprozess. Die bestehende Situation muss analyisert werden, Informationen sammeln, Problemzonen finden und dann daraus Anforderungen für ein neues Interface schaffen. Dies ist der kreative Teil und lässt sich später natürlich wiederholen. Ein Interface auf Papier schafft jedoch schon mal eine Grundlage, um aufzubauen.
  3. Detailliertes Usecase Szenario am entsprechenden Papierprototypen, welches die Funktionen und stärken aufzeigt. Ich habe die Erfahrung gemacht, dass dies eine sehr gute Möglichkeit ist, um über die Arbeit zu reflektieren. Schliesslich stellt man sich einen Benutzer vor, und versucht diesen und sein Verhalten so gut wie möglich nachzuempfinden.
  4. Im aktuellen Schritt bin ich daran einen ersten Prototypen zu bauen. Dieser soll zuerst einmal grundlegende Funktionen zur Verfügung stellen. Dieser Prototyp kann dann bereits an richtigen Usern evaluiert werden und somit weiter verbessert, bzw. verändert werden. Schritte 2 und 3 können somit iterativ überarbeitet und angepasst werden.
Ich bin noch ein Neuling auf diesem Feld, doch hat dieser Ansatz bisher einen sehr guten Eindruck gemacht. Im Vordergrund steht nicht die technische Umsetzung, sondern der Benutzer und sol m

Montag, Juni 18, 2007

Hübsches UI für Videoportale

Ich habe vor einigen Tagen ein hübsches User Interface für Videoportale gefunden: chime.tv. Es ist mit Flash gebaut und sehr angenehm zu bedienen. Die Suchfunktion erstreckt sich über mehrere Videoportale (youtube, google, und noch diverse andere).
Das Interface ist mittels Flash realisiert. Da kann ich auf jeden Fall etwas für mein zu bauendes Interface mitnehmen.

Donnerstag, Juni 14, 2007

Umfrage beendet. Interessante Resultate

Erstmals möchte ich allen Danken, die an der Umfrage bezüglich Youtube teilgenommen haben. Es haben doch immerhin 162 Leute teilgenommen. Eigentlich wollte ich hier schon mal die Resultate veröffentlichen, aber Blogger macht einem das Leben mit Tabellen schwer. So muss das noch ein wenig warten.
Was ich interessant fand:

  • 42.8% der Befragten haben angegeben, dass sie via Empfehlungen auf die Seite kommen.
  • Gerade mal 12% suchen gezielt nach Informationen und ich muss zugeben, es ist sehr verständlichen. Die Meisten (56% sind wegen der Unterhaltung auf Youtube)
  • Am Meisten gewünscht ist eine verbesserte thematische Gruppierung (32%)
  • Es nahmen immerhin 20% Frauen an der Umfrage teil
Also, mal schauen, was ich daraus machen werde.

Mittwoch, Juni 13, 2007

Drupal Song - Miese YouTube Qualität



Als Drupal Fan muss ich doch auch einfach mal dieses Video veröffentlichen. Was es nicht alles gibt. Ich bin mir jedoch am Überlegen, wie man aus YouTube mehr als nur eine Unterhaltungsplattform machen könnte.
Die aktuelle Umfrage sieht wie folgt aus:Ist doch recht ernüchternd aber vollkommen verständlich. Es scheint einfach nicht möglich zu sein, seriöse Inhalte zu finden. Ich habe mal versucht, entsprechende News Sendungen zu finden, doch leider erfolglos. Ich habe ein wenig in den Channels rumgestöbert, doch auch diese sind von eher geringer Qualität.

Seit einigen Monaten nun bin ich ein fleissiger Podcast hörer und höre eigentlich unterwegs immer irgend eine Show (boagworld, technikwürze, Drupal, lullabot um einige zu nennen). Ich muss sagen, diese sind von relativ hoher Qualität und extrem informatikv. Ich hätte mir gedacht, dass die YouTube Channels vielleicht auch eine entsprechende Qualität hätten. Weit daneben.
Ich frage mich woran das liegt? Ich könnte mir vorstellen, dass wahrscheinlich die Einstügshürde einfach zu niederig ist. Es ist wirklich jedem möglich etwas zu veröffentlichen. Podcasts hingegen verlangen doch schon ein wenig an technischem Wissen (wenn auch ziemlich wenig). Um auf YouTube etwas zu veröffentlich ist jedoch lediglich ein Accout und ein digitales Video notwendig. Ist wirklich einfach. Vielleicht habe ich die qualitativ hochstehenden Inhalte von Youtube einfach noch nicht gefunden?

Um zurück auf den Drupal Song zu kommen... Unterhaltsam ist Youtube doch allemal :)

Dienstag, Juni 12, 2007

Youtube Nutzung - Umfrage

Hallo Blogleser
Ich widme mich dem Long Tail Problem, und versuche, ein Interface zu gestalten, welches einfacher Zugriff auf diese Inhalte ermöglicht. Um die Analysephase zu kompletieren habe ich eine ganz kurze Umfrage zusammengestellt und wäre sehr froh, wenn möglichst viele mitmachen würden: externer Linkhttp://ba.schaerwebdesign.ch/

Es dauert wirklich nur 5 Minuten.

Danke
Rapsli

Montag, Juni 11, 2007

Webdesign für US Präsidentschaftskandidat



Link zu seiner Webseite
Wie vielleicht einige wissen, finden nächstes Jahr in Amerika wieder mal die Präsidentenwahlen statt. Ich habs fast nicht geglaubt, als ich die Webseiten einiger Kandidaten gesehen habe. Dieser Mann hat wahrscheinlich ein extrem kleine Werbebudget!
Vielleicht sollte ich ihm anbieten, zu günstigen Konditionen eine entsprechende Seite zu machen. Ich glaube, ich habe noch nie eine so lange Seite gesehen. Da scrollt man ja schon fast ins unendliche...
Dazu gibt es auch noch ein passendes "offizielles" YouTube Video.

Was will ich damit sagen? Ich will nicht über andere Leute herziehen und diese in den Dreck ziehen. Bitte liebe Leute: Falls ihr keine Ahnung von Webdesign habt? Meldet euch doch bei jemandem, der eine entsprechende Ahnung habt, oder nehmt einfach eine Vorlage oder irgend etwas!

Drupal eigene Module schreiben

Habe soeben mein erstes Modul geschrieben. Es ist zwar wirklich ein sehr triviales (gibt lediglich das aktuelle Datum aus), aber ist doch immerhin ein Anfang.

Vom Prinzip her ist es sehr einfach und ich kann hier nur auf das Handbuch verweisen, welches leider im Moment lediglich in Englisch verfügbar ist.

Das Prinzip ganz kurz zusammengefasst:

.info

In einer Datei modul_name.info werden die entsprechenden Informationen zu einem Modul gespeichert. Z.B. Name, Package, Abhängigkeiten und Beschreibung.


.install

In der Datei modul_name.install kommt der entsprechende Code für die Installation rein. Dies wird benötigt, falls weitere Tabellen in der Datenbank angelegt werden müssen.


.module

In der Datei modul_name.module kommt der eigentliche Source Code rein. Es gibt dabei folgende Funktionen:


  • modul_name_help() - Hilfetext

  • modul_name_perm() - Entsprechender Text, welcher in den Zugriffskontrolle erscheint.

  • modul_name_block() - Dies ist eigentlich der Hauptteil. Hier wird der Block gebastelt. Als return wert kommt ein array zurück: block['subject'] und block['content']

  • modul_name_admin() - Hier können die entsprechenden Einträge für die Einstellungen des Moduls gemacht werden.

  • modul_name_menu - Dies wird bei der Modulauflistung angezeigt.

Wahrscheinlich gibt es noch mehr Funktionen, doch ich denke, damit habe ich doch die Wichtigsten abgedeckt. Um hier weiter zu entwickeln, ist sicher die API ein treuer Freund und Helfer.

Samstag, Juni 09, 2007

Last.fm - Das ist ja genial!

Wahrscheinlich kennen die Meisten Last.fm bereits. Auch ich kannte es vom Namen her, aber das war es dann bereits auch schon. Jetzt habe ich es neu entdeckt! Es ist genial.
Wikipedia fasst am Besten zusammen:

Last.fm ist eine Web-2.0-Anwendung und ein Internetradio („personalised online radio station“), das entwickelt wurde, um Nutzern auf Basis ihrer Hörgewohnheiten neue Musik, Menschen mit ähnlichem Musikgeschmack und Konzerte in ihrer Umgebung empfehlen zu können. Es ist eine ehemalige Schwesternseite von Audioscrobbler, mit dem es sich früher eine Musikdatenbank teilte. Musikverlage und Musiker werden ermuntert, Last.fm Lizenzen zum Abspielen ihrer Musik zu erteilen, da dies, zumindest in der Theorie, ihre CD-Verkäufe erhöhen würde. Last.fm hat derzeit ein Wissen von über 80 Millionen einzelnen Songs und davon über eine Million für sein Internetradio zum Streaming vorrätig, sowie 150.000 legale, freie MP3-Downloads. Mit über 20 Millionen aktiven Nutzern ist Last.fm derzeit die größte europäische Web2.0-Community.
Das wäre es dann auch schon.

Wenn man nur Musik hören will, ist das einfach genial. Ich muss jedoch sagen, dass ich zwischendurch das Gerede vom Radio auch mag. Tja, da bleibt dann wohl nichts anderes übrig als den klassischen Radio einzuschalten...
Lässt sich meiner Meinung aber gut als Jukebox oder so einsetzen, für ein Kaufhaus, für ein Party als Hintergrundmusik oder so.

Mittwoch, Juni 06, 2007

Zip mit PHP

Zip ist ein sehr praktisches Format.

Das ZIP-Dateiformat ist ein offenes Format zur komprimierten Archivierung von Dateien. Die Archivdateien tragen üblicherweise die Endung .zip. Der MIME-Typ ist application/zip.
[wikipedia]
Früher habe ich damit oftmals Daten archiviert. Die Festplatte war beschränkt und so musste überall Platz gespart werden. Neuerdings ist Festplattenspeicher nicht mehr so teuer und in Massen vorhanden und so brauche ich Zip nicht mehr zum archivieren und trotzdem ist es praktisch, vorallem um Dateien mit Leuten zu teilen.

Was ich nicht gewusst habe. Dies ist auch mit PHP möglich. Habe dazu bei Zend einen sehr interessanten Artikel gesehen.

Dienstag, Juni 05, 2007

Bachelorarbeit hat begonnen

Im Zuge meiner Bacheloararbeit, welche ich vor einigen Tagen begonnen habe, werde ich mich einem neuen User Interface widmen, welches Besuchern Zugriff zum Long Tail verschafft.

Freitag, Mai 25, 2007

Opera Mini fürs Handy

Gestern habe ich das erste mal den Opera Mini fürs Handy installiert. Nachdem ich ihn ohne Probleme, mit 93kb praktisch klein, heruntergeladen und installiert habe, war ich zuerst sehr positiv überrascht. Der Browser läuft auf meinem Sony Ericsson W800i tadellos, die Zurückfunktion wurde toll gelöst (animiert, wie wenn man zurückblättern würde), er ist sehr schnell und man hat gar nicht das Gefühl, dass man mit GPRS unterwegs ist. Ebenfalls sehr praktisch ist unten jeweils die Anzeige, wieviel Bytes er laden muss, und wieviel er schon davon geladen hat.
Doch das wichtigste ist natürlich nicht das Aussehen, sondern wie er Internetseiten darstellt. Da kam bei mir die grosse Enttäuschung. Javascript kann man schon mal vergessen. Da meine meist besuchten Seite heutzutage Javascript verwenden, und ich finde, dass man nicht jede Seite noscript kompatibel machen muss, funktionieren die meisten Seiten, die ich versuchen will nicht. Oder es wird schrecklich dargestellt. CSS versteht er auch sehr schlecht.
Nun, es blieb mir die Suche nach positiven Merkmalen des Opera Minis. Ich habe dann auch einige gefunden, von welchen ich vielleicht in Zukunft auch noch Gebrauch machen werde. Es sind die "Nachschlag"-Seiten. Für mich sind das Google, tel.search.ch für Telefonnummern in der Schweiz, sbb.ch für Zugverbindungen, blogs und natürlich Wikipedia. Diese Seiten haben auch alle prima funktioniert und sich als sehr nützlich erwiesen.

Fazit:
Der Opera Mini werde ich verwerden, wenn ich einmal unterwegs bin, und schnell mal etwas nachschlagen will, wie eben Zugverbindungen, Telefonnummern oder ein Wikipediaeintrag, Evtl. noch ein NewsBlog. Zum Surfen ist er definitiv nicht geeignet, doch liegt dies nicht nur am Browser, sondern natürlich auch am kleinen Bildschirm, welcher ja wirklich mehr als anstrengend zum hineinstarren ist. Von der Performance her ein gelungenes Produkt, welches sicher noch in Zukunft von sich reden lassen wird. Wird vor allem interessant, wenn es dann einmal JavaScript unterstützen wird.
Gmail funktioniere scheinbar auch sehr gut, dafür verwende ich aber bereits das viel effizientere Javaprodukt von Google selber, von welchem ich sehr begeistert bin.

Download Opera Mini:
http://www.operamini.com/download/

Donnerstag, Mai 24, 2007

Rapsli.ch in neuem Glanz

Nach einigen Stunden Arbeit erstrahl rapsli.ch endlich wieder in neuem Glanz. Es war doch einiges an Arbeit, doch freut es mich jetzt umso mehr. Das andere Design war nur temporär doch ich hoffe doch, dass das neue Layout doch eine Weile bleiben wird...

Als "Engine" fungiert mal wieder Drupal. Ich bin ein richtiger Drupalianer geworden und bin nach wie vor Feuer und Flamme dafür. Lange Lebe Drupal. Wer ein CMS sucht, soll auf jeden Fall einen Blick auf Drupal werfen, bevor dem Mainstream (joomla) gewofolgt wird!

Icons, Bilder, Symbole

Heute war mal wieder etwas Gutes in meinem RSS Feed. Smashing Magazine hat eine ganze Liste von Icons, Bildern und Symbolen gemacht und die sehen z.T. wirklich hübsch aus...
Man muss halt ein wenig suchen, wird aber sicher fündig.

Montag, Mai 21, 2007

Drupal und Thickbox (Lightbox)

Sicher hat jeder schon diese hübschen Fotos gesehen... ein kleines Thumbnail und wenn man drauf klickt, wird der Hintergrund transparent schwarz und das grosse Bild erscheint. Dies in Drupal zu integrieren ist eigentlich ganz einfach.

  1. Thickbox modul installieren (Image module und CCK vorher installieren)
  2. Einen eigenen Inhaltstypen definieren und dort ein entsprechendes Image Feld machen.
  3. Mittels dem Imagecache Modul ein entsprechendes Projekt definieren (in meinem Fall habe ich resize 100x100)
  4. Wenn man jetzt auf den kreierten Inhaltstypen geht sieht man folgendes:
  5. Ich habe bei mir Label auf Hidden. Der Teaser verweist auf das mittels imagecache erstellt Bild. Für Full dann einfach auf Thickbox verweisen und schon ist es gschafft.
  6. Wie es dann aussieht: www.schaerwebdesign.ch
Falls noch nicht klar ist, dann bitte einfach im Kommentar posten und ich werde versuchen, die Fragen zu beantworten.

Freitag, Mai 18, 2007

Drupal wo beginnen

So, nachdem ich vor ca 2 Wochen mit Drupal angefangen habe, habe ich doch schon gute Fortschritte gemacht. Der Start ist jedoch nicht ganz einfach, und so habe ich hier ein paar Resourcen zusammengestellt, welche mir geholfen haben:

  • www.drupalcenter.de - Deutschsprache Community. Handbuch und Tipps sind leider nicht sehr Umfangreich in Deutsch, das Forum ist jedoch super!
  • www.drupal.org - Die Offizielle Seite. Sehr gutes Handbuch!
  • api.drupal.org - Habe ich noch nicht gebraucht, da ich noch nicht so weit bin
  • Drupal School - Videocasts. Sehr hilfreich für die ersten Schritte. Sehr einfach zu folgen (Englisch).
  • www.lullabot.com - Wobei besonders die 40. Folge extrem gut ist. Diese gibt eine Liste über verfügbare Module von Drupal.
Folgende Module finde ich sehr wichtig:
  • views - Dieses Modul erlaubt es, dynamische Seite zu erstellen. Ich habe zum Beispiel folgendes gemacht auf meiner Webdesign Seite: Die Referenzen muss ich einmal eingeben. Ich habe dann 2 views gemacht. Die eine view ist dafür verantwortlich, dass die quick preview der Referenzen am Fuss der Seite angezeigt wird. Die zweite view macht die Auflistung der Listen wenn man auf Portfolio drückt. So lassen sich beliebig komplexe Seiten machen!
  • CCK - Grundlage für die Views. Es lassen sich eigene Inhaltstypen definieren (also zum Beispiel der Inhaltstyp "Referenzen". Mittels CCK lassen sich dann spezifische Felder eingeben: Im Fall von Referenzen wäre dies z.B. Erstellungsdatum, Voraussetzungen usw.
Das sind zwei der wohl wichtigsten Module in meinen Augen, welche zum Teil auch nicht ganz einfach sind.

Ich habe mittlerweile zwei Seiten mit Drupal gemacht:

www.rapsli.ch
Hier habe ich ein bereits bestehendes Drupal Template gemacht und einfach ein wenig gespielt, ohne gross in die Materie zu tauchen.

www.schaerwebdesign.ch

Template selber gebaut. Diverse Views eingefügt. Dann werden die Bilder dynamisch mittels imagecache erstellt. Dies geht schon mehr in Richtung CMS!

Sicher waren dies auch nicht die letzten Seiten und man wird noch mehr von mir bezüglich Drupal hören.

Montag, Mai 14, 2007

Gratis Buch für Webdesigner

Scheint ein ganz gutes Buch zu sein. Ich bin zwar noch nicht dazu gekommen, alles zu lesen, sondern habe einfach ein wenig drin geblättert, doch scheint er sehr praxis nah zu berichten. Es geht zudem auch darum, selbständig zu sein. Er gibt Tipps und Tricks bezüglich Kunden, Rechnungen usw.
http://book.airgid.com/

Samstag, Mai 12, 2007

Das semantische Web im Zusammenhang mit dem Web 2.0

So, meine Arbeit ist jetzt fertig. Falls jemand interessiert ist.

Die Arbeit erklärt kurz die Grundlagen des semantischen Webs: XML, RDF und RDFS sowie OWL. Im Weiteren werden die technologischen Grundlagen von Web 2.0 erklärt. Zum Schluss wird anhand eines Beispiels aufgezeigt, wie eine Web 2.0 Anwendung basierend auf dem semantischen Web aussehen könnte.

Ein guter Einstieg für alle die, welche keine Ahnung vom Semantischen Web haben, jedoch gerne mal einen kleinen Überblick haben wollen.

Lesen

Freitag, Mai 11, 2007

SpokenText - Text in MP3 umwandeln

Seit ich meinen MP3 Player habe, bin ich ein Podcast Fanatiker. Wenn ich unterwegs bin, dann höre ich fast immer irgend einen Podcast zu.
Ich bin über einen Webdienst gestossen, der mir dies jetzt noch erleichtert. Ich bin eigentlich auch ein fleissiger Blogleser. Problem halt hier, man kann das Blog nicht in der Strassenbahn oder auf dem Fahrrad lesen :(
http://www.spokentext.net schafft dem abhilfe! Es ist möglich, Dokumente hochzuladen, RSS 2.0 Feeds, normalen Text und Webseiten in gesprochenen Text zu verwandeln. Es ist super

Qualität
Ich muss sagen, diese ist gar nicht so schlecht. Klaro ist es ein wenig eintönig, aber man kann also wirklich bequem zuhören. Ich würde mal meinen, das ganze geht wohl nur in Englisch, wäre mal ein interessantes, ihm einen deutschen Text zu geben ;)

Einfach mal ausprobieren... kostet ja nichts.

Mittwoch, Mai 09, 2007

Gliffy - Diagramme online erstellen

Was es nicht schon alles gibt. Sicher kennt jeder Microsoft Visio. Damit lassen sich bequem Diagramme erstellen. Zufällige habe ich jetzt genau diesen Service als Web Applikation gefunden. Ich muss sagen, die Web Applikationen werden von Tag zu Tag besser. Zwar gibt es nicht die grosse Auswahl an verschiedenen Diagrammen, welche sich mit Visio zeichnen lassen, doch sind die Wichtigsten vertreten.
Usability ist super! Eine Einsteigerversion ist sogar gratis. Ausprobieren lohnt sich auf jeden Fall.

Wenn ich schon gerade dabei bin. Endlich haben es die Webentwickler geschafft, den Registrierungsprozess zu vereinfachen. Noch vor ein paar Jahren wollten die Betreiber bei der Registrierung alle möglichen Angaben wissen: Von Geburtsdatum über Strasse und was weiss ich nicht alles.
Bei eigentlich den meisten neuen Anwendungen habe ich das schon lange nicht mehr gesehen. So auch bei Gliffy, E-mail Adresse und Passwort, mehr wird nicht benötigt um den Gliffy Dienst zu nutzen.

Montag, Mai 07, 2007

Erster Schritt mit C#

Nachdem ich seit einigen Jahren schon immer mal mit Java ein wenig gearbeitet habe und sehr gerne mit PHP arbeite, habe ich am heutigen Tage im Zuge eines Vortrages an der Uni ein paar Zeilen C# programmiert.
Kurz gesagt: GUI bauen macht Spass. Es ist wirklich sehr mühsam, mit Java ein GUI zu bauen. Und ich habe bereits diverse GUI Builder ausprobiert doch konnte mich diese jeweils nicht wirklich überzeugen (hat sich ja vielleicht mittlerweile auch geändert).
Ich habe mit Visual C# Express gearbeitet, welches gratis erhältlich ist und es war eigentlich sehr angenehm.
Ich habe nur ein ganz kleines Hello World gemacht, welches die Funktionalität eines Webservices demonstriert und kenne mich also eigentlich überhaupt nicht damit aus. Der erste Eindruck war jedoch sehr gut (was wohl eher für die IDE gilt).
Ich bin nun schwer versucht, noch ein paar Schritte mehr in C# zu machen, bzw. mit dem GUI Builder ;) Vielleicht wäre dies mal ein Anstoss um ein wenig AP.Net zu machen?

Donnerstag, Mai 03, 2007

Drupal Quellen

So langsam fange ich an durchzublicken bei Drupal und habe auch sogleich meine persönliche Seite http://www.rapsli.ch auf Drupal umgestellt. Im Moment bin ich einfach noch ein wenig dran, die Übersicht zu bekommen. Es gibt alle möglichen Module und diese sind auch extrem einfach einzubinden und zu konfigurieren.

Folgende gute Resourcen habe ich bis jetzt gefunden:

Ich bin nach wie vor begeistert von Drupal! Nachdem ich Erfahrungen mit Joomla gemacht habe würde ich Joomla nie mehr anfassen!

Mittwoch, Mai 02, 2007

go Fullscreen mit Firefox

Wieder einmal habe ich ein Addon für Firefox gefunden, welches ich nicht mehr missen möchte.
Seit fast anbeginn des Internets habe ich so etwas in meinen Browsern vermisst: Die möglichkeit auf Vollbild/Fullscreen zu gehen. Wie oft habe ich mit Mühe Internetseiten umkonvertiert, um sie in ein Präsentationsprogramm einzubauen, nur, damit es nach etwas aussieht.
Nun, Vollbild Modis gibt es zwar schon, wer kennt die Tastenkombination F11 im Browser nicht, aber mal ehrlich: Wenn schon Vollbild, dann richtig, oder?
Nun, das Addon für Firefox, FullerScreen erfüllt alle Wünsche des Vollbildes im Browser. Wem es nicht ganz passt, kann über die EInstellugen auch noch sämtliche Bars und Menus hinzu- oder gänzlich verbannen.
Die Benützung ist logisch und einfach gehalten. Drückt man nach der Installation F11, wird fortan FullerScreen benutzt, um auf Vollbild zu wechseln.
Für Präsentationen, welche Internet Explorer benötigen, funktioniert FullerScreen natürlich auch mit dem IE-Tab.
Somit bietet sich FullerScreen auch als Billige sehr kompatible Art an, Präsentationen zu halten, als Alternative zu PowerPoint oder Flash sozusagen. Ausserdem hat man dann nur eine Version der Präsentation.
Hier noch ein Screenshot der Downloadseite im Fullscreen Modus. (Der Screenshot wurde nicht beschnitten!)


Hier gehts zum Download von FullerScreen: download

Montag, April 30, 2007

Drupal

Habe soeben meine ersten Versuche mit dem CMS Drupal gemacht. Nachdem ich eher weniger gute Erfahrungen mit Joomla gemacht habe, bin ich hier doch voll und ganz begeistert. Was mir besonders auffällt, ist, dass es näher für den Entwickler ist und zudem eine sehr gute Dokumentation hat (Englisch). Habe sogar ein Podcast dazu gefunden..
Ist zudem sehr sauber programmiert.

Donnerstag, April 26, 2007

Studenten Webcompanies vereinen

Habe heute eine interessante Mail bekommen. Ein Student von der Uni St. Gallen will versuchen, "auslaufende Studenten Webfirmen" zu vereinen und weiter zuführen. Ich finde das Konzept eigentlich noch recht interessant und befinde mich in einer ähnlichen Situation, zwar bin ich noch nicht fertig, doch es wird auch einmal soweit kommen.

Wer interessiert ist, kann sich das Konzept mal anschauen. Vielleicht hift dies ja dem einen oder anderen. Ich bin auf jeden Fall gespannt, was daraus wird und werde die Seite im Auge behalten.

Montag, April 23, 2007

Webseiten in Internet Explorer (IE) testen

Jeder Webentwickler kennt die Probleme mit dem Internet Explorer. Sie sind einfach hässlich. Dazu kommt noch, dass die verschiedenen Version sich unterschiedlich verhalten und immer noch ältere Versionen im Einsatz sind. Man muss also mindestens die Seiten im IE 7 Und IE 6 anschauen.
Praktisches kleines Tool: http://tredosoft.com/Multiple_IE
Dieses Tool erlaubt eine parallele Installation von verschienen Versionen des Internet Explorers. Wirklich ganz praktisch und wohl fast ein muss für jeden Webentwickler.

Samstag, April 21, 2007

Aptana - Javascript IDE

Vor wohl mittlerweile knapp 10 Jahren habe ich das erste mal Javascript programmiert. Es war ein cooles Erlebnis, da keine grossen Softwareanforderungen und komplizierte kompiliervorgänge nötig waren, doch irgendwie ist Javascript dann ein wenig in Veruf gekommen.

Seit wohl 2 Jahren oder so ist Javascript wieder richtig in! Ich habe es bis anhin sehr gemieden, da es einfach sehr mühsam war mit den verschiedenen Browsern. Im FF funktioniert, im IE nicht und von Opera ist gar nicht die Rede. Es kam dazu, dass ich keine Vernünftige Entwicklungsumgebung (IDE) kannte und so das Programmieren eher mühsam war.
Im Zuge meiner Arbeit und meiner Bachelorarbeit bin ich seit einigen Wochen wieder in Kontakt mit Javascript bekommen und habe irgendwo über Aptana gelesen.

Aptana ist eine super IDE für Javascript und zudem Open Source. Wer bereits mit Eclipse gearbeitet hat, wird mit Aptana sehr schnell vertraut sein. Die Oberfläche sieht genau gleich aus.

Was ich super finde:

  • Syntax highlighting
  • Syntax fehler werden bereits zur Entwicklungszeit angezeigt... keine Mühsame Fehlersuche nach vergessenen Kommas.
  • Open Source
  • Debugging Modus
  • Code vervollständiger! (genial!)
  • Diverse Views
Also, ich denke für Javascript Entwickler sicher eine super Sache. Ich bin bis jetzt noch nicht gross dazu gekommen Javascript in Aptana zu entwickeln, werde es jedoch bei nächster Gelegenheit sicher machen.

Links

Freitag, April 20, 2007

Umlaute bei AJAX Requests/Anfragen

Immer mal habe ich mich gefragt, was diese komischen Fragezeichen sollen. In meinem normalen HTML Dokument sind Umlaute immer korrekt angezeigt worden, doch sobald dann neue Daten via AJAX nachgeladen worden sind, wurden die Umlaute durch irgendwelche Fragezeichen ersetzt.
Klaro, es muss irgend etwas mit dem Header zu tun haben, doch wie lösen?
Ganz einfach:

header('Content-Type: text/html; charset=iso-8859-1');
Den Code einfach in die PHP Datei reinschreiben, die die Daten zurückliefert. Ich hoffe, das kann auch sonst noch jemandem helfen...

Mittwoch, April 18, 2007

2 Grundlagen des Semantischen Webs

2 Grundlagen des Semantischen Webs

Die technologischen Bausteine für das Semantische Web bestehen bereits. Um das Semantische Web zu realisieren sind nicht neue Technologien gesucht, sondern deren Anwendung. (4) meint: „At present, the greatest needs are in the areas of integration, standardization, development of tools, and adoption by users.“

2.1 Explizite Metadaten

Momentan ist der Inhalt des Webs so formatiert, dass es für den Menschen einfach lesbar ist, nicht aber für einen Computer. HTML ist eine einfache Markup Sprache, welche das Web dominiert. Eine Seite könnte wie folge aussehen:



<h1>Agilitas Physiotherapy Center</h1>
Welcome to the home page of the Agilitas Physiotherapy Centre. Do you feel pain? Have you had an injury? Let our staff Lisa Daenport, Kelly Townsend (our lovely secreatary) and Steve Matthews take care of your body and soul.

Für einen Menschen ist dieser Text vollkommen ausreichend, eine Maschine wird jedoch Probleme damit haben. Wird HTML durch einen besseren Markup ersetzt, kann der obige Text auch für eine Maschine verständlich werden.



<company>
<treatmentoffered>Physiotherapy</treatmentoffered>
<companyname>Agilitas Physiotherapy Centre</companyname>
<staff>
<therapist>Lisa Davenport</therapist>
<therapist>Steve Matthews</therapist>
<secretary>Kelly Townsend</secretary>
</staff>
</company>

Dieser mit Metadaten versehender Text (Daten über Daten) ist nun auch für Maschinen leicht verständlich, solange die entsprechenden Metadaten interpretiert werden können.

Mikroformate1 verfolgen genau dieses Ziel, jedoch nach wie vor basierend auf HTML als Markup Sprache. So gibt es z.B. Eine hCard, welche einen genau definierten Syntax hat, so dass eine Maschine weiss, wann es sich um einen Wohnort und wann um einen Vornamen handelt.



Zurück | Vorwärts

Montag, April 16, 2007

1.3 Die Vision vom Semantischen Web

1.3 Die Vision vom Semantischen Web

Das Semantische Web hat vor allem durch das berühmte Paper von Tim Berners-Lee „The Semantic Web“ viel Auftrieb bekommen. Berners-Lee beschreibt, wie Menschen mittels Agenten Informationen viel schneller finden können. Im weiteren können Agenten von verschiedenen Personen miteinander kommunizieren. Die Agenten sind um die Informationsbeschaffung besorgt und legen diese dem Benutzer in übersichtlicher Form vor, so dass dieser jeweils noch die Entscheidung treffen muss.

Berners-Lee erklärt dies an einem kleinen Szenario, wo es darum geht, einen Arzt für die kranke Mutter zu finden, welcher in der Nähe ist und gleichzeitig noch einen passenden Termin.

Eine weitere Anwendung liesse sich auch im Business-to-Business Electronic Commerce einfach finden. Traditionell wird die B2B Kommunikation über EDI abgewickelt. Diese Technologie ist jedoch sehr kompliziert und schwer wartbar. Zudem ist EDI eine isolierte Technologie.

XML konnte hier bereits einiges verbessern, unterstützt jedoch nur die Kommunikation, wenn das Vokabular im Voraus klar definiert wurde.

Das Semantische Web wird es den Firmen erlauben, Partnerschaften mit anderen viel einfacher einzugehen, da Unterschiede in der Terminologie einfach durch ein standard „abstract domain model“ überbrückt werden. So werden Versteigerungen, Verhandlungen und Verträge in Zukunft halbautomatisch ausgeführt.

Zurück | Vorwärts

Freitag, April 13, 2007

Typ Definition in Funktionen

Java ist hier sehr restriktiv und Typenfehler sind sehr unwahrscheinlich, da diese bereits beim Kompilationszeitpunkt erkannt werden:


public void processArray(String[] arString){
for(int i=0;i


Dies wird man in Java spätestens bei der Kompilation merken, wenn nicht schon beim programmieren (Eclipse wird hier nämlich mekern).

In PHP ist dies jedoch nicht ganz so offensichtlich:

public function processArray($arString){
foreach($arString as $string){
print '$string';
}
}

processArray("Hallo Welt");


Dies wird erst zur Laufzeit zu einem Fehler führen und zwangszweise zu einem Programmabbruch. Dem kam man Vorbeugen:

public function processArray(array $arString){
foreach($arString as $string){
print '$string';
}
}


Dies würde dem folgenden entsprechen:

public function processArray($arString){
if (!($arString instanceof array){
foreach($arString as $string){
print \'$string\';
}
}
}


Den grossen Vorteil, den ich darin sehe, ist vor allem die Leserlichkeit. Beim Entwickeln wird man sich wohl um diese Dinge nicht kümmern, da man sehr vertraut mit dem Code ist, will man jedoch später etwas ändern bzw. jemand anders will den Code anschauen, so wird es um ein einfaches einfacher sein, wenn die Variablen bereits einen Typ haben.

Zudem benutze ich die Entwicklungsumgebung Zend Studio, welches einen sehr guten Autovervollständiger hat. Somit wird mir beim Aufrufen jeweils auch gezeigt, was für ein Typ die Variable sein muss.

1.2 Lösungsansätze


1.2 Lösungsansätze

Grundsätzlich gibt es zwei Lösungsansätze. Auf der einen Seite wäre die klassische künstliche Intelligenz. Dies hätte den Vorteil, dass das Web in seiner aktuellen Form nicht verändert wird, da der Inhalt von intelligenten Maschinen ausgewertet werden kann. Trotz einiger Fortschritte scheint die Aufgabe nach wie vor zu ambitiös.

Als zweiter Ansatz ist das Semantische Web. Dabei wird das bestehende Web in einer für Maschinen einfacher verständlichen Form geschrieben. Das Semantische Web wird nicht parallel zum bereits existierenden Web sein, sondern langsam daraus entstehen.

Zurück | Vorwärts

Donnerstag, April 12, 2007

Semantic Web 1.1

Im folgenden werde ich eine kleine Zusammenfassung über das Semantische Web machen. Ich denke, dass eigentlich sehr viel Potential darin steckt, dass es jedoch im Moment einfach noch sehr in den Kinderschuhen steckt und sich lediglich die Akademiker daran freuen.

Es wird wohl einfach noch ein paar Tools brauchen, welche das Semantic web auch für den normalen User schmackhaft macht.

Im Rahmen einer Arbeit an der Uni habe ich mich ein wenig damit befasst und musste dazu ein kleines Papier schreiben, was doch einen guten Überblick über das Thema abgibt.

Am Besten einfach das RSS Feed abonnieren, damit die neuen Teil automatisch "reinflattern".


1. Motivation für das semantische Web

1.1 Ausgangslage

Das world wide web (www) wie es heute besteht, basiert auf einer unstrukturierten Sammlung von Daten, welche hauptsächlich von Menschen konsumiert werden. Sogar maschinell erstellte Inhalte aus Datenbanken werde meist ohne die klaren Strukturen der Datenbank präsentiert.

Das klassische Szenario für den Einsatz des www ist das stichwortbasierte Suche in Suchmaschinen wie Google, Yahoo oder MSN nach entsprechenden Inhalten. Es ist offensichtlich, dass dieser Prozess nicht sehr gut durch Software unterstützt wird und birgt einige ernsthafte Probleme:

  • Hohe Trefferquote, schlechte Präzision. Selbst wenn die wichtigen Seiten in den Resultaten erscheinen, so sind kaum nutzbar, da gleichzeitig tausende von anderen wenig relevanten Seiten erscheinen.

  • Wenige oder gar keine Treffer.

  • Resultate sind sehr vokabularabhängig. Bei der erstmaligen Suche ergeben die gewählten Keywords oft nicht die gewünschten Resultate, da die gesuchte Seite andere Wörteer benutzt.

  • Als Resultat kommt eine einzele Webseite. Oftmals kommt es jedoch vor, dass die Informationen über mehrere Seiten verteilt sind. Diese müssen dann durch erneute Suchanfragen gefunden werden.

Ein kleines Beispiel soll die heutige Problematik mit keyword basierten Suchmaschinen illustrieren:

„I am a professor of computer science.“
„I am a professor of computer science, well you may think. Well, ...“

Es ist offensichtlich, dass es sich hier um zwei komplett verschiedene Aussagen handelt, obwohl sie sich sehr ähneln.

Aufgrund dieser Problematik wird die Informationsbeschaffung im World Wide Web oftmals zu einer langwierigen und dadurch auch teuren Suche.

Vorwärts

Thinkature


Ist ein hübscher kleiner Service. Dieser Dienst ermöglicht es, zusammen zu zeichnen.

Features:

  • Textfelder
  • Pfeile
  • Farben wechseln
  • Freihand zeichnen
  • Chat
  • Voice chat (nicht ausprobiert)
  • Bilder per Drag and Drop einfügen (scheint aber noch ein wenig Buggy)
Ich könnte mir durchaus vorstellen, mit einem solchen Tool irgendwelche Dinge zu planen. Problem ist halt einfach, dass man einen entsprechenden Account haben muss.
Bei nächster Gelegenheit werde ich dieses Ding sicher ausprobieren.

Links

Donnerstag, April 05, 2007

PHP Trail - Trailfire

Anlässlich des gestrigen Posts möchte ich doch noch mal auf Firetrail zurückkommen und ein weiteres gutes Anwendungsbeispiel zeigen.
Immer wieder liest man in Foren die Frage: Ich möchte PHP lernen, wo fange ich an. Was gibt es einfacheres, als den Fragenden einfach einen Trail Link zu geben?

Kleines Beispiel: PHP Trailfire

Das ist nur eine weitere Anwendung und ich bin sicher, dass noch viele andere Anwendungen kommen werden. Es gibt eine neue Technologie (bzw. Anwendung von Technologie) aber die Nutzer müssen zuerst Wege finden, um diese auch anzuwenden.

Mittwoch, April 04, 2007

Trailfire - Das Netz wird enger

Trailfire - Pfadfeuer oder so ähnlich. Was steckt dahinter? ... eine geniale Web 2.0 Anwendung.

Das Prinzip ist ganz einfach. Webseiten können zusammengeknüpft werden. Es entsteht dann ein Pfad. Ich habe hier ein kleines Beispiel gemacht:

http://trailfire.com/rapsli/trails/33217/Webentwicklungen%20-%20Podcast

Ok, der Link verweist auf die erste Seite des Trails. Oben rechts erscheint eine Sprechblase, welche Notizen vom Trailersteller anzeigt. Zudem wird dort gezeigt, wieviele Seiten der Pfad enthält. So kann der Pfad entlanggewandert, Entlanggesurft werden.
Unterwegs kann man seine eigenen Kommentare dazu schreiben.

Wie findet man den Pfad?

  • Man bekommt einen Link, so wie den oben und so ist man auf dem Pfad unterwegs.
  • Es gibt Übersichtsseiten: Diese können dann auch von Google gefunden werden.
  • Firefox oder IE Plugin. Diese zeigen Trails an, wenn ein Trail auf der Seite vorhanden wird.
Pfad erstellen:
Ist eigentlich ganz einfach. Dazu benötigt man das entsprechende Plugin für Firefox oder IE. Im Firefox erscheinen dann zwei neue Icons und zudem hat man die Möglichkeit eine Sidebar anzeigen zu lassen.

Naja, was soll ich noch mehr dazu sagen. Am Besten einfach mal ausprobieren.

Anwendung:
  • Die Anwendung ist in meiner Sicht immens und ich denke, Trailfire hat eine super Zukunft. So kann es zu Ausbildungszwecken gebraucht werden. Lehrer können einfach einen Trail erstellen und den Schülern geben.
  • Reisen können erstellt werden und mit Kommentaren versehen werden. Es ist nicht mehr nötig, Portale zu erstellen, um Informationen zu sammeln. Die entsprechenden Seiten können einfach zusammengeknüpft werden und mit Kommentaren versehen werden.
  • Referenzen.
  • Und ich weiss es sonst auch noch nicht, was alles... Vielleicht wisst ihr noch ein paar Anwendungen...

Links:

Portable apps: FileHippo Update Checker


Ich melde mich wieder einmal zurück von den Portable Apps, und da habe ich wirklich was praktisches gefunden. Nachdem ich gestern einem nahen Verwandten wieder mal den Computer säubern musste, da er fasst nicht mehr lief, habe ich in diesem Zusammenhang wieder einmal die Frage gestellt, ob es nicht noch mehr nützliche Portable Apps gibt. Gerade wenn man oft auf fremden Computern arbeiten muss, gerade, wenn man sie reparieren muss, sind bei mir heute Portable Apps auf dem USB-Stick nicht mehr wegzudenken, und nicht selten, wenn fündig, habe ich auch schon eine Software bei mir deinstalliert und benutze fort an nur noch die Portable Verison dieser, welche ich dann alle schön geordnet in einem Ordner auf der Lokalen Festplatte abspeichere.
Nun zum neusten Fund. Das Programm heist FileHippo. Gerade mal 104kB wiegt es, und bietet gerade mal zwei Funktionen, die es aber in sich haben. Es durchsucht die Festplatte nach Programmen, und vergleicht diese mit einer Datanbank. Dannach öffnet es im Browser eine Seite und bietet zu all den Programmen updates an, von welchen es eine neuere Version gibt. Mit einem Link versehen, hat man das Update rasch bei sich und die Software ist wieder up to date. Funktioniert sehr schnell und findet wirklich erstaunlich viel.
Kombiniert mit einem Download Programm kann man natürlich auch gerade alle Updates die man braucht in einem Zug herunterladen und ausführen.
Besonders lästig fand ich in der Vergangenheit die Sofware, welche im Hintergrund immer noch ein Updater-Dienst laden (Quicktime, realplayer, usw.), welchen man immer Manuell ausschalten muss. AUf die Updates möchte man aber dann ja auch nicht verzichten, und so erweist sich dieses Helferlein als sehr nützlich. Man könnte dann zum Beispiel auch ein Task erstellen, so dass das Programm einmal in der Woche geladen wird.
Ich werde es aber vorallem auf dem USB Stick lassen, und jeweils benutzen, wenn ich einem Freund wieder mal den Compi "reinigen" muss.
Hier der Link zum Download:
http://www.filehippo.com/updatechecker/

Viel Spass damit!

Montag, April 02, 2007

Google 1. April Scherz? - Internet via Toilette - tisp

http://www.google.com/tisp/

Sieht doch noch ganz lustig aus... und ich muss sagen, dass ich zuerst schon ein wenig erstaunt war. Würde Google es wagen, einen 1. April Scherz zu veröffentlichen. Es sieht ja schon ganz gut aus, doch meine Informatikausbildung lässt irgendwie Zweifel daran aufkommen ;)
Es wäre ja schon ganz praktisch, mal abgesehen davon, dass es in meiner Wohnung nicht möglich ist, den Spühlkasten zu öffnen. Ich wäre dann wohl einer, der weiterhin bezahlen muss...

Google ist wirklich innovativ...

Ein paar Screenshots:

Podcast client - Ziepod - Winamp - ITunes

Endlich habe ich einen guten Podcast Client gefunden - Ziepod

Hintergrund:
Ursprünglich hatte ich ITunes installiert und war eigentlich sehr zufrieden damit. Das GUI war sehr benutzerfreundlich und die Funktionalität auch. Doch dann kam das herbe erwachen. Ich habe mir einen schönen Sansa e250 MP3 Player gekauft doch scheint ITunes den nicht zu mögen. und so habe ich mich auf die Suche nach einer anderen Software gemacht.

Fündig wurde ich bei Winamp. GUI war ein wenig gewöhnungsbedürftig aber die Funktionalität war einfach super und so habe ich mich schnell damit angefreundet.
Nach einigen Monaten habe ich Probleme bekommen mit den Podcasts. Irgendwie schienen die nicht mehr so richtig zu funktionieren. Es war sehr ärgerlich.

Zufälligerweise habe ich in einem Forum über Foobar2000 gelesen. Ein MP3 Player. Installiert und angeschaut. GUI: Extrem hässlich. Aber es lassen sich ganz einfach viele Extensions einbauen und dann wird auch das GUI schöner. Der absolute Vorteil: Extrem niedriger Ressourcenverbrauch und das ist wirklich genial. So kann ich endlich wieder mit Eclipse entwickeln und nebenbei Musik hören. Kleiner Vergleich. Winamp braucht bei mir ca. 50 MB im Arbeitsspeicher. Foobar2000 lediglich 2-3 MB, wenn er minimiert in der Taskliste läuft. Schon ein deftiger Unterschied!
Einziger Nachteil: Kein RSS Feedreader für Podcasts.

So habe ich mich auf die Suche nach einem Podcast Client gemacht und wurde beim Ziepod fündig. Die Oberfläche wurde wohl von ITunes kopiert, aber das machts ja eigentlich nur besser.


Dies soll kein ausführliches Review sein, sondern lediglich ein Anstoss für Leute, welche auch auf der Suche sind.

Links

Samstag, März 31, 2007

Favicon ganz einfach

Sicher kennt jeder die hübschen Symbole, welche in der Adressleiste vom Browser zu sehen sind, wenn man z.B. auf Blogger.com oder jetzt eben auch auf http://www.schaerwebdesign.ch/

Die Einrichtung ist ja ganz einfach.
Bild erstellen: http://www.kgreene.com/favicon.php

Für Einbindung gibt es zwei Möglichkeiten

  • Entweder das Bildchen als favicon.ico im Hauptverzeichnis abspeichern und schon erscheint auf jeder Seite das kleine Icon.
  • 2. Möglichkeit via Metatag: <link rel="shortcut icon" href="Pfad/zum/Icon.ico">
    Somit können auch verschiedene Bildchen auf verschiedenen Seiten definiert werden.

Donnerstag, März 29, 2007

Podcasts zu Studienzwecken

Vor einiger Zeit habe ich gehört, dass es bei mir an der ETH in Zürich ein Pilotprojekt für Podcasts gibt. Ein Professor stellt alle seine Vorlesungen jeweils ein Tag später in voller länge und DVD Qualität ins Internet. Umso erstaunter war ich, als ich erfuhr, dass ich im neuen angebrochenen Semester gerade eben zu diesem Professor gekommen bin.

Erstes Fazit dazu: Super! Da ich fast zwei Stunden bis an die Uni habe, diese Vorlesung jeweils um acht Uhr morgen beginnt, werde ich dort vor Ort nicht mehr zu sichten sein. Ich bin ein grosser Fan davon geworden.

Die Frage, welche ich mir stelle: Sind die Podcast für alle Vorlesungen sinnvoll. Ich denke sinnvoll an und für sich schon, aber nicht nur noch Podcasts. Ich finde aber, dass der Student selber die Disziplin aufbringen sollte, um zu entscheiden, ob er nun zu Hause bleibt, oder an die Vorlesung geht. Für einige Fächer mag es sehr sinvoll sein, während es für andere nur eine unterstützung zum Vorhandenen ist.

Bei mir hat es vorallem dadurch geholfen, dass ich die Vorlesung dann schauen kann, wenn ich dazu bereit bin. Ich sitzte oft in den Vorlesungen, und lasse mich von anderen Dingen ablenken. Das Verpasste lässt sich nicht nachholen. Sitzte ich zu Hause und merke, dass ich mich nicht mehr konzentrieren kann, dann mache ich halt eine Pause, bis es wieder geht.

Ich habe auch bemerkt, dass meine Augen sich vielmehr auf einen Bildschirm konzentrieren können, als an einen 60°-Trichter Raum, wo vorne irgendwo der Dozierende steht. Dies trifft nicht auf alle Vorlesungen zu, und zu jeder Zeit. Aber dass es die Möglichkeit gibt, finde ich Klasse!

Hier der Link zu der Podcastseite der ETH Zürich und meiner aktuellen Vorlesung:
http://www.podcast.ethz.ch/

Ich hoffe, dass sich in Zukunft noch mehr Professoren damit anfreunden werden. Ich finde, dass dies ist vor allem für Theoretische Fächer eine sehr Zukunftsträchtige Sache ist.

Mittwoch, März 28, 2007

PHP Sicherheitslücken

Als ich vor wenigen Minuten folgenden Titel in meinem Newsreader hatte, war ich schon ein wenig geschockt:

Bereits 34 Fehler wurden von den Initiatoren von Month-of-the-PHP-Bugs (MOPB) veröffentlich – 18 davon sind noch ohne Patch.
Doch wie immer stellte sich dann die ganze Nachricht als nur halb so wild heraus.
Die Initiative MOPB beabsichtigt im März 2007 die Anfälligkeit von PHP aufzuzeigen und die Programmiersprache so sicherer zu gestalten. Im Verlauf des Monats wurden 34 Lücken aufgedeckt. Davon waren 18 bei ihrer Entdeckung noch nicht gepatcht. Die Fehler sind mehrheitlich von geringer Gefahr, da ein möglicher Angriff nur erfolgen kann, wenn der Anwender bereits Zugang zum Webserver hat. Die Betreiber der Website preisen als Abhilfe ihre Software Suhosin an.
Naja, wenn der Angreiffer Zugriff zum Webserver hat, dann gibt es wohl auch noch eine ganze Menge andere Probleme.

Links:

PHP 5 und HTML_AJAX - Remote Klassen

Ich habe schon in einem früheren Post einmal etwas über HTML_AJAX geschrieben und ein paar Links gemacht. Jetzt habe ich mich nochmals damit auseinander gesetzt und bin wirklich begeistert. Das Prinzip mit den Remote Klassen ist einfach genial und sehr simpel wenn man einmal dahinter gekommen ist.
Im weiteren unterstützt es Objekt Orientiertes Programmieren mit PHP 5, was ja leider noch immer nicht so verbreitet zu sein scheint. Ich habe vor kurzem den Entschluss gefasst, dass ich nur noch mit Klassen programmieren werde. Die Vorteile sind einfach zu gross. Hauptvorteil: Wiederverwendbarkeit und Wartung sind massiv einfacher als ein prozedural geschriebenes Skript.
In Kürze werde ich ein kleines Portal basierend auf dem Zend Framework programmieren und dabei HTML_AJAX einsetzen. In der Planung konnte ich bereits die Vorteile sehen. Ein kleines ERM für die Datenbank liefert auch bereits die Grundlage für die Klassen. So war ich anfänglich noch ein wenig überwältig, da ich noch nie etwas Portalmässiges programmiert habe, doch hat das ERM diese Zweifel rasch vertrieben.
Durch Vererbung kann Redundanz verkleinert werden und HTML_AJAX lässt sich ganz bequem einbinden.
Was ich am HTML_AJAX besonders mag ist die Datei server.php. Ich finde, diese repräsentiert das Client-Server Modell besser, denn anfänglich ist das Client-Server Modell irgendwie ein wenig ein misch masch und seit ich vor kurzer Zeit eine GWT Andwendung mit RPC geschrieben habe, ist mir das viel klarer geworden.

PHP 5 scheint zwar auf Anhieb nicht viel anders als PHP 4, da es sehr abwärtskompatibel sind, doch wurde meiner Meinung nach ein grosser Sprung nach vorne gemacht. Bezüglich Ajax Framework setzte ich voll und ganz auf HTML_AJAX von pear. Es gibt zwar noch ein paar nette andere (z.B. xajax) doch ist das halt wieder einmal mehr Funktionsbasiert.

Montag, März 26, 2007

Praktisches Ajax Filesharing Script




Für den Verein eines Freundes habe ich eine ganz einfache, kleine, aber sehr praktische Filesharing-Plattform erstellt. Er benutzt sie zusammen mit drei weiteren Kollegen.

Wird man doch heutzutage mit Angeboten geradewegs überflutet, ziehe ich für kleine eigene Anwedungen immer noch das selfmade script vor. So habe ich mir in letzter Zeit des öfteren überlegt, was rentiert sich den heute noch selber zu machen, und welche Dienste soll man bei einem Massenproduzent wie diesem hier, blogger.com, beziehen. Einzigartige Individualität vs. Massenprodukt.
Nun, ich schreibe öfters kleinere Scripts, welche es bestimmt schon zig-Fach zum gratisdownload gibt. Bei mir ist es in erster Linie meistens das praktische erlenen von Techniken im Web, welches mich dazu bewegt, selber ein Script zu schreiben. Aus einer solchen kleinen Übung sind mir nicht selten Ideen gekommen, welche ich dann schliesslich in einen Auftrag umwandeln konnte, nachdem ich das kleine, einfache Produkt jemandem richtig verkauft habe.
Desweiteren bin ich in gewissen Dingen halt einfach ein Controll-Freak, und möchte die Dinge so weit wie es geht auf meinem eigenen Server hosten. Dadurch habe ich die volle Kotrolle über die Dinge und kann sie jederzeit anpassen.
Dagegen sprechen die Gründe, dass man sehr viel Zeit manchmal aufwendet, um etwas kleines, einfaches zu erreichen, was gegen mein Prinzip spricht, dass ich Software benutze, damit ich schneller und besser arbeiten kann als andere (siehe letzter Artikel von mir zu Office 2007).

Nun ich denke, dass die kleinen Skripte nie aussterben werden. Auch denke ich nicht, dass grosse Plattformen komplett den Markt übernehmen werden, und man nur noch Plugins und Addons schreiben wird, die auf dieser Plattform laufen. In diesem Sinne ist ja der Webserver schon eine Plattform, und ich denke nicht, dass es überall Sinn macht, eine Plattform auf einer Plattform zu haben (als Bsp. ein Addon für eine SharePoint Plattform auf einem Windows Server über ein Browser). So werden die kleinen Scripte, welche direkt auf dem Webserver laufen auch in Zukunft immer wieder gefragt sein.

Hier mein Script zum Download

Das Script zeigt auch einige Möglichkeiten, für eine sinnvolle Verwendung von Ajax, und wie man mit einfachen Mitteln, eine praktische Anwedung erschaffen kann.

Bei Fragen oder Anregungen freue ich mich auf feedbacks!

Freitag, März 23, 2007

Zend Framework

Das Zend Framework liegt Momentan in der Betaversion 0.9 vor. Ich bin erst vor einigen Tagen damit bekannt geworden und bin bereits begeistert davon. Ich muss zugeben, dass es das Programmieren ein wenig komplexer macht, doch gerade das hilft, auch mit PHP sauber zu programmieren.

Was ist das Zend Framework... Eben ein Framework. Der Programmieren wird zum Model View Controller (MVC) Patter "gezwungen". Wer schon mal einfach drauf los programmiert hat, weiss dass man irgend wann mal die Übersicht verliert.
Ich muss zugeben, dass ich bis jetzt noch nicht viel gemacht habe mit dem Zend Framework, aber was ich bereits gesehen habe, zeigt doch, dass es ziemlich leistungsfähig ist.

Ich werde auf jeden Fall in nächster Zeit damit eine kleine Community Plattform programmieren. Da wird sich wohl sehr bald zeigen, was es hergibt.

Links

Neuer Blogger im Boot

Seite heute ist ein neuer Blogger im Boot. Somit sind wir zu zweit. Dies wird es sicher abwechslungsreicher gestalten, zu regelmässigeren Posts führen und doch auch eine andere Perspektive auf Dinge werfen.
So wurde auch der Namen umgwandelt. Thema wird weiterhin sein rund ums Web.

Office 2007

Wenn es um Microsoft Produkte geht, dann gehen heutzutage die Meinungen weit auseinander. Ich als Praktiker, versuche in diesem Fall mir jeweils eine möglichst Objektive Meinung zu bilden. Ich benutzte eine bestimmte Software, weil ich damit schneller vorwärts kommen will als andere. Nun im Fall von Office 2007 kann ich sagen, dass es sich wirklich um eine Software handelt, welche einen grossen Fortschritt nach vorne gemacht hat seit der letzten Version.

Ich habe es bei mir nun seit ca. zwei Monaten installiert, und wenn ich heute noch ein Office 2003 sehe, kommt es mir vor wie aus der Win95 Zeit. Gleiches gilt für die Bedienung. Man gewöhnt sich so schnell an die neuen Features, dass man sie schon nach kürzester zeit nicht mehr missen will.

Vor allem gibt einem das Programm das Gefühl, dass die einzelnen Teile (Word, Excel, usw.) für das verbessert wurden, für was sie eigentlich da sind. Ein Word ist einfach kein HTML-Editor, ein Excel keine Datenbank und ein PowerPoint kein Videoschnitt Programm. Ich erinnere mich an den Schock damals, nachdem ich Office 2003 installiert habe und dann plötzlich alle Webdateien (.html, usw) beim öffnen in Word aufgingen!

Dinge, von denen ich mich nicht mehr trennen kann:

  1. PDF Konvertierung: Für meine letzte Konvertierung in ein PDF von einem Word-Dokument in Office 2003, brauchte ich für die paar hundert Seiten incl. Grafiken eine gute Stunde. Nun ist es eine Sache von wenigen Sekunden. Ausserdem stimmen dann auch alle die Verweise und Ränder, usw.
  2. Tabellen: Was früher ein wahres Kunststück war, ein heiden Aufwand wenn man Änderungen machen wollte und ein Master of Design benötigte, kann man nun via schönen OnMouseOver-Moves erstellen. Tabellen haben nun einen eigenen Style, welcher ohne den ganzen Inhalt zu ändern mit einem Click geändert werden kann. Incl. Header, Footer, Rechtsspalte.
  3. Seitenvorschau in Excel: Endlich kann man die Zellen in der Seitenvorschau bearbeiten. Ein schreckliches Wrack war das in Excel 2003, wenn man auf der Seitenansicht war!
  4. Menü: Das Menü ist echt gut! Schwer zu beschreiben warum. Man muss es eine Weile ausprobiert haben, um das zu glauben, aber es ist wahr!
  5. Thumbnails: Während ich ein grosser Fan bin von den Seitenthumnails im Acrobat, störte es mich dort doch immer, wie langsam der ist. Super umgesetzt in Word! Ich muss mich nun endlich nicht mehr nur mit der Seitenstrukturansicht begnügen, sondern habe da auch visuelle Unterstützung. Und das ganze geht auch mit meinem alten Notebook wunderbar schnell.
  6. Vorlage: Vorlagen ist etwas was man nie braucht und doch kommt man immer wieder in diese Notsituationen, wo man sofort so ein Ding bräuchte. Sucht man dann eine im Internet, ist das Spiel sowieso verloren. Dabei ist es doch nicht so eine Sache, da ein paar Vorlagen für uns Anweder zu gestalten, welche auch brauchbar sind. Office 2007 hat da wirklich nicht gespart! Da krieg tman echt für alles eine Vorlage, und schön sehen die auch noch aus! Das bedeutet wohl das Ende (hoffentlich) für die hässlichen blau-schwarz-verläufe-grüne-schrift-wipe-übergang-powerpoint-präsentationen! Von Kündigungen, über Baby, Hochzeit, Feuerwehrmann Bewerbung – man findet sie alle!
  7. Geschwindigkeit: Trotz super grafisch aufwenigem Design, dünkt es mich, dass es auf meinem alten Notebook gleich schnell, wenn nicht sogar schneller läuft, ganz abgesehen vom PDF-Export. Das ist heute wirklich nicht mehr Selbstverständlich braucht man doch für jede neue Software am besten auch noch gerade einen neuen Comp.
So, diese Gründe als Leistung, zum Preis verglichen machen mir die Entscheidung recht einfach. Mit der Studentenversion für CHF 164.- ein wahres Schnäppchen, für die Stunden, welche ich in Zukunft damit einsparen werde.

Wie zu Beginn gesagt. Meine Meinung richtet sich nur auf das hier beschriebene, über andere Dinge (SharePoint, Vista) werde ich zu späterem Zeitpunkt etwas schreiben.