Kategorie-Archiv: Computer

Rund um den Computer

Spracheingabe bei Vista

Was wohl nicht den Text von ist Einladungen

Ist sehr geehrte Damen feierte 1 Uhr, Aachen

Bitte kommen sie haben in den ersten Zwote und einen um 9.03 Uhr sehen in die Sinn machen große Wellen 2028 a.

Ist ich möchte mit Ihnen über ihren aber angeboten in die und weisen ihre berufliche Situation sprechen.

Th mit freundlichen Grüßen mit freundlichen Grüßen

Ihrer Agentur verarbeiten

En dieses Schreiben wurde mithilfe einer elektronischen Datenverarbeitungsanlage sachlichen und ist deshalb nicht unterschrieben. Für seine Rechtswirksamkeit des die Unterschrift nicht erfahren durften suchen wir brauchen nicht mehr zu hören seien Sinn machen Hosen nicht mehr zu hören nicht mehr zu hören und meinen nannten wir haben einen hohen Wänden Behinderten gen Süden en NLAAAA diese will diesen Gedanken finden einen in Form und en nicht mehr zuhören den Weg zu hören wir ahnten 73 auch loading inzwischen nicht mehr zu hören ist Müllhalden Bühler A würden einen Wahlen in Rouen lächelnden sachlichen Vereinten Linken und Rechten ihnen

eclipse löscht “entries” und “all-wcprops”

Heute mal aus der Welt der Programmierer: eclipse löscht die Dateien “entries” und “all-wcprops” im obersten Ordner von Web-Projekten. Schuld daran ist die JavaScript-Natur von Web-Projekten. Abhilfe: die Datei “.project” öffnen und die Einträge mit folgendem Inhalt löschen:

org.eclipse.wst.jsdt.core.javascriptValidator
org.eclipse.wst.jsdt.core.jsNature

Also im Prinzip die JavaScript-Natur des Projekts entfernen. Der Fehler tritt bei eclipse 3.6 auf, andere Versionen habe ich nicht getestet.

Und noch einmal auf Englisch:

Eclipse deletes the files “entries” and “all-wcprops” in the top folder of a web project. The reason for this bug is the javascript nature of web projects. You can eliminate the problem by eliminating the javascript nature. Edit the file “.project”, search and remove the entries containing:

org.eclipse.wst.jsdt.core.javascriptValidator
org.eclipse.wst.jsdt.core.jsNature

The error occurs with eclipse 3.6, I did not test other eclipse versions.

(Quelle/Source: MyEclipse-Support)

Nur ein Spiel

Ein sehr schöner Film über Rollenspieler ist “Nur ein Spiel” von Michael Schilhansl. Leider will kein Fernsehsender diesen Film zeigen, wahrscheinlich, weil er zu unaufgeregt ist und eher die normale Seite des Rollenspielens (live, als Brett oder mit dem Computer) zeigt. Ist halt nicht so aufregend. Und läuft ca. eine Stunde. Ich fand ihn sehr gut.

Lider kann ich vimeo-Videos nicht direkt verlinken, WordPress löscht den iframe, daher bitte diesen Direktlink zum Video “Nur ein Spiel” nutzen.

(direkt bei vimeo, via Superlevel, dort auch mit interessantem Interview mit Michael Schilhansl)

Wikipedia

Ich bin Autor bei der Wikipedia, leider ein sehr fauler. Ein Artikel stammt von mir: die Trompel. Trotz zugegeben dünner Faktenlage ist der Artikel bisher der Löschung entgangen, eine entsprechende Löschdiskussion wurde 2007 geführt. Ich finde es richtig, dass der Artikel bleibt, denn so findet man in der Wikipedia auch mal abseitiges Wissen.

Ansonsten beschränke ich mich auf kleine Änderungen, denn die demotivierende Arbeitsweise der Wikipedia ist mir bekannt.

Ein Beispiel ist meine Änderung des Koenigsegg-Artikels. Den wollte ich ergänzen, nachdem wir eine Stunde in Schweden nach deren Produktionsstätte gesucht hatten. Meine Ergänzung des Artikels:

== Produktionsstätte ==
Die Produkte von Koenigsegg werden im [http://www.valhallpark.se/ Valhall-Park], einem Gewerbegebiet bei Ängelholm, hergestellt. Besichtigungen der Produktionsstätten sind nicht ohne Weiteres möglich, man kann jedoch bis zu den Hallen bzw. dem Koenigsegg-Gebäude fahren und es von außen ansehen.

Da die Firma nirgendwo ausgeschildert ist, fährt man zum Valhall-Park, richtet sich dort nach dem [http://www.engelholmsflygmuseum.se/ Ängelholmer Flugmuseum], fährt links daran vorbei und sieht dann, in unmittelbarer Nähe des Flughafens, die Produktionsstätten.

Nach der Änderung wollte ich noch folgendes Bild von Koenigsegg beisteuern:

Nachdem ich das Bild bei Wikimedia Commons hochgeladen hatte, und auf die Artikelseite zurückkam, war mein Text schon verschwunden (hat vier Minuten gehalten). Begründung:

Hallo Etg, die Aussage, wie das Gewerbegebiet in Ängelholm heisst und insbesondere eine Anfahrtsbeschreibung desselben, sind für eine Enzyklopädie irrelevant, siehe auch WP:WWNI. Für den Leser ist es nicht von Belang, wie man zur Produktionsstrecke gelangt, dafür gibt es Kartendienste.

Tja, dann hatte ich auch keine Lust mehr, mein Bild in den Artikel einzubinden. Und auch keine Lust mehr, mich in die Wikipedia einzubringen.

Somit werde ich immer mal kleinere Änderungen vornehmen und evtl. Fehler korrigieren, aber so richtig Lust habe ich darauf nicht. Eigentlich nicht, weil der Text gelöscht wurde, sondern wegen des sofortigen Löschens ohne Rückfrage und ohne Zweifel. Egal, dass man die Anfahrt über Kartendienste nicht findet, wenn man nicht weiß, wo das Gebäude steht, Hauptsache, der Text ist erstmal weg. Schade.

Abgesehen davon, dass ich im angegebenen Text darüber, was die Wikipedia nicht ist, nicht gefunden habe, warum mein Text irrelevant ist.

foreach in Java

Heute habe ich gelernt, dass man in Java auch über eine Map mit foreach-Schleifen iterieren kann:

Map<String, Integer> mapPairs = new HashMap();
mapPairs.put("a", new Integer(10));
mapPairs.put("f", new Integer(30));
mapPairs.put("e", new Integer(20));
mapPairs.put("u", new Integer(50));

System.out.println("foreach map:");
for (Map.Entry<String, Integer> thePair : mapPairs.entrySet()) {
  System.out.println(MessageFormat.format("\tmapPairs: {0} -> {1, number}", thePair.getKey(), thePair.getValue()));
}

Iteration über eine Collection (der Vollständigkeit halber):

Collection<Integer>  cllInts = new ArrayList();
cllInts.add(new Integer(10));
cllInts.add(new Integer(30));
cllInts.add(new Integer(20));
cllInts.add(new Integer(50));

System.out.println("foreach collection:");
for (Integer theInteger : cllInts) {
  System.out.println(MessageFormat.format("\tcllInts: {0, number}", theInteger));
}

Und gleich permanent bei www.ekkart.de abgelegt.

svgz-Vorschaubilder in Nautilus

Nautilus kann per default keine svgz-Vorschaubilder anzeigen. Kein Problem. Folgende Schritte helfen:

  1. rsvg-convert für die Generierung der Bilder installieren (Paket librsvg2-bin)
  2. Nautilus-Schema installieren, das die Generierung für Nautilus aktiviert und rsvg-convert als Generierungsprogramm festlegt
  3. Ordner fehlgeschlagener Vorschaubilder löschen
  4. alle laufenden Nautilus-Instanzen beenden und Nautilus neu starten

Das erwähnte Schema ist eine XML-Beschreibung, die in der Datei svgz-thumbnailer.schemas gespeichert wird:

<gconfschemafile>
   <schemalist>
       <schema>
           <key>/schemas/desktop/gnome/thumbnailers/image@svg@xml-compressed/enable</key>
           <applyto>/desktop/gnome/thumbnailers/image@svg@xml-compressed/enable</applyto>
           <owner>thumbnailer</owner>
           <type>bool</type>
           <default>true</default>
           <locale name="C">
               <short>Enable thumbnailing of image/svg+xml-compressed files</short>
               <long>Enable thumbnailing of image/svg+xml-compressed files</long>
           </locale>
       </schema>
       <schema>
           <key>/schemas/desktop/gnome/thumbnailers/image@svg@xml-compressed/command</key>
           <applyto>/desktop/gnome/thumbnailers/image@svg@xml-compressed/command</applyto>
           <owner>thumbnailer</owner>
           <type>string</type>
           <default>/usr/bin/rsvg-convert -w %s -h %s -o %o -a %i</default>
           <locale name="C">
                   <short>Command that creates a thumbnail</short>
                   <long>Command that creates a thumbnail (%o) for a filename (%i)</long>
           </locale>
       </schema>
   </schemalist>
</gconfschemafile>

Kommandozeile:

$ sudo apt-get install librsvg2-bin
$ gconftool --install-schema-file=svgz-thumbnailer.schemas
$ rm -r ~/.thumbnails/fail/gnome-thumbnail-factory/*
$ pkill nautilus

(Quellen: yeKblog, bugs.debian.org)
Die Anleitung ist permanent abgelegt bei: ekkart.de

Klein im Geiste – heute: Christian Pfeiffer

Es ist schon erstaunlich, wie es Christian Pfeiffer bar jeder Logik oder Nachweisbarkeit alles auf Computerspiele zurückführen kann.

Heute: Mitglied bei den Hells Angels werden:

Einer der ernsthaften Ursachenfaktor dafür ist, das viele junge Leute sich durch Computerspiele in Kampf-Rollen bewegen. Irgendwann will man das dann auch einmal real tun und nicht nur virtuell.
Das kann dann zum Einstieg bei den Rocker-Gruppen führen?
Ja. Die Gewaltlust wird dann als Rocker demonstriert[...]

Bei aller Lustigkeit: das ist der Experte, auf den immer gehört wird, wenn es um Gewalt nach Computerspielen geht.

(Quelle: fr-online, via RA Hönig)

CakePHP gescheitert. CodeIgniter?

Nachdem ich, getriggert durch den c’t-Artikel, mein Glück mit CakePHP versucht habe, gebe ich mein Scheitern zu.

Ich schaffe es, die Datenbank anzusprechen, Daten anzuzeigen, wahrscheinlich auch, die Daten zu ändern, das läuft sehr gut. Und ist gut dokumentiert.

Was nicht so gut dokumentiert ist, ist die Beeinflussung des Aussehens, der Startseiten, des Layouts etc. Das geht sicherlich (durch templates, themes und views), ich brauche sowas aber dokumentiert. Einfach dokumentiert. Und daher bin ich erst einmal von CakePHP weg.

Einer Liste von net tuts folgend probiere ich jetzt CodeIgniter aus. Mal sehen.

Immerhin: die Testinfrastruktur kann ich weiter nutzen.

XAMPP, virtuelle Maschinen, VirtualBox

In der vorletzten c’t war ein Artikel über CakePHP, der mich dazu animierte, dieses Framework einmal auszuprobieren. Ziel ist es, unsere Champagner-Erlebnisse ins Netz zu stellen. Ursprünglich wollte ich statische Seiten erstellen, jedoch sah mit einen PHP-Framework die Möglichkeit leicht aus, eine Datenbank dahinterzuhängen und dynamisch anzusprechen.

Für das Testen hatte ich zwei Möglichkeiten: live auf dem Server oder lokal auf meinem Rechner. Live ist etwas umständlich, vor allem, wenn man dauernd Dateien ändert und dann mühselig mit FTP hochladen muss. Also lokal auf meinem Rechner. Hier fand ich aber die Notwendigkeit, einen PHP-fähigen Server und einen Datenbankserver zu installieren, nicht so prickelnd. Das mache ich nicht alle Tage, wer weiß, was ich mir da zerschießen kann.

Virtuelle Maschine mit VirtualBox

Zum Glück gibt es für solche Fälle virtuelle Maschinen (VM), also Betriebssysteme im Betriebssystem. Idee: ein weiteres Ubuntu installieren und dort die entsprechenden Installationen vornehmen. Wenn was schiefgeht, einfach die virtuelle Maschine löschen und gut ist.

Für das Betreiben einer virtuellen Maschine benötigt man eine Software, innerhalb derer die Maschine läuft. Ich hatte gute Erfahrungen mit VirtualBox gemacht, also habe ich es wieder genommen. VirtualBox gibt es für Linux, Windows, Mac und Solaris. Das Gute: die Software ist kostenlos, wenn man die Open Source Edition benutzt. Was ich tue.

Als virtuelles Betriebssystem wollte ich ein kleines, schnelles Ubuntu haben und habe mich für Xubuntu entschieden. Derzeit versuche ich noch, ein kleineres Ubuntu zu basteln, bin da aber noch im Teststadium. Die Installation läuft problemlos, einfach im “Virtual Media Manager” von VirtualBox die iso-Datei von Xubuntu als CD-Image einbinden und starten. Dann beginnt die normale Installationsroutine, danach die Updates einspielen.

Für die Bedienfreundlichkeit müssen jetzt noch die “VBoxGuestAdditions” eingespielt werden. Diese Erweiterungen sorgen dafür, dass die virtuelle Maschine direkt bestimmte Ressourcen der Host-Maschine nutzen kann, in meinem Fall die Maus und die Zwischenablage. Ohne die Erweiterung wird die Maus gefangen und muss über die rechte Strg-Taste wieder freigegeben werden. Mit den Erweiterungen wird die Maus kontinuierlich weitergenutzt.

Wichtig: nach jedem Kernel-Update müssen die Erweiterungen neu installiert werden.

Vorgehen: Die Datei VBoxGuestAdditions.iso im Medienmanager als CD-Image bekanntmachen. Im Xubuntu die CD mounten (z.B. durch Doppelklick). Dann in der Kommandozeile ausführen:

$ sudo sh /media/cdrom/VBoxLinuxAdditions-x86.run

Danach das System neu starten und der Anfang ist getan.

Lokale Laufwerke

Die Entwicklungsarbeit und die Downloads will ich gerne auf meinem Hostrechner machen, da ich hier die Datensicherung betreibe. Die virtuelle Maschine soll im Fall eines Absturzes keine Daten mit sich reißen. Das heißt, ich muss meine lokalen Daten von der Maschine aus ansprechen. Dafür mache ich die entsprechenden Ordner für die virtuelle Maschine als “Shared Folder” permanent bekannt. Ich wähle “full”-Zugriff für das Datenverzeichnis, da CakePHP temporär Dateien ablegen muss. Lieber hätte ich “read-only” gewählt. Diese virtuellen Ordner muss ich unter Xubuntu mounten, wenn ich sie nutzen will. Beispiel: ich habe den Ordner “champagne” eingetragen:

$ sudo mkdir /mnt/champagne
$ sudo mount -t vboxsf champagne /mnt/champagne/

XAMPP

Für den PHP-Server mit Datenbank gibt es eine Komplettlösung zum Ausprobieren: XAMPP. Hier muss man nur die entsprechende Datei herunterladen und als Installation entpacken:

$ sudo tar xvfz xampp-linux-1.7.3a.tar.gz -C /opt

XAMPP steht dann unter /opt/lampp/ zur Verfügung.
Gestartet wird XAMPP mit

$ sudo /opt/lampp/lampp start

Im Browser danach http://localhost/ eingeben und alles sollte laufen. Etliche Beispiele und Hilfsprogramme sind vorinstalliert, einfach im Menü aufrufen, nachdem man sich für eine Sprache entschieden hat.

CakePHP

Jetzt geht es daran, CakePHP zum Laufen bringen. CakePHP herunterladen, dann in das entsprechende Verzeichnis entpacken (champagne) und den Ordner, in dem die Champagner-Dateien liegen, Apache bekanntmachen. Dazu lege ich einen symbolischen Link im Verzeichnis /opt/lampp/htdocs/ zum Verzeichnis mit den Dateien an:

$ cd /opt/lampp/htdocs/
$ sudo ln -s /mnt/champagne/

Jetzt die Konfiguration von CakePHP:

  • Security.salt in app/config/core.php einen neuen zufälligen Wert zuweisen (40 Zeichen)
  • Datenbankdaten in app/config/database.php

In der Datei app/config/database.php muss dabei folgende Zeile für UTF-8-Unterstützung ergänzt werden:

'encoding' => 'UTF8',

Jetzt beginnt die normale Cake-Programmierung nach Anleitung. Das beschreibe ich in einem anderen Artikel.

Links