Technik, Gothic und Anderes

Technik ist Spiel, Gothic ist ernst und Zeit hat man zuviel

  • Kategorien

  • Tags

  • Archiv

  • Links

    zu Bee5

    blog.oncode.info läuft bei Cyon und ich bin sehr glücklich damit.

PHP Funktionstests aus Netbeans mit Selenium

Geschrieben von skaldrom am 12. Dezember 2010

SeleniumIch hab da so ein Projekt, dass ich schon mehr als ein Jahr vor mir herschiebe: Eine Überarbeitung und Erweiterung einer bestehenden PHP-Applikation. Sie läuft eigentlich super, das Pflichtenheft ist gut und alle sind glücklich. Leider hat sich die “Erweiterung” als Operation am Herzen herausgestellt. Der ursprüngliche Cöder hat eine ziemlich komplexe Struktur erarbeitet, in der er sich selbst ab und zu verheddert hat. Das bedeutet, dass zuerst ganz hässliche Strukturbugs als solche identifiziert und gefixt werden mussten. Im Zuge dieser Operation habe ich so ziemlich jeden Teil der Software berührt, beflucht und daran herumgewurschtelt.

Um etwas Sicherheit und Stabilität in die Sache zu bringen hätte ich gerne Unit Tests gehabt. Bei diesem Kludge sind aber so viele Komponenten beteiligt, dass es nicht so einfach klappt. Der Hammer musste eine Nummer grösser gewählt werden: Selenium.

Mit Selenium verbindet mich eine unerwiderte Liebe. Immer wieder versuche ich an das Tool heranzukommen, immer wieder scheitere ich irgendwie weil ich abgewiesen werde. So auch zu Beginn dieses Anlaufs: Die Funktionstests laufen (vielleicht), finden es aber unangebracht sich irgendwie zu melden. Die Doku ist gut, aber nirgends wird ein Überblick vermittelt und man muss die fragilen Einzelteile mit gutem Zureden zueinander bringen.

Lesen Sie den Rest des Beitrags »

Eingeordnet in Webapplikationen | 3 Kommentare »

Archos 101: Ein geiles Gerät

Geschrieben von skaldrom am 25. November 2010

BackblechAls ich das erste Mal ein Slate gesehen habe, hat es mich irgendwie arg unberührt gelassen. Das zweite Mal, als mir dann ein solches Backblech im Einsatz gezeigt wurde, war ich hin und weg: Bücher lesen im Bus (ohne einen Rückenschaden vom Tragen zu kriegen), Abends im Bett surfen (ohne einen Augenschaden zu kriegen) während das Bad belegt ist, mit den Kindern auf langen Fahrten Filmchen kuckn und eine neue Enwicklungs-Herausforderung, sogar mit Aussicht auf monetäre Entlöhnung. Dieses Gerät hätte auch Potential meine Termine und Todos so zu verwalten, dass ich nicht jedesmal booten oder abschreiben muss wenn ich versuche Ordnung ins Chaos zu bringen.

Zuerst habe ich mit dem Gedanken an ein iPad gespielt. ObjectC war mir grundsätzlich nicht sehr sympathisch, und als ich herausgefunden habe, dass man trotz eingebautem 3/4g keine SMSsen direkt senden und empfangen kann, habe ich den Gedanken ein solches Teil zu kaufen verworfen. Mein Lieblingsspruch seitdem an diejenigen, die mir ein iPad schmackhaft machen wollen: “Schick mir doch die Vorteile per SMS.”….

Die nächste Wahl war ein Android Gerät: Es gibt so viele, allerdings nicht richtig physikalisch zum Kaufen. Ich Glücklicher habe einen der ersten Archos 101en erwischt, der in die Schweiz geliefert wurde. 10 Zoll Diagonale, Android 2.1 (Update auf 2.2 “im November”), 256 MB RAM (etwas wenig) und 16 GB Speicher (+16 GB auf SDRAM). Und: Er ist cool! Hatte schon überlegt, ob ich eine Suchanfrage in Kleinanzeigen im Internet aufgeben sollte, um das Archos 101 zu ergattern. Naja, hat sich nun erledigt.

