Goodbye Ehrenfeld, Hello Zollstock!

Es ist soweit: Heute haben wir die Schlüssel zum Railslove-SalesKing-Office bei Sevenload abgegeben und während ich diesen Eintrag schreibe, schaue ich schon auf den begrünten Hof des Gothaer-Geländes in Zollstock.
Goodbye Ehrenfeld, Hello Zollstock!

Oder auch: Goodbye SalesLove, Hello KoKoN!
Es war eine wunderbare Zeit, die wir mit SalesKing in den alten Sevenload-Büros verbracht haben und wir sind nicht nur als Firmen und Freunde zusammengewachsen, auch haben wir zusammen so tolle Dinge wie das DevHouseFriday gestartet, doch – ihr kennt die Geschichte schon alle lang und breit – liefen die Mietverträge aus und die Suche nach einer neuen gemeinsamen Bleibe blieb nach vielen Bürobesichtigungen, Coworking-Ideen und Rumrechnereien leider erfolglos. Und so endet die Ära “SalesLove” heute schließlich doch – vielleicht und hoffentlich ja auch nur vorübergehend. Ohja, Ole, es war eine geile Zeit mit euch!

Das KoKon ist nun unser neues Zuhause. Es war wohl eher ein Zufall, dass wir beim BarCamp Cologne 3 Richard Geibel von der Uni Köln trafen, dessen Pläne eines neuen Coworking Spaces in Köln unsere Aufmerksamkeit weckten. Nach einigen weiteren Treffen ging dann alles sehr schnell und nun gehören wir zu einem von etwa einem Dutzend junger Start-Ups, die offiziell ab dem 1. August in die neuen Büros des KoKoN, dem “Kölner Kompetenz-Netz für technologieorientierte und wissensbasierte Gründungen aus Hochschulen”, einziehen, um dort zusammen zu arbeiten und vielleicht auch zusammenarbeiten werden. Für das Projekt wurden zunächst etwa 300 Quadratmeter Bürofläche der Gothaer Versicherung in Köln-Zollstock angemietet, deren untere Etage wir nun zur Hälfte belegen. Unsere neue Adresse lautet daher treffenderweise

Gothaer Allee 2
50969 Köln

Frühestens bis zum Frühjahr 2010 werden wir nun also von hier am Südstadion werkeln. Wer uns besuchen möchte, gibt in ältere Navis dazu “Pohligstraße 1″ ein und auch die 12er-Haltestelle vor der Tür heißt “Pohligstraße” und befindet sich drei Stationen hinter dem Barbarossaplatz. Spätestens zum nächsten DevHouseFriday sehen wir uns dann hoffentlich hier im Kölner Süden wieder!

So. WLAN gibt’s noch nicht, LAN sowieso nicht, aber aus den Boxen kommt schon mal Musik und im Railslove-Kühlschrank kühlt die frisch gekaufte Mate. Und davon gönnen wir uns nach den Umzugsschikanen der letzten Tage jetzt mal ‘nen Schluck.

Fun with the Arduino

Gestrige Entdeckung des Tages von @bumi: Arduino.

Was ist Arduino? Auf der Hompage lesen wir:

Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.

. Man kann es sich selber bauen aber auch für kleines Geld kaufen. Und dann fängt man an los-zu-hacken: von einer Wi-Remote steuerbaren Kaffeemaschine bis hin zu einer Twitternden Pflanze.

Das schöne für uns Ruby Entwickler ist RAD (Ruby Arduino Development). Damit ist es Möglich RubyCode für den kleinen Microcontroller zu schreiben um das “Auffrschen” seiner C oder C++ Kenntnise zu vermeiden.

Heute gibts darüber ein DevHouseFriday-Spezial: Arduino – Was ist es und was lässt sich damit alles machen. Ein bisschen “Trockenübungen” und Videos über das hübsche Teil. Einfach um die Möglichkeiten aufzuzeigen verbunden mit ein bisschen Brainstorming was man damit noch alles anstellen könnte. Vielleicht ergibt sich daraus ein kleines Kölner Arduino Projekt. Wer also um 19:30 noch nichts vorhat: vorbeischauen lohnt sich!

