Dieses Posting stellt einen weiteren Test der Anbindung von WordPress in Facebook und umgekehrt dar.
Archiv der Kategorie: Hacking
Testartikel WP Connect
Das ist nur ein technischer Test. Hier gibt es nichts zu sehen.
Rootserver absichern: SSH
Ein SSH-Zugang ist für die Administration des Servers unerlässlich. Gleichzeitig bedeutet ein unsicherer Zugriff die größte Gefahr. Natürlich kann man argumentieren, dass mit einem sicheren Passwort schon sehr viel getan ist, hier soll noch ein wenig darüber hinaus getan werden.
Rootserver: Basissystem in einer VirtualBox
Was die Distribution angeht habe ich mich für Ubuntu Server 8.04 entschieden. Ich arbeite am Desktop schon länger mit Ubuntu, und habe auch sonst meist mit Debian-basierten Systemen zu tun gehabt. Mit Suse oder CentOS komme ich zwar auch klar, aber so richtig warm geworden bin ich mit denen nie. Der Longterm-Support von Canonical ist von persönlichen Präferenzen abgesehen aber auch ein wichtiges Argument.
Als virtuelle Maschine verwende ich die kostenlose VirtualBox 2.1. Mit dieser Version wurde zu VMware weiter aufgeholt, insbesondere ist die Netzwerk-Konfiguration bedeutend einfacher geworden.
Projekt Rootserver
Um aktuelle wie zukünftige Projekte endlich unter einem Hut hosten zu können, habe ich schon länger mit einem neuen Linux-Rootserver geliebäugelt.
Der Server soll mir – was sonst – als eierlegende Wollmilchsau dienen:
log4j und JMX-Maven-Dependencies
Ohne besonderen Grund und wie sich schnell herausstellte auch eher unbedarft änderte ich gerade in meiner pom.xml die verwendete log4j-Version von 1.2.14 auf 1.2.15. Keine große Sache sollte man meinen, doch bei der Aktualisierung des Projektes fielen mir dann schon die Fehlermeldungen auf:
[WARNING] An error occurred during dependency resolution.
Failed to retrieve com.sun.jmx:jmxri-1.2.1
Caused by: Unable to download the artifact from any repository
Try downloading the file manually from the project website.
Eclipse monierte dann auch prompt einen fehlerhaften Build Path. Offenbar hatten sich da einige Abhängigkeiten geändert. Warum das so ist, ist mir nicht klar – im Changelog findet sich da nichts erhellendes. JMX-Unterstützung scheint es schon länger zu geben.
Ärgerlich ist halt, dass diese Abhängigkeit in keinem meiner vier Repositories gefunden wurde. Und Bibliotheken manuell in seine lokale Sammlung aufzunehmen ist sehr nervig, vor allem wenn man eigentlich gar nicht weiß, wozu das ganze. Ist mir aber mit Sun-Bibliotheken schon öfter passiert.
Auf der Suche nach einer besseren Lösung lud ich mir erst mal log4j direkt herunter, und analysierte dessen pom.xml. Daraus wurde ersichtlich, dass es ein Maven Repository auf java.net gibt, was mir bisher nicht bekannt war. Da finden sich zwar nicht die vermissten JMX-Bibliotheken, aber offenbar alle sonstigen Sun-Bibliotheken, die in den Open-Source-Repositories immer fehlen. Tollerweise funktioniert nicht mal ein mvn install mit dem heruntergeladenem log4j tarball.
Einziger Ausweg für mich aus dieser JAR-Hölle: wieder zurück zu 1.2.14. Ich werde nichts vermissen, außer der Zeit, die mir diese eigentlich kleine Änderung gestohlen hat.
Howto: Wie man die Reichweite seines Newsletters reduziert
- Man biete einen Newsletter an, z.B. den von Dr. Web.
- Als Absender stellt man eine feste Adresse ein, z.B. bmail (at) drweb (punkt) de. Die Empfänger können so in ihrem Mailprogramm einen entsprechenden Filter einrichten, der meinetwegen alle Newsletter in einen gemeinsamen Ordner verschiebt.
- Warten, bis man ganz viele Abonnenten hat.
- Nun ändert man diese Absendeadresse, z.B. auf bmail (at) drwebnewsletter (punkt) de. Geschafft! Der Filter greift nicht mehr. Entweder landet der Newsletter jetzt direkt im Spam, oder man hat einen Abonnenten verärgert, da der Newsletter ungefiltert im Posteingang landet.
Man sieht, auch Webwork-Spezialisten machen nicht immer alles richtig. Ich habe meinen Filter jedenfalls angepasst – ist ja doch meistens interessant, was der Onkel Doktor so zu schreiben hat. Und nach fast 10 Jahren entwickelt sich auch zu einem Newsletter eine gewisse Treue.
Update: mittlerweile wurde der Dr. Web Newsletter komplett eingestellt. Schade darum, ich hatte ihn immer gern gelesen, und das von fast Anfang an. Zum Glück gibt es noch ein Archiv und als Alternative ja schon länger das Weblog.
Ubuntu – Neuer Versuch
Am Donnerstag erschien die neueste Version 7.04 Feisty Fawn der freien Linux-Distribution Ubuntu. Nachdem ich vor zwei Jahren bereits einmal komplett auf Ubuntu umgestiegen war (mit dem ergrautem Igel), und seitdem jede Version zumindest mal ausprobiert habe, bin ich mal wieder so weit für einen Neuversuch. Gestern lief auf Arte auch noch der Film "Die Silicon Valley Story", der jedem anständigen Menschen die Lust auf Windows oder Mac vergällen kann. Windows XP kam ja vor einem Jahr mit dem neuen PC, und verrichtet seitdem seine Arbeit mehr oder weniger gut, im großen und ganzen jedenfalls zufriedenstellend. Aber ein neues, modernes OS wäre schon mal was feines. Vista habe ich mit der RC1 auch noch parallel drauf; das hat mir zwar besser gefallen als erwartet, aber auch nicht wirklich begeistert. Da diese Version ab Juni nicht mehr funktionieren wird, kann die Partition auch für den Datenaustausch mit Linux genutzt werden. Meine Ansprüche an Ubuntu sind eigentlich recht klar:
- Meine vorhandene Hardware soll vollständig genutzt werden können. Also zwei Bildschirme, alle Maustasten, Multimediatasten, Scanner, Drucker, Handy etc.
- Ich will am besten nie zurück nach Windows booten müssen, weil es irgendeine Software für Linux nicht gibt, oder die vorhandenen Alternativen nicht gut genug sind.
- Meine E-Mails und sonstigen Daten sollen hinübergerettet werden.
- Die Oberfläche soll modern sein. Also angenehme Farben, sinnvolle 3D-Effekte, Sidebar und Widgets.
Mit ist klar, dass das alles nicht supereinfach wird. Ich bin da durchaus geduldig. Aber klar, je mehr davon out-of-the-box läuft, desto besser. Gerade die ersten beiden Punkte konnte mir aber Vista zum Beispiel nicht erfüllen.
NullPointerException by NamedQuery using Hibernate JPA
I just got a weird NullPointerException using Hibernate JPA. When creating my EntityManagerFactory, the usual logging started to appear and finished in stacktrace containing this:
Exception in thread "main" java.lang.NullPointerException
at org.hibernate.hql.ast.ParameterTranslationsImpl.getNamedParameterExpectedType(ParameterTranslationsImpl.java:63)
at org.hibernate.engine.query.HQLQueryPlan.buildParameterMetadata(HQLQueryPlan.java:296)
at org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:97)
at org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:56)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
at org.hibernate.impl.SessionFactoryImpl.checkNamedQueries(SessionFactoryImpl.java:400)
at org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:351)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1218)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:691)
I could root it down to a NamedQuery in one of my Entites; when commenting it out, the creation went through fine. The Query definition looked like this:
@NamedQuery(
name = "User.find",
query = "SELECT user FROM User user WHERE user.id =: id"
)
Extreme Video Plugin Patch
On this site, I’m using Ross Gerbasi’s Extreme Video Plugin for WordPress. It is working, but has some limitations, and more recently a display bug with YouTube appeared, as YouTube changed their video player. Ross doesn’t seem to have the time to fix these, so I did some patches to the code, and can provide you an updated download.
Web-Harvest Web extraction tool released
With Web-Harvest you can parse data from web sites and collect them in a common format. All of this is highly configurable via XML files, and therefore usable for all kinds of meta-crawling web applications. Best of all, it’s licensed under BSD License.
Beste MP3-Jukebox-Software
amaroK ist einfach großartig:
- Indiziert die Musiksammlung in einer flotten Datenbank (SQLite, MySQL oder PostgreSQL)
- Lädt fehlende CD-Cover automatisch oder über eine sehr einfache Oberfläche bei Amazon herunter
- Ist durch Plugins stark erweiterbar (u.a. auch eine Firefox-Extension, um den Player via Netzwerk zu steuern)
- Läuft via Live-CD auf jedem PC, sogar ohne Festplatte
- Läuft ansonsten auf den meisten Linux-Distributionen, vorzugsweise unter KDE
- Kann alles, was man sonst so von einer Jukebox-Software erwartet
Besonders gelungen sind die Dynamischen Playlisten. Nachdem ich aus meinen “noch nie gespielten Alben” eines von Steve Von Till ausgesucht hatte, hörte die Musik nicht einfach an dessen Ende auf, sondern wurde via last.fm und eigenen Bewertungen mit Titeln von Grails, Neurosis und Cult of Luna aufgefüllt. Das Netzwerk hat entschieden, welche Musik ich hören werde, und die Entscheidung war gut. Wenn ein Lied mal nicht gefällt, kann man natürlich skippen, was sich auch gleich in der Bewertung des Stücks niederschlägt.
Was dabei am Ende herauskommt, könnte ihr rechts in der Blog-Sidebar live observieren (Ajax-powered).