
Die Python Variante von rss4pypi läuft bisher exzellent. Und da ich grad mit Ruby am Rumspielen bin, kam mir die Idee, die Python Variante nach Ruby zu portieren. Und nach einem Samstag-Nachmittag Ruby Coden, darf ich ihn vorstellen. *drumroll*... Tadaa! Da ist er:
Man merkt schnell, wie ähnlich sich doch Python und Ruby sind. Der Code ist ziemlich identisch. Ich hab bei der Gelegenheit gleich mal YAML als Persistenz-Format benutzt und das XML File pretty zu formatieren durfte ich mir auch sparen, da das RSS Modul von Ruby dies schon out-of-the-box tut.
Den erzeugten Feed gibt es unter:
Da ich in Python nun einigermaßen fit bin, schweifen meine Blicke derzeit wieder etwas über den Tellerrand um meinen Horizont zu erweitern.
Bei den Programmiersprachen ist neben Python auch Ruby einer der Aufsteiger und so ist es Ruby, womit ich mich die nächste Zeit ein wenig beschäftigen werde.
Python bringt ja eine eigene Shell mit, die eigentlich für vieles ausreichend ist, jedoch wird einem schnell als Alternative IPython empfohlen. Einmal ausprobiert ist man sofort angefixt. IPython ist schlimmer als Heroin (wirklich). Viele haben selbst die Bash durch IPython ersetzt...
Bei Ruby gibt es irb als Interaktive Shell und auf den ersten Blick dachte ich, diese wäre genauso rudimentär wie die von Python.
Also hab ich mich auf die Suche nach einem IPython Equivalent für Ruby gemacht. Doch da gibt es keines. Braucht es auch nicht, denn es reicht aus, eine Ruby Library namens wirble zu installieren sowie irb eine kleine Start-Config zu verpassen:
apt-get install irb apt-get install libwirble-ruby
~/.irbrc
begin # load wirble require 'wirble' # start wirble (with color) Wirble.init Wirble.colorize rescue LoadError => err warn "Couldn't load Wirble: #{err}" end
Und schon hat man Farbausgabe, Tab-Completion und mehr. Das entspricht einem IPython zwar nicht zu 100%, kommt dem aber ziemlich nahe.
...because it is like me:
Ich hab nun schon öfter folgende Meldung bekommen, wenn ich MySQL bzw. einen anderen Dienst hoch verfügbar mit DRBD machen wollte:
drbdadm create-md mysqldir
Found xfs filesystem which uses 29262364 kB current configuration leaves usable 29261432 kB Device size would be truncated, which would corrupt data and result in 'access beyond end of device' errors. You need to either * use external meta data (recommended) * shrink that filesystem first * zero out the device (destroy the filesystem) Operation refused. Command 'drbdmeta /dev/drbd0 v08 /dev/sda9 internal create-md' terminated with exit code 40 drbdadm create-md mysqldir: exited with code 40
In meinem Fall kommt das daher, dass durch FAI bereits ein Dateisystem auf sda9 eingerichtet wird.
Aber alles halb so wild, wenn man den Workaround kennt. drbdadm schlägt einem ja 3 Möglichkeiten vor. Ich entscheide mich immer für den dritten und beschreibe die Partition mit 0-en :
dd if=/dev/zero bs=1M count=1 of=/dev/sda9 ; sync
Danach verrichtet drbdadm ohne zu Murren seinen Dienst und legt die erforderlichen Meta-Daten an.
Matthias und ich haben gestern Nacht ein wenig Extreme Programming durchgeführt. Er war der Driver und hat gecodet und ich saß als Co-Pilot neben dran.
Heraus kam ein kleines Python Skript, welches einen RSS Feed für neue Python Module im Python Package Index (PyPI) erzeugt. PyPI bietet nämlich derzeit nur einen Feed an, der die letzten 40 Updates bestehender Module anzeigt. Das kann sehr viel Einträge in einem RSS Reader geben.
Das Skript geht nun in die Testphase und den erzeugten Feed findet man unter:
Den Quellcode dazu gibt es auf Launchpad: