ubuntuusers.de

11. Juli 2013

Wir nutzen einen OpenLDAP Server um aus einem Adressbuch im MySQL Format ein Globales Adressbuch zu generieren. Dieses Adressbuch wird beispielsweise von den Snom-Telefonen genutzt oder auch für andere Geräte die LDAP verstehen. Das ganze funktioniert prima.

Durch die häufigen Zugriffe, bzw. wohl auch durch die häufigen Abfragen, gibt es relativ viele LogFiles. Diese liegen im BDB (Berkeley DataBase) Format vor und sind jeweils 10MB groß. Mit der Zeit werden das so viele, dass ggf. die Platte voll läuft. Nun hat man zwei Möglichkeiten damit umzugehen.

Möglichkeit 1: Einfach löschen! ACHTUNG!

Die einfachste Möglichkeit ist natürlich die ganzen LogDateien einfach zu löschen. Wenn dadurch nicht der LDAP komplett “zerstört” werden würde. Ja, löscht man die Logfiles ist das Ding kaputt. Also besser lassen!

Möglichkeit 2: Die richtige

Ich musste danach wirklich lange suchen – daher steht es nun auch hier ;-)

Es gibt ein Tool Namens db4.7_archive (die 4.7 ist die Version der Datenbank; es gibt auch andere; es muss die jeweils zu den Files passende genutzt werden). Dieses Programm listet einfach die LogDateien auf, die nicht mehr in Gebrauch sind – im Normalfall alle bis auf das letzte. Das ganze in einen Einzeiler gepackt sieht dann so aus:

db4.7_archive | xargs rm -v

und fertig. Naja, vielleicht noch in einen CronJob ;-)

Der eigentliche Sinn dieser LogDateien ist, dass man mit deren Hilfe im Problemfall ein Recovery durchführen kann. In meinem Anwendungsfall benötige ich diese Möglichkeit nicht, da die Daten sowieso jeden morgen neu erstellt werden.

Mayhem (engl. für Chaos) ist eine proprietäre Testsoftware der Carnegie Mellon Universität. Die Entwickler haben das Programm auf das neueste Debian 7 „Wheezy“ losgelassen und dort 1200 Fehler entdeckt.

Funktionsweise

Wie man dem Whitepaper von Mayhem entnehmen kann, arbeitet das Programm auf rein binärer Ebene. Der Quellcode ist nicht notwendig, ebenso wenig wie Debugging-Informationen in den Binärdateien.

Bei der Fehlersuche konzentriert man sich auf Rücksprungadressen und [wikipedia:Stack_Pointer:Stack-Pointer]. Mayhem versucht diese gezielt (im Sinne einer Anwendereingabe) zu manipulieren, sodass das Programm abstürzt oder Zugriffe außerhalb des zulässigen Speicherbereichs möglich sind. Für die Ausführung wird die sogenannte „symbolic execution“ benutzt, d.h. die ausgeführten Maschinenbefehle werden in der Software nachgestellt und symbolisch ausgeführt.

Test mit Debian „Wheezy“

Beschränkte man sich im Whitepaper noch auf einige kleinere Linux- und Windows-Applikationen, ließ man nun Mayhem auf das neueste Debian 7 „Wheezy“ los. Dort wurden 1200 Fehler entdeckt , wobei die Entwickler selbst sagen, dass es sich dabei größtenteils nicht um sicherheitsrelevante Abstürze handelt. Dennoch ist die gesamte Liste der Details nicht öffentlich zugänglich, damit die Probleme nicht doch noch als Exploit ausgenutzt werden.

Die Informationen über die Fehler sollen an die Maintainer der Debian-Pakete geleitet werden. Da es meist keine sicherheitsrelevanten Probleme sind, wird die Behebung aber nur in wenigen Fällen in der Stable-Version „Wheezy“ erfolgen. Im Unstable-Zweig wollen die Debian-Entwickler aber natürlich versuchen, die gemeldeten Probleme zu beheben.

Mayhem bleibt proprietär

So sinnvoll die Software ist, desto unschöner ist es zu hören, dass sie proprietär bleiben wird. Die Entwickler der Carnegie Mellon Universität wollen Mayhem nur als Webdienst anbieten, wie man auf der Debian-Mailingliste lesen kann. Dieser lässt sich dann vielleicht dennoch in Debian und anderen Distributionen integrieren, um automatische Tests durchzuführen.

Ubuntu-Entwickler Dmitrijs Ledkovs schlug ebenfalls vor, Mayhem auf die Pakete in Ubuntu loszulassen, um auch dort Fehler finden und beheben zu können.

Links

10. Juli 2013

Am Montag, den 8. Juli 2013, haben sich die Ubucon-Helfer und -Organisatoren gemäß der Ankündigung im IRC #ubucon-de auf irc.freenode.net getroffen und ab 21 Uhr eine Stunde lang über aktuelle Punkte gesprochen.

Protokoll

Folgende Punkte wurden besprochen (es werden die IRC-Namen angegeben, wo notwendig):

Vor-Ort Organisation

Die Schwierigkeiten mit dem WLAN sind noch nicht behoben. Es wird weiterhin versucht, Repeater zu besorgen, sodass ein Netzzugang für alle gesichert ist.

Die Social Events sind noch nicht geklärt, finden aber in der Altstadt von Heidelberg statt. Dementsprechend sollen in den kommenden Tagen auch Hotels in der Nähe gesucht werden, die einige Zimmer für Ubucon-Teilnehmer reservieren.

Überraschung

Es wird nicht verraten, was es genau geben wird, aber man wird etwas gewinnen können. :)

Nächster Termin

Das nächste Treffen findet nächsten Montag, den 15. Juli 2013, um 20 Uhr im IRC statt. Die Absprache selbst soll dabei erstmals über eine Telefonkonferenz erfolgen. Jeder, der Interesse an der Organisation der Ubucon hat, ist eingeladen teilzunehmen und sich einzubringen.

Nach wie vor arbeitet Canonical fleißig an seinem eigenen Display-Server namens Mir, der die Grundlage für Unity 8 sein soll. In den letzten Wochen gab es wieder einige Neuigkeiten bzgl. der Weiterentwicklung.

Mark Shuttleworths zwei Wochen mit Mir

Mark Shuttleworth, Canonical-Chef und Ubuntu-Gründer, berichtet in seinem Blog über seine Erfahrungen mit Mir, die er in den letzten zwei Wochen sammeln konnte.

Für den Test hat er Mir auf seinem Intel Dell XPS installiert und war bereits nach kurzer Zeit begeistert, da sich das System mit Mir flüssiger anfühlte als mit Xorg und Compiz. Der geringere Speicherverbrauch als unter X spricht da für sich. Laut Shuttleworth sind die Anforderungen, die man mit Mir im Mobilbereich hat, auch für den Desktop förderlich. So soll auch die Ausführung von X-Anwendungen unter Mir reibungslos laufen.

In seinem Blog-Posting weist Shuttleworth auch noch einmal auf die Risiken hin, die die Entwicklung von Mir mit sich bringt. So sei es keine einfache Entscheidung gewesen, einen neuen Display-Server zu programmieren. Die „Konkurrenz“ (zum Beispiel in Form von Wayland) sieht Shuttleworth aber als gesund an. Seiner Meinung nach liegen die Vorteile aber bei Mir, was zum Beispiel die API-Implementierung in Mir gegenüber der Protokoll-Implementierung anderer Display-Server angeht. Hier wird die Zukunft zeigen, wie und ob sich Mir gegen den Rest durchsetzen wird.

Shuttleworth betont aber noch einmal, dass jede Desktop-Umgebung mit Mir zurecht kommen wird. Sei es über den X-Stack oder eine native Unterstützung. Auch andere Distributionen sollen von Mir profitieren und erst wenn eine klare Schnittstelle gegeben ist, die andere leicht nutzen können, werde Mir veröffentlicht. Bereits in Ubuntu 13.10 „Saucy Salamander“ wird Mir enthalten sein und soll dort natürlich auch mit allen Programmen funktionieren (siehe Mirs Fahrplan unten).

Mirs Fahrplan

Passend zu Shuttleworths Erfahrungen wurden auf der Mailingliste von Oliver Ries, Engineering Director für

