Kategorie Archiv: IT Welt
CSS Naked Day 2010 – Wo ist mein Design?
Seit 2006 gibt es ihn, den Naked CSS Day, immer am 9. April. Webseitenbetreiber sind aufgerufen, das CSS ihrer Webseite für 24 Stunden zu deaktivieren und spartanisches Fließtext-html zur Schau zu stellen.
Die Idee hinter dieser Veranstaltung ist die Förderung von Web-Standards. Schlicht und einfach. Dies umfasst die ordnungsgemäße Verwendung von (X)HTML, semantisches Markup, eine gute Struktur-Hierarchie, und natürlich, ein gutes Spiel mit Worten. Es ist an der Zeit, Ihren <body> zu zeigen. Zudem wird so beispielsweise offensichtlich, welche Webauftritte für die Lesbarkeit mit einem Screen Reader behindertengerecht optimiert sind.
Der CSS Naked Day dauert einen internationalen Tag. Genau genommen ist es 48 Stunden lang irgendwo auf der Welt der “9. April”. Dies ist also um sicherzustellen, dass jedermanns Webseite während des 9. Aprils öffentlich nackt für die ganze Welt zu sehen ist.
Webistrano truncate logfile
In einem meiner Projekte arbeite ich zum deployen einer Webapplikation mit dem Tool Webistrano. Seit kurzem ist mir aufgefallen, dass Webistrano die Logfiles an unterschiedliche Stellen einfach abschneidet.
Der Grund hierfür ist simple. Webistrano speichert das Logfile in der MySQL Datenbank (Table: deployments, Row: log). Diese hat allerdings nur den Typ “text”. Da ist nach 65535 Zeichen Schluss. Um das Problem zu beheben sollte man den Typ auf “longtext” ändern.
Hier das passende SQL Statement dazu:
ALTER TABLE `deployments` CHANGE `log` `log` LONGTEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL
grml und grml64 Multiboot USB Stick
Welcher System Admin kennt das nicht, eine CD mit grml eine mit grml64 gehören eigentlich zu jeder Standardausstattung. Viele haben sich auch einen MultiBoot USB Stick gebaut. Doch dies geht nun alles viel einfacher.
Das bei grml mitgelieferte “GRML2USB” Script ermöglicht es nun auf einfachste Weise einen MultiBoot USB Stick zu erstellen. Das Script führt beide Versionen zusammen und erstellt automatisch das passende Boot Menü.
Sample:
grml2usb /home/grml/grml_2009.10.iso /home/grml/grml64_2009.10.iso /dev/sdX1
Manuelle Sortierung bei tt_products
Heute wollte ich in einem unserer Typo3 Shops (tt_products) weiter Artikel hinzufügen. Problematisch war hierbei die Sortierung der Artikel auf den Shop Seiten. Von Haus aus ist eine manuelle Sortierung mittels tt_products deaktivert. Es gibt jedoch einen kleinen Trick diese wieder zu aktivieren.
- in der ext_tables.php der Extension (i.d.R. im Ordner /typo3conf/ext/tt_products) die Zeile
// ‘sortby’ => ‘sorting’,
unkommentieren, also in
‘sortby’ => ‘sorting’,
- Im Template-Setup der Seite folgende Zeile ergänzen:
plugin.tt_products.conf.tt_products.LIST.orderBy = sorting
Anschließend (ggf. Frontend-Cache leeren) werden die Produkte in der (im Backend in der Listenansicht) durch den Admin definierbaren Reihenfolge dargestellt.
restore / repair / reset mysql root privileges
Wer in die Situation kommt dem MySQL root User alle Rechte entnommen zu haben steckt in einer echten Zwickmühle. Im Internet findet man viele Anleitungen zum zurücksetzen des root Passworts. Aber für einen Reset der Rechte? Fehlanzeige! Folgende Schritte sind zum Reset notwendig:
Folgendes Script kann dir dabei sehr hilfreich sein:
#!/bin/bash
# mysql-reset-root-privileges.sh
# Simple script to restore / repair / reset mysql root privileges
#
# Created by Patrick Niebeling on 10-08-2010.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# You may obtain a copy of the License at:
# http://www.gnu.org/licenses/gpl-3.0.txt
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You must run this script as the root user
if [ `id -u` != 0 ];
then
echo "You must run this script as root, and do not use sudo as it doesn't seem to work!. Aborted.";
exit
fi
# Stop MySQL and start MySQL with skip-grant-tables
/etc/init.d/mysql stop
mysqld --skip-grant-tables &
# Update privileges for root user
mysql -vv < <-EOF
update mysql.user set Super_priv='y' where user='root';
update mysql.user set Select_priv='y' where user='root';
update mysql.user set Insert_priv='y' where user='root';
update mysql.user set Update_priv='y' where user='root';
update mysql.user set Delete_priv='y' where user='root';
update mysql.user set Create_priv='y' where user='root';
update mysql.user set Drop_priv='y' where user='root';
update mysql.user set Reload_priv='y' where user='root';
update mysql.user set Shutdown_priv='y' where user='root';
update mysql.user set Process_priv='y' where user='root';
update mysql.user set File_priv='y' where user='root';
update mysql.user set Grant_priv='y' where user='root';
update mysql.user set References_priv='y' where user='root';
update mysql.user set Index_priv='y' where user='root';
update mysql.user set Alter_priv='y' where user='root';
update mysql.user set Show_db_priv='y' where user='root';
update mysql.user set Super_priv='y' where user='root';
update mysql.user set Create_tmp_table_priv='y' where user='root';
update mysql.user set Lock_tables_priv='y' where user='root';
update mysql.user set Execute_priv='y' where user='root';
update mysql.user set Repl_slave_priv='y' where user='root';
update mysql.user set Repl_client_priv='y' where user='root';
update mysql.user set Create_view_priv='y' where user='root';
update mysql.user set Show_view_priv='y' where user='root';
update mysql.user set Create_routine_priv='y' where user='root';
update mysql.user set Alter_routine_priv='y' where user='root';
update mysql.user set Create_user_priv='y' where user='root';
EOF
# Restart MySQL
/etc/init.d/mysql restart
Je nach Distribution können sich die Dateinamen unterscheiden. Die Nutzung erfolgt auf eigene Gefahr. Desweiteren übernehme ich keine Haftung für Schäden die durch das Script verursacht werden.
Imapsync: Problem mit INBOX/INBOX Folder
Ich muss bin gerade dabei ein Postfach von einem bestehenden Server auf einen neuen Server umzuziehen. Für den Umzug habe ich die Software imapsync gewählt. Laut Shell hat der erste Sync geklappt. Jedoch habe ich vergeblich die Mails im Posteingang des neuen Servers gesucht.
Der Grund für das Problem war, dass imapsync den Inhalt des Ordners “INBOX” nach “INBOX/INBOX” kopiert hat. Um diesem Problem aus dem Weg zu gehen, ist es notwendig folgenden Parameter zu setzen:
–regextrans2 ‘s/INBOX.INBOX/INBOX/’
N95 mit Gmail synchronisieren
Nachdem ich mir einen Premium Account bei GooSync zum synchronisieren meine Kontakte und Kalendereintrage gemacht habe, hat Google nun einen eigenen Dienst zum synchronisieren gestartet. Unter dem Namen “Google Sync” bietet Google die Synchronisation für das iPhone, Nokia S60, BlackBerry, Sony Ericsson und Windows Mobile Geräte an.
Da für mich als N95 Besitzer die Synchronisation mittels S60 Sync Interessant ist hat das ganze direkt einen dämpfer bekommen. Leider ist mittels Symbian Betriebsystem nur eine Synchronisation der Kontakte möglich. Ich warte nun sehnsüchtig auf die Kalenderfunktion. Solange nutze ich weiterhin den Dienst von GooSync
Ubuntu: Pinnacle PCTV DVB-T Stick 72e installieren
UPDATE: Ubuntu / kaffeine erkennt den Stick mittlerweile automatisch. Wer jedoch auf der Shell die Channelsuche durchführen möchte, muss weiterhin v4l installieren. Diese Funktion ist seit Karmic Koala in kaffeine integriert.
Nach längerem wollte ich mal wieder meinen Pinnacle PCTV DVB-T Stick 72 unter Jaunty Jackalope installieren. Leider hat dies nicht auf anhieb geklappt so dass ich hier nun für alle die ebenfalls Probleme dabei haben die passende Anleitung veröffentliche.
Folgende Schritte sind notwendig
sudo apt-get install mercurial linux-headers-$(uname -r) build-essential hg clone http://linuxtv.org/hg/v4l-dvb cd v4l-dvb make #(kann je nach Rechner ein wenig dauern!) sudo make install
Nun braucht man noch die Firmware für den Stick:
cd /lib/firmware/ sudo wget http://www.wi-bw.tfh-wildau.de/~pboettch/home/files/dvb-usb-dib0700-1.20.fw
Nach einem Reboot kann man nun den Stick anschließen und wie folgt Testen:
dmesg
dort solltet ihr in den letzten Meldungen so was wie die folgende Ausgabe sehen:
dvb-usb: Pinnacle PCTV 72e successfully initialized and connected. usbcore: registered new interface driver dvb_usb_dib0700 )
Zur Wiedergabe empfehle ich das Programm Kaffeine, es ist einfach zu bedienen. Dies kann man mit folgendem Befehl installieren:
sudo apt-get install kaffeine
Um DVB-T über VLC zu empfangen muss man zuerst eine channels.conf anlegen. Die kann man mittels folgendem Befehl machen:
sudo scan /usr/share/dvb/dvb-t/de-Frankfurt > channels.conf
Danach diese einfach öffnen über “Datei -> Einfaches Datei öffnen” und die Datei auswählen. In der Wiedergabeliste stehen dann alle verfügbaren Sender, falls die Wiedergabeliste nicht angezeigt wird auf “Ansicht -> Wiedergabeliste” klicken.
kaffeine
Restore Fonera firmware after DDWRT v24final upgrade
Nachdem ich erfolgreich DD-WRT auf meinem laFonera (2100) zum laufen gebracht haben wollte ich nun wieder die Originale Firmware drauf Flashen. Leider erwies sich dies als nicht so trivial. Die Anleitung der DD-WRT Programmierer brachte mich immer nur soweit, dass nach dem ersten Reboot wieder nur der Redboot Promt geladen wurde. Eine persistente Installation der FON Firmware war also nicht möglich. Nun habe ich jedoch einen Weg gefunden um die FON Firmware dauerhaft wieder zurück zu Flashen.
Die Anleitung in wenigen Schritten: (click here for the English Version)
- Lade die original 0.7.1.1 firmware herunter. Die Firmware ist bereits für das Flashen vorbereitet
- Öffne den RedBoot prompt
- Gebe folgende Befehle ein:
ip_address -l 192.168.1.254/24 -h 192.168.1.2
fis init
load -r -v -b 0x80040450 rootfs.squashfs
fis create -b 0x80040450 -f 0xA8030000 -l 0x00700000 -e 0x00000000 rootfs
load -r -b %{FREEMEMLO} kernel.lzma
fis create -r 0x80041000 -e 0x80041000 vmlinux.bin.l7
Bedenke dass einige Befehle bis zu 20 Minuten Zeit in Anspruch nehmen können. Trenne in dieser Zeit nicht die Verbindung zu deinem FON Router. Nachdem du die Befehle erfolgreich eingegeben hast, musst du fconfig nutzen um die Boot Parameter wie folgt zu setzen:
RedBoot> fconfig
Run script at boot: true
Boot script:
.. fis load -l linux
.. exec
Enter script, terminate with empty line
>> fis load -l vmlinux.bin.l7
>> exec
>>
Boot script timeout (1000ms resolution): 10
Use BOOTP for network configuration: false
Gateway IP address:
Local IP address: 192.168.1.254
Local IP address mask: 255.255.255.0
Default server IP address:
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
Um das Flashen abzuschließen gebe folgendes ein:
fis load -l vmlinux.bin.l7
exec
Dein laFonera wird nun neustarten und steht nach wenigen Minuten wieder zur Verfügung.
Piclense for WordPress
Durch meinen Arbeitskollegen Billy bin ich auf das das Browserplugin Piclense Cooliris gestoßen. Mit Cooliris ist es möglich Bilder eine Webseite in Form einer Picture Wall Darzustellen. Vorausgesetzt das passende Plugin ist im Browser Installiert. Ist dies nicht der Fall, wird die Galerie in normaler Form angezeigt.

Natürlich wollte ich auch meinen Blog mit diesem “Nice to have” Feature ausstatten. Also habe ich mich auf die Suche nach einem entsprechenden WordPress Plugin gemacht. Der Hersteller von cooliris stellt solch ein Plugin zur Verfügung. Jedoch wird hier nur das Automatische erstellen der MRSS Feed für Inhalte der WordPress eigenen Galerie unterstützt. Da meine Bildergalerie auf der Nextgen Gallery von Alex Rabe aufbaut war ich hier leider aufgeschmissen!
Nach langem Suchen bin ich dann auf das WordPress Plugin WP PicLens Plus gestoßen. Dieses Plugin basier auf dem Orginal Cooliris Plugin und wurde um die Unterstützung der nextgen Gallery erweitert.