Prevent FOUC in Foundation 6

If your Webbrowser renders before all CSS is loaded you will probably see a FOUC  – a flash of unstyled content. This happened to me in several Foundation 6 Projects. I have to write this down because I always forget about the fix.

Set the starting html tag this way:

<html class="no-js" lang="en" dir="ltr">

and put this snippet in in your scss:

.no-js {
  @include breakpoint(small only) {
    .top-bar {
      display: none;
    }
  }
 
  @include breakpoint(medium) {
    .title-bar {
      display: none;
    }
  }
}

WordPress, Uberspace, Https

Ich habe heute eine Stunde investiert, un diesen Blog auf SSL umzustellen. Dank Let’s encrypt kriegt man diesen Spaß nun auch kostenlos.

Im ersten Augenblick mag es sinnlos erscheinen einen öffentlichen Blog über Https auszuliefern. Diese Mentalität kommt aus der Zeit in der man jahrlich irgendeiner obskuren Zertifikatsbude eine bestimmte Summe Geld (wenig bei einer Domain bis verdammt viel für ein Wildcard Zertifikat) in den Rachen schmeißen mußte um an ein Zertifikat zu kommen, damit der normale User ein grünes Schloss in seinem Browser sieht. Dank Let’s encrypt können wir mit diesem Denkansatz brechen und alles über SSL liefern. Dank Https wird es schwieriger Malware in die Verbindung zu schleusen und das Lauschen gestaltet sich schwieriger. Manche Stimmen meinen, daß wir diversen Geheimdiensten das Leben schwerer machen, wenn die Masse an verschlüsselten Übertragungen ansteigt.  Angeblich bekommen Https Seiten in der Google Suche auch einen Bonus.

Hier schreibe ich grob nieder was ich machen mußte. Wenn ich was vergessen habe werde ich den Post anpassen. Über Tipps und Verbesserungsvorschläge freue ich mich natürlich