Unity und Mir, Ende Juni die kommenden Meilensteine bekannt gegeben. Dabei sagt Ries das Gleiche wie Shuttleworth, dass alle Desktop-Umgebungen und Ubuntu-Derivate gut mit Mir zusammenarbeiten werden.

In Ubuntu 13.10 wird es mit XMir eine entsprechende Anbindung von X an Mir geben. Das heißt, dass alle X-Programme auf Mir ausgeführt werden, wenn auch noch nicht nativ. Basis hierfür ist Unity 7. Der Fallback-Modus, den es dann noch geben wird, wird mit Ubuntu 14.04, der nächsten LTS-Version, wegfallen. Ab Ubuntu 14.10 und danach sollen alle Applikationen dann nativ auf Mir laufen. Da XMir in einer LTS-Version eingesetzt wird, soll es damit auch für fünf Jahre (bis Mitte 2019) unterstützt werden.

Eine kleine FAQ und Erklärung des Fahrplans gibt es bei The Fridge. Dort wird auch der nicht unwichtige Punkt erwähnt, dass derzeit keiner der proprietären Grafiktreiber von ATI und NVIDIA Mir unterstützt. Nur Systeme mit Open-Source-Treibern (Intel, nouveau, radeon) kommen in den Genuss von XMir in Ubuntu 13.10. Man arbeite aber mit den Grafikchipherstellern zusammen, damit Mir auch von den proprietären Treibern ab Ubuntu 14.04 unterstützt wird.

Keine Unterstützung seitens Kubuntu

Wie Kubuntu-Chefentwickler Jonathan Riddell in seinem Blog schreibt, wird Kubuntu nicht auf den Mir-Zug aufspringen. Auch wenn Ubuntu 13.10 mit Mir bzw. XMir (siehe oben) ausgeliefert wird, hält man bei dem Ubuntu-Derivat mit KDE-Desktop an Wayland fest.

Hierbei wird der Übergang zu Wayland aber nicht so schnell erfolgen. Für Kubuntu 13.10 und 14.04 LTS wird man nach wie vor auf X setzen. Erst danach hofft man, auf Wayland wechseln zu können und dass andere Distributionen folgen. Ob Riddells Hoffnungen erfüllt werden, wird sich ab 2014 zeigen. Den Vorsprung, den Canonical mit Mir dann gegebenenfalls haben wird, kann man aber unter Umständen nur schwer einholen.

Kritik an Lizenzpolitik

Kernel-Entwickler Matthew Garret bloggt seine Befürchtungen, dass Canonical Teile von Ubuntu Touch und Mir unter einer proprietären Lizenz veröffentlichen könnte.

Grund für diese Befürchtung sind die Contributors License Agreements (CLAs). Über diese wird geregelt, was Canonical mit dem Code, den Entwickler beisteuern, machen darf. Ein Absatz davon ist, dass Canonical das Recht hat, den Code unter einer anderen Lizenz als der GPLv3 zu veröffentlichen.

Die Frage ist, wieso Canonical dies tun sollte? Hier führt Garret die Hardwarehersteller von Mobilgeräten an. Diese haben oft kein Interesse daran, dass Nutzer das vorinstallierte System durch ein anderes ersetzen. Demnach könnte es sein, dass diese Hersteller von Canonical verlangen, den Code von Ubuntu Touch und Mir nicht mehr öffentlich zugänglich zu machen.

Derzeit hat Canonical nichts in diese Richtung geplant – zumindest nicht nach offiziellen Angaben. Ob Garrets Befürchtungen eintreten, kann wieder nur die Zukunft zeigen.

Links

Gestern hatte ich das Vergnügen einen kurzen Linux-Übersichtskurs halten zu dürfen. Ganz am Schluss des Kurses war noch etwas Zeit und es kam die Frage auf welche Befehle der root User niemals auf der Shell eingeben sollte wenn er das System nicht zerstören oder crashen lassen möchte.

Also sprich Befehle die ich auf produktiven Maschinen nie eingeben sollte!

Wir sind hier auf ein paar Möglichkeiten die mehr oder weniger gut funktioniert haben:

dd if=/dev/urandom of=/dev/sda

(/dev/urandom kann man auch gerne gegen /dev/zero austauschen ;-) )

Wir überschreiben unsere erste Festplatte mit Zufallszahlen (oder eben mit Nullen). Das kann man natürlich auch beliebig erweitern um z.b. nur den MBR zu überschreiben was wiederrum Probleme beim “normalen” booten erzeugt:

dd if=/dev/zero of=/dev/sda bs=512 count=1

 

find / -iname *bin* -type d -exec rm -rf {} \;

Löscht alle Ordner mit Executables.

rm -rf /

Eigentlich zu einfach, fast schon langeweilig. Wird aber bei manchen Distributionen abgefangen.

cp /dev/zero /dev/mem

Wir überschreiben das Memorydevice mit Null?! *G*

Mein Persönlicher Favorit ist die Forkbombe die auch in diversen anderen Blogs kursiert:

Fork Bombe

Auch wenn er nur sehr einfach aussieht. Der Befehl hat seine Wirkung :D

Habt ihr noch ausgefallene Möglichkeiten um ein Linuxsystem zu zerschießen? Natürlich völlig useless :-)

LibreCAD Logo

LibreCAD ist ein nicht zu unterschätzendes Werkzeug für das technische Zeichnen, auch unter Windows und MAC OS X. Mittlerweile habe ich einiges an Erfahrung gesammelt und wollte hier zwei schnell übersehene Funktionen vorstellen.

Isometric Grid
Isometrische Raster ist der deutsche Begriff und damit ist es möglich einfacher und sauberer 3D-Ansichten auf 2D-Fläche zu zeichnen. Diese Funktion ist allerdings noch in der Entwicklung, kann aber jetzt bereits in einem der frühen Alpha-Versionen, die nicht stabil laufen, diese Funktion austesten.

Info
Zu jedem Objekt gibt es Eigenschaften und Informationen. Diese kann man sich anzeigen lassen, dazu geht man auf Modifizieren->Eigenschaften und klickt das gewünschte Objekt an.

"Info"

Anhänge: 
AnhangGröße
Screenshot "Info"185.68 KB

Im Oktober ist es wieder soweit – wie jedes Jahr lädt Mozilla nach London zum Mozilla Festival ein. Die Registrierung für das Mozilla Festival 2013 ist nun geöffnet.

In diesem Jahr findet das Mozilla Festival vom 25. Oktober bis zum 27. Oktober statt, wie immer am Ravensbourne-Campus in London. Highlights des letzten Jahres waren der Launch des Mozilla Popcornmakers 1.0 sowie der Start der Mozilla Webmaker Badges. In diesem Jahr soll unter anderem der Mozilla Web Literacy Standard im Zuge des Mozilla Festivals die Versionsnummer 1.0 erhalten. Interessierte könnten sich hier für das Mozilla Festival 2013 registrieren.

Jedes Jahr bringt das Mozilla Festival Leute aus der ganzen Welt zusammen, die das Internet erforschen, zusammen lernen und gemeinsam Projekte anstoßen, die die Zukunft des Webs für gute Zwecke und eine weltweite Zusammenarbeit verändern. Aus über 40 Ländern versammelte das diesjährige Festival vom 9. – 11. November 2012 mehr als 900 Menschen in London – darunter Code Entwickler, Designer, Journalisten, Lehrbeauftragte, Filmemacher, Spieler und alle am Web Interessierten. „Das Mozilla Festival ist ein Magnet für Menschen aus der ganzen Welt, die sich für die Möglichkeiten interessieren, das Internet offener, kreativer und innovativer zu gestalten. Ziel ist es, mehr junge Leute vom Webnutzer zum Webmacher zu bewegen.“, erklärt Mark Surmann, Executive Director der Mozilla Foundation.

Zitiert von: Mozilla Presse-Center (2012)

9. Juli 2013

L20n ist der Codename für Mozillas Lokalisierungs-Framework, welches das Potential hat, die Übersetzung von Software in Zukunft zu perfektionieren.

