TOP Suchanfragen zu Weihnachten

Seltsamerweise suchen wohl viel mehr Frauen nach Weihnachtsgeschenken für Männer im Netz als Männer nach Weihnachtsgeschenken für Frauen. Sind wir Männer denn so schwer zu beschenken, oder geben sich unsere Frauen nur mehr Mühe mit der sorgfältigen Auswahl?

Sowieso total interessant, wie die Verteilung der Keywords „Weihnachtsgeschenke“, „Weihnachtsgeschenk“ und „Geschenke“ gerade zu Weihnachten rapide ansteigt. Als würden wir alle erst kurz vorher daran denken. DAbei ist doch gerade im Internet noch der Versand und die Lieferung zu beachten.

Weiterlesen: TOP Suchanfragen zu Weihnachten »

Printlayout mit CSS

„Mittlerweile gehört ist es bei informativen Webseiten und Portalen Usus, separate Ansichten von einzelnen Seiten anzubieten, um auch beim Drucken ein ansprechendes Layout zur Verfügung zu stellen. Solche Druckansichten erhöhen den Service für den Besucher, der sich sonst umständliches Drucken in verschiedenen Ansichten erspart und z.B. Elemente, die gar nicht notwendig sind, mit ausdruckt.“ [via]

CSS bietet die Möglichkeit, für verschiedene Medientypen unterschiedliche Layouts festzulegen.

<link rel="stylesheet" type="text/css" href="print.css" media="print" />

Enthält das allgemeingültige Stylesheet Definitionen, die auf einem Ausdruck störend wären, müssen diese im Druck-Stylesheet „print.css“ explizit überschrieben werden.

Anzeige von Links und deren Inhalten

Nehmen wir an, im Quellcode der Webseite wurde u.a. ein Hyperlink angegeben:

Wenn die Webseite ohne weiteres Zutun ausgedruckt wird, würde nur der Text „Link zu HTMLWorld“ angezeigt. Sollte der Leser des Drucks die dazugehörige Internetadresse nicht kennen, macht diese Information nicht viel Sinn.
Eine Abhilfe schafft hier die CSS-Eigenschaft content. Damit kann allgemein vor oder nach bereits bestehenden Inhalten weitere Elemente/weiterer Inhalt eingefügt werden. Ein Beispiel dafür ist das Ziel des Hyperlinks, was dadurch im Ausdruck mit angezeigt wird.
Es ist am sinnvollsten, das Ziel des Hyperlinks direkt nach dem eigentlichen Linktext mit anzuzeigen. Beispiel:

a:link:after { content: " (Link auf <" attr(href) ">) "; }

[via]

Google Docs nun auch mit LaTeX


Google pariert seit neuestem mit einem weiteren Highlight auf Google Docs: LaTeXLab

Noch nie war es so einfach LaTeX gesetzte Texte zu generieren.

Während ich mich schon immer gefragt hatte, wer wohl Google Docs oder Microsoft Lives Textsysteme nutzt und warum, halte ich die neue Lösung als Coup der Superlative! Jeder, der LaTeX schon mal benutzt hat, kennt das Problem der vorherigen Installation, die abhängig vom Rechnersystem und des Pakets nie so war wie man sie haben wollte. Ständig mussten Pakete nachinstalliert werden. Jeder Umstieg auf eine andere Machine brachte zudem wieder einen durchaus enormen Installationsaufwand mit sich.

LaTeX mit Google Docs kompilieren

Mit Googles LaTeXLab ist jetzt damit Schluss. Einfach LaTeX Code schreiben, bei Google Docs hochladen, und kompilieren — dabei hat man die Wahl zwischen dem LaTeX Lab, einem lokalem MikTeX oder einem lokalem LaTeX Live Kompiler.

Während der Bearbeitung des Textes ist eine parallele Vorschau möglich:
Google Docs LaTeXLab

Die Komplexität der Projekte muss dabei keinen Abschlag erhalten. Es lassen sich beliebige Strukturen ebenfalls einordnen:
Google Docs LaTeXLab Projekt Struktur

Ist LaTeX nicht was für Fetischisten?