Unboxing

Das Unboxing war von vorweihnachtlichen Gefühlen geprägt:

Das Paket

So ist er angekommen

Lesen Sie den Rest des Beitrags »

Eingeordnet in Hardware | 13 Kommentare »

Handlicher upnp Medienserver für Linux

Geschrieben von skaldrom am 18. November 2010

wirelessNachdem der 10 Jahre alte Röhrenfernseher beim gemütlichen Fernsehabend mittlerweile lauter geknurrt hatte als mein Magen, wurde ich freundlich aber energisch davon überzeugt, dass eine Neuanschaffung notwendig wäre. Aus Mitleid mit meinem Rücken habe ich mich noch etwas gesträubt, bis ich von den Gratislieferungen der Geschäfte gehört habe. Das Entsorgen der alten “Tube” hat sich als schwieriger herausgestellt als die Neulieferung, es hat sich in einigen Läden sogar echt als Chefsache erwiesen und wäre uns fast halb so teuer zu stehen gekommen wie das Neugerät. Wir liessen uns nicht entmutigen, haben weitergesucht und sind tatsächlich fündig geworden.

Ein Riesendings wurde uns gezeigt, mit ganz vielen Lämpchen, Schaltern, Anschlüssen, Blings und Sodongs beim Einschalten und als der Verkäufer WLAN-Ready erwähnt hatte, war das Ding gekauft: Ein Sony EX5 Bravia, der mittels Stick (UWA-BR100) um WLAN-Fähigkeiten erweitert werden kann. Die Metamorphose ist im vollen Gange: Computer nähern sich dem Fernseher an, die Fernseher werden immer mehr zu Computern. Nach kurzem – aber heftigem – Gefluche hat der TV über mein WLAN Kontakt aufgenommen und nun können Filmchen, Bildchen und Musikchen über das Internet angesehen werden. Ohne zu murren spielte er auch Filme ab der USB-Festplatte, aber so ganz zufrieden war ich nicht: Ich will ein richtiger Couch-Potatoe sein und nicht mal ein Stick herumtragen müssen. Die Nullen und Einen sollen – engelsgleich – durch die Luft fliegen, bevor sie mich auf dem Bildschirm erfreuen.

So einfach sftp oder Ähnliches war nicht möglich, nur der Menüpunkt “Medienserver” stand zur Verfügung. Etwas Recherche ergab, dass dieser Server ein upnp-dlna-Server sein muss. Für Linux habe ich zuerst ushare ausprobiert. Es ist klein und handlich, wird vom TV erkannt, aber er mag es nicht. Auch Media Tomb wird von Bravia leider nicht geliebt. Schlussendlich bin ich auf minidlna gestossen und bin begeistert: Einfach, knackig und tut was es soll. Leider ist es nicht im offiziellen Ubuntu-Repository vorhanden, kann aber mittels Anleitung ganz einfach installiert werden.

Nicht nur mein TV mag das minidlna, auch mein Tab (später mehr :) ) und andere Geräte sind ganz wild darauf. So machts echt Spass.

Kleine Ergänzungen:
Es gibt viele Threads zu minidlna, Ubuntu und streaming ganz allgemein. Für die Sonys hilft dieser ziemlich gut.

  • Sollte minidlna die Inhalte nicht neu indizieren, hilft es, das Verzeichnis /tmp/minidlna zu löschen.
  • Die Videodateien müssen ein ganz spezielles Format haben:
    • In diesem Blogbeitrag ist erklärt wie (inklusive ffmpg Skript). Das Skript (in Groovy) gibt es auch hier lokal.
    • Für Banausen wie mich, denen es nicht auf das Pixel ankommt, geht auch: ffmpeg -i film.avi -target film-dvd -s 1920x1080 film.mpg

Eingeordnet in Linux | Keine Kommentare »

Programmierwettbewerbe: Zeit sollte man haben

Geschrieben von skaldrom am 28. Oktober 2010

