Alte Termine unter Lightning löschen

Möchte man alte Termine unter Lightning löschen, so lässt sich dies auch ohne Add-On realisieren. Dazu wird die Terminsuche im Menü unter „Termine und Aufgaben“ -> „Termine suchen“ aufgerufen. Dort werden dann alle Termine nach Datum sortiert und können anschließend gelöscht werden.

Die sortierten Termine unter Lightning

Die sortierten Termine unter Lightning

Problematisch ist das Verfahren allerdings mit wiederkehrenden Ereignissen, die in der Vergangenheit definiert wurden. Diese verschwinden bei diesem Verfahren. Abhilfe schafft hierbei das Add-On Purge Events Plus. Daneben ist mit diesem auch eine automatische Entfernung von Terminen älter X Tage möglich. Dies kann dabei für jeden Kalender extra definiert werden.

Probleme beim Einspielen des MacBook Air Flash Storage Firmware Update 1.1

Wie unter anderem Heise berichtete, hat das MacBook Air in der 2012er Version unter Umständen ein Problem mit der verbauten SSD. Dies tritt bei den Modellen mit 64er und den 128 GiB SSDs auf. Probleme machen dabei nur SSDs von Toshiba. Von Samsung verbaute Festplatten aus dem gleichen Zeitraum sind nicht betroffen.

FileVault muss für das Update deaktiviert werden

FileVault muss für das Update deaktiviert werden

Apple hat zur Lösung der Probleme das „MacBook Air Flash Storage Firmware Update 1.1“ herausgebracht. Beim Einspielen des entsprechenden Updates kann es allerdings auf manchen Systemen zu Problemen kommen. Diese äußern sich darin, das nach dem augenscheinlich erfolgreichen Einspielen des Updates, dieses ein zweites Mal angeboten wird. Der Verursacher dieses Problems ist dabei FileVault. Dieses muss temporär deaktiviert werden. Nach der Entschlüsselung des Laufswerkes kann das Update eingespielt werden. Nach dem erfolgreichen Update kann FileVault wieder aktiviert werden.

Programmieren im Browser lernen

Das Entwickeln von Anwendungen, bzw. das Füttern eines Rechners mit Anweisungen, scheint für viele Leute Hexenwerk zu sein. Das dies nicht so bleiben muss zeigt die Webseite http://tomskript.webevangelisten.de/. Dort kann man in einer einfachen, auf deutsch gehaltenen Programmiersprache, seine ersten Versuche machen.

Der Tomskript Editor

Der Tomskript Editor

Im Editor schreibt man dabei einen Quelltext um eine Schildkröte über ein zweidimensionales Feld zu lotsen. Neben dem Browser werden keine zusätzlichen Komponenten benötigt. Ergänzt wird das ganze durch kleinere Beispiele und eine Beschreibung der Programmiersprache.

Mail aus einer Software heraus versenden

Manchmal möchte aus einer Desktopanwendung heraus eine Mail verschicken. Das ist insofern problematisch, da man die Zugangsdaten für einen Mailaccount nicht in einer Anwendung hinterlegen sollte. Aus Webanwendungen heraus ist das Senden von Mails dagegen eine einfache Sache. Also was liegt näher als diesen Vorteil für das Senden von Mails aus Desktopanwendungen heraus zu nutzen.

<?php
    $reciever=$_POST["reciever"];
    $allowedRecieverDomain="example.org";
    $subject=$_POST["subject"];
    $text=$_POST["message"];

    //Sender
    $senderName="Mailer";
    $sender="";

    //Additional challenge
    $challenge="abc123";
    if($challenge!=$_POST["challenge"]) return;

    //Check reciever
    $atCount=substr_count($reciever, "@");
    if($atCount>1) return;

    if(!(strpos($reciever, "@" . $allowedRecieverDomain)===FALSE))
    {
        mail($reciever, $subject . " - (" . date("d.m.y - H:m:s") . ")", $text, "From: $senderName <$sender>");
    }
?>

Ein kleines PHP Skript mit dem Namen „mailer.php“ sorgt dafür das die Mail bzw. der Text der Mail in Empfang genommen wird. Anschließend wird nachgeschaut ob die Mail an einen validen Sender adressiert ist. In diesem Beispiel werden nur Mails an @example.org weitergeleitet. Schließlich möchte man keine Spamschleuder betreiben. Nun müssen die Parameter in der Anwendung noch per POST-Request übergeben werden. Unter C# könnte das ganze so aussehen:

System.Net.ServicePointManager.Expect100Continue=false;

string url="http://example.org/mailer.php";

using(var wb=new WebClient())
{
    var data=new NameValueCollection();
    data["sendername"]="Mailer";
    data["sender"]="";
    data["reciever"]="";
    data["subject"]="Mail from Application";
    data["message"]="Message";

    var response=wb.UploadValues(url, "POST", data);
}

Der Quellcode ist dabei auf GitHub zu finden und steht unter der AGPL.