Der Blog läuft seit geraumer Zeit stressfrei auf uberspace.de wobei stressfrei für mich das wohl höchste Lob an einen Hoster ist, welches ich vergeben kann. Das Zertifikat wird auf dem Terminal erzeugt und aktiviert. Eine nette Anleitung gibt es im Blog. Der Apache wird per Rewrite Rule gezwugen Http Requests immer auf Https umzubiegen.

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{ENV:HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Im Anschluss müssen noch ein Paar WordPress spezifische Sachen angepasst werden. Ich habe das in der Datenbank getan (vorher unbedingt ein Backup machen!).
Die Queries fand ich bei „Webongo“. Vor der Ausführung das sollte das ihreseite.de durch was sinnvolles ersetzt werden:

s/ihreseite.de/meineseite.de/g
#blog urls
UPDATE wp_options SET option_value = replace(option_value, 'http://www.ihreseite.de', 'https://www.ihreseite.de') WHERE option_name = 'home' OR option_name = 'siteurl';
#permalinks
UPDATE wp_posts SET guid = replace(guid, 'http://www.ihreseite.de','https://www.ihreseite.de');
#links, img src's
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.ihreseite.de', 'https://www.ihreseite.de');
#Meta values
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.ihreseite.de','https://www.ihreseite.de');

In manchen Artikeln habe ich Bilder von anderen Domains referenziert und das auch noch über http!
Solch Unfug läßt sich leicht mit LIKE finden:

select id, post_title, post_content from wp_posts where post_content like "&lt;img%src=\"http://%" AND post_status="publish";

Einfach die ID an die Post.php Url dranhängen https://www.radikalblogger.de/wp-admin/post.php?post=[HIER REIN MIT DER ID]&action=edit und das Bild anpassen.

Wenn Herr Wulff gewußt hätte daß…

… er mal hier wohnt hätte er den Bau und die Finanzierung seines bescheidenen Heims wohl nochmal überdacht.

Spaß beiseite. Auch wenn Christian Wulff nicht mein liebster Bundespräsident ist habe ich Verständniss dafür, dass er sich auf den günstigen Kredit für den Bau sein erschreckend bürgerlich wirkenden Hauses eingelassen hat. Wenn ich die Möglichkeit hätte mir eine solche Summe günstig zu leihen würde ich es selbstverständlich machen. Sicherlich hätte er den Kredit angeben müssen, aber das Alibi mit Frau Geerkens klang damals bestimmt sehr plausibel und wasserdicht.

Sicherlich mag das verwerflich klingen, doch wer ohne Sünde ist, der werfe den ersten Stein – in der Opposition scheint es nicht viele Menschen mit biblischem „Wurfgut“ zu geben – vielleicht fürchtet man die Verwicklung in einen ähnlichen Skandal oder die Politiker in SPD, Grünen und Linke sehen es ähnlich wie ich.

Ärgerlich an der Sache und auch des Pudels Kern ist wohl die Verbändelung zwischen Bundespräsident und der Springer Presse. Doch was ist da geschehen?

Bis zu der Geschichte wurde über Christian Wulff nur sehr positiv in der Springer Presse berichtet. Scheidungen wurden da schon ganz anders abgearbeitet. Die Zeitung steht auch gerne mal für einen Liebling ein wie der Kadavergehorsam bei zu  Guttenberg eindrucksvoll bewies.

Nun wird der Mann häppchenweise dem Volk zum Fraß vorgeworfen. Die Anrufe, über die der Mann jetzt wahrscheinlich stürzen wird fanden jedoch schon einen Tag vor Bekanntwerden der Kreditaffäre statt.

Ist dies erst jetzt bekannt geworden, weil es langsam durch die Springer Redaktion „durchgesickert“ ist oder war es der letzte Schlück Öl im Kännchen das Kai Diekmann nun wohldosiert ins Feuer geschüttet hat? Sozusagen ein letzter Trumpf im Ärmel falls der Bundespräsident nicht über den Kredit stürzt?

Natürlich ist es sehr naiv und auch nicht schicklich einen Mitarbeiter der Bildzeitung zu bedrohen und wirklich dämlich dies auch noch in Form einer AB Nachricht zu tun. Jeder Mensch sollte eigentlich wissen, daß für solche Menschen private Unterhaltungen nur solange privat sind bis sie sich medial oder in diesem Fall politisch verwerten lassen. Interessanter ist wohl die Frage, was Wulff zu diesem Himmelfahrtskommando bewegt hat. Es muß schon weit kommen bis ein rational handelnder und denkender Mensch seinen politischen Suizid einem Anrufbeantworter diktiert. Eine Abschrift ist leider nicht vorhanden.

Woher kam dieser Wandel in der Berichterstattung in den Springermedien? Die Berichterstattung über sein Leben und Wirken haben Christian Wulff als Politiker bestimmt ein wenig bei seinem Aufstieg geholfen. Warum wurde von Beginn an über den Kredit so negativ berichtet? Warum stellte sich die Bild nicht vor ihren ehemaligen „Schützling“ wie im Falle Guttenberg? War sie seiner Person müßig? Wie kann man einen Menschen so unter Druck setzen, daß er solche Unsinnigen Telefonate führt?

Ich gebe mal den gewagten Tipp ab, daß spätestens im Februar ein neuer Bundespräsident her muß – am Besten jemand, der finanziell gut da steht, beim Volk beliebt ist und an dem Skandale abprallen wie Tauben von Atombunkern.

Warum nicht mal wieder ein Kaiser?

Der Mann im Bild wäre im richtigen Alter, war national wie international äußerst erfolgreich und wohlbekannt. Geld muß er sich von niemandem leihen – kleine Schwächen und Fehltritte verzeiht man ihm gerne. Im Gegensatz zu aktuellen Politikern ist er immer nett und freundlich und würde Deutschland mehr als nur würdig präsentieren.

Wer auch immer in 2 Monaten Bundespräsident ist sollte sich die Worte des Sprachvirtousen Max Goldt über die BILD zu Herzen nehmen:

Diese Zeitung ist ein Organ der Niedertracht. Es ist falsch, sie zu lesen. Jemand, der zu dieser Zeitung beiträgt, ist gesellschaftlich absolut inakzeptabel. Es wäre verfehlt, zu einem ihrer Redakteure freundlich oder auch nur höflich zu sein. Man muß so unfreundlich zu ihnen sein, wie es das Gesetz gerade noch zuläßt. Es sind schlechte Menschen, die Falsches tun.

Bilder im Artikel via Wikimedia Commons

Shopgate App im Test

Vorab. Dieser Produkttest wurde von mir gegen eine Vergütung (20€ in Form eines  Buchgutscheins) verfasst. Ich betreibe also keine Schleichwerbung. Ich versuche so (un)sachlich und unparteiisch wie gewohnt zu berichten.

 

Mit der  Shopgate App hat man Zugriff auf 220 Shops die zusammen ca. 6,2 Millionen Artikeln anbieten. Vorab muß ich sagen, daß die App noch relativ frisch ist und man das auch an manchen Stellen merkt. Bei der Installation gibts von ir schon einen Rüffel, die Zugriffsbeschränkungen von Android wurden nicht korrekt gesetzt. Der App wird der Zugriff auf die Telefonfunktion erlaubt. Der Startbildschirm wirkt aufgeräumt, man kann auch ohne Anmeldung im Store stöbern und man ist wirklich binnen 30 Sekunden registriert. Wenn Google irgendwann mal eine Art Autoform Fill für Android implementiert wäre die Registrierung noch schneller erledigt.

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Die App lebt natürlich von den Shops über die man kaufen kann. Es gibt ein sehr breites Angebot von Babywalz über AllesRahmen.de bis zu Caseking  und Online Apotheken und Campingzubehör kann man in den unterschiedlichsten Läden einkaufen. Eine separate Registrierung für den jeweiligen Shop ist natürlich nicht erforderlich. Sehr praktisch ist die Scanfunktion, die abgesehen von einem Absturz stabil auf meinem Desire lief. Nicht so gut gefiel mir die Suchfunktion  vor allem im Bookstore von Libri wurden mir als erste Treffer nur englischsprachige Bücher, oder Endlosschleifen an Treffern dargestellt. Das ist aber denke ich auch dem frühen Entwicklungsstand der App gestundet.

Die App bietet sehr viele Gutscheine für verschiedene Stores an, bei denen man absolute oder relative Rabbatte für Webstores einlösen kann.

Warenkorb und Abwicklung des Bestellvorgangs sind wie die gesamte App sehr leicht zu bedienen. Den Status seiner Bestellungen kann man direkt einsehen. Abweichende Lieferadressen sind auch kein Problem.

Ich hatte Freitags bestellt und Montags wurde das Buch geliefert – mehr kann man nicht verlange.

Fazit

Bis jetzt habe ich nur die Shopgate und Amazon App auf meinem Handy getestet. Beide Apps glänzen durch leichte Bedienung. Beim Stöbern hat das onlineshopping Monopol Amazon noch die Nase vorn, aber dies ist bestimmt nicht die letzte Version der App. Das Angebot ist durch die große Anzahl von Shops recht breit gefächert und die große Anzahl an Gutscheinen macht das Einkaufen auch interessant.

Bei meiner nächsten online Order werde ich auf jeden Fall auf Shopgate zurückgreifen.

 

Zum Ausprobieren der App habe ich noch einen Gutschein für Euch erhalten.

Entweder schmiddi-11 eintippen oder den QR Code scannen (gültig bis zum 30.09.11).

 

 

 

 

 

 

 

 

Hier kann man die App im Android Market laden:

 

Angepasste RSS Feeds für WordPress

Aus gegebenen Anlass muß ich mich mal wieder mit meiner liebsten Blog/ CMS Software beschäftigen. Genauer gesagt geht es um Feeds und wie man sie aus WordPress rauskitzeln kann.

Wenn man /feed an die Url anhängt wird statt Html Xml ausgegeben:

http://schmiddi.co.cc/feed/

 

Dank mod_rewrite kann man den Feed nach verschiedensten Parametern filtern:

http://schmiddi.co.cc/2010/feed/

http://schmiddi.co.cc/category/linux/feed/

http://schmiddi.co.cc/tag/sticker/feed/

http://schmiddi.co.cc/comments/feed/

 

Mit GET Parametern sind dem Spaß keine Grenzen mehr gesetzt. Dem ungeübten sei gesagt, daß GET Parameter für Rattenschwanzlange Links verantwortlich sind.

Der 1. Parameter hängt mit einem Fragezeichen an der aktuellen Url, weitere kann man mit einem & Zeichen anhängen.

Um Einträge der Kategorie Linux anzuzeigen muß diese Url aufgerufen werden:

http://schmiddi.co.cc/feed/rss/?cat=7

 

Die ID 7 habe ich aus der Datenbank. Die WordPress Entwickler haben sich ein schlüssiges und gut verständliches Schema ausgedacht.

Einen Überblick über die Kategorien deines Blogs bekommst Du mit diesem SQL Befehl:

SELECT t.name, t.term_id
FROM wp_terms AS t, wp_term_taxonomy AS tax
WHERE tax.taxonomy = 'category' AND tax.term_taxonomy_id=t.term_id;

Wenn man eine Kategorie ausblenden möchte muß man das Minus Zeichen benutzen:

http://schmiddi.co.cc/?cat=-3

 

 

Man kann auch mehrere Id’s übergeben. Diese müssen mit einem Komma getrennt werden:

http://schmiddi.co.cc/feed/?cat=8,9,10,11,13,18,20

 

Weitere Parameter füge ich hier ein sobald ich sie benötige.

 

Mysql Queries „debuggen“

Ich bin hier wieder mit verrückten Sachen beschäftigt bei denen ich unbedingt einen Blick auf die abgesetzten Queries werfen möchte. Statt nun irgendeine dämliche Subroutine zu schreiben die im Produktivbetrieb ausgeschaltet werden muß möchte ich ganz einfach die Ausgaben mit tail überwachen.

Das Logging kann in der Datei /etc/mysql/my.cnf aktiviert werden. Einfach das # vor

general_log_file        = /var/log/mysql/mysql.log

wegnehmen. Die Datei muß existieren und mysqld sollte reinschreiben können.

Nach einem Neustart des Dienstes kann man wunderbar die Arbeit auf der Datenbank mitverfolgen. Viel Vergnügen 🙂

 

Fortgeschrittene Befehle für die Google Suchmaschine

Der Ausdruck „Fortgeschrittene Befehle“ ist vielleicht ein wenig übertrieben aber ich möchte hier ein paar Möglichkeiten festhalten wie man die Suchmaschine effektiver benutzen kann.

Suchbegriffe sind in dem Artikel  in geschweifte Klammern gesetzt und fett geschrieben:

{Träumen Computer von elektrischen Schafen?} 

Nach einer Zeichenkette suchen

Google ignoriert normalerweise die Reihenfolge der Suchbegriffe. Eine Suche nach

{a b c d e f} liefert das gleiche Ergbniss wie {f e d c a b}.

Wenn man die Zeichenkette mit Anführungszeichen umgibt wird nach dem exakten Begriff gesucht.

{„Träumen Computer von elektrischen Schafen?“} 

Seiten durchsuchen

Mit dem Befehl site:Url lassen sich Webseiten nach einem Begriff durchsuchen

{site:de.wikipedia.org phillip k dick}

Suche filtern

Wer sich auf die Suche nach dem Dichter Homer begibt muß mit vielen Treffern rechnen die mit Homer Simpson zu tun haben. Um den gelben AKW Mitarbeiter aus den Suchergebnissen auszuschließen reicht ein Bindestrich.

{homer -simpson}

Nach Dateien suchen

{ne555 filetype:PDF}

Suche in Seitentext oder Url

mit den Kommandos inurl:begriff und intext:begriff kann man Urls oder den lesbaren Text einer Seite durchsuchen. Das ist sehr nützlich wenn sich dubiose Seiten über Metabegriffe einen Treffer erschleichen

Vor einiger Zeit schrieb ich über das Chrome Plugin Personal Blocklist geschrieben. Damit kann man Webseiten von der Suche ausschließen.

Addon der Woche: RSS Subscriptions with FEED für Chromium

Es könnte durchaus sein, daß ich schon des öfteren hier niedergeschrieben habe, daß Chromium der Browser meiner Wahl ist. Argument #1 dafür ist die bessere Performance gegenüber Firefox. Die Tage ist ja Version 4 des Mozilla Browsers herausgekommen und ich mußte mit Entsetzen feststellen, daß das Icon zum Abonnieren von Feeds weggefallen ist. Bis vor 15 Minuten nutze ich Firefox fast nur noch um neue RSS Abonnements in Liferea hinzuzufügen da Chrom{e, ium} diesen Button nicht hat. Um weiter bequem Feeds zu abonnieren muß eine Lösung her.

Firefox 3.6, 4.0 und Chrome + Addon im Icon Vergleich

Der rote Knopf in der Adressleiste läßt sich  mit wenig Aufwand nachrüsten. Das Howto habe ich bei Ubuntuforums.org gefunden:

1. Den gconf-editor Starten und nach ‚feed‘ suchen

2. Kommando für den individuellen Reader anpassen. Ich nutze Liferea.

3. Schauen ob die Checkbox bei enabled gesetzt ist.

4. Plugin installieren. (Link)

5. Die Default Application zum Abonnieren wählen

5.Weiterarbeiten als sei nichts gewesen. 🙂

 

Hide My Ass VPN

…ist eine schöne Sache. Für 8,55€ pro Monat bin ich mit Hide My Ass anonym im Internet unterwegs.  Bis vor kurzem war mir das noch egal wenn jedermann meine IP sehen konnte, aber Dinge wie „Dieses Video ist in Deinem Land nicht verfügbar“ , oder die Herausgabe von Besucher IP’s an private Unternehmen haben mich umdenken lassen. Ich nutze den Dienst seit einer Woche. Ob ich mit meiner Anonymität zufrieden bin kann ich noch nicht sagen;). Ich habe einen DSL 6000 von der Telekom und merke keine Geschwindigkeitseinbußen mit dem VPN.