Lokalisierung umfasst alles Notwendige, um ein Produkt in eine andere Sprache zu bringen, darunter fallen vor allem Übersetzungen, aber auch das Anpassen von Datums- und Zeitformaten, Währungen oder Maßeinheiten. Üblicherweise wird dies mit dem Numeronym L10n abgekürzt (engl. localization, 10 Buchstaben zwischen l und n). L20n kann sinnbildlich als Localization 2.0 verstanden werden. Auf der Webseite l20n.org präsentiert Mozilla L20n und gibt eine Einführung in die Möglichkeiten. Aktuell trägt L20n die Versionsnummer 1.0 Beta 3.

Mit L20n hegt Mozilla keinen geringeren Anspruch, als Software-Lokalisierung neu zu erfinden. Dem Lokalisierer werden mit L20n umfassende Möglichkeiten an die Hand gegeben, um die Komplexität verschiedener Sprachen in Software optimal umzusetzen. L20n ist eine sprach-spezifische Open Source Scripting-Sprache, welche es erlaubt, Eigenschaften natürlicher Sprachen wie Geschlechter, Pluralformen und Konjugationen umzusetzen, ebenso wie Übersetzungen je nach zur Verfügung stehendem Platz. So ist es beispielsweise denkbar, ein Element bei ausreichend vorhandenem Platz vollständig zu übersetzen und auf einem kleinen Ausgabegerät wie einem Smartphone entsprechend zu kürzen, so dass ungünstige Kürzungen von Übersetzungen vermieden werden können. Dadurch, dass diese Entscheidungen von der Programm-Logik abgekapselt sind, können in den verschiedenen Sprachversionen unterschiedliche Bedingungen festgelegt werden. Dies ist ein sehr großer Vorteil, da sich die Länge von Wörtern in den verschiedenen Sprachen teilweise sehr stark voneinander unterscheidet. Zum anderen erlaubt einem dies größtmögliche Flexibilität, da sich Sonderbehandlungen für eine Sprache umsetzen lassen ohne Einfluss auf andere Sprachen zu haben.

Im April haben Staś Małolepszy und Zbigniew Braniecki auf der Front-Trends 2013 in Warschau einen Vortrag (engl.) über L20n gehalten, welcher online auf vimeo angesehen werden kann.

Video auf Vimeo ansehen

Weitere Informationen gibt es im Blog von Staś Małolepszy.

http://www.thepowerbase.com hat einen Artikel veröffentlicht, welcher besagt dass es für die nächsten 8 Wochen jede Woche zwei neue Linux Spiele kostenlos von Steam gibt.
Ist jedenfalls sehr interessant. Die einzige Gegenleistung sollen entweder ein G+-Follow oder Twitter-Follow sein. Am 12.07 endet das Spiel für diese Woche – Also ranhalten! :)

EDIT 09.07.2013 – 07:12 Die Spiele werden offensichtlich “Nur” verlost, an die jeweiligen Glücklichen, welche gezogen werden.

7. Juli 2013

Wenn mich jemand fragt, wie er ein EPUB erstellen kann, habe ich bisher immer auf Sigil verwiesen. Das Programm befindet sich in aktiver Entwicklung und hat zahlreiche gute Funktionen.

Für freiesMagazin nutzen wir Sigil, um skriptbasiert aus der HTML-Version ein EPUB zu erstellen (Beschreibung des Vorgangs). Hierfür nutzen wir eine undokumentierte Funktion von Sigil, die es erlaubt, ein HTML und ein EPUB anzugeben und beides dann direkt gewandelt wird. Alles komplett ohne GUI, so wie man es in einem automatischen Verarbeitungsprozess benötigt …

Leider ist diese, für freiesMagazin essentielle Funktion mit Version 0.6.0 von Sigil verschwunden. Man kann nun argumentieren, dass die Funktion nie dokumentiert und experimentell war. Auf meine Frage, ob diese Funktion vielleicht wieder eingebaut werden könnte, kam nur die Antwort „It will not be added back.“

Mich stört, dass die Antwort einfach nur Nein ist, ohne Begründung, wieso es das Feature nicht (mehr) geben wird. Vielleicht sind es Sicherheitsaspekte oder der Nutzen rechnet den Aufwand nicht. Aber das werde ich wohl nicht erfahren. Bei Sigil werde ich sicher keine Fragen mehr stellen. Es scheint wenig Interesse der Entwickler zu geben in Dialog mit den Nutzern zu treten. (Zumindest mein Gefühl nach einer Anfrage.)

Langfristig werden wir uns bei freiesMagazin also Gedanken machen, wieder zu Calibre zu wechseln oder die neuen Versionen von Sigil noch weiter patchen zu müssen. Es ist schade, dass Entwickler von Projekten manchmal nicht sehen, dass die ein oder andere Funktion für ihre Nutzer hilfreich wäre. Ich hätte z.B. angenommen, dass die Konsolenversion in Zukunft eher weiter ausgebaut und offiziell dokumentiert wird, weil sie eben so hilfreich ist. Zusätzlich wären die Patches, die ich für freiesMagazin eingebaut habe (die Konsolenversion hat das HTML noch normalisiert und automatisch in Kapitel aufgetrennt), vielleicht auch für andere Sigil-Nutzer interessant gewesen. Wer Interesse hat, kann ja hier nachfragen. :)

Mozilla hat mit dem Mozilla Science Lab eine neue Initiative ins Leben gerufen, welche Wissenschaftlern auf der ganzen Welt helfen soll, das Offene Web auch in Bezug auf die Wissenschaft zu nutzen.

Mozilla schreibt im offiziellen Blog, dass Wissenschaftler das Web zwar erfunden hätten, dieses aber nicht im selben Maße für die Wissenschaft genutzt würde, wie es Medien, Bildung oder das Geschäftsleben weitergebracht hätte; Wissenschaft sei größtenteils noch im “analogen” Zeitalter verankert. Mit dem Science Lab versucht Mozilla, den Dialog zwischen der Open Web Community und Wissenschaftlern zu fördern. Gemeinsam sollen Ideen, Werkzeuge und Praktiken ausgetauscht werden um Web-Lösungen der nächsten Generation zum Lösen realer Probleme in der Wissenschaft zu nutzen, und Forschung agiler sowie kollaborativer zu machen.

Das Mozilla Science Lab wird von Kaitlin Thaney geleitet, welche sich bereits seit langer Zeit mit Open Science beschäftigt. Unter anderem arbeitete sie am Science-Programm von Creative Commons und zuvor für Digital Science, welche auf Forschungs-Tools fokussiert sind. Digital Science ist außerdem ein Inkubator für Startups in der Wissenschaft. Ihr steht Greg Wilson zur Seite, der Gründer von Software Carpentry, einem Programm, welches Wissenschaftlern grundlegende Computer-Fähigkeiten beibringt, damit diese produktiver werden. Software Carpentry hat im vergangenen Jahr über 70 Workshops mit mehr als 2.200 Teilnehmern veranstaltet. Diese Zahlen möchte man über die nächsten zwölf Monate sogar verdoppeln. Das Mozilla Science Lab wird von der Alfred P. Sloan Foundation unterstützt, einer philanthropischen Non-Profit-Organisation mit einem Schwerpunkt auf Wissenschaft.

>>

Auf Proggen.org wurde letztens ein neuer Wettbewerb eröffnet. Die Aufgabe lautet, “irgendwie” die BB-Codes von phpBB nach DokuWiki-Syntax umzuwandeln. Ich begann mit PHP und hatte die Aufgabe auch schon nach 8h gelöst. Es wandelt “alle” in einem Text enthaltene BB-Codes, welche über die Kommandozeile übergeben werden, zu der entsprechenden Wiki Syntax um.
Die Datei wäre folgende(RegEx Rox!)
Unten sind die jeweiligen Skripts als Download angeboten.

#! /usr/bin/php
<?php
/**
 * BBcode helper class
 *
 * @package    BBcode
 * @category   Helper
 * @author     darksider3(http://www.darksider3.de)
 * @copyright  (c) 2013
 * @license    GPL v3
 */

/*@DEBUG=print_r(getArgs($_SERVER['argv']));*/

class bbcode {