thinkingLeider kann ich mangels Zeit beim Google AI-Contest nicht mitmachen :(. Und ich habe mich schon so gefreut. Naja, ich hoffe, es gibt einen Nächsten.

Sehr interessant ist der Verlauf des Wettbewerbs des Linux-Magazins. Alles ging gut bis zum Abgabetermin am 12. September 2010. Ab dann war der Wurm drin: Die versprochenen Bestätigungsmails an die Teilnehmer sind nie eingetroffen und der Organisator ist “abgetaucht”. Die Wettbewerbsteilnehmer haben viel Geduld gezeigt, das Wiki regelmässig von Spam gereinigt und abgewartet.

Nachdem die ersten unangenehmen Fragen aufgetaucht sind, hat sich die Organisation gemeldet und verkündet, dass ein Bericht in der Novemberausgabe des Magazins erscheinen wird. Das ist er dann auch, aber mehr ist bis jetzt nicht passiert. Der Unmut wird immer grösser, vor allem nachdem eine Teilnehmerliste veröffentlicht wurde, auf der einige Bots fehlen. Leider gibt es weiterhin nur spärlich Neuigkeiten. Eine Community ist ein Dialog: Wird er vom Organisator nicht geführt, führt ihn die Community alleine.

Wir sind hier organisatorisch mit einem ähnlichen Problem konfrontiert: Programme in vielen Programmiersprachen werden abgegeben und müssen von uns bewertet werden. Auch ein kleiner Mehraufwand pro einzelner Lösung summiert sich schlussendlich zu sehr viel Zeit. Das Einzige, das hilft, ist Denken im Voraus. Klare Richtlinien und Regeln, sonst wird der Aufwand unüberschaubar riesig. Es gibt Beispiele von erfolgreich durchgeführten Wettbewerben: Avaloqix wurde life durchgeführt mit Anwesenden, der Google AI-Contest oder die alten Codezone (Microsoft) Wettbewerbe haben ebenfalls gezeigt, wie es gehen könnte. Ich möchte den Organisatoren vom Linux-Magazin nicht in die Suppe spucken, und wenn sie die Durchführung noch hinkriegen, haben sie meinen grössten Respekt und viel gearbeitet, aber irgendwie war es ein Schnellschuss.

So ganz per Zufall habe ich noch eine nette Sache entdeckt: Das Freie Magazin führt ebenfalls einen sehr interessanten Wettbewerb durch. Tip: Das LIESMICH im Download lesen :)….

Eingeordnet in Theorie und Schnipsel | Keine Kommentare »

Jetzt macht auch Google noch ein Programmierwettbewerb

Geschrieben von skaldrom am 6. September 2010

Ich habe mich schon gefreut: Der Würfler zum Linux-Magazin-Wettbewerb ist fertiggestellt und eigentlich bereit zum Einsenden. Etwas enttäuscht habe ich festgestellt, dass das Problem akademisch gelöst und der optimale Spieler bekannt ist. Nun, der Thrill der noch bleibt ist, dass bei nur 100 Spielen auf 50 Punkte der Zufall eine seeeehr grosse Rolle spielt.

Doch zu früh gefreut, jetzt kommt das: Die Google AI-Challenge. Man kann nicht mal was gewinnen, aber das Spiel ist unglaublich genial: Es geht darum, Planeten zu erobern:

Es gibt jetzt schon Starter-Packages für verschiedene Sprachen und das System ist ziemlich offen (für unsere Shell-Krieger :) ). Ab dem 10.09.2010 kann man sich dann offiziell eintragen und losranken.

Eingeordnet in Applikationen, Theorie und Schnipsel | 3 Kommentare »

Ein Programmierwettbewerb vom Linux Magazin

Geschrieben von skaldrom am 10. August 2010

Nachtrag vom 19.08.2010: Ich wurde Opfer von “mod_security”, damit konnte ich keine Artikel mehr editieren, weil ich immer ein “404 Not Found” präsentiert bekommen habe. DAS ist doch ein Heuler…

Nun, ich habe eine neue Version des Clients unten hingehäng: Stabiler, so dass er auch eine ganze Nacht über viele Stunden und Verbindungsprobleme hinweg weiterspielt.

