Sebastians Blog Neues aus den Softwareminen…

Neuste Beiträge

RetroPie: Retrospiele auf dem Raspberry Pi

Das Retro-Pie-Projekt bringt alte Spieleklassiker auf den Raspberry Pi. Ob Nintendo, Sega oder Atari, das fertige Image bringt bereits eine interessante Auswahl an Emulatoren mit. Der Pi schlägt sich dabei bis ins 16-Bit-Zeitalter ohne Probleme. Super-Nintendo-Spiele laufen in der Regel mit 50 Bildern in der Sekunde. Weiterlesen

Veröffentlicht unter , | Verschlagwortet mit , , | 3 Kommentare

YAML-Manipulation mit Python

Ich mache es zwanzig mal am Tag: t('admin.users.show.name'), die YAML-Datei öffnen, in denen sich die Übersetzungen befinden, den Pfad absuchen und ggf. fehlende Teile einfügen und zuletzt die Übersetzung hineinschreiben und speichern. Wirklich kreativ ist dabei nur das Formulieren, den Rest würde ich gern automatisieren. Dies sollte jedem Rails-Entwickler eine Hilfe sein.

Mein erster Schritt ist eine simple Kommandozeilen-Applikation, die eine YAML-Datei und einen Pfad liest, den Pfad findet oder erstellt, den aktuellen Wert anzeigt, einen neuen entgegennimmt, einträgt und alles in eine Datei schreibt. Das alles möglichst nah an Vim und Sublime, so dass man das ganze später in ein Plugin überführen kann. Somit bietet sich Python an, schon allein um mal wieder was neues zu nutzen.

Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , | Hinterlasse einen Kommentar

Guard erkennt keine Sublime-3-Änderungen

Sublime Text 3 hat das Speichern von Dateien umgestellt, so dass Guard dieses nicht mehr als Änderung registriert. Abhilfe schafft hier eine Rückkehr zum alten Ansatz. Hierfür unter „Preferences“ > „Settings — User“ die folgende Option setzen:

{
  ...
  "atomic_save": false,
  ...
}
Veröffentlicht unter | Verschlagwortet mit , , , | Hinterlasse einen Kommentar

CanCanCan ist kein CanCan 2.0

Außerhalb meiner Wahrnehmung gibt es auf Github seit einiger Zeit ein Projekt, dass CanCan für tot erklärt und dessen Nachfolge antreten will: CanCanCan. 17 Menschen haben zum Projekt der „CanCanCommunity“ bereits beigetragen. So wird das kleine Gem von Ryan Bates, der seit längerer Zeit aufgrund gesundheitlicher Probleme ausfällt, weitergeführt. Wichtige Fixes für Rails 4 finden so ihren Weg ins Projekt.

Keine Entwicklung im CanCan-2.0-Branch

Mit CanCan hat man auch den 2.0-Branch geforkt, leider blieb dieser bisher unangetastet. Die neue Version sollte vor allem die von mir seit langem erwartete Unterstützung für Attribute mitbringen. Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , | Hinterlasse einen Kommentar
mpsyt

Youtube für die Kommandozeile

MPS-Youtube ist ein Python-Programm für die Kommandozeile, mit dem man komfortabel Musik und Videos von Youtube abspielen und in lokalen Playlists verwalten kann. Zudem lassen sich Videos oder ihr Audioanteil auf die Festplatte herunterladen.
Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , | Hinterlasse einen Kommentar

Rails 4 schützt Nutzer vor Regex-Schwachstellen

Rails 4 warnt seine Nutzer vor einer weit verbreiteten Sicherheitslücke, die durch falsche Anwendung von regulären Ausdrücken auftritt. So sind Validatoren wie der folgende nicht mehr erlaubt:

validates :phone, format: { with: /^[0-9]+$/ }

Dies wirft einen Argument-Error wie diesen:

`check_options_validity': The provided regular expression
 is using multiline anchors (^ or $), which may present a
 security risk. Did you mean to use \A and \z, or forgot 
 to add the :multiline => true option? (ArgumentError)

Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , , | Hinterlasse einen Kommentar

“Rake aborted!” durch abweichende Version

Stimmt die aktuell installierte Rake-Version nicht mit der im Gemfile.lock hinterlegten Version überein, bricht Rake mit einer Fehlermeldung ab:

rake routes
rake aborted!
You have already activated rake 10.1.1, but your Gemfile requires rake 10.1.0. Using bundle exec may solve this.

Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , , | Hinterlasse einen Kommentar
9717149738_65fe5d44c0_computer

Wordpress-Plugin WP Inject: CC-Bilder einfügen

Das Wordpress-Plugin WP Inject integriert eine Flicker-Suche in Wordpress, mit der man Bilder nach festgelegter Lizenz suchen, auf den Server kopieren, einbinden und die Quelle referenzieren kann.

Da ich in einem Staat mit dem Landgericht Köln lebe, habe ich den Spaß mal auf kommerzielle Nutzung ohne Zitatpflicht eingegrenzt. Leider bringt selbst die Suche nach „Wordpress“ dann keine brauchbaren Ergebnisse, aber die von mir gewählte Alternative wirkt doch auch jung und frisch.

Übrigens steht bei dem gewählten Bild auf Flicker, dass keine Urheberrechtsbeschränkungen bekannt sein. Tatsächlich steht in der Beschreibung, dass es zitiert werden muss. Blind vertrauen sollte man dem Plugin folglich nicht.

Vielen Dank an die Softwareperlen für den Hinweis auf das Plugin.

Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , | Hinterlasse einen Kommentar

Methoden-Ketten: Rubys Object#tap und Datenkapselung

Eine nette, mir bisher unbekannte Methode ist Rubys Object#tap, der man einen Block übergeben kann, in dem das Objekt als Argument zur Verfügung steht. Klingt im ersten Moment vielleicht unnötig, kann aber insbesondere in Views für etwas schöneren Code sorgen. Ein kleines Negativbeispiel in HAML:

%table
  %tbody
    %tr
      %td= current_company.name
      %td= current_company.owner ? "#{current_company.owner.first_name} #{current_company.owner.last_name}" : t('.unknown_owner')

Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , | Hinterlasse einen Kommentar

RVM: Gemset erstellen und .versions.conf anlegen

Memo an mich selbst: Ein neues Gemset einrichten und mittels .versions.conf als Standard für das aktuelle Verzeichnis festlegen:

rvm use --create --versions-conf ruby-2.1@gemset_name

In aller Regel benötige ich auch Bundler:

gem install bundler
Veröffentlicht unter | Verschlagwortet mit , , , | Hinterlasse einen Kommentar