  /**
   *
   * This function parses BBcode tag to wiki code
   *
   * It parses (only if it is in valid format e.g. an email must to be
   * as example@example.ext or similar) the text with BBcode and
   * translates in the relative wiki code.
   *
   * @param string $text
   * @param boolean $advanced his var describes if the parser run in advanced mode (only *simple* bbcode is parsed).
   * @return string
   */
  public static function towiki($text,$advanced=FALSE,$charset='utf8'){

    //special chars
    $text  = @htmlspecialchars($text, ENT_QUOTES);

    /**
     * This array contains the main static bbcode
     * @var array $basic_bbcode
     */
    $basic_bbcode = array(
                '[b]', '[/b]',
                '[i]', '[/i]',
                '[u]', '[/u]',
                '[s]','[/s]',
                '[list]','[/list]',
                '[*]', '[*]',
                '[]', '[]'
    );

    /**
     * This array contains the main static bbcode's WIKI
     * @var array $basic_wiki
     */
    $basic_wiki = array(
                '**', '**',
                '//', '//',
                '__', '__',
                '<s>', '</s>',
                '','',
                '  *',' ',
                '',''
    );

    /**
     *
     * Parses basic bbcode, used str_replace since seems to be the fastest
     */
    $text = str_replace($basic_bbcode, $basic_wiki, $text);

    //advanced BBCODE
    if ($advanced)
    {
      /**
       * This array contains the advanced static bbcode
       * @var array $advanced_bbcode
       */
      $advanced_bbcode = array(
                   '#\[color=([a-zA-Z]*|\#?[0-9a-fA-F]{6})](.+)\[/color\]#Usi',
                   '#\[size=([0-9][0-9]?)](.+)\[/size\]#Usi',
                   '#\[quote](\r\n)?(.+?)\[/quote]#si',
                   '#\[quote=(.*?)](\r\n)?(.+?)\[/quote]#si',
                   '#\[url\](.+)\[\/url\]#Usi',
                   '#\[url=(.+)\](.+)\[\/url\]#Usi',
                   '#\[email]([\w\.\-]+@[a-zA-Z0-9\-]+\.?[a-zA-Z0-9\-]*\.\w{1,4})\[/email]#Usi',
                   '#\[email=([\w\.\-]+@[a-zA-Z0-9\-]+\.?[a-zA-Z0-9\-]*\.\w{1,4})](.+)\[/email]#Usi',
                   '#\[img](.+)\[/img]#Usi',
                   '#\[img=(.+)](.+)\[/img]#Usi',
                   '#\[code](\r\n)?(.+?)(\r\n)?\[/code]#si'
      );

      /**
       * This array contains the advanced static bbcode's WIKI
       * @var array $advanced_WIKI
       */
      $advanced_wiki = array(
                   '',
                   '',
                   "<div class=\"quote\"><span class=\"quoteby\">Zitat:</span>\r\n$2</div>",
                   "<div class=\"quote\"><span class=\"quoteby\">Zitat von <b>$1</b>:</span>\r\n$3</div>",
                   '[[$1|$1]]',
                   '[[$1|$2]]',
                   '[[mailto: $1|$1]]',
                   '[[mailto: $1|$2]]',
                   '{{$1|$1}}',
                   '{{$1|$2}}',
                   '<code>$2</code>');
      $text = preg_replace($advanced_bbcode, $advanced_wiki,$text);
    }

    //before return convert line breaks to WIKI
    return bbcode::nl2br($text);

  }

  /**
   *
   * removes bbcode from text
   * @param string $text
   * @return string text cleaned
   */
  public static function remove($text)
  {
    return strip_tags(str_replace(array('[',']'), array('&lceil;','&rceil;'), $text));
  }

  /**
   *
   * Inserts WIKI line breaks before all newlines in a string
   * @param string $var
   */
  public static function nl2br($var)
  {
    return str_replace(array('\\r\\n','\r\\n','r\\n','\r\n', '\n', '\r'), '\\\\', nl2br($var));
  }

}
/*
 * Function that does parse all command-line Options.
 *
 */
function getArgs($args) {
 $out = array();
 $last_arg = null;
    for($i = 1, $il = sizeof($args); $i < $il; $i++) {
        if( (bool)preg_match("/^--(.+)/", $args[$i], $match) ) {
         $parts = explode("=", $match[1]);
         $key = preg_replace("/[^a-z0-9]+/", "", $parts[0]);
            if(isset($parts[1])) {
             $out[$key] = $parts[1];
            }
            else {
             $out[$key] = true;
            }
         $last_arg = $key;
        }
        else if( (bool)preg_match("/^-([a-zA-Z0-9]+)/", $args[$i], $match) ) {
            for( $j = 0, $jl = strlen($match[1]); $j < $jl; $j++ ) {
             $key = $match[1]{$j};
             $out[$key] = true;
            }
         $last_arg = $key;
        }
        else if($last_arg !== null) {
         $out[$last_arg] = $args[$i];
        }
    }
 return $out;
}
$text=getArgs($_SERVER['argv']);
if(!array_key_exists("text", $text))
  die("Cant find option --text \"[b]TEXT[/b]\"\n");
$wikitex=new bbcode;
$text=$text["text"];
$text=$wikitex->towiki($text, true);
print_r($text . "\n");
?>

Den Text, den ich dafür nutzte ist Hier auffindbar.

Später, da mir langweilig war, habe ich etwas ähnliches mit sed geschrieben. Dies ist kein sed-Skript, sondern mit der “Inline”-Funktion geschaffen, da ich mit sed noch nicht viel Erfahrung besitze. Dies ist auch der Grund, warum bei mir bisher nur Einfache BB-Codes konvertiert werden… Hier auch das SH-Skript dazu:

#!/bin/bash
#b code
sed -i 's/\[b\]/\*\*/gi' $1 -u && sed -i 's/\[\/b]/\*\*/gi' $1 -u
#u
sed -i 's/\[u\]/__/gi' $1 -u && sed -i 's/\[\/u\]/__/gi' $1 -u
#i
sed -i 's/\[i\]/\/\//gi' $1 -u && sed -i 's/\[\/i\]/\/\//gi' $1 -u
#*
sed -i 's/\[\*\]/  \*/gi' $1 -u
#list
sed -i 's/\[list\]/ /gi' $1 -u && sed -i 's/\[\/list\]/ /gi' $1 -u
#code
sed -i 's/\[code\]/\<code\>/gi' $1 -u && sed -i 's/\[\/code\]/\<\/code\>/gi' $1 -u
#url
sed -i 's/\[url\]/\[\[/gi' $1 -u && sed -i 's/\[\/url\]/\]\]/gi' $1 -u

Weiß jemand, wie ich bei sed Backreferences erstellen kann? Also etwas, was in Perl etwa wie dass hier( (.+) ) aussehen würde.

Außerdem möchte ich mich entschuldigen für die späte Freischaltung der Kommentare beim letzten Artikel. Mir dafür aber Vorzuwerfen, dass ich jemanden Zensieren würde geht eindeutig zu weit ..

Nun, ich hoffe das dies irgendjemandem Helfen könnte!

Anhang

Die erwähnten Skripts
Datei: tux.txt – BBcode BeispielBBcode Beispiel
Sedscript als Text-Datei.sedscript

bbcode.php(.txt)

freiesMagazin 07/2013 Titelseite

Heute ist die Juliausgabe von freiesMagazin erschienen und bringt viele spannende Artikel aus den Bereichen Linux und Open Source mit.

Inhalt der Ausgabe 07/2013

  • Debian GNU/Linux 7.0 Wheezy
  • Ein Blick auf Android
  • Der Juni im Kernelrückblick
  • Firefox-Erweiterungen mit dem Add-on-SDK erstellen – Teil V
  • Dear Esther – Briefe eines Unbekannten
  • Rezension: Einstieg in PHP 5.5 und MySQL 5.6
  • Rezension: Softwarequalität in PHP-Projekten
  • Rezension: Computer-Netzwerke: Grundlagen, Funktionsweise, Anwendung
  • Leserbriefe und Veranstaltungen

Downloads

Unter der Adresse http://freiesmagazin.de/mobil/ findet man immer die aktuelle und alle bisher erschienenen HTML- und EPUB-Ausgaben. Auf der Magazin-Seite können die letzten drei Ausgaben von freiesMagazin abgerufen werden, ältere Ausgaben findet man im Archiv.

Kontakt

