<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>startafire</title><link>http://nerdno.de</link><description>That blog about stuff.</description><lastBuildDate>Wed, 22 May 2013 22:37:53 GMT</lastBuildDate><generator>nikola</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Olivenölkännchenschwachsinn</title><link>http://blog.nerdno.de/posts/2013-05-18-olivenoelkaennchenschwachsinn.html</link><description>&lt;html&gt;&lt;body&gt;&lt;p&gt;Die EU hat endlich mal was für den Verbraucherschutz getan und verbannt
Ölfläschchen von den Restauranttischen.&lt;/p&gt;
&lt;p&gt;Endlich, wurde ja auch Zeit! Ich habe mich schon immer daran gestört,
dass es meist einfach nur metallene Kännchen waren und keine bunten,
voller Logos, Abzeichen und Gütesiegel überlaufenden Plaste-Flaschen.
Endlich muss ich mich bei einem Restaurantbesuch nicht mehr mit meinem
Gegenüber beschäftigen, sondern kann vorgeben die Angaben auf dem
Ölivenölfläschchen studieren zu müssen. Ihr kennt ja auch alle die hohen
Zahlen der Verletzten, Gebrochenen und - ja, sogar die gibt es sicherlich -
Toten, die durch die Nicht-Kennzeichnung der Olivenölkännchen verursacht
werden.&lt;/p&gt;
&lt;p&gt;Mal im Ernst, das die Tischgewürze sind wohl das letzte, um das ich mir
bei einem Restaurantbesuch Sorgen mache. Ist die Küche sauber, kann der
Koch sein Handwerk, sind die Lebensmittel frisch, wird auf genmanipuliertes
Gemüse verzichtet, Starb die Kuh glücklich... ihr kennt das.&lt;/p&gt;
&lt;p&gt;Die Neuregelung der Olivenölfläschchen wird vermutlich nur einer Gruppe
von Olivenölherstellern helfen: den großen.
Die Fläschen dürfen &lt;a class="reference external" href="http://www.welt.de/finanzen/verbraucher/article116299427/EU-verbannt-Olivenoel-Kaennchen-aus-Restaurants.html"&gt;nicht mehr nachgefüllt werden und müssen versiegelt&lt;/a&gt;
sein.
Mein kleiner Lieblings-Olivenöl-Lieferant aus dem spanischen Hinterland,
der auf seinem Hain seit Jahren Olivenbäume anbaut und das weltklassigste
Olivenöl der Welt macht, wird also ab demnächst nicht mehr auf den Tischen
stehen. Abfüllanlage, Flaschen, EU-Olivenölgenehmigungsformular 37A und
der ganze Aufwand lohne sich für ihn nicht - wieso auch, schließlich
habt ihr das Olivenöl bisher immer in eurem Kanister mitgenommen.&lt;/p&gt;
&lt;p&gt;Die Regelung trifft übrigens nur das Olivenöl. Was-auch-immer sonst auf
dem Tisch steht ist davon völlig unberührt. Aber selbst wenn es davon
berührt werde: Mist bleibt Mist.&lt;/p&gt;
&lt;p&gt;PS: Sucht mal im Netz nach der &lt;em&gt;Da Wird Mir Übel&lt;/em&gt;-Folge mit Olivenöl.
Findet man leider nicht mehr in der ZDF Mediathek, war aber sehr
aufschlussreich. Da sah man gut welche Firma Olivenöl panscht und dafür
auch noch viel Geld haben will.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description><guid>http://blog.nerdno.de/posts/2013-05-18-olivenoelkaennchenschwachsinn.html</guid><pubDate>Sat, 18 May 2013 06:59:10 GMT</pubDate></item><item><title>Das Büro des Todes ist wieder da!</title><link>http://blog.nerdno.de/posts/2013-05-17-das-buero-des-todes-ist-wieder-da.html</link><description>&lt;html&gt;&lt;body&gt;&lt;p&gt;Ich bin ziemlich erfreut darüber, dass &lt;a class="reference external" href="http://witzwerk.de/category/das-buero-des-todes/"&gt;das Büro des Todes&lt;/a&gt;
- einer meiner liebsten Comedy-Podcasts - wieder regelmäßig über neue Abenteuer von
John und Jane berichtet.&lt;/p&gt;
&lt;p&gt;Es gibt eine neue Adresse und ich habe das Gefühl, dass sich bei den Sprechern
etwas geändert hat, aber das ist alles egal, solange es weiter geht!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description><guid>http://blog.nerdno.de/posts/2013-05-17-das-buero-des-todes-ist-wieder-da.html</guid><pubDate>Fri, 17 May 2013 21:02:21 GMT</pubDate></item><item><title>Python: Key in einem Dict ändern</title><link>http://blog.nerdno.de/posts/python-key-in-einem-dict-aendern.html</link><description>&lt;html&gt;&lt;body&gt;&lt;p&gt;Eine Kleinigkeit für die Trickkiste, denn normalerweise sind die Keys von
Dictionaries in Python unveränderlich.
&lt;a class="reference external" href="http://redes-privadas-virtuales.blogspot.de/2013/04/updating-key-name-in-python-dictionary.html"&gt;Gefunden&lt;/a&gt; habe ich es im Blog von Javier Andrés Alonso.&lt;/p&gt;
&lt;pre class="code python literal-block"&gt;
&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;my_dict&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;"protocol"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"HTTP"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"size"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;my_dict&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"inet_protocol"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;my_dict&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pop&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"protocol"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="n"&gt;my_dict&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;'inet_protocol'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;'HTTP'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'size'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;PS: Funktioniert in Python 2 &amp;amp; 3 :)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description><guid>http://blog.nerdno.de/posts/python-key-in-einem-dict-aendern.html</guid><pubDate>Sun, 12 May 2013 19:23:20 GMT</pubDate></item><item><title>Stromsparen</title><link>http://blog.nerdno.de/posts/2013-04-26-stromsparen.html</link><description>&lt;html&gt;&lt;body&gt;&lt;p&gt;Mir macht es keinen Spaß an einem Laptop zu sitzen, bei dem der Lüfter
ständig dreht und der Akku nach kurzer Zeit bereits leer ist.
Glücklicherweise, kann ich mir mit &lt;cite&gt;powertop&lt;/cite&gt; und &lt;cite&gt;cpufrequtils&lt;/cite&gt; helfen!&lt;/p&gt;
&lt;p&gt;Die Installation wird wie auf einem Debian oder Ubuntu üblich erledigt:&lt;/p&gt;
&lt;blockquote&gt;
sudo apt-get install cpufrequtils powertop&lt;/blockquote&gt;
&lt;div class="section" id="cpufrequtils"&gt;
&lt;h2&gt;cpufrequtils&lt;/h2&gt;
&lt;p&gt;&lt;cite&gt;cpufrequtils&lt;/cite&gt; erlaubt mir die vom Kernel bereits mitgebrachten
Stromspartechniken zu beeinflussen.
Mittels &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;cpufreq-info&lt;/span&gt;&lt;/tt&gt; bekomme ich Informationen über den Zustand
der CPUs und den verwendeten Frequenzen. Auch kann ich sehen welche
Strategie die Frequenz beeinflusst. Die Strategie wird durch den so
genannten Governer bestimmt. &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;cpufreq-info&lt;/span&gt;&lt;/tt&gt; zeigt nicht nur an welche
Governor zur Verfügung stehen, es zeigt auch welche Frequenzschritte
möglich sind.&lt;/p&gt;
&lt;p&gt;Mittels &lt;tt class="docutils literal"&gt;sudo &lt;span class="pre"&gt;cpufreq-set&lt;/span&gt; &lt;span class="pre"&gt;--cpu&lt;/span&gt; 0 &lt;span class="pre"&gt;--governor&lt;/span&gt; conservative &lt;span class="pre"&gt;--related&lt;/span&gt;&lt;/tt&gt;
setze ich die Strategie für alle hardwareseitig zusammengehörenden CPUs
auf die konservative Umsetzung der Frequenzen.
Diese bevorzuge ich gegenüber dem häufig empfohlenen &lt;cite&gt;ondemand&lt;/cite&gt;, da
selbiger mir oftmals zu sprunghaft ist und dadurch gefühlt öfter für das
Anlaufen des Lüfters sorgt.&lt;/p&gt;
&lt;p&gt;Nach dem Setzen kann wiederum mit &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;cpufreq-info&lt;/span&gt;&lt;/tt&gt; überprüft werden, welche
Settings gemacht wurden und in welchem Frequenzbereich die CPU laufen soll.
Wenn bei einem Governer keine Frequenzspanne angegeben ist, dann kann man
diese mit &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;--min&lt;/span&gt; $untere_schwelle&lt;/tt&gt; sowie &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;--max&lt;/span&gt; $obere_schwelle&lt;/tt&gt; angeben.&lt;/p&gt;
&lt;p&gt;Bei meinem Intel Atom N270 verwende ich folgenden Befehl:&lt;/p&gt;
&lt;blockquote&gt;
sudo cpufreq-set --cpu 0 --governor conservative --related --min 800&lt;/blockquote&gt;
&lt;div class="note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;Von der Verwendung des &lt;cite&gt;powersave&lt;/cite&gt; Governers wird in vielen Fällen
&lt;a class="reference external" href="http://wiki.ubuntuusers.de/Prozessortaktung#Verfuegbare-Governors"&gt;abgeraten&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="powertop"&gt;
&lt;h2&gt;powertop&lt;/h2&gt;
&lt;p&gt;Powertop ist ein weiters nützliches Tool zum Stromsparen.
Während cpufreq sich nur um die Frequenz der CPU kümmert, zieht Powertop
verschiedenste andere Dinge heran. Hier werden z.B. Stromsparmodi des
Chipsatzes aktiviert, unbenötigte Netzwerkverbindungen abgeschaltet oder
die Stromsparfähigkeiten des Audio Codecs aktiviert.&lt;/p&gt;
&lt;p&gt;Außerdem zeigt &lt;cite&gt;powertop&lt;/cite&gt; an welche Prozesse die CPU beanspruchen und in
welchen Modi sich die CPU aufhält.&lt;/p&gt;
&lt;p&gt;Das wichtigste an &lt;cite&gt;powertop&lt;/cite&gt; ist aber meiner Meinung nach der Reiter
&lt;em&gt;Tunables&lt;/em&gt;, in welchem man ruck zuck einzelne Stromsparmodi aktivieren kann.
Dazu muss man kein großer Hacker sein, Option auswählen und mit &lt;em&gt;ENTER&lt;/em&gt;
bestätigen ist ausreichend. Wow!&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="fazit"&gt;
&lt;h2&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Einem Linux-Rechner Sparsamkeit beizubringen ist gar nicht so schwer.
Der Kernel hat alles wichtige an Bord und die Hilfsmittel sind einfach
zu bedienen.
Beachten sollte man bei der Anwendung, dass nicht alle Änderungen permanent
sind, sondern nach einem Neustart wieder neu vorgenommen werden müssen.&lt;/p&gt;
&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</description><guid>http://blog.nerdno.de/posts/2013-04-26-stromsparen.html</guid><pubDate>Fri, 26 Apr 2013 19:48:58 GMT</pubDate></item><item><title>Planet-Python.de</title><link>http://blog.nerdno.de/posts/2013-04-24-planet-python_de.html</link><description>&lt;html&gt;&lt;body&gt;&lt;p&gt;Der englische &lt;a class="reference external" href="http://planet.python.org/"&gt;Planet Python&lt;/a&gt; wird von vielen
Pythonistas gelesen - mir inklusive.
Aber wär es nicht manchmal schön zu sehen, was die deutsche Python-Community umtreibt?&lt;/p&gt;
&lt;p&gt;Dafür gibt es nun &lt;a class="reference external" href="http://planet-python.de/"&gt;Planet-Python.de&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Der Planet soll der deutschen Community die Möglichkeit geben sich zu zeigen und Sichtbarkeit für die uns bewegenden Themen geben.&lt;/p&gt;
&lt;p&gt;Aber dazu brauchts natürlich auch Blogs, deren Posts im Planet dargstellt werden.
Auf der Position ist der Planet momentan noch dünn besetzt, was hoffentlich nur
an seinem geringen Alter liegt.
Von daher bin ich noch auf der Suche nach Blogs, die sich mit Theme aus dem
Python-Umfeld beschäftigen und beim Planet
&lt;a class="reference external" href="http://planet-python.de/stories/mitmachen.html"&gt;mitmachen&lt;/a&gt;!
Vielleicht suche ich ja genau dich?!&lt;/p&gt;
&lt;p&gt;Der Planet wird, wie auch mein Blog, durch &lt;a class="reference external" href="/posts/nikola.ralsina.com.ar"&gt;Nikola&lt;/a&gt;
erstellt. Die Konfiguration ist
&lt;a class="reference external" href="https://github.com/okin/planet-python.de"&gt;auf Github&lt;/a&gt; einseh- und anpassbar.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description><guid>http://blog.nerdno.de/posts/2013-04-24-planet-python_de.html</guid><pubDate>Wed, 24 Apr 2013 20:27:23 GMT</pubDate></item><item><title>Namensräume</title><link>http://blog.nerdno.de/posts/2013-04-13-namensraeume.html</link><description>&lt;html&gt;&lt;body&gt;&lt;p&gt;Mama Gump war eine weise Frau.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Mama Gump always said, import star is like a box of chocolates, you never know what you're going to get  :-)&lt;/em&gt;&lt;/p&gt;
&lt;p class="attribution"&gt;—&lt;a class="reference external" href="https://twitter.com/raymondh/status/317083682647191552"&gt;Raymond Hettinger, Python core developer&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Einfache Regel: niemals &lt;tt class="docutils literal"&gt;from foo import *&lt;/tt&gt; !&lt;/p&gt;
&lt;p&gt;Denn damit holt man sich jede Menge Namen in seinen Namensraum und das kann
unter Umständen den einen oder anderen unerwünschten Seiteneffekt haben.
Ich mache an solchen Stellen meist ein &lt;tt class="docutils literal"&gt;from foo import first, second&lt;/tt&gt;, um
explizit festzulegen, welche Objekte in meinem Namensraum importert werden
sollen.&lt;/p&gt;
&lt;p&gt;Weitere Informationen zu Python und Namensräumen gibts unter im
&lt;a class="reference external" href="http://bytebaker.com/2008/07/30/python-namespaces/"&gt;Guide to Python Namespaces&lt;/a&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description><guid>http://blog.nerdno.de/posts/2013-04-13-namensraeume.html</guid><pubDate>Sat, 13 Apr 2013 15:52:23 GMT</pubDate></item><item><title>Google Chrome: Zeilenabstand im Lesezeichen-Menü anpassen</title><link>http://blog.nerdno.de/posts/2013-04-07-win7-google_chrome_lesezeichen_abstand.html</link><description>&lt;html&gt;&lt;body&gt;&lt;p&gt;Mit dem letzten Update scheint Google seinem Browser Chrome im Lesezeichenmenü mehr Abstand zwischen den einzelnen Elementen gegeben zu haben.&lt;/p&gt;
&lt;p&gt;Leider gibt es keine Möglichkeit über eine GUI den Abstand wieder zu verkleinern. Aber es gibt die Möglichkeit Chrome beim Start einen &lt;a class="reference external" href="https://productforums.google.com/forum/#!topic/chrome/NzOR_wVBEtI%5B1-25-true%5D"&gt;Paramter&lt;/a&gt; mitzugeben!&lt;/p&gt;
&lt;p&gt;Dazu macht man auf dem Desktop einen Rechtsclick auf die Verknüpfung und wählt dann den Punk &lt;em&gt;Eigenschaften&lt;/em&gt;. Im Eigenschaften-Fenster muss dann unter &lt;em&gt;Ziel&lt;/em&gt; &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;--disable-new-menu-style&lt;/span&gt;&lt;/tt&gt; angehangen werden.&lt;/p&gt;
&lt;p&gt;Beim nächsten Start über die Verknüpfung haben die Lesezeichen dann wieder den gewohnten Abstand.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description><guid>http://blog.nerdno.de/posts/2013-04-07-win7-google_chrome_lesezeichen_abstand.html</guid><pubDate>Sun, 07 Apr 2013 17:02:34 GMT</pubDate></item><item><title>Gehälter von Politikern</title><link>http://blog.nerdno.de/posts/2013-04-01-politiker_gehaelter.html</link><description>&lt;html&gt;&lt;body&gt;&lt;p&gt;Bei den eigenen Diaten gibt es wenige Widersprüche im Bundestag, die Erhöhung
findet in der Regel ohne große Gegenwehr statt. Wieso auch, es wär' wie ein
Schnitt ins eigene Fleisch.&lt;/p&gt;
&lt;p&gt;Nun &lt;a class="reference external" href="http://www.spiegel.de/politik/deutschland/abgeordnete-bundestagspraesident-lammert-liebaeugelt-mit-hoeheren-diaeten-a-891911.html"&gt;befürwortet&lt;/a&gt; Norbert Lammert höhere Gehälter für die Abgeordneten.
Und ich finde das gut!&lt;/p&gt;
&lt;p&gt;Unsere Politiker sollen gut verdienen, denn sie haben eine große Verantwortung
durch ihr Mandat. &lt;strong&gt;Aber&lt;/strong&gt; dieses Einkommen sollte an zwei Bedingungen geknüpft sein:
Unabhängigkeit und Transparenz.&lt;/p&gt;
&lt;p&gt;Kein Politiker soll von Nebenbeschäftigungen in der Wirtschaft abhängig und
dadurch beeinflussbar sein.
Das Gehalt muss ihn unabhängig machen, so dass er nur den durch ihn vertretenen
Bürgern und seinem Gewissen verpflichtet ist. Immerhin gibts als Politiker
bereits eine Reihe von netten
&lt;a class="reference external" href="http://www.crackajack.de/2013/03/24/politiker-mit-lobby-logos/"&gt;Vergünstigungen&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Und wir brauchen keine Wischi-Waschi-Regelungen zum Veröffentlichen des
Einkommens. Es soll alles auf den Tisch! Und nicht nur wieviel,
sondern auch woher.&lt;/p&gt;
&lt;p&gt;Ich glaube leider nicht, dass wir eine solche Änderung bald sehen werden.
Vielleicht müssen wir dann doch dazu übergehen, dass Politiker die
&lt;a class="reference external" href="http://www.crackajack.de/2013/03/24/politiker-mit-lobby-logos/"&gt;Logos ihrer Financiers auf der Kleidung&lt;/a&gt;
im Bundestag tragen müssen.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description><guid>http://blog.nerdno.de/posts/2013-04-01-politiker_gehaelter.html</guid><pubDate>Mon, 01 Apr 2013 19:50:23 GMT</pubDate></item><item><title>IPython: die bessere interaktive Python-Shell</title><link>http://blog.nerdno.de/posts/2013-03-07-ipython.html</link><description>&lt;html&gt;&lt;body&gt;&lt;p&gt;&lt;a class="reference external" href="http://ipython.org/"&gt;IPython&lt;/a&gt; nutze ich quasi nur als interaktive Python-Shell,
da es deutlich komfortabler zu bedienen ist als die Shell des Standard-Interpreters.&lt;/p&gt;
&lt;p&gt;Ich kann mir - wie beispielsweise in der Bash - mittels &lt;cite&gt;Tab&lt;/cite&gt; Vervollständigungen
anzeigen lassen und dadurch mir schnell einen Blick über die Schnittstellen
meiner Objekte anzeigen lassen.&lt;/p&gt;
&lt;p&gt;Ich kann mittels &lt;tt class="docutils literal"&gt;%paste&lt;/tt&gt; schnell einzelne Codestücke einfügen und ausprobieren
oder mittels &lt;tt class="docutils literal"&gt;%run&lt;/tt&gt; gleich ein ganzes Modul starten.&lt;/p&gt;
&lt;p&gt;Damit nutze ich aber nur einen Bruchteil der Möglichkeiten von IPython.
Besonders das &lt;a class="reference external" href="http://ipython.org/notebook.html"&gt;Notebook&lt;/a&gt; scheint
viele Anhänger zu haben und auch für
&lt;a class="reference external" href="http://ipython.org/ipython-doc/rel-0.13.1/parallel/parallel_intro.html"&gt;parallele Arbeiten&lt;/a&gt;
kann man IPython verwenden.&lt;/p&gt;
&lt;p&gt;In meinen Augen hat IPython-Erschaffer Dr. Fernando Perez völlig zu Recht einen der
&lt;a class="reference external" href="http://www.fsf.org/news/2012-free-software-award-winners-announced-2"&gt;Free Software Awards&lt;/a&gt;
durch die &lt;a class="reference external" href="http://www.fsf.org"&gt;FSF&lt;/a&gt; überreicht bekommen.
Gratulation von mir!&lt;/p&gt;
&lt;p&gt;PS: Wusstet ihr dass Nikola durch ein &lt;a class="reference external" href="https://github.com/ralsina/nikola/tree/master/nikola/plugins/compile_ipynb"&gt;Plugin&lt;/a&gt;
Seiten aus IPython-Notebooks erstellen kann?&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description><guid>http://blog.nerdno.de/posts/2013-03-07-ipython.html</guid><pubDate>Wed, 27 Mar 2013 08:24:25 GMT</pubDate></item><item><title>Wordpress nach Nikola umziehen</title><link>http://blog.nerdno.de/posts/20130314-wordpress_zu_nikola.html</link><description>&lt;html&gt;&lt;body&gt;&lt;p&gt;Ihr wollt von Wordpress zu Nikola wechseln? Super, denn das ist ziemlich einfach!
Hier werde ich euch zeigen, wie ihr einen Umzug von eurem bestehenden Wordpress-Blog hin zu Nikola macht.&lt;/p&gt;
&lt;p&gt;Zuerst brauchen wir einen &lt;a class="reference external" href="http://codex.wordpress.org/Tools_Export_Screen"&gt;Export&lt;/a&gt; der Wordpress-Daten.
Der kann im Admin-Bereich unter dem Punkt &lt;em&gt;Werkzeuge&lt;/em&gt; -&amp;gt; &lt;em&gt;Daten exportieren&lt;/em&gt; erstellt werden.
Zum Umzug aller Daten wählen wir &lt;em&gt;Alle Inhalte&lt;/em&gt; und drücken auf den Knopf zum Download.&lt;/p&gt;
&lt;p&gt;Ich nutze für die weiteren Schritte der Anleitung Debian unstable.
Für maximalen Comfort installieren wir die folgenden Pakete, falls sie nicht schon längst installiert wurden:&lt;/p&gt;
&lt;blockquote&gt;
sudo apt-get install python-dev python-notify python-pip python-virtualenv virtualenvwrapper python-distribute libxml2-dev libxslt1-dev build-essential libjpeg8-dev&lt;/blockquote&gt;
&lt;p&gt;Für die Nikola-Installation richten wir uns nun ein &lt;a class="reference external" href="http://www.virtualenv.org/"&gt;virtualenv&lt;/a&gt; durch den grandiosen &lt;a class="reference external" href="http://virtualenvwrapper.readthedocs.org/"&gt;virtualenvwrapper&lt;/a&gt; ein. Damit haben wir eine Umgebung, in der wir auch als non-root Benutzer Python-Pakete installieren können.
Falls beim ersten Versuch den folgenden Befehl auszuführen eine Meldung kommt, dass &lt;em&gt;mkvirtualenv&lt;/em&gt; nicht gefunden werden konnte, müsste ihr eine neue Terminal-Session öffnen.&lt;/p&gt;
&lt;blockquote&gt;
mkvirtualenv nikola&lt;/blockquote&gt;
&lt;p&gt;Solange &lt;em&gt;(nikola)&lt;/em&gt; eurem Prompt vorangestellt ist, sind wir in der virtuellen Umgebung.
Hier können wir nun Nikola installieren. Nikola ist nur das Grundgerüst. Wir werden für den Import noch &lt;a class="reference external" href="https://pypi.python.org/pypi/requests"&gt;Requests&lt;/a&gt; und &lt;em&gt;Markdown&lt;/em&gt; installieren. Für die Komprimierung von CSS &amp;amp; JavaScript installieren wir noch &lt;a class="reference external" href="https://pypi.python.org/pypi/webassets/"&gt;Webassets&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
pip install --use-mirrors Nikola requests markdown webassets&lt;/blockquote&gt;
&lt;p&gt;Bevor wir nun den Import durchführen, können wir uns mit folgendem Befehl die Optionen dafür anzeigen lassen:&lt;/p&gt;
&lt;blockquote&gt;
nikola help import_wordpress&lt;/blockquote&gt;
&lt;p&gt;Ich will keine Entwürfe importieren und die Dateien sollen am Ende im Ordner &lt;cite&gt;blog&lt;/cite&gt; landen.&lt;/p&gt;
&lt;blockquote&gt;
nikola import_wordpress -o blog --no-drafts path/to/wordpress_export.xml&lt;/blockquote&gt;
&lt;p&gt;Nikola wird nun die Artikel und/oder Seiten aus der Export-Datei in ein Markdown-Format umwandeln und eventuell vorhandene Anhänge, das können z.B. im Post enthaltene Bilder sein, herunterladen.
Anschließend finden wir im Ordner &lt;em&gt;blog&lt;/em&gt; unsere Konfigurationsdatei &lt;strong&gt;conf.py&lt;/strong&gt;. In der werden die Einstellungen für den Blog gemacht und man sollte sich kurz Zeit nehmen, um dort reinzuschauen und gegebenenfalls Änderungen zu machen.&lt;/p&gt;
&lt;p&gt;Befinden wir uns im Ordner &lt;em&gt;blog&lt;/em&gt;, können wir mittels &lt;tt class="docutils literal"&gt;nikola build&lt;/tt&gt; dafür sorgen, dass unsere Seite erstellt wird. Das Ergebnis ist danach im Ordner &lt;cite&gt;output&lt;/cite&gt; zu finden.
Haben wir unsere Seite erstellt, können wir sie uns mit &lt;tt class="docutils literal"&gt;nikola serve&lt;/tt&gt; in unserem Webbrowser anschauen - dabei ist dann noch alles lokal.&lt;/p&gt;
&lt;p&gt;Nun ist der Zeitpunkt, um ein letztes Backup des Wordpress-Ordners zu machen, bevor man ihn verschiebt oder löscht. Wer ihn verschiebt, der sollte vorher im Admin-Backend die Adresse des Blogs anpassen, damit bei einem Aufruf an der neuen Adresse noch alles funktioniert und man nicht in der Datenbank rumwühlen muss ;)&lt;/p&gt;
&lt;p&gt;Wollen wir die fertige Seite nun auf unseren Webserver schieben, können wir das entweder über ein FTP-Programm oder - eleganter - durch die Angabe von Deploy-Befehlen in &lt;em&gt;conf.py&lt;/em&gt;. Bei angegebenem Deploy-Befehl kann mittels &lt;tt class="docutils literal"&gt;nikola deploy&lt;/tt&gt; die Übertragung auf den Webserver vorgenommen werden.&lt;/p&gt;
&lt;p&gt;Da ich nicht nur das Blog-System sondern auch die Domain gewechselt habe, habe ich zusätzlich im alten Verzeichnis meines Blogs eine Weiterleitung eingerichtet, welche Besucher und Feedreader automatisch auf die neue Adresse verweist.
Dabei sieht meine &lt;tt class="docutils literal"&gt;.htaccess&lt;/tt&gt; wie folgt aus:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
&amp;lt;IfModule mod_rewrite.c&amp;gt;
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule feed/ http://blog.nerdno.de/rss.xml [R=301,L]
RewriteRule ^(.*)$ http://blog.nerdno.de/$1 [R=301,L]
RewriteRule . /index.php [L]
&amp;lt;/IfModule&amp;gt;

Redirect 301 / http://blog.nerdno.de
Redirect 301 /feed/ http://blog.nerdno.de/rss.xml
&lt;/pre&gt;
&lt;p&gt;Die immer wieder auftauchende 301 ist der HTTP Status Code für &lt;em&gt;moved permanently&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Das wars auch schon, an diesem Punkt sollte euer Nikola up and running sein :)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description><guid>http://blog.nerdno.de/posts/20130314-wordpress_zu_nikola.html</guid><pubDate>Thu, 14 Mar 2013 22:06:05 GMT</pubDate></item></channel></rss>