Weil ich auch mal vor anderen Rechnern sitze, schreibe ich hier mal den Schnelldurchlauf für den Gnome Networkmanager auf. Die Konfiguration ist trivial. Ich möchte sie nur an einer für mich prominenten Stelle festhalten.

Ip’s + Login Details findet man im Account bei Hma. Dort kann man auch Clients für andere „Betriebssysteme“  herunterladen und Anleitungen zur Verwendung mit Android Geräten nachlesen.

Klickdichdurch

Auf das Networkmanager Icon klicken, VPN, VPN konfigurieren.

Bei Gateway die gewünschte IP eingeben.

Nun auf Advanced klicken, Häckchen entsprechend dem Screenshot setzen, fin


Am Ende steht natürlich noch eine Funktionsprüfung an. Bei mir Zuhause ist das einfach.

Ich habe auf meinem PC einen alias eingerichtet. Damit bekomme ich meine „Public Ip“:

alias wieistmeineip=’curl icanhazip.com‘

Da auf dem Rechner der Tunnel eingerichtet ist, muß curl icanhazip.com also auf anderen Rechner in meinem Netz eine andere IP ausspucken. Da ich keine Alias Befehle an ssh hängen kann lege ich auf einem anderen „Rechner“ diesen schnelldreckigen Befehl an:

slug:~# echo -e ‚#!/bin/bashncurl icanhazip.com‘ >/bin/wieistmeineip
slug:~# chmod +x !$

Wenn nun eine andere IP ausgegeben wird ist alles im grünen Bereich:

ms@nostromo:~$ ssh slug wieistmeineip

Nun hänge ich meinem Rattenschwanz an Alias Anweisungen noch eine weitere an:

alias vpninuse=’wieistmeineip && ssh slug wieistmeineip‘

Wenn der Befehl 2 unterschiedliche Zahlenfolgen auflistet bin ich über VPN unterwegs. Zum Ende bleibt mir noch die obligatorische Frage, ob Ihr auch einen solchen Dienst nutzt und wie zufrieden Ihr damit seid.

Plugin der Woche: Personal Blocklist

Google hat für den Chrom Browser dieses Wundervolle Plugin veröffentlicht. Es ermöglicht das Entfernen von Webseiten aus den Suchergebnissen von Google. Jeder kennt nervige Seiten wie Ciao oder Idealo. Nützliche Informationen habe ich dort noch nie gefunden – ich würde sogar soweit gehen solche Seiten als Suchmaschinen-Spam zu bezeichnen. Personal Blocklist bietet eine wundervolle Filterliste. Wenn eine Seite es bis dahin geschafft hat sieht man sie nie mehr in den Ergebnissen von Google. Seeehr schön:)

Der aufmerksame Beobachter sieht den für mich uninteressanten Link zu Idealo

Der aufmerksame Beobachter sieht den für mich uninteressanten Link zu Idealo. Ein Klick auf idealo.de unter dem Eintrag wird Idealo aus zukünftigen Suchen ausschließen. Eventuell muß man die Seite einmal neu laden.

Problem erkannt Gefahr gebannt 🙂

Wer den Button in der Menüleiste nicht mag kann ihn einfach mit einem rechten Mausklick-> Hide Button ausblenden.

Zusammenfassend läßt sich sagen, daß Personal Blocklist ein sehr sinnvolles Plugin ist. Die Handhabung ist genial gelöst, das Ausblenden von Seiten erfordert einen Klick, das Enternen von Seiten maximal 2 Klicks. Die Vorfilterung spart – zumindest bei mir – viel Zeit und Nerven. Was jetzt noch fehlt wären Filterlisten wie bei Adblock Plus 🙂

Download Personal Blocklist (Chrome Webstore)