Wer jeden Monat an die neue Ausgabe erinnert werden will, kann auch den RSS-Feed abonnieren. Leserbriefe mit Lob, Kritik, Anregungen oder Fragen und neue Artikelvorschläge können an die Redaktion geschickt werden.

Bereits vor einer Woche ist die neue Ausgabe des englischsprachigen Magazins Full Circle Magazine erschienen. Themen der 74. Ausgabe sind unter anderem

  • Umfrage-Ergebnisse
  • Gpodder
  • Libre Office – Teil 27: Draw
  • Verbindungen mit IPv6
  • Blender-Tutorial – Teil 6b
  • Inkscape-Tutorial – Teil 14
  • DVD-Menüs mit DVDStyler
  • Review: Clementine
  • Vergleich: PDF-Betrachter
  • Interview: Diane Leikvold
  • Ubuntu Games: Gratuitous Space Battles
  • News, Leserbriefe und mehr

Links: Webseite, Forum und Wiki

6. Juli 2013

Ich verfolge die Entwicklung von Btrfs, dem zukünftigen Linux-Filesystem der Marke eierlegender Wollmilchsau, nun schon seit geraumer Zeit.

Gestern hat mich mal wieder der Teufel geritten und ich habe meine Rootpartition von Arch kurzerhand von ext4 auf btrfs umstellt.

Als erstes habe ich sichergestellt, dass das Paket btrfs-progs installiert ist.

Danach habe ich den Rechner mit dem Installationsmedium von Arch gebootet.

Mittels “fsck.ext4 -f /dev/sda3” habe ich vorsichtshalber erst mal das vorhandene Dateisystem auf Fehler getestet. Als das keine Probleme ausgespuckt hat, habe ich kurzerhand mittels “btrfs-convert /dev/sda3” meine Rootpartition von ext4 auf btrfs konvertiert. Hier muss man durchaus einige Zeit warten. Nach dem Konvertieren habe ich dann die “neue” Rootpartition gemountet und die /etc/fstab angepasst indem ich beim Eintrag für die betreffende Partition ext4 gegen btrfs und fs_passno von 1 gegen 0 ausgetauscht habe.

Mutig (oder dumm) wie ich bin, habe ich dann gleich einmal einen Neustart hingelegt. Und schwups hat es eine Fehlermeldung gehagelt. Und zwar dass das Filesystem btrfs nicht bekannt sei. Nach einigen ratlosen Minuten habe ich dann wieder das Installationsmedium gebootet, die Partition gemountet und mir die Datei /etc/mkinitcpio.conf angesehen. Hier hatte ich zwar als Hook filesystems eingetragen, aber scheinbar mag das btrfs nicht. Da meines Wissens ein btrfs-Hook existiert habe ich diesen mal schnell hinzugefügt. Damit das ganze dann auch funktioniert, wollte ich dann noch “mkinitcpio -p linux” ausführen. Und wieder hat es peng gemacht. Ohne chroot funktioniert das ja nicht. Also noch schnell die Boot-Partition gemountet und mittels “chroot /mnt/arch” das ganze gechrootet. Nun hat auch “mkinitcpio -p linux” funktioniert. Also Neustart. Und wieder peng. Langsam genervt, habe ich erneut vom Installationsmedium gebootet. Mittels “blkid” habe ich dann mir mal alle Partitionen zu Gemüte geführt und diese mit den Einträgen in der /etc/fstab abgeglichen. Bingo, die UUID hat sich geändert. Also schnell noch diese in der /etc/fstab anpassen. Neustart. Kein Peng, sondern der gewohnte Bootvorgang.

System läuft, Daten sind noch da. Also noch einen Schritt weiter. Erneut habe ich die Datei /etc/fstab editiert und in die betreffende Zeile noch ein compress=lzo hinzugefügt, damit die Dateien, welche geändert werden bzw. neu hinzukommen, auch komprimiert werden. Was aber mit den bereits vorhandenen, die sich nicht ändern? Naja erst mal testen und deshalb… Neustart. Funktioniert. Also was nun mit den bereits vorhandenen Daten? Nach der einen oder anderen Suchabfrage bei Google hatte ich die Lösung. Mit dem Befehl “find -xdev -type f -exec btrfs fi defrag ‘{}’ \;” werden vorhandene btrfs-Filesystem defragmentiert und dabei auch noch komprimiert, sofern der Eintrag in der /etc/fstab vorhanden ist.

Mal sehen, wie sich btrfs nun schlägt. Bisher habe ich noch keine negativen Effekte erlebt. Gut, nach nicht mal 24 Stunden ist das auch kein Wunder. Sollte es wirklich richtig Peng machen, werde ich einfach die ext4-Sicherung einspielen und hier noch einen Artikel schreiben. Alles in allem ist das aber alles kein Hexenwerk. Sofern man die Dinge berücksichtigt, die ich nicht berücksichtigt habe. ;-) Trotzdem will ich noch einmal ganz deutlich sagen, dass btrfs noch nicht als stabil gekennzeichnet ist. Deswegen Benutzung auf eigene Gefahr. Genau deswegen bleibt /home bei mir auch erst einmal ext4, da hier wesentlich mehr Daten lagern und eine Datensicherung nicht mal eben eingespielt ist.

Wie in einem älteren Artikel bereits beschrieben, setze ich zur Synchronisation meiner Daten gerne “rsync” ein. Nun möchte ich Euch zeigen wie Ihr Fehler in Euren Bash-Skripten loggen und Euch per E-Mail benachrichtigen lassen könnt.
 
Ich gehe hier nur auf die Komponenten ein die für das Logging und die E-Mail Benachrichtigung relevant sind.
 
Eine Anleitung für rsync findet Ihr in meinem Artikel Linux: Dateien mit rsync synchron halten


tortuga-mail-rsync
 
Bevor ich auf das Skript eingehe, legen wir vorab das Verzeichnis rsync unter /var/log/ und darunter die Datei tortuga.log wie folgt an:
  mkdir /var/log/rsync/
  touch /var/log/rsync/tortuga.log
 
Nachdem diese Vorarbeit erledigt ist widmen wir uns nun Schritt für Schritt dem Skript.
 
Zuerst legen wir die Variablen fest:
 ERRORLOG Hier kommt der Pfad zu der neu angelegten Log-Datei hin
 ADRESSE Eure E-Mail Adresse an die die Benachrichtigung versendet werden soll
 
Der Teil 2> $ERRORLOG während der Synchronisation, schreibt die Fehler ins Logfile.
 

if [ -s “$ERRORLOG” ] prüft ob im Logfile Meldungen enthalten sind,
cat $ERRORLOG | mail -s “RSYNC ERROR: Tortuga fehlgeschlagen” $ADRESSE ist dies der Fall, kopiert er den Inhalt der Logdatei in eine E-Mail und versendet diese mit dem angegebenen Betreff an die E-Mail Adresse
sleep 10 Hier legt das Skript eine 10 Sekündige Wartepause ein,
echo -n “” > $ERRORLOG bevor mit diesem Befehl das Logfile wieder geleert wird.

 
Der Inhalt einer E-Mail, sieht dann in etwa so aus:

rsync: opendir "/var/tortuga/" failed: Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1060) [sender=3.0.7]

 
Diese werden natürlich nur im Fehlerfall generiert. Läuft das Skript ohne Probleme gibt es auch keine E-Mail.
 
 
Anleitung wurde mit Ubuntu 12.04 erstellt
 
Fazit:
Am Anfang habe ich mich einfach darauf verlassen, dass die Synchronisation funktioniert und habe damit natürlich prompt Schiffbruch erlitten. Deshalb habe ich mir auf diese Weise angewöhnt, mir eine Nachricht zukommen zu lassen wenn ein Skript fehlschlägt. Es kommt zwar recht selten vor, aber ab und zu eben doch.
 
Natürlich lässt sich das ganze auf beliebige Skripte adaptieren.
 
 
Klar soweit?
Euer RSB

Es ist seit meinem letzten Artikel für die Ubuntuusers-Community einige Zeit vergangen. Doch ich möchte hiermit wieder einen Schritt zurück zu meinen normalen Veröffentlichungszyklus gehen. Die Idee dazu kam auf, als ich das Praktikum bei der Erwin Müller Gruppe anfing. Mehr zum Praktikum auf http://kine.daemon-tuts.de. Sobald veröffentlicht. 
Dazu habe ich einige meiner bevorzugten CAD-Lösungen für Linux aufgeschrieben und beschrieben.