WuerfelOh nein. Frisch erkältet wollte ich mich auf die Arbeiten stürzen, die eigentlich schon letztes Jahr hätten erledigt sein müssen, und nun das: Das Linux-Magazin veranstaltet einen Wettbewerb für Programmierer! Die Details sind in der Ausgabe 09/10 (auch online) beschrieben und es gibt eine Wettbewerbs-Seite dazu.

Grundsätzlich geht es darum, dass zwei Programme gegeneinander würfeln. Wer zuerst 50 Punkte oder mehr erreicht, hat gewonnen. Ist man am Zuge, so kann man entweder Würfeln oder “Save”n. Bei einem Wurf werden die Augen zu der eigenen Punktzahl hinzugezählt, ausser man würfelt eine 6, dann werden alle Punkte seit dem letzten Save wieder abgezogen. Bei einem Save werden die Punkte gespeichert und der Gegner ist am Zuge.
Lesen Sie den Rest des Beitrags »

Eingeordnet in Applikationen, Theorie und Schnipsel | 4 Kommentare »

Automatischer Spell-Check in KMail

Geschrieben von skaldrom am 28. Juni 2010

Als Ortogravieh-Experte bin ich sehr froh für die roten Linien unter den falsch geschriebenen Wörtern, man will ja nicht schon beim ersten Mail den Eindruck eines Dorftrottels hinterlassen :). Leider schaltet sich diese sehr nützliche Funktion bei KMail immer mal wieder aus.

Was bisher geholfen hat:

  • Folgende Pakete müssen installiert werden:
    • spell
    • ispell
    • Lokale Dictionaries: ingerman, inswiss, …
  • Global muss folgendes Häckchen gesetzt sein: SystemeinstellungenLand/Region & SpracheRechtschreibprüfungAutomatische Rechtschreibprüfung in der Voreinstellung aktiviert
  • Das Standardwörterbuch (Default-Dictionary) muss man in der Identität einstellen: KMail → Einstellungen… → Identitäten → Ändern → Erweitert.
  • Beim Schreiben einer Mail muss unten rechts Rechteschreibprüfung: ein stehen.
  • Das aktuelle Wörterbuch kann angezeigt werden bei Ansicht → Wörterbuch.

Eingeordnet in Desktop | 2 Kommentare »

Blitz ohne Donner, Flash ohne Sound

Geschrieben von skaldrom am 21. Juni 2010

Linux ist ja nicht mehr Lustig. Früher war man froh und stolz über jede Taste die funktioniert hat, heute muss man sich ganz andere Gründe zum Saufen suchen. Doch nun habe ich wieder einen Nachmittag verbracht um das zu erreichen, was unter Windows schon lange läuft und ich bin unglaublich stolz darauf *lach*.

Wie eine Seuche hat es in meinem kleinen Rechenzentrum um sich gegriffen: Eine Computerine nach der Anderen verweigerte den Sound zu Flash Videos. Ich selbst schaue mangels Multitasking eh nur ohne Ton, aber Frauen und Kinder möchten schon die volle Dröhnung. Nach den typischen “Jaja”s und “reboot mal”s (das tun sie nicht, und so kann man sich wunderbar drücken) wurde die Opposition zu gross und ich habe mich hingesetzt. Schnell habe ich gemerkt, dass ich nicht der Einzige mit dem Problem bin, und die Lösungen sind vielfältig und unterschiedlich.

Hier einen kleinen Ablauf, der anderen gequälten Machmals das Leben vielleicht erleichtert.
Lesen Sie den Rest des Beitrags »

Eingeordnet in Linux | Keine Kommentare »

Bookmarklets: Kleine Helferlein

Geschrieben von skaldrom am 15. Dezember 2009

bookmarkBookmarklets sind eigentlich ganz normale Links, die aber Javascript beinhalten. Sie können aus einer beliebigen Website direkt an den bevorzugten Bookmark-Ort (Toolbar, Menü, Sidebar, …) gezogen und verwendet werden. Die Idee ist so einfach und genial, dass es schon grosse Verzeichnisse für sie gibt. Da sie in Javascript programmiert sind, kann man auch den Quellcode direkt ansehen und für sich anpassen.