Weiterlesen: Google Docs nun auch mit LaTeX »

Dateien Löschen, die älter sind als x Tage

Auf diese Weise lassen sich unter Linux in einem Verzeichnis Dateien finden, die älter sind als x Tage und daraufhin automatisch löschen. Perfekt also für cron-jobs, die automatische Sicherungen nach x Tagen wieder bereinigen (löschen) sollen.

„The find utility on linux allows you to pass in a bunch of interesting arguments, including one to execute another command on each file. We’ll use this in order to figure out what files are older than a certain number of days, and then use the rm command to delete them.“

find /path/to/files/* -mtime +X -exec rm {} \;

X steht dabei für die (int) Anzahl Tage. Um Dateien älter als 20 Tage zu löschen, müsste also +20 eingetragen werden!

read more

  • Veröffentlicht in: Linux

HTML mit JavaScript (jQuery) nachladen

Edit 26.09.14: Dieser Beitrag braucht mal dringender Überarbeitung. Heute würde ich das nur noch mit einem $.ajax Aufruf machen, da sonst der PageSpeed in den Keller gehen kann. Asynchrones laden wär hier das Stichwort. Werde den Artikel heute Abend überarbeiten.

Manchmal ist es ganz nützlich den Inhalt einer HTML Seite extern nachzuladen. Beispielsweise ist es unheimlich nützlich, wenn eine vom Shop oder CMS losgelöste Landingpage (Startseite) hinundwieder mit frischem Inhalt versorgt werden will, die Quelldaten des Templates aber im Verzeichnisbaum in der Dunkelheit des Grabens verscharrt sind, oder dieser Inhalt von propriätär gestalteten Templates ferngehalten werden soll. Ist das Templatesystem bereits auf php basierend, ist es indes sehr leicht mit Hilfe eines includes HTML Inhalt nachzuladen.

<?php include('file.html'); ?>

Besteht das Templatesystem jedoch aus reinen HTML Dateien, wird es etwas komplizierter. Hier gibt es an sich wohl nur zwei Möglichkeiten: Server Side Includes (SSI) oder JavaScript. Da SSI nicht bei jedem Hoster funktioniert, besteht also im Prinzip nur die Möglichkeit über JavaScript. Mit Javascript lässt sich bspw. der Inhalt von div Elementen sehr einfach manipulieren und somit auch durch einen nachgeladenen Code ersetzen. Dazu stehen hier stellvertretend zwei divs mit je eigener ID, deren Inhalt beim laden der Seite per JS verändert wird

   
  <div id="teaserContent">alternative content</div>   
  <div id="teaserContent2">alternative content</div> 

Der alternative content ist dabei sehr wichtig, da sonst User ohne JavaScript an dieser Setlle nur ein weißes Feld ohne jeglichen Inhalt zu sehen bekämen. Der nachfolgende JavaScript Aufruf überschreibt dann den alternative content mit dem Dateien im angebenem Pfad. Er steht absichtlich nicht in einer document.ready() Umgebung, da der Inhalt möglichst schnell und vor dem rest der Seite nachgeladen werden soll.

 
<script type="text/javascript"> 
  $(function () {  
    $('#teaserContent').load('landingpage/teaser.html');      
    $('#teaserContent2').load('landingpage/teaser2.html'); 
  });  
</script> 

Anschließend sei noch geraten, die div Elemente mit der korrekten Größe von vornherein mittels CSS zu versehen, da sonst während des Nachladens die Elemente der Seite springen!

Suchen im Inhalt der Dateien mit Linux

Typisches Problem: Auf dem Server befinden sich 300 php Dateien eine CMS Systems und Du willst die Datei finden, in den eine bestimmte Funktion, eine Templateanweisung oder ein Funktionsaufruf drin steht. Doch wie machst Du das? Alle 300 Dateien wirst Du wohl kaum per Hand durchsuchen wollen.

Suchen mit Linux ist eigentlich ganz einfach! „grep“ durchsucht bspw. Dateien nach einem angegebenem String. grep sucht also keine Dateinamen sondern Textelemente in der Datei selbst.

grep "Linux" *

sucht dabei in allen Dateien des Verzeichnisses nach dem String ‚Linux‘

suchen in allen Dateien des Verzeichnisses und allen Unterverzeichnissen »

  • Veröffentlicht in: Linux

Mehrere Domains auf einer IP hosten (bspw. auf einem Hetzner Root Server)

Wer z.B. bei Hetzner einen Rootserver hat, der hat auch gleich mehrere IPs. Wem diese dennoch nicht ausreichen, oder wenn ein anderer Rootserver mit nur einer IP für Dich ackert, Du aber mehrere Domains darauf hosten möchtest, dann kannst Du Virtuelle Server in Betracht ziehen. Um den Server zu bedienen benötigst Du am besten PuTTY oder Alternativen

Virtuelle Server

Mit Apache2 lassen sich ziemlich einfach Virtuelle Server aufsetzen. Dazu bedarf es nicht einer virtuellen Maschine oder ähnlichem. Die komplette Verwaltung übernimmt ausschließlich der Apache.

Hierzu muss als aller erstes Apache mitgeteilt werden, welche IP ein virtueller Host sein soll. Das geschieht in der /etc/apache2/ports.conf. Syntax: NameVirtualHost IP:Port

NameVirtualHost 88.xxx.153.10:80
Listen 80

Die eingetragene IP ist jetzt also ein virtueller Host und lauscht auf verschiedene DNS Aufrufe.

Zudem muss in der /etc/apache2/sites-available/default die Vhost Beschreibung für diese IP hinterlegt werden. In dem folgendem Beispiel laufen (www.)domain1.com und (www.)domain2.com auf der gleichen IP. Je nach DNS wird dann entweder der ein oder der andere DocumentRoot aufgerufen:

<VirtualHost 88.xxx.153.10:80>
        ServerAdmin dite@domain1.com
        ServerName www.domain1.com
        DocumentRoot /var/www/domain1.com/
        <Directory />
               ...
        </Directory>
</VirtualHost>
<VirtualHost 88.xxx.153.10:80>
        ServerAdmin dite@domain1.com
        ServerName domain1.com
        DocumentRoot /var/www/domain1.com/
        <Directory />
               ...
        </Directory>
</VirtualHost>
<VirtualHost 88.xxx.153.10:80>
        ServerAdmin dite@domain2.com
        ServerName www.domain2.com
        DocumentRoot /var/www/domain2.com/
        <Directory />
               ...
        </Directory>
</VirtualHost>
<VirtualHost 88.xxx.153.10:80>
        ServerAdmin dite@domain2.com
        ServerName domain2.com
        DocumentRoot /var/www/domain2.com/
        <Directory />
               ...
        </Directory>
</VirtualHost>

Nicht vergessen, Apache neu starten. Bspw. mit /etc/init.d/apache2 restart

Um den Server zu bedienen benötigst Du am besten PuTTY oder Alternativen

Mein erster Palm Pre Eindruck


[Bildquelle: precentral.net]

Mein erster Palm Pre Eindruck ist ernüchternd. Viel Spielerei und wenig neues nützliches im Vergleich zu meinem alten Ericsson K750i. Da wäre zum Einen die Kamera, die sich — sofern ausgeschaltet — nur über „Tap-Wisch-Tap-Tap“, also 4 Eingabeaufforderungen starten lässt. Beim K750i bedarf es nur einer einzigen Schiebebewegung. Positiv sei an der Kamera aber, dass sie sehr schnell auslöst und eigentlich ganz passable Fotos macht — für eine Handycam.

Die Fotos bekommt aber nur per USB Kabel vom Gerät runter nicht über Bluetooth – und am Mac nur sofern man kein aktuelles iTunes 9.0.2 installiert hat.

[TOC]

Kalender

Ferner fehlen mir essentielle Apps wie beispielsweise einen Countdown-Timer, den ich immer eingestellt habe, damit ich genau weiß, wann die Waschmaschine im Keller fertig ist. (Update: dafür gibt es bald ein app) Alles was das Pre glänzen lässt — wie auch die Ziehharmonika Funktion im Kalender, die es erlaubt, die Freie Zeit zwischen den Terminen auszublenden oder das ganze hin und her sliden — sind nette Gimmiks, die nüchtern betrachtet eigentlich nur – eben Spielerei sind. Spielerei hin oder her, der Kalender ist dennoch spitze! Ich habe noch nie ein anderes Smartphone in meinen Händen gehalten, dass einen besseren Kalender hatte. Der Kalender ist mir sehr wichtig, da ich seit eh und je alles darin ablege — meine Handys habe ich bisher fast nur anhand dieses Kriteriums ausgesucht. Die Termine lassen sich wirklich detailiert und vorallem übersichtlich darstellen und verwalten. Termine, die sich überschneiden, werden nebeneinander (wie in iCal) dargestellt. Die Monatsansicht zeigt in Miniatura den Tagesplan jedes Tages an, so dass dort schon eine grobe Übersicht über den ganzen Monat möglich wird. Die Synchronisation mit dem Rechner (mac) klappt auch wunderbar, auch wenn nur über Zusatzsoftware.

Synchronisation mit dem Mac

Ich habe schon oft gelesen, dass die Synchronsation des iCal und Apple Addressbuchs mit dem Pre locker von Statten gehen soll, allerdings habe ich selbst das Ganze nur mit Hilfe des Missing-Sync hinbekommen. Dieser synct jedoch nicht über Bluetooth oder USB, sondern über WLAN, dh. dass beide Geräte im selben WLAN eingeloggt sein müssen — was sicherlich nicht überall der Fall ist. Über USB lassen sich nur Fotos und Musik syncen. Nach der Synchronisation ist der Pre allerdings auch ohne Umwege über Google oder andere Dienste erfreulicherweise auf dem gleichen Stand des Desktop Macs. Das Synchronisieren funktioniert in beide Richtungen perfekt ohne wenn und aber.

Tastatur

Die Tastatur des Pres ist wohl nicht für meine Hände gebaut. Ich bekomme sehr schnell leichte Krämpfe in den Fingern, da das gleichzeitige Halten und Tippen schon recht kleine Hände voraussetzt — oder vielleicht eine Gewöhnung (Update: mittlerweile gehts eigentlich ganz gut.). Die Tasten an sich sind aber erstaunlicherweise auch mit dicken Daumen zielsicher zu treffen. Vertipper sind recht selten.

Akku

Das Mangelhafte an dem Handy ist definitiv sein Akku. Für ein modernes Gerät ist eine Akkulebensdauer von ~13h eigentlich wirklich ein Witz! In den 13h sind gerade mal zwei Telefonate von je 2 Minuten, ~1h WLAN surfen verteilt auf den Tag, 20 Minuten UMTS surfen und ca. 5 Fotos drin – davon 3 mit Blitz. Mehr nicht. Da wird das Touchstone wirklich zum Muss, denn dauernd die USB Buchse ein und auszustöpseln wird auf Dauer die Klappe des Pres dermaßen strapazieren, dass sie womöglich sehr bald sich verabschieden wird. Ich bin wirklich sehr gespannt, ob es Alternativakkus — wie diesen hier — gibt, die mehr Leistung und damit eine längere Ausdauer des Pres bewirken, denn alle Funkmodule des Pres zu kastrieren will ich auch nicht – dann hätte ich mir nämlich nicht ein solches Smartphone kaufen müssen. Allerdings bringt dieser Akku zugleich einen neuen Akkudeckel mit, was darauf schließen lässt, dass er wohl um einiges dicker ist, als das Original.

Fazit

Trotz allem negativen mag ich aber dieses Telefon. Es ist nicht so hype wie ein iPhone — ich kann es also problemlos auch im Bus zücken, ohne gleich böses zu denken — und bietet dennoch alles was man wirklich braucht — auch wenn nur über zusätzliche apps. Das Multitasking ist genial, GPS funzt auch wie es soll und die Kommunikation zum Mac auch – nur die Bluetoothanbindung wäre noch zum Wünschen. Es ist zudem schön klein und hat zugleich die Auflösung des iPhones – somit passt es gut in die Hosentasche ohne dabei vom Display her Einbußen einstecken zu müssen!

Von daher: Ich bin ein Pre