Update: Hier noch meine Prezi zum Devhouse! Hat Spass gemacht!

Übrigens: nächste Woche fällt das DevHouse aus. Wir ziehen um! Alle weiteren Details verkünden wir nächste Woche.

ferm – for Easy Rule Making

“Easy to use” Firewallregeln würde ich dazu sagen. Wer keine Lust hat sich mit iptables rumzuschlagen und seinen Server vor eventuellen Angreifern schützen möchte, dem bietet ferm eine einfache und chicke Möglichkeit komplexe Firewallregeln zu verwalten. Das ganze in unter 1 Minute*. Unter Debian einfach:

# apt-get install ferm

und ggf. das Anpassen der Konfigurationsdatei:


# joe /etc/ferm/ferm.conf

Update: Ich habe noch eine simple Konfigurationsdatei hinzugefügt, die praktisch out-of-the-box mitkommt:

Es empfielt sich jedoch vorerst das lesen der Dokumentation. Entsprechende Beispielskripte finden sich auch auf der Ferm-Homepage unter dem Abschnitt “Dokumentation”.
Den Perl-Code gibt es noch oben drauf unter http://repo.or.cz/w/ferm.git.

*Je nach verfügbarer Downloadgeschwindigkeit :D

Continious integration mit Hudson und Integrity

Continious Integration ist ein wichtiger Bestandteil von Software, vor allem wenn mehrere Beteiligte am Projekt Teilnehmen. Nach jedem Push wird dann der aktuelle Code vom CI-System ausgecheckt und die gewünschten rake-Tasks ausgeführt. Neben dem schon bekannten CrusieControll.rb gibt es noch zwei andere interesannte Cnotinious Integration Tools die ich kurz vorstellen möchte: Integrity und Hudson.

Integrity

Integrity ist sehr einfach gestrickt. Nach der relativ simplen installation kann man verschiedene Projekte hinzufügen. Der einzige “overhead” der noch ensteht, ist das zusammenstellen eines rake-tasks den Integrity nach jedem pull ausführt. Dieser einfacher rake-Task kann als Einstieg dienen:

Nach jedem Build können die Entwickler auch über die zu verfügung stehenden Notifier (Email, Campfire, IRC, …) über den Stand informiert werden. Weiterhin gibt es auch ein Growl-Plugin und Dashboard-Widget. Der Build der Applikation wird über Github via einem POST-Webhook zu Integrity angetriggert.

Der einzige Nachteil ist, dass bei lang-andauernden Builds der entsprechende Webserver einen Timeout erreicht. Der kann natürlich hochgesetzt werden.

Integrity

Hudson

Hudson ist eine weitere Alternative. Es ist ein Java-Basiertes CI-System und wird out-of-the-box mit einem Webserver ausgeliefert. Entsprechende Debian-Packages gibt es hier. Hudson bietet gegenüber Integrity mehr Konfigurationsmöglichkeiten, daher dauert es ein bisschen länger bis man sein neues CI-System am laufen hat. Meet-Hudson bietet eine gute Übersicht über Hudson.

Der oben schon vorgestellte Rake-Task kann ebenfalls für Hudson verwendet werden. Allerdings müssen Plugins für eine Rake- und Githubunterstützung installiert werden (Git-Plugin und Rake-Plugin).

Bei Hudson ist der initiale Konfigurationsaufwand zwar geringer als bei Integrity, dafür müssen viele Plugins installiert und konfiguriert werden um seine “perfekte” CI-Umgebung ans laufen zu bekommen. Unschön an Hudson ist die fehlende unterstützung des triggern eines Builds über einen POST-Webhook. Stattdessen kann dies nur über ein GET getriggert, was aber seitens Github nicht unterstützt wird. Eine Alternative ist das periodische abprüfen von Änderungen in der Repository.

Hudson