Beispiele sind:

  • Das auf der aktuellen Seite markierte Wort nachschlagen, übersetzen, auf der ganzen Seite markieren, …
  • Seitendaten (Bilder, Links, Texte) oder -metadaten (Frische, Grösse, …) auslesen.
  • Seite verändern: (Schrift, Farbe, …)

Hier ein Trivialbeispiel: ddo.com ist ein MMPORG, das den Service “my.ddo.com” anbietet. Dort können Detaildaten über die Charakteren der Spieler abgerufen werden indem eine spezielle URL nach dem Schema http://my.ddo.com/character/welt/name/ zusammengestellt wird. Das erste Bookmarklet nimmt vom Benutzer Welt und Name entgegen und ruft die entsprechende URL auf (Test: Senthessel auf Ghallanda):

<a href="javascript:void(Tn=prompt('Toon name:',''));void(Sr=prompt('Server:',''));if(Tn && Sr) location.href='http://my.ddo.com/character/'+escape(Sr.toLowerCase())+'/'+escape(Tn.toLowerCase())+'/'">Suche DDO-Toon</a>

Es ist voll bookmarkfähig und sieht folgendermassen aus: Suche DDO-Toon.

Ein zweites Bookmarklet sucht auf einer bestimmten Welt und nimmt als Namen entweder den auf einer Webseite markierten Text oder die Eingabe in einem Dialog:

<a href="javascript:Tn=document.getSelection();if(!Tn){void(Tn=prompt('Toon name:',''))};if(Tn) location.href='http://my.ddo.com/character/ghallanda/'+escape(Tn.toLowerCase())+'/'">Search DDO-Toon On Ghallanda</a>

Beispiel: Search DDO-Toon On Ghallanda

Folgendes Bookmarklet sucht ein entsprechendes Ausbildungsmodul von I-CH (Quelltext anzeigen für die Source ;) ): Modulsuche auf I-CH

Am besten nimmt man ein bestehendes Bookmarklet und passt es auf seine Bedürfnisse an.


Hier eine Liste der kompletten DDO-Bookmarklets:

Eingeordnet in Web | 1 Kommentar »

Zeitintervalle (Erledigungsfristen) in PHP

Geschrieben von skaldrom am 13. Dezember 2009

timeIch bin wiedereinmal am Coden und irgendwie scheine ich mit fortschreitendem Alter auf immer mehr ungelöste Probleme zu treffen. In der aktuellen Applikation geht es darum, dass Erledigungsfristen als Intervalle eingegeben werden können: Beispielsweise muss eine Aufgabe immer in 2 Monaten, 1 Woche und 4 Sekunden nach dem Erfassen erledigt sein. Daraus ergeben sich ein Strauss an Problemen (oder ein Problemkorb, wie man neuerdings zu sagen scheint. Was für eine schreckliche Vorstellung, nur FRÜCHTE-Körbe finde ich noch abschreckender):

  • Jemand muss die Aufgabe erledigen. Zum Glück ist das ein PAL (Problem anderer Leute) :) .
  • “In einem Monat” und “In einem Jahr” kann nicht trivial in Sekunden umgerechnet werden. Irgendein Soziopath hat mal bestimmt, dass nicht alle Monate und Jahre die gleiche Anzahl Tage haben. Ganz zu schweigen von Schaltsekunden und Sommer-/Winterzeit.
  • Aus hier zu verschweigenden Gründen habe ich weder Lust noch Zeit ein GUI mit 7 Textfeldern für Jahre, Monate, Wochen, Tage, Stunden, Minuten und Sekunden aufzubauen.

Ich habe mich für ein simples Eingabefeld entschieden, in denen das Erledigungsintervall in der Form “Zahl Zeitbezeichner Zahl Zeitbezeichner …” eingegeben werden kann. In obigem Beispiel wäre das: “2m 1w 4s“.

Lesen Sie den Rest des Beitrags »

Eingeordnet in Theorie und Schnipsel | 2 Kommentare »