Ich kam dort in der Haus- und Betriebstechnik natürlich mit technischen Zeichnungen in Kontakt und machte mich auf die Suche nach geeigneter Software. Für Elektrotechnische Anwendungen kann ich bisher nur KiCAD empfehlen, weil es relativ einfach und dennoch umfangreich ist. Man muss allerdings die einen oder anderen Bauteile extra neu zeichnen, aber im Großen und Ganzen gibt es ein gutes Paket ab. 
Desweiteren suchte ich nach einer grundlegenden CAD-Lösung und da viel mir als allererstes QCAD auf. QCAD liegt in einer vor kurzem neu erschienen CAD/CAM Lösung vor und bietet Gelegenheit, seine CAD-Zeichnungen in sauberen und vor allem unbelasteten GCODE zu verwandeln. Kurze Projekte können durchaus darin gezeichnet werden, bietet QCAD nur eine 15min. Demozeit pro Instanz, ist es jedenfalls genug für die eine oder andere kurze Änderung. 
Jedoch kann man auch mit dem an AutoCAD angelehnten DraftSight einiges anstellen. Es ist eine professionelle CAD-Suite die vieles bietet. Hier können DXF-Dateien exportiert werden und in QCAD beispielsweise in GCode verwandelt werden. 

KiCAD's Platinenlayouteditor3DS DraftSight QCAD Professional CAD Suite

Wem QCAD allerdings mit seiner 15min-Beschränkung nicht gefällt, aber das Bedienkonzept mag, kann auch auf das freie LibreCAD zurückgreifen. Es bietet allerdings keinen CAM-Export. Auch hier ist eine Kombination beider möglich. 

Links: 

http://librecad.org
http://www.3ds.com/de/produkte/draftsight/ueberblick/
http://kicad-pcb.org
www.ribbonsoft.com/de/what-is-qcad-cam

5. Juli 2013

Thunderbird steht ab sofort als Beta-Version 23.0 zum Download bereit. Mozilla wird erst im September mit Thunderbird 24 wieder einen neuen Feature-Release veröffentlichen, bis dahin wird es aber weiter basierend auf der jeweils aktuellen Gecko-Version parallel zu Firefox neue Beta-Versionen mit diversen Neuerungen geben.

Bugfixes…

Die neue Beta-Version von Thunderbird bringt wie immer einige Plattform-Fixes und Fehlerbehebungen. So wird unter anderem beim Verschieben von E-Mails der verfügbare Festplattenplatz nun korrekt berücksichtigt und das Komprimieren von Ordnern sollte nicht mehr fehlschlagen, wenn die Größe vom lokalen Mail-Ordner um 4 GB ist. Beim Löschen von RSS-Einträgen konnte es vorkommen, dass der Titel und die URL des nächsten angezeigten Eintrags nicht aktualisiert wurden und das Ziehen eines RSS-Links aus dem Browser in den Feed-Account von Thunderbird sollte nun auch unter Linux den entsprechenden Feed anlegen. Beim Weiterleiten einer Plaintext-E-Mail konnte es unter seltenen Umständen außerdem dazu kommen, dass Thunderbird einen leeren Anhang erzeugt und mitsendet.

… und kleinere Verbesserungen

Um versehentlichem Datenverlust vorzubeugen, werden E-Mails nach Drücken von Shift + Entf nicht mehr sofort unwiderruflich gelöscht, ab sofort erscheint zunächst noch eine Sicherheits-Abfrage. Der Senden-Button beim Verfassen neuer Nachrichten bleibt nun so lange deaktiviert, bis eine E-Mail-Adresse in das entsprechende Feld eingetragen worden ist. Im selben Fenster zeigt im Menü des Speichern-Buttons außerdem eine Checkbox, welche der Aktionen die Standard-Aktion ist. Newsgroups sollten in den Eigenschaften nun den belegten Platz auf der Festplatte anzeigen. Des Weiteren wurden die mit der Thunderbird 22 Beta eingeführten neuen Benachrichtigungen optisch schöner gestaltet, die Anzeigezeit kann auf Windows-Systemen unter Einstellungen → Allgemein → Eine Benachrichtigung anzeigen → Anpassen eingestellt werden. Die Standard-Dauer beträgt zehn Sekunden. Unter OS X wurden die Symbole der Hauptsymbolleiste erneuert.

Download

Die Thunderbird 23.0-Beta kann hier heruntergeladen werden. Nutzer, welche den neusten stabilen Release nutzen möchten, greifen zu Thunderbird 17.0.7, welcher weiter regelmäßige Sicherheits- und Stabilitäts-Aktualisierungen erhält. Umsteiger von Thunderbird 17 auf die aktuelle Beta-Version lesen empfohlenerweise noch die folgenden Artikel:

Mozilla veröffentlicht Thunderbird 18.0 Beta
Mozilla veröffentlicht Thunderbird 19.0 Beta
Mozilla veröffentlicht Thunderbird 20.0 Beta
Mozilla veröffentlicht Thunderbird 21.0 Beta
Mozilla veröffentlicht Thunderbird 22.0 Beta

Ich musste mein Nexus 4 leider schon zum zweiten Mal aufgrund von Fehlern reklamieren. Das letzte Mal Anfang dieser Woche aufgrund von Displayfehlern. Beide Male habe ich den Google Support angerufen und wenige Sekunden später war ich auch schon mit einem Mitarbeiter verbunden. Bei beiden Anrufen waren die Mitarbeiter sehr ruhig und haben mir den Austauschprozess sehr genau und detailliert erklärt. So werde mir nach dem Telefonat eine E-Mail geschickt, die den Prozess nochmal beschreibe, ein Formular zum Beilegen der Rücksendung enthält und darüber hinaus auch einen Link, über das man kostenfrei ein neues Nexus 4 bestellen könne. Anschließend habe man 21 Tage Zeit, das defekte Gerät zurückzuschicken. All das kann ich meinen Erfahrungen nach absolut bestätigen und kann dem Service hier nur ein riesiges Lob aussprechen. Bei welchem Händler bekommt man bitte nach knapp vier Monaten ein komplett neues Austauschgerät? Hier kann in manchen Fällen wohl nur Amazon mithalten.

Das defekte Gerät muss anschließend in einer der Ersatzbestellung beigelegten Versandtasche verpackt und ein Abholtermin mit DHL Express vereinbart werden. Das defekte Gerät landet anschließend bei LG in Polen, dort inspiziert und dann entschieden ob es sich um einen Garantiefall handelt. Sollte dies nicht der Fall sein, kann man auf Wunsch sein defektes Gerät zurückerhalten und das neue Gerät wieder zurückgeben.

Einzig und allein die Telefonnummer des Google-Play-Supports findet sich nicht auf den ersten Blick. Die Nummer versteckt sich auf einer Hilfeseite von Google!

Wie sehen denn eure Erfahrungen mit dem Google Support aus?

Wie versprochen hier eine Liste mit Mods die mir gut gefallen und die auch relativ stabil sind.

Die Lizenzen der Mods sind unterschiedlich und die Lizenzen von Texturen und Sounds können abweichen. Genaue Informationen zur Lizenz der einzelnen Mods stehen im Minetest-Forum und sind in der jeweiligen Archiv-Datei vermerkt. Viele der gelisteten Mods sind unter der WTFPL-Lizenz veröffentlicht. Andere Lizenzen sind die GPL, CC-BY-SA und CC0.

Diverse

  • Craft Guide: Fügt einen Schild und Computer hinzu, auf dem man nachschauen kann wie Gegenstände gecraftet werden.
    Forum | Archiv
  • Set Home: Setzt via /sethome den momentanen Aufenthaltsort als Heimkoordinate zu der man sich mit /home teleportieren kann.
    Forum | Archiv
  • Torches: Ersetzt die normalen Fackeln durch schöne dreidimensionale Fackeln.
    Forum | Archiv
  • Intweak: Fügt dem Inventar ein paar Komfortfunktionen hinzu. So kann etwa ein Werkzeug nach rutschen, wenn das getragene zerbricht.
    Forum | Archiv
  • Doors: Fügt Glas- und Falltür zu Minetest hinzu. Außerdem ertönen beim Öffnen und Schließen entsprechende Geräusche.
    Forum | Archiv

Rohstoffe/Blöcke

  • TNT: Man kann TNT-Blöcke sowie Schwarzpulver erstellen.
    Forum | Archiv
  • Quartz: Stellt den Rohstoff Quarz zur Verfügung. Damit lassen sich z.B. schöne Treppen und andere Blöcke erstellen. Also für Architekten geeignet.
    Forum | Archiv
  • Mesecons: Entspricht den Redstones unter Minecraft. Mesecons fügen elektrische Elemente zu Minetest hinzu. Etwa Lampen, Schalter, Gates, Detektoren aber auch den programmierbaren Mikrocontroller.
    Forum | Archiv | Projektseite

Fahrzeuge

  • Minecarts: Fügt die typische Minenlore zum Spiel hinzu, sodass die Gleise auch genutzt werden können.
    Forum | Archiv
  • Boats: Durch Boats lässt sich ein einfaches Boot/Floß zum fahren bauen.
    Forum | Archiv
  • Helicopter: Ein einfacher Helikopter der zu einfach zu bauen ist. Kann den Spielspaß mindern.
    Forum | Archiv

Einrichtungsgegenstände

  • Gemälde: Man kann mit Papier und Büchern Bilder fertigen und auch Animationen. Wie man eigene Bilder/Animationen erstellt wird im Forum erklärt.
    Forum | Archiv
  • Jukebox: Durch diese Mod lässt die Jukebox formen. Interagiert man mit einer Schallplatte und der Jukebox ertönen ein paar kurze zu Minetest passende Songs (die unter CC0 stehen).
    Forum | Archiv
  • Lavalamp: Fügt mehrere verschiedenfarbige Lavalampen zum Spiel hinzu.
    Forum | Archiv
  • Jumping: Erweitert das Spiel um Trampoline. Besonders praktisch um an höher gelegene Orte zu kommen.
    Forum | Archiv
  • Beds: Betten bieten einem die Möglichkeit die Nacht durch zuschlafen und so Gefahren zu umgehen.
    Forum | Archiv
  • Computer: Wer einen Computer oder Spielkonsole braucht kann sich verschiedene Modelle bauen.Forum | Archiv
  • Furniture: Bunte Sessel, Sofa und stilvolle Tische können mit dieser Mod das eigene blockige Heim schmücken.
    Forum | Archiv
  • Bitcoins: Fügt Blöcke und Bitcoins zum Spiel hinzu. Diese haben keinen höheren Zweck. Man kann dadurch keine echten Bitcoins in Minetest erstellen oder handeln. Forum | Archiv

Gameplay

  • Simple Mobs: Wer böse Monster oder verwirrte Schafe sucht die nicht die CPU fressen findet mit dieser Mod die richtigen Mobs.
    Forum | Archiv

Minetest Mod Hubschrauber Hier sieht man die Mods Funiture und Lavalamp Computer auf dem Minetest läuft Arbeitsecke mit großer Buchauswahl und Computer mit Crafting Guide


Wenn Ihr andere gute (und stabile) Mods für Minetest kennt, dann schreibt doch einen Kommentar. ◕‿◕

Ubuntu 13.10 soll den neuen Display Server Mir und der Kompatibilitätsschicht XMir verwenden. Die aktuellen daily builds enthalten diese Komponenten noch nicht, dennoch ist das Ausprobieren einfach. (Auf das Linux-politische Hick-Hack rund um den von Canonical losgetretenen Kampf zwischen Mir und Wayland gehe ich hier nicht ein.)

Voraussetzungen

Sie benötigen eine aktuelle Ubuntu-13.10-Testinstallation. Das Grafiksystem muss mit einem freien Treiber laufen, also mit intel, nouveau oder radeon. Virtuelle Maschinen sind ungeeignet.

Installation

Die Seite Installing pre-built packages on a PC beschreibt, was Sie tun müssen, um die Mir-Pakete auf einem Ubuntu 13.10-Testsystem zu installieren:

sudo add-apt-repository ppa:mir-team/system-compositor-testing
sudo apt-get update

Mit einem Editor mit mit cat richten Sie die Datei /etc/apt/preferences.d/50-pin-mir.pref ein. Sie muss den folgenden Inhalt haben:

Package: *
Pin: origin "private-ppa.launchpad.net"
Pin-Priority: 1001

Package: *
Pin: release o=LP-PPA-mir-team-system-compositor-testing
Pin-Priority: 1002

Nun kann die eigentliche Installation und der Start von Mir erfolgen:

sudo apt-get install mir-demos
sudo apt-get dist-upgrade
sudo service lightdm restart

Praktische Erfahrungen

Mir und XMir haben auf meinem Testrechner mit Intel-Grafikkern auf Anhieb funktioniert. Sämtliche Grafikprogramme laufen weiterhin als ganz gewöhnliche X-Programme. Auch die 3D-Grafikfunktionen funktionieren weiter.

Aufgrund der XMir-Zwischenschicht bietet Mir gegenwärtig aber keinerlei Vorteile im Vergleich zu einem gewöhnlichen X-System. Hingegen gibt es noch einige Einschränkungen bzw. Probleme:

  • Der Mauszeiger erscheint doppelt und an unterschiedlichen Positionen. Der »richtige« Mauszeiger ist weiß, der falsche schwarz.
  • Der Wechsel in Textkonsolen mit Strg+Alt+Fn funktioniert nicht mehr.
  • Die Konfiguration mehrere Monitore war unmöglich. Auf allen Bildschirmen erscheint dasselbe Bild.

Dass Mir und XMir tatsächlich laufen, geht außer am fehlerhaften Mauszeiger auch aus der Prozessliste hervor und den Logging-Dateien hervor:

user$ ps ax | grep compositor
... /usr/sbin/unity-system-compositor --from-dm-fd 9 --to-dm-fd 13 --vt 7
user$ grep -i mir /var/log/Xorg.0.log
xorg-server 2:1.13.3+xmir1-0 
(II) LoadModule: "xmir"
(II) Loading /usr/lib/xorg/modules/extensions/libxmir.so
(II) Module xmir: vendor="X.Org Foundation"
...

Verantwortlich dafür, dass Mir und nicht das herkömmliche X Window System startet, ist der Display Manager lightdm. Deren Konfigurationsdateien müssen im Abschnitt [SeatDefault] die Einstellung type=unity enthalten. Wenn Sie diese Einstellung auskommentieren, startet lightdm das herkömmliche X Window System. Sie brauchen also keine Neuinstallation durchführen, um Mir wieder loszuwerden.

user$ cat /etc/lightdm/lightdm.conf.d/10-unity-system-compositor.conf
[SeatDefaults]
type=unity

Fazit

Der Plan, Ubuntu 13.10 mit Mir auszuliefern, erscheint plausibel und gangbar. Wenn Canonical die verbleibenden Probleme mit Mir/XMir beheben kann, werden viele Benutzer Mir gar nicht bemerken. Für Rechner, auf denen keiner der Treiber intel, nouveau oder radeon läuft, plant Ubuntu einen Fallback-Modus auf Basis des gewöhnlichen X Window Systems.

Was aber bringt Mir/XMir in Ubuntu 13.10? Aus Anwendersicht im günstigsten Fall gar nichts! Sofern keine Kompatibilitätsprobleme auftreten, wird alles gleich laufen und aussehen wie bisher. Mag sein, dass das Grafiksystem ein wenig langsamer ist als bisher, spürbar aufgefallen ist es mir aber nicht. Unity und alle anderen Programme sind weiterhin herkömmliche X-Programme.

Dennoch ist Ubuntu 13.10 vermutlich ein unvermeidlicher Zwischenschritt. In Ubuntu 13.10 werden Hunderttausende Ubuntu-Anwender zu (unfreiwilligen) Testern der Mir-Infrastruktur.

