Markers für OpenStreetMap-Karten mit OpenLayers

Google hat die Lizenzbedingungen für die Verwendung der Maps-API angepasst und damit muss man jetzt eventuell für den Dienst zahlen (siehe auch Heise FAQ). Zum Glück gibt es ja das OpenStreetMap-Projekt (OSM), das eine kostenfreie Alternative bietet und jetzt sicherlich noch größere Verbreitung findet.

Viele Freiwillige sammeln für OSM weltweit Daten (z.B.: Straßenverläufe, Fahrradwege, Restaurants, Postkästen) und die erstellten OSM-Karten kann jeder für eigene Zwecke nutzen. OpenStreetMap liefert beispielsweise unter der Adresse http://a.tile.openstreetmap.org/8/134/83.png die folgende vorgefertigte, statische Karte aus:
Wenn wir allerdings wie mit Google Maps innerhalb einer Karte navigieren wollen, benötigen wir für unsere Webseite eine spezielle JavaScript-Bibliothek. Diese muss allerhand Aufgaben erledigen: Navigationselemente anzeigen, passende Karten-Bilder anfordern, diese Karten korrekt anzeigen und zusätzliche vom Benutzer festzulegende Elemente, wie Marker, darstellen. OpenLayers ist momentan die Standard-Bibliothek für diesen Einsatzzweck und wer OpenLayers mal einsetzen möchte, sollte sich einfach mal dessen zahlreichen Beispiele ansehen.
Weiterlesen

Advertisements

Daten von Webseiten scrapen mit ScraperWiki

ScraperWiki ist ein Internetdienst, der Daten aus verschiedenen Quellen des Internets zusammenführt. Dabei betonen die Macher von ScraperWiki den kollaborativen Charakter ihres Dienstes. Ein Journalist kann beispielsweise eine Anfrage stellen, dass er bestimmte Daten für einen Artikel benötigt, die so zusammengeführt im Internet nicht verfügbar sind. Programmierer können sich dieser Anfrage widmen und ein entsprechendes Scraper erstellen, das die Daten von verschiedenen Webseiten scrapt und zusammenführt. Zusätzlich bietet ScraperWiki Visualisierungen, sogenannte Views, für die Daten an.

Der Programmierer wählt für das Erstellen eines Scrapers zwischen den Programmiersprachen Python, PHP, Ruby und neuerdings auch JavaScript. Die gesammelten Daten werden in einer Datenbank gespeichert und können als CSV, JSON oder SQLite Datenbank heruntergeladen werden. Zusätzlich bietet ScraperWiki eine Abfrage-API per HTTP. Die Abfrage lässt sich per SQL ausdrücken und die Daten stehen dann in verschiedenen Formaten zur Verfügung, wie JSON, CSV, HTML-Tabelle und RSS. Damit die Daten in der Datenbank aktuell bleiben, kann man bei ScraperWiki mit einem Timer festlegen, wie oft das Scraping der Daten durchgeführt werden soll.


Weiterlesen

WiQuery – hübsche Widgets mit Wicket

Viele Java-Entwickler im Web-Umfeld kennen wahrscheinlich das Problem, mit wenig Aufwand soll eine einfache aber auch hübsche Webanwendung erstellt werden.

Während man mit ein bisschen Wicket-Erfahrung schnell die notwendige Logik auf und zwischen den Webseiten programmiert hat, ist ein nettes Design nicht ganz so einfach zu erreichen. Natürlich möchten wir gerne diese Wohlfühl-Atmosphäre schaffen: abgestimmte Farben, weiche Farbverläufe, runde Ecken und schicke Effekte. Und diese stylischen Web2.0-Widgets wären ja auch toll: Autocompletion, Datepicker, Dialog, Accordion, Tabs, Slider, Progressbar…

Mit einer passenden JavaScript-Bibliothek kommen wir unserem Ziel auf jeden Fall näher. Hier mal einige Demos zu den verbreitesten Bibliotheken: JQuery-UI, Dojo, YUI, MooTools. Das Einbinden der vielen hübschen Widgets mit einer JavaScript-Bibliothek hat für Java-Entwickler den Nachteil, dass die Komplexität der Webanwendung erheblich steigt. Am liebsten würden die meisten Java-Entwickler natürlich alles mit Java-Code umsetzen (à la Swing) und müssen sich bei Wicket schon mit der Trennung von Java-Code und HTML-Code auseinandersetzen. Jetzt kommt auch noch JavaScript- und CSS-Code dazu.

Weiterlesen

RHoK-Berlin – Gutes in 32h programmieren

Am Wochenende habe ich meine norddeutsche Heimat verlassen, um am RHoK in Berlin teilzunehmen. RHoK (Random Hacks of Kindness – Programmieren für die Menschlichkeit) steht für ein Event, bei dem sich Menschen in vielen Städten der Welt (RHoK Around the World) treffen, um gemeinsam innerhalb von 32h Software für den guten Zweck zu entwickeln. Per Video-Lifestream war immer ein Blick möglich, wie am anderen Ende der Welt gerhokt wurde.

In Berlin wurden wir nach der Ankunft super versorgt: hübsches RHoK-Tshirt, schönes Frühstück (für gute Verpflegung war eh stets gesorgt),  nette Location (Betahaus), cooler Hintergrundsound und genügend Hacker-Brause (Club-Mate). Wir waren etwa 60 Teilnehmer und konnten uns aus den vielen Problemen etwas aussuchen – alle unsere Probleme und Lösungen habe ich unten aufgelistet.

Das Problem A Real-World „Like“ for Campaigning and Advocacy haben wir dann mit sieben Leuten verfolgt: Problem verstehen, Aufgabenaufteilung, Technologie bestimmen, (Programmieren & Designen & Abstimmung & Essen & Trinken) immer wieder, ab 3 Uhr nachts schlafen oder Kartenspielen oder XBox spielen, sonntags weiterarbeiten, Projekt dokumentieren, Abgabe der Aufgabe. Das Ganze hat wirklich Spaß gemacht – danke an das super Team, danke an die Organisatoren, danke für super Lösungen, danke an alle.

RHoK-Siegerehrung

Goldene RHoK-Tshirts und schöne Preise

Weiterlesen

JiffyBox mit Apache über neue Domain nutzen

Für ein Projekt benötige ich einen Ubuntu-Server mit Apache, der über eine Top-Level-Domain erreichbar sein soll. Normalerweise hätte ich den bei einem der üblichen Webhoster bestellt, aber ein Bekannter meinte: „Nimm dir doch lieber einen Cloud-Anbieter – wie Amazon. Damit bist du doch viel flexibler !“.  Also habe ich mal ein bisschen gesucht und bin auf die JiffyBox (CloudServer On Demand) von domainFACTORY gestoßen. Genau das Richtige für mich:

  • keine festen monatlichen Kosten, sondern bedarfsgerechte Abrechnungen
  • günstigstes Angebot mit 1 GB Arbeitsspeicher und 50 GB Festplatte für 0,02 Euro pro Stunde (weniger als 15 Euro pro Monat)
  • keine langfristigen Vertragsbindungen
  • einfaches Erstellen, Sichern, Duplizieren, Einfrieren und Löschen von JiffyBoxen
  • Datencenter in Deutschland – Amazon scheidet für mich aus datenschutzrechtlichen Gründen aus

Weiterlesen