MacPorts: Verwalten mehrerer PHP-Versionen
Als Web-Entwickler steht man häufig vor dem Problem, daß man unterschiedliche PHP-Versionen ansprechen muß: Das neue Supi-Dupi-Framework (aka Laravel) verlangt PHP 5.4 oder höher, die alte Arbeitssoftware kann aber nur mit PHP 5.3 so richtig…
Was also tun? Auf Mac OS X bietet sich dafür MacPorts an (kurze Bemerkung: Ich benutze MacPorts seit Jahren, komme damit gut zurecht, kein Grund also, Homebrew einzuwerfen…).
Die aktuelle Umgebung hier: Mac OS X 10.9.5 „Mavericks“, MacPorts 2.3.3., Apache 2.2.29 (über MacPorts)
Offizieller Frohes-neues-Jahr-2015-Artikel
So, das Jahr 2015 ist nun schon sechzehn Tage alt, und ich komme jetzt dazu, auch hier das Jahr zu eröffnen. Also:
Ich wünsche allen ein frohes, neues Jahr!
Was ist wichtig? Gesundheit, das ist das allerwichtigste. Auf geht’s!
Terminal: Umbenennen vieler Dateien mit einer CSV-Datei
Folgende Situation: In einem Ordner im Dateisystem liegen hunderte Dateien und dutzende dieser Dateien müssen umbenannt werden. Nun hat man nicht unbedingt Lust, jede Datei einzeln anzusprechen und entsprechend umzubenennen…
Was man aber – wenn es gut läuft – hat, ist eine CSV-Datei mit einer Liste dieser Dateien, in der ersten Spalte ist der alte, in der zweiten ist der neue Dateiname -> altneu.csv. Diese Datei kann man nun mit einem Shell-Skript dazu verwenden, alle aufgeführten Dateien umzubenennen -> rename.sh. CSV-Datei und Shell-Skript werden in den Ordner gespielt und das Shell-Skript ausgeführt, fertig!
Wie lautet nun der Inhalt des Shell-Skriptes? So:
#!/bin/bash
while read line
do
old=$(echo "$line" | awk -F"," '{print $1}')
new=$(echo "$line" | awk -F"," '{print $2}')
mv "$old" "$new"
done < altneu.csvDie CSV-Datei darf natürlich keine Spaltenbezeichnungen enthalten!
Halle/Saale: Meine Bilder vom Laternenfest 2014
Am letzten Wochenende im August findet traditionell das Laternenfest in Halle an der Saale statt, und dieses Jahr waren wir dabei!
[UPDATE]: Die Bilder liegen nun nicht mehr bei Flickr, sondern in meiner eigenen Lychee-Installation:
[UPDATE 29.08.2025]: Ich habe meine Lychee-Installation entfernt und werde die Bilder bald hier ausliefern; momentan gibt es keinen Zugriff.
[UPDATE 15.10.2025]: Neue Bildergalerie erstellt und hinter dem Bild verlinkt!
Apache: SSL per .htaccess erzwingen
Wenn man keinen Zugriff auf die Konfigurationsdateien des Apache-Webservers hat, kann man die Benutzung von SSL (https) auch über eine .htaccess-Datei erzwingen. Dazu muß die RewriteEngine natürlich aktiviert sein!
Dies ist der benötigte Eintrag in die htaccess-Datei:
1
2
3
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://meinedomain.de/$1 [R,L]
Möchte man SSL in einem bestimmten Ordner („meinordner“) erzwingen, so braucht man:
1
2
3
4
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} meinordner
RewriteRule ^(.*)$ https://meinedomain.de/meinordner/$1 [R,L]
Terminal: Kopieren mehrerer Dateien mit Änderung der Dateiendung
In einigen PHP-Anwendungen bei uns liegen die Konfigurationsdateien im Format „*.php.default“ im entsprechenden Ordner. Wie schafft man es nun am schnellsten, von all diesen Dateien eine Kopie im Format „*.php“ zu erstellen?
Natürlich im Terminal! In den entsprechenden Ordner gehen und dann folgendes aufrufen:
for old in *.default; do cp $old `basename $old .php.default`.php; doneFertig!
SHA Checksum mit Mac OS X überprüfen
Das „Hashen“ mit SHA wird häufig im Zusammenhang mit dem Verteilen oder Herunterladen von Software benutzt. Dadurch soll die Integrität der heruntergeladenen Dateien sichergestellt werden.
Die Überprüfung kann man auf Mac OS X mit folgendem Befehl im Terminal machen:
shasum /pfad/zur/dateiSo wird auf einen SHA1-Hash überprüft. Muß man andere SHA-Hashtypen überprüfen (224, 256, 384, 512), muß man nur den Befehl um den Paramater -a ergänzen. Für SHA256 also:
shasum -a 256 /pfad/zur/dateiUnd das war’s dann auch schon.
Endlich! Eine vernünftige Todo-Liste!
Ich bin ja nun schon seit Jahren auf der Suche nach dem perfekten Programm zur Aufgabenverwaltung und habe alles mögliche ausprobiert… Entweder sie waren zu überladen, oder sie waren nicht auf allen Plattformen verfügbar, oder, oder, oder…
Das scheint nun vorbei zu sein! Der Artikel Todo.txt: Geniales To-Do-Listen-Tool für Kommandozeilenliebhaber von t3n hat mich zum Programm Todo.txt gebracht. Perfekt! Auf Mac OS X eingerichtet, auf Arch Linux eingerichtet, Synchronisation über Wuala, alles prima.
Wer näheres zum Programm wissen möchte, den verweise ich auf den t3n-Artikel.
SQL: Lücken in einer Auto-Increment-Spalte finden
Neulich stand ich vor dem Problem, Lücken in einer Auto-Increment-Spalte (in diesem Fall die Spalte id) finden zu müssen. Ich habe diesen Datenbankaufruf dazu gefunden:
1
2
3
4
5
SELECT a.id+1 AS start, MIN(b.id) - 1 AS end
FROM mytable AS a, mytable AS b
WHERE a.id < b.id
GROUP BY a.id
HAVING start < MIN(b.id);

