Friday, September 3, 2010

SemanticBlog

all about web innovation

Archive for März, 2009

Semantic Web und die Medien

Posted by Christian On März - 31 - 2009

Es scheint fast so, als ob die großen Medienunternehmen in Deutschland sich des Themas annehmen. Ist das ein entstehender neuer Pressehype oder haben semantische Technologien durchaus das Potential alltagstauglich zu werden ;-) ?

Zwei Artikel aus der Financial Times:

Wie Suchmaschinen lernen

Wie wir morgen im Web suchen

und einer bei www.heute.de.

Neben den Bericht bei www.heute.de noch ein Experteninterview bei Talis: Sir Tim Berners-Lee Talks with Talis about the Semantic Web:

Dieser Bericht ist ebenfalls aufschlussreich:
12 Gewinner bei Web-3.0-Programm

Web 3.0 Innovative Semantic Interactions with Spotlets

Posted by Christian On März - 29 - 2009

CoMET is a new creative media exchange terminal to interact with semantic annotated objects. The video gives a preview of upcoming Web 3.0 user interface technologies. For more details: http://www.dfki.de/iui/advanti

YouTube Preview Image



Wordpress Tuning

Posted by Christian On März - 27 - 2009

Da dieser Blog momentan noch viel zu langsam ist, wird es nötig sein, ein wenig an den Performance-Schrauben zu drehen. Ein neuer Webhoster ist die Superlösung! Spass beiseite, es gibt viele Wege, die Performance von Wordpress zu verbessern:

1. Analysetools installieren und Servermonitoring verwenden:

Weiterführende Informationen, für diejenigen, welche einen Root-Server benutzen:
Best of open source in enterprise monitoring
How to Monitor wordpress with Nagios

Leider nur für 30 Tage kostenlos:
MySQL Enterprise Monitor

2. Immer die neueste Version von Wordpress verwenden und Plugins regelmäßig aktualisieren.

Diese Empfehlung ist oft zu lesen, macht einerseits Sinn, da neue Versionen verbesserte Features enthalten, was die Performance betrifft. Andererseits: “Never touch a running system”. Neue Versionen sind gleichzeitig am wenigsten getestet.

3. Löschen nicht benötigter Plugins!

4. Installation von Anti-Spam-Plugins, um Spam-Bots davon abzuhalten, überhaupt erst Server-Last zu erzeugen.

Bad Behavior analysiert HTTP-header, IP-Adressen und andere Metadaten um Spam-Bots im Vorfeld abzuwehren! Sollten die Bots dennoch ihr Ziel
erreichen, wird Akismet aktiv um angefallenen Spam wieder zu entfernen.

5. Google-Analytics-Bibliotheken lokal installieren (siehe auch Punkt sechs).

Nach einem Bericht auf Barryhand werden die GA-Dateien in Peak-Zeiten extrem langsam geladen. Eine lokale Speicherung umgeht das Problem. Falls google jedoch einen Code-Update durchführt, ist es wichtig, in eigener Regie die neuen Bibliotheken einzuspielen.

6. Bilder, CSS, Javascripts, PDFs und ähnliche Dateien auf Amazon S3 auslagern

Die Performancesteigerung durch Amazon S3 wird bei noupe erwähnt:
13 Great WordPress Speed Tips & Tricks for MAX Performance Auf der Seite ist auch ein Link zu einer Anleitung, die erklärt wie eine Auslagerung funktioniert.

Nützliche Plugins:

7. Verringerung der Gesamtlatenz durch Reduktion von HTTP-Requests
Jede HTTP-Anfrage kostet Zeit. Je mehr HTTP-Anfragen zum Aufbau einer Seite benötigt werden, desto mehr Zeit geht verloren. Für die Dauer dieser Anfragen gilt dies ebenfalls. Binden Sie Werbung ein und die externen Server, welche die Werbung bereitstellen sind langsam wird der Seitenaufbau ihrer Seite verlangsamt.

7.1 Komprimierung von Javascript und CSS-Dateien
Das Zusammenfassen von CSS-Dateien und die Verwendung von CSS-Sprites
verringern die Anzahl von HTTP-Requests.

  • www.cleancss.com ist sehr gut dafür geeignet, CSS zu säubern und zu komprimieren.
  • PHP-speedy erledigt fast alles auf einmal. Das Plugin ist aber mit Vorsicht zu genießen, da es nicht 100%-ig mit anderen kompatibel ist. Da ist viel Ausprobieren nötig. Wenn es aber läuft werden alle Javascript-Bibliotheken und CSS-Dateien komprimiert, gesäubert und in jeweils einer zentralen Datei zusammengefasst und gecacht.

Mehr Infos:

8. PHP- und Datenbankaufrufe durch statisches HTML ersetzen
Komfort versus Performance. Wenn Sie sicher sind, dass alle Rahmenbedingungen passen (Titel, Beschreibung gesetzt, Feedburner eingerichtet usw…) können Sie dazu übergehen in der header.php ihres Themes alle relevanten PHP-Aufrufe durch statisches HTML zu ersetzen. Dann wird der PHP-Interpreter nicht ausgeführt und es gibt auch keine Datenbankaufrufe, was einen beträchtlichen Performancegewinn darstellt.

Am Besten ist es, Sie laden Ihre Startseite, lassen sich den Quelltext anzeigen und ersetzen dann per Copy-Paste in die header.php.
Ein Beispiel: Ersetzen Sie

<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />

durch

<link rel="pingback" href="http://www.ihreseite.xy/xmlrpc.php" />

und so weiter…

Der Nachteil ist, dass spätere Änderungen über das ADMIN-Menü nicht mehr möglich sind. Vergessen Sie nicht, eine Sicherheitskopie ihrer Dateien zu machen.

9. Optimierung der MySQL-Datenbanktabellen
WP-DBManager ist das Tool der Wahl für diesen Task.

10. Caching
“Cache bezeichnet in der EDV eine Methode, um Inhalte, die bereits einmal vorlagen, beim nächsten Zugriff schneller zur Verfügung zu stellen. Caches sind als Puffer-Speicher realisiert, die die Kopien zwischenspeichern. Sie können als Hardware- oder Softwarestruktur ausgebildet sein.” siehe Wikipedia

10.1 WordPress Cache
Die Aktivierung des internen Wordpress-Caches wird auf folgenden beiden
Seiten beschrieben:

10.2 WP Super Cache
WP Super Cache ist der (einfachste) Weg, die Geschwindigkeit von Wordpress erheblich zu steigern.

Nachdem WP Super Cache aktiviert war, funktionierte Feedburner nicht mehr. Es hat einige Zeit gedauert, herauszufinden warum. Das Problem waren meine Videokategorien, denke ich. Eine Erklärung bestimmte Wordpress-Kategorien von Feedburner auszuschließen, findet sich hier

Um zu verhindern, dass WP Super Cache Blog-Feeds mit in seinen Puffer-Speicher aufnimmt, sind diese unter “Accepted Filenames & Rejected URIs” anzugeben:
wp-.*
.php
index.php
/feed/
/comments/feed/

10.3 WP Widget Cache
WP Widget Cache
ist ein weiteres Cache-Plugin zum puffern von Widgets, welches auf WP Super Cache aufsetzt.

10.4 MySQL-Query-Cache
Diese Möglichkeit des Cachings kann nur verwendet werden, falls Sie über Ihren eigenen Server (root-server) verfügen. Vladimir Prelovac stellt
auf seinem Blog eine gute Anleitung bereit.

Im Zusammenhang mit MySQL wurde auf einigen Blogs noch DB Cache empfohlen. Ich habe das Plugin getestet und es ist nichts passiert. Weder Fehlermeldungen, noch Performancesteigerung in Form einer verminderten Zahl von Datenbankaufrufen. Trotzdem sollte das Plugin im Auge behalten werden.

10.2 PHP Compiler Cache
Diese Möglichkeit des Cachings kann ebenfalls nur verwendet werden, falls Sie über Ihren eigenen Server (root-server) verfügen. Aus früheren Erfahrungen zu sprechen, ist diese Form des Cachings sehr nützlich bei hochfrequentierten Websites. Wer vorhat einen Compiler-Cache einzusetzen sollte einen Blick auf eaccelerator.net werfen.

Es gibt auch Alternativen

Eine Installationsanleitung findet sich wiederum bei Vladimir Prelovac.

Special: Eine Kombination aus Compiler-Cache und WP-Supercache
WordPress SuperCache-Plus plugin Das Plugin ist noch in Entwicklung, jedoch höchst interessant.

11. Bildoptimierung
Bilder sollten so wenig Speicherplatz wie möglich benötigen und trotzdem gut aussehen. Wer möchte kann auf folgende nützliche Tools zurückgreifen:

Was macht Smushit?

  • Entfernen der Meta-Daten von JPEGs
  • Optimierung der JPEG-Kompression
  • Umwandlung bestimmter GIFs in indizierte PNGs
  • Entfernen nicht benutzter Farben

Deshalb ist es in Kombination mit Photoshop, Paint.Net oder Gimp ein
höchst interessantes Werkzeug. Nachfolgend sind einige weiterführende
Ressourcen zu Performancesteigerung angegeben:

Best Practices for Speeding Up Your Web Site
WordPress Optimization Bible
Optimizing Server Performance
Great WordPress Speed Tips & Tricks for MAX Performance
4 Simple Ways To Speed Up WordPress
5 Ways to Speed Up Your Site
Optimizing Page Load Time
Wordpress-Cache nutzen
Webseite optimieren – Geschwindigkeit
Speeding up your website when using Google
Analytics

15+ Tips to Speed Up Your Website, and Optimize Your Code!
3 reasons why you should let Google host jQuery for you
PHP Compiler Cache in Kombination mit WP Super Cache

Intelligence in Wikipedia

Posted by Christian On März - 27 - 2009

Berners-Lee Vision des Semantic Web wird durch das Henne-Ei-Problem erschwert: Wie können genügend strukturierte Daten erzeugt werden, um eine Motivation zu liefern, Applikationen zu entwickeln, welche diese Daten nutzen? Die Forscher der Universität von Washington sind der Meinung, dass automatische Datenextraktion und Transformation aus
der Wikipedia ein guter Weg ist… Das nachfolgende Video zeigt ihre Bemühungen.
Bitte hier klicken um das Video zu sehen.

“Berners-Lee’s vision of the Semantic Web is hindered by a chicken-and-egg problem, which can be best solved by a bootstrapping method: creating enough structured data to motivate the development of applications. UW CSE believes that autonomously Semantifying Wikipedia is the best way to bootstrap. They choose Wikipedia as an initial data source, because it is comprehensive, high-quality, not too large, and contains enough manually-derived structure to bootstrap an autonomous, self-supervised process. This talk will present their success to date in this endeavor.”
Bitte hier klicken to see the video.

Design Patterns: Überblick

Posted by Christian On März - 26 - 2009

Einige Bücher über Softwareprozesse, Objektmodellierung, Architektur, Design Patterns, Spring beziehungsweise Hibernate (Überarbeitete Version, ursprüngliche Quelle: Metsker, Steven John (2002): Design Patterns Java Workbook, Addison Wesley, S.3):

Pattern Kategorie Titel Autoren/Herausgeber
Softwareprozesse More Process Patterns: Delivering Large-Scale Systems Using Object Technology Scott W. Ambler
Process Patterns: Building Large-Scale Systems Using Object Technology Scott W. Ambler
Objektmodellierung Analysis Patterns: Reusable Object Models Martin Fowler
Object Models: Strategies, Patterns and Applications Peter Coad, Mark Mayfield, David North
Architektur Core J2EE Patterns: Best Practices and Design Strategies Deepak Alur,John Crupi,Dan Malks
Pattern-Oriented Software Architecture, Volume 1: A System of Patterns Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal
Pattern-Oriented Software Architecture, Volume 2: Patterns for Concurrent and Networked Objects Douglas Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann
Design Design Patterns elements of reusable object-oriented software Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Head First Design Patterns Eric Freeman
Antipatterns: Refactoring Software, Architectures, and Projects in Crisis William J. Brown, Raphael C. Malveau, Hays W. McCormick III, Thomas J. Mowbray
Applying UML and Patterns, Second Edition Craig Larman
Concurrent Programming in Java, Second Edition: Design Principles and Patterns Doug Lea
Design Patterns for Object-Oriented Software Development Wolfgang Pree
Pattern Hatching: Design Patterns Applied John Vlissides
Lexika The Pattern Almanac 2000 Linda Rising
Pattern Languages of Program Design James O. Coplien, Douglas C. Schmidt
Pattern Languages of Program Design 2 John M. Vlissides, James O. Coplien, Norman Kerth
Pattern Languages of Program Design 3 Robert C. Martin, Dirk Riehle, Frank Buschmann
Pattern Languages of Program Design 4 Neil Harrison, Brian Foote, Hans Rohnert
Java Java(TM) Design Patterns: A Tutorial James W.Cooper
Patterns in Java(TM), Volume 1 Marks Grand
Spring Framework Java Development with the Spring Framework Rod Johnson, Juergen Hoeller, Alef Arendsen, Thomas Risberg, Colin Sampaleanu
Spring In Action Craig Walls, Ryan Breidenbach
Pro Spring Rob Harrop, Jan Machanek
Hibernate Hibernate Made Easy: Simplified Data Persistence with Hibernate and Jpa (Java Persistence API) Annotations Cameron Wallace McKenzie, Kerri Sheehan
Java Persistence with Hibernate Christian Bauer
Beginning Hibernate: From Novice to Professional Dave Minter und Jeff Linwood
PHP PHP Objects, Patterns, and Practice Matt Zandstra

Wer immer noch nicht genug hat, die Wikipedia bietet eine gute Übersicht(en,de).

Twittersearch-Wordpress-Integration

Posted by Christian On März - 25 - 2009

english version

In der API-Wiki von Twitter wird beschreiben, wie die Ergebnisse von Suchanfragen als Atom-Feeds oder im JSON-Format zurückgegeben werden.

  • Finde Tweets die ein bestimmtes Wort enthalten: http://search.twitter.com/search.atom?q=twitter
  • Finde die Tweets eines Benutzers: http://search.twitter.com/search.atom?q=from%3Aalexiskold
  • Finde Tweets, die an einen Benutzer gerichtet sind:  user: http://search.twitter.com/search.atom?q=to%3Atechcrunch
  • Finde Tweets, welche einen Benutzer referenzieren: http://search.twitter.com/search.atom?q=%40mashable

Glücklicherweise gibt es den RSS-Reader Simplepie, der Atom unterstützt als Wordpress-Plugin.  Möchten Sie Twitter-Suchergebnisse in einen Blog einbinden, ist es zuerst erforderlich, dass Plugin zu installieren und dann beispielsweise eine neue Page zu erstellen:

<?php
/*
Template Name: Twitter Page
*/
?>

<?php
get_header ();
?>

<div class=”content”>
<?php
echo SimplePieWP ( 'search.twitter.com/search.atom?q=your%20searchterms',
array ('items' => 30, 'cache_duration' => 1800, 'date_format' => 'j M Y, g:i a' ) );
?>
</div>
<?php
get_footer ();
?>