Wenn alles gut geht und es von NVIDIA und vielleicht auch von AMD proprietäre Mir-Grafiktreiber gibt, wird Mir/XMir in Ubuntu 14.04 ohne den X-Fallback zum Einsatz kommen. Aber auch Ubuntu 14.04 ist nur ein Zwischenschritt -- wenn auch mit Langzeit-Support.

Die Vorteile von Mir werden nämlich frühestens in Ubuntu 14.10 bemerkbar werden! Erst dann soll Unity 8 zum Einsatz kommen, das ein echtes Mir-Programm und somit nicht mehr auf XMir angewiesen ist. Bis dahin gibt es vielleicht auch Mir-kompatible Versionen der GTK- und QT-Bibliotheken, so dass auch aus vielen anderen X-Programmen echte Mir-Programme werden. Ob wirklich alles derart nach Plan läuft, werden wir sehen.

Links

Offizieller Mir-Zeitplan (ubuntu-devel-Liste)
Mir-Website (Ubuntu)

Ich verwende Thunderbird unter Ubuntu, und bis vor kurzem habe ich den Chromium-Browser verwendet. Jetzt wollte ich zurück zu Firefox wechseln und stand vor dem Problem, dass Thunderbird weiterhin die Links innerhalb der Mails mittels Chromium anzeigen will. Ich habe dann in den Ubuntu-Systemeinstellungen Firefox als Standardbrowser festgelegt - ohne Erfolg, Thunderbird möchte weiterhin nur mit Chromium arbeiten. Mittlerweile habe ich aber einen Weg gefunden, wie man den Standardbrowser direkt in Thunderbird ändern kann.

Ich verwende Thunderbird unter Ubuntu, und bis vor kurzem habe ich den Chromium-Browser verwendet. Jetzt wollte ich zurück zu Firefox wechseln und stand vor dem Problem, dass Thunderbird weiterhin die Links innerhalb der Mails mittels Chromium anzeigen will.

Ich habe dann in den Ubuntu-Systemeinstellungen Firefox als Standardbrowser festgelegt – ohne Erfolg, Thunderbird möchte weiterhin nur mit Chromium arbeiten.

Mittlerweile habe ich aber einen Weg gefunden, wie man den Standardbrowser direkt in Thunderbird ändern kann.
Hierzu klickt man in Thunderbird auf “Bearbeiten => Einstellungen => Anhänge“, und stellt im Reiter “Empfang” bei den Einträgen “http” und “https” den Browser seiner Wahl ein…
Thunderbird-Einstellungen_042
Seit dem funktioniert es bei mir.

share this

Ich musste mein Nexus 4 leider schon zum zweiten Mal aufgrund von Fehlern reklamieren. Das letzte Mal Anfang dieser Woche aufgrund von Displayfehlern. Beide Male habe ich den Google Support angerufen und wenige Sekunden später war ich auch schon mit einem Mitarbeiter verbunden. Bei beiden Anrufen waren die Mitarbeiter sehr ruhig und haben mir den Austauschprozess sehr genau und detailliert erklärt. So werde mir nach dem Telefonat eine E-Mail geschickt, die den Prozess nochmal beschreibe, ein Formular zum Beilegen der Rücksendung enthält und darüber hinaus auch einen Link, über das man kostenfrei ein neues Nexus 4 bestellen könne. Anschließend habe man 21 Tage Zeit, das defekte Gerät zurückzuschicken. All das kann ich meinen Erfahrungen nach absolut bestätigen und kann dem Service hier nur ein riesiges Lob aussprechen. Bei welchem Händler bekommt man bitte nach knapp vier Monaten ein komplett neues Austauschgerät? Hier kann in manchen Fällen wohl nur Amazon mithalten.

Das defekte Gerät muss anschließend in einer der Ersatzbestellung beigelegten Versandtasche verpackt und ein Abholtermin mit DHL Express vereinbart werden. Das defekte Gerät landet anschließend bei LG in Polen, dort inspiziert und dann entschieden ob es sich um einen Garantiefall handelt. Sollte dies nicht der Fall sein, kann man auf Wunsch sein defektes Gerät zurückerhalten und das neue Gerät wieder zurückgeben.

Einzig und allein die Telefonnummer des Google-Play-Supports findet sich nicht auf den ersten Blick. Die Nummer versteckt sich auf einer Hilfeseite von Google!

Wie sehen denn eure Erfahrungen mit dem Google Support aus?

4. Juli 2013

Immer wenn es um die Frage geht, ob Freie und Open-Source-Software in der Schule eingesetzt werden soll, wird zwangsläufig auch über Kosten gesprochen. Dass Einsparungen beim Einsatz von Freier und Open-Source-Software grundsätzlich möglich sind, braucht hier nicht mehr diskutiert werden. Beispielhaft zeigt es sich in München oder auch Finnland. Zwar werden solche Aussagen auch in Frage gestellt, doch insgesamt scheint die Mehrheit von Einsparungen durch Freie und Open-Source-Software überzeugt. Warum also sollte das Kostenargument nicht auch genutzt werden?

Alles für umsonst?

Ich habe selbst schon mehrfach mit einer Kosteneinsparung argumentiert (z.B. bei einem Vortrag auf der Ubucon 2011) und die Erfahrung gemacht, dass dieses Argument meist korrekt verstanden wird. Aber eben nur meist – vor allem von Personen, die mit der Materie rund um Freie und Open-Source-Software vertraut sind. Bei Personen, die nicht wissen auf welche Art und Weise sie funktioniert, führt das Argument hingegen oftmals zu Missverständnissen. Die meist kostenlos verfügbare Software wird dann schnell zu Software die insgesamt keine Kosten verursacht. Betrachtet man aber alle anfallenden Kosten, einschließlich Schulung der Mitarbeiter, Migration der Systeme oder auch die verlustfreie Dateikonvertierung, so kann die spätere Kosteneinsparung zunächst wie eine Kostensteigerung aussehen. Hier mit den Ursachen zu argumentieren (z.B. dem vorherigen Einsatz nicht-offener Dateiformate) führt meist nicht zum Erfolg, weil zwar auf den “Schuldigen” hingewiesen wird, dies aber nichts an der jeweiligen Situation ändert.

Dies führt uns dann zur nächsten Schwierigkeit, die beim Einsatz “kostenloser” Software  gerne auftritt: der Umgang mit Problemen. Im Volksmund gilt die Weisheit “Was nichts kostet, ist auch nichts”. Ähnlich verhält es sich an Schulen, die sich für Freie und Open-Source-Software entscheiden, um Geld zu sparen. Treten Probleme mit der jeweiligen Software auf, so wird oftmals nicht nach den wirklichen Ursachen des Problems gesucht, sondern die Schuld bei der günstigen Software gesucht: “Hätte unsere Schule genügend Geld, würden wir eine vernünftige Software kaufen.”

Das Kostenargument ist insgesamt legitim

Entscheidend für das korrekte Verständnis des Kostenproblems scheint daher zu sein, dass das Grundprinzip von Freier und Open-Source-Software und daraus ableitend auch die Monetarisierungskonzepte verstanden wurden. Nur wer versteht, wie diese funktionieren, kann damit im System Schule Gelder einsparen. Möglichkeiten dazu bietet z.B. eine Computer AG, welche sich um Administration und Wartung der Schul-IT kümmert. Auch Schulungen der Lehrkräfte durch die AG sind denkbar. Komplexere Aufgaben lassen sich an lokale Unternehmen delegieren.

Insgesamt kann das Kostenargument als ein legitimes Argument angeführt werden. Allerdings ist dabei zu beachten, dass die angesprochene Zielgruppe grundlegende Kenntnisse von Freier und Open-Source-Software hat bzw. ein allgemeines Interesse an dieser besteht. Vor allem ist darauf zu achten, dass mit dem Begriff Kosteneinsparung nicht zwangsläufig gigantische Summen zu verbinden sind.

Besser andere Argumente verwenden

Um alle weiteren Personengruppen über die Vorzüge zu informieren, sollte auf andere Argumente zurückgegriffen werden. Für die Schule sind diese dabei, ähnlich wie bei Unternehmen, die bessere Anpassbarkeit oder erhöhte Sicherheit. Deutlich besser eignet sich für den schulischen Bereich aber das Argument, dass sich das demokratische Prinzip der FOSS-Community hervorragend in moderne Schulkonzepte einreiht.