Twittersearch Wordpress Integration

Twitter’s API-Wiki describes how results of search queries are returned as Atom-Feeds or in JSON-format:

  • Find tweets containing a word: http://search.twitter.com/search.atom?q=twitter
  • Find tweets from a user: http://search.twitter.com/search.atom?q=from%3Aalexiskold
  • Find tweets to a user: http://search.twitter.com/search.atom?q=to%3Atechcrunch
  • Find tweets referencing a user: http://search.twitter.com/search.atom?q=%40mashable

Fortunately the ATOM compatible RSS-reader Simplepie exists as wordpress-plugin. If you plan to integrate twitter search results in a blog first you have to install the plugin and then to create a new page (an example source code for a new twitter page is included here).

Semantische Desktopsuche mit Aduna AutoFocus

Posted by Christian On März - 24 - 2009

Der Softwarehersteller Aduna hat mit seinem Produkt Autofocus eine bemerkenswerte Lösung zur semantischen Desktopsuche geschaffen. Aduna AutoFocus hilft bei der Suche nach Daten auf dem eigenen PC, Netzlaufwerken, eMail-Accounts, und Webseiten (letzteres hat bei meinem Test leider nicht funktioniert).

Die Vorteile sind laut Herstellerangabe:

  • Suchresultate werden zur besseren Übersicht in Clustern dargestellt.
  • Über die Kategorien Tags, Lokation, Datum und Zeit, Dateityp, Personen, Sprache und Dateigröße werden die Suchresultate automatisch sortiert.
  • Facetten erlauben es, Dokumente nicht nur über Schlüsselwörter zu finden und durch die Cluster-Visualisierung werden die Verbindungen zwischen Dateien, eMails und Webseiten dargestellt.

Bei einem Test wurden auf meinen Festplatten über 80.000 Dokumente, eMails, Bilder, etc. indiziert. Die Software ging bei ca. 60.000 Dateien in einer Quelle (ein Dateiverzeichnis mit Unterordnern) leicht in die Knie und ich bekam Stack.Overflow-Fehlermeldungen. Um die Problematik zu umgehen legte ich mehrere Quellen mit jeweils weniger Dokumentan an, was dann aber wunderbar funktioniert hat. Hierbei wurden die wichtigsten Ordner direkt als Quellen angegeben. Das hat dann, ebenso wie die eMail-Indizierung sehr gut geklappt. Die Indizierung von Webseiten hat noch nicht funktioniert, denn Grund hierfür konnte ich nicht ermitteln. Die Retrieval-Geschwindigkeit ist in Anbetracht der Dokumentenmenge gut und die Software ist sehr einfach zu bedienen. Sehr cool ist die Möglichkeit über automatisch erstellte Tags zu suchen.

Für den Heimanwender war die Software bisher kostenlos und stand hier zum Download bereit. Leider hat Aduna jüngst das Business-Modell geändert und Autofocus ist nun nur noch mit einer Softwarelizenz benutzbar.

Computer Science – Artificial Intelligence – Videoreihe

Posted by Christian On März - 22 - 2009

Über das indische National Programme on Technology Enhanced Learning werden auf Youtube Computer-Sciene-Vorlesungen bereitgestellt. Hier ist der Link zur Playlist.

Unter dem reichlichen Angebot sind auch zwei Vorlesungen zu künstlicher Intelligenz, die sehr gut aufbereitet sind:

  • Computer Sc – Artificial Intelligence 40 Videos Lecture Series on Artificial Intelligence by Prof.Sudeshna Sarkar and Prof.Anupam Basu, Department of Computer Science & Engineering,IIT Kharagpur.

In dieser Reihe befassen sich zwei Videos mit semantischen Netzen: Lecture – 18 Semantic Net und Lecture – 19 Reasoning in Semantic Net

Powersurfen mit dem Firefox-Plugin Ubiquity

Posted by Christian On März - 22 - 2009

Mashups waren bisher hauptsächlich auf der Serverseite zu finden und werden von Webentwicklern intensiv genutzt um Daten unterschiedlicher Herkunft sinnvoll miteinander zu verbinden. Ubiquity ist ein Firefox-Plugin, welches die Erzeugung von Mashups von der Entwicklerseite auf die Benutzerseite verlagert. Falls sie beispielsweise ein Treffen in einem Restaurant mit jemanden vereinbaren möchten, können sie eine Umgebungskarte des Restaurants erzeugen und in Ihre eMail einbinden (über gmaps und gmail).

Die Ziele des Ubiquity-Teams bestehen aus folgenden drei Punkten:

  • Dem Benutzer soll es ermöglicht werden, Web-Browser über eine Kommadozeile zu bedienen, indem die gewünschten Aktionen einfach eingetippt werden.
  • Bereitstellung von benutzergenerierten mashups über ein Abonnementverfahren mit existierenden und offenen Web-APIs. Im Prinzip werden Javascripts, die unterschiedlichste Funktionen erfüllen von Benutzern bereitgestellt, die wiederum von anderen Benutzern über Ubiquity eingebunden werden können.
  • Gewährleistung von Sicherheit durch soziale Vertrauensnetzwerke. So wird einerseits versucht, die Erweiterbarkeit so einfach wie möglich zu halten und andererseits die Sicherheit  der verwendeten Skripts zu garantieren. Das ist notwendig, da auch viel Unsinn mit Javascript betrieben werden kann.

Die Ubiquity-Kommandozeile verfügt über Auto-Vervollständigung, was Suchanfragen an verschiedene Suchmaschinen beschleunigt:

Schneller Suchen

Schneller Suchen

Sie möchten einen Text übersetzen?
a) Wählen sie einfach den zu übersetzenden Text aus:

Übersetzen1

Übersetzen1

b) Drücken Sie Strg+Leertase, Geben Sie den Befehl “tra” ein:

Übersetzen2

Übersetzen2

c) Sie sehen den übersetzten Text. Maschinelle Übersetzung ist natürlich ein Thema für sich und die Qualität der Übersetzungen variiert, dennoch kommen sie sehr schnell zum Ziel.

Übersetzen3

Übersetzen3

Das sind nur einige Anwendungsbeispiele für die  vielfältigen Möglichkeiten von Ubiquity. Auf der Entwicker-Webseite ist auch ein Beispielvideo zu finden. Eine Übersicht der Befehle, die eingebunden werden können gibts hier. Das Plugin ist noch in der Frühphase der Entwicklung, dennoch existieren schon eine Reihe von nützlichen Befehlen und es verhält sich relativ stabil.

Nova Spivacks Definition des Semantic Web

Posted by Christian On März - 13 - 2009

Nova Spivack ist der Gründer und CEO von Radarnetworks. Das Hauptprodukt dieses Unternehmens ist www.twine.com. Twine ist ein soziales Netzwerk, welches seinen Mitgliedern eine RDF-basierte Form des Informationsmanagements (Organisation, Verteilung und Suche ) bietet. Obwohl niemand genau die Zukunft des Internets voraussagen kann, ist es sehr wahrscheinlich, dass soziale Netzwerke und neue Formen der Informationssuche eine große Rolle spielen werden.


Nova Spivack at The Next Web Conference 2008 from Boris Veldhuijzen van Zanten on Vimeo

Blogverzeichnis - Blog Verzeichnis bloggerei.de   Blogverzeichnis   Blog and ping   Blog Top Liste - by TopBlogs.de   Bloggeramt.de   Blog Directory   powered by rankingcloud   Internet Multimedia blogs & blog posts  
blog search directory   Blogverzeichnis   Blog Directory   Blog Verzeichnis   Blog Directory   Technology Blogs - Blog Rankings   blogoscoop  

Clicky