Archiv für die Kategorie ‘Programmieren’
18. Juli 2010 - ColdFusion Components (CFCs) Dokumentieren
Aus gegebenen Anlass war ich auf der Suche einfach ColdFusion Components (CFCs) in eine ordentliche HTML Dokumentation zu überführen. ColdFusion hat da schon sehr weit mitgedacht und bietet selbst die Möglichkeit eine CFC im Browser aufzurufen und sich die Struktur anzeigen zu lassen.
Das war mir allerdings nicht genung, da ich die Doku eigentlich als lokale Dateien haben möchte.
Also habe ich mir schnell in Perl ein kleines Script geschrieben, das mir aus den CFCs eine HTML Dokumentation erstellt.
Download: ParseCFCs Version 0.1
Getestet habe ich das ganze jetzt allerdings erst auf Linux und Mac OSX. Sollte allerdings auch auf Windows lauffähig sein.
Abgelegt in Programmieren, Software | Keine Kommentare »
15. Juli 2010 - WordPress Update über Backend
Heute habe ich endlich einmal eine Lösung gefunden, wie ich die integrierte Update Funktion von WordPress nutzen kann. Das Problem, dass ich hatte war folgendes:
Auf meinem Server liegen die www Verzeichnisse unter /var/www/{domain}/httpdocs/. Um den Benutzern Zugriff auf die www Verzeichnisse ihrer Domains zu geben habe ich in deren Home Verzeichnis einen Ordner Domains angelegt in dem ich die eigentlichen www Roots per mount aliases eingebunden (Symlinks gingen nicht, das mag der FTP Server nicht).
Da WordPress versucht die Installation über FTP zu aktualisieren und anscheinend davon ausgeht, dass man per FTP direkt in den www Root gelangt hat es Probleme mit meiner Konfiguration. Abhilfe schafft hier WordPress in der Datei wp-config.php mitzuteilen, wo es denn im FTP nachsehen muss:
define(“FTP_CONTENT_DIR”, “domains/klaus-meyer.net/httpdocs/wp-content/”);
define(“FTP_PLUGIN_DIR”, “domains/klaus-meyer.net/httpdocs/wp-content/plugins/”);
Vielleicht ist das ja für den ein oder anderen auch hilfreich
Abgelegt in Programmieren, Software | Keine Kommentare »
22. Mai 2010 - PHP Framework CodeIgniter
Da ich zur Zeit ein kleines PHP Script zum verwalten von meinen E-Mail Adressen auf dem Server schreiben möchte habe ich mir gerade ein paar PHP Frameworks angesehen, darunter ist mir Codeigniter sehr positiv aufgefallen. Besonders gefällt mir daran:
- gibt nicht umbedingt die Datenbank-Konvention vor
- sehr einfache Konfiguration
- schöner MVC-Aufbau
- sehr gute Dokumentation
- Formular-Validierung
Hier ein Beispiel zur Form-Validierung:
Man muss nur die Pflichtfelder und Regeln in einem bestimmten Syntax definieren und CodeIgniter validiert automatisch.
$config = array(
// Adresse, Pflichtfeld, gültige E-Mail Adresse
array(
'field' => 'address',
'label' => 'Adresse',
'rules' => 'required|valid_email'
),
// Passwort, Pflichtfeld, muss bestätigt werden (zweites Feld), mindestens 3 Zeichen
array(
'field' => 'password',
'label' => 'Passwort',
'rules' => 'required|matches[password_confirm]|min_length[3]'
),
// Zweites Feld für Passwort Bestätigung
array(
'field' => 'password_confirm',
'label' => 'Passwort Bestätigung',
'rules' => ''
)
);
$this->form_validation->set_rules($config);
Ich möchte diesen Code hier nicht ohne das Framework schnell zusammenschreiben müssen, aber ihr könnt euch ja sicher vorstellen, dass es schon ein Stücken mehr wäre.
Schaut es euch doch auch einmal an. Ich glaube ich werde nie wieder etwas (größeres) in PHP programmieren, bei dem ich das Framework nicht einsetzen werde
Sehr beeindruckend ist z.B. dieses Tutorial in dem in nur 20 Minuten ein kleiner Blog programmiert wird.
Wenn ich noch mehr coole Features finde, lasse ich es euch vielleicht in einem weiteren Blog-Post wissen.
Abgelegt in Programmieren | Keine Kommentare »
17. März 2010 - PNG Gamma Wert im IE (Win) und Safari (OSX 10.5)
Vor kurzer Zeit hatte ich ein Problem mit der Darstellung von PNG Bildern auf Webseiten. Im Internet Explorer (6.0, 7.0 & 8.0) unter Windows, sowie auf dem Mac Safari (unter Mac OSX 10.5) wurden diese viel zu dunkel dargestellt. Dies wäre nicht aufgefallen, wenn diese halbtransparenten PNGs nicht auf HTML-Boxen mit der selben Hintergrundfarbe gelegen hätten.
Schuld an der ganzen Sache scheint ein unterschiedlicher Gamma Wert bei den verschiedenen Browsern zu sein. So werden PNGs im IE unter Windows & Safari unter OSX 10.5 mit einem Gamma Wert von 2.2 dargestellt. Auf Windows im Firefox sind es anscheinend nur 1.8. Bei Mac OSX 10.6 wurde der Gamma Wert auch an die Windows Welt angepasst.
Gut – diese ganzen Informationen sind für mich als Entwickler eigentlich relativ egal, für mich zählt nur wie ich das ganze umgehen kann. Für Windows gibt es ein Programm namens TweakPNG mit dem man die Gamma Information aus den PNG Bildern entfernen kann. Dies löst das Problem.

Das OpenSource Tool gibt es hier: http://entropymine.com/jason/tweakpng/
Abgelegt in Allgemein, Mac OSX, Programmieren, Windows | 2 Kommentare »
26. Februar 2010 - Server über PS3 herunterfahren
Ich bin gerade total aus dem Häuschen. Eigentlich ist es total billig gelöst, aber ich kann jetzt von meiner Playstation 3 mein NAS ausschalten auf dem die Mediendaten liegen, die ich mir auf der PS3 (Streaming) anschauen möchte.
Dazu habe ich ps3mediaserver (eine in Java implementierte Open Source Software für DLNA-Streaming) die ich verwende angepasst. Ich habe also einen neuen Menüpunkt hinzugefügt, der mittels der Java Funktion Runtime.getRuntime.exec(String) die Shutdown Binary von Ubuntu aufruft und den Server ausschaltet.
Angepasster Quelltext (PMS.java)
// Menüpunkt um Server herunterzufahren
// Klaus Meyer, 26.02.2010
// http://www.klaus-meyer.net
// Have fun
vf.addChild(new VirtualVideoAction("::: Server ausschalten :::", true) {
public boolean enable() {
try {
System.out.println("::: Shutdown :::");
// Terminal Befehl zusammenbauen
String [] command = new String [] {
"sudo"
,"shutdown"
,"-h"
,"now"
};
// Befehl ausführen
Process proc = Runtime.getRuntime().exec(command);
// Waren bis Prozess durchgelaufen
proc.waitFor();
// Debugausgabe
BufferedReader buff = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String currentLine;
while ((currentLine = buff.readLine()) != null) {
System.out.printf(">%s\n",currentLine);
}
System.out.println("::: Ende Shutdown-Vorgang :::");
// PS3 Mediaserver beenden
System.exit(0);
} catch (Exception e) {
System.out.println("::: Shutdown nicht möglich :::");
}
return true;
}
});
// End of Changes
Hier findet ihr den Patch für die SVN Revision 410 des PS3Mediaserver und ein fertiges Tarball zum Download: http://downloads.klaus-meyer.net/other/PS3MediaServer/ Eventuell läuft der Patch auch noch mit späteren Versionen.
Um den Shutdown zu erlauben, müsst Ihr unter Ubuntu z.B. noch die /etc/sudoers Datei anpassen (bitte sudo visudo verwenden) in meinem Fall ist meyer der Benutzer unter dem der PMS läuft:
Ich wünsche euch viel Spaß damit, falls ihr es auch verwenden möchtet.
Abgelegt in Linux, Programmieren, Software | Keine Kommentare »
16. Januar 2010 - Ubuntu 8.04 und screen v-split
Ich habe mir gerade mal wieder das Tool screen unter Ubuntu angeschaut und beschlossen dieses jetzt öfters zu verwenden. Leider hat mir die möglichkeit gefehlt den Splitscreen auch vertical zu betreiben. Doch dieses kann man ganz einfach nachträglich in den Quelltext einkompilieren, dafür gibt es sogar schon einen fertigen Patch. Funktionieren tut es so:
Zuerst die eventuell schon installierte Version aus dem System entfernen:
aptitude remove –purge -y screen
Dann die benötigten Build Dependencies laden:
apt-get build-dep screen -y
Noch ein Paket hinzufügen, das ebenfalls benötigt wird:
apt-get install libncurses5-dev -y
Um gleich ein *.deb Paket zu erhalten brauchen wir noch checkinstall
apt-get install checkinstall -y
Nun die aktuelle Source herunterladen … :
wget http://fresh.t-systems-sfr.com/unix/src/misc/screen-4.0.3.tar.gz
… und entpacken:
tar zxvf screen-4.0.3.tar.gz
cd screen-4.0.3.tar.gz
Den Patch laden und entpacken:
wget http://vsp4sdl.yuggoth.org/wrp_vertical_split_0.3_4.0.2.diff.bz2
bunzip2 wrp_vertical_split_0.3_4.0.2.diff.bz2
Nun den Quelltext patchen:
patch -Np1 < wrp_vertical_split_0.3_4.0.2.diff
Und nun kompilieren und installieren (in Paketverwaltung):
./configure –prefix=/usr
make
checkinstall
Fertig, nun könnt ihr in screen mit [CTRL] + [A] [V] einen vsplit machen.
Have fun.
Wer keinen Bock darauf hat das alles zu machen, der kann sich hier mein DEB-Paket herunterladen (nur auf Ubuntu 8.04 getestet!).
Abgelegt in Linux, Programmieren, Software | Keine Kommentare »
28. Mai 2009 - Radiobuttons und jQuery
Ich werde es mir nie merken können, wie man Radiobuttons mit jQuery “checked”, dabei ist es so einfach! Da ich mir nicht mal merken kann wo ich die Lösung zu diesem Problem finde muss ich jedes mal Googlen:
<input type=”radio” name=”action” id=”action_replace” value=”replace” />
<input type=”radio” name=”action” id=”action_delete” value=”delete” />
<script type=”text/javascript”>
$(“input[@name=\'action\']“).val(“replace”);
$(“#action_replace”).attr(“checked”,”checked”);
</script>
Abgelegt in Programmieren | Keine Kommentare »
18. April 2009 - Google Service für Favicons
Ich habe heute beim Surfen einen netten kleinen Dienst von Google gefunden. Man kann Favicons von Webseiten als PNG Files über Google auslesen:
http://www.google.com/s2/favicons?domain=klaus-meyer.net
Statt klaus-meyer.net müsst ihr einfach den Domain-Namen der Seite eingeben von der Ihr das Favcion wollt. Vielleicht ist das ganz nützlich um automatisiert für Linklisten die Icons auszulesen.
Tobias Scholze von Chaos-Coding ist mir mal wieder zuvorgekommen mit dem Posten
Abgelegt in Programmieren | Keine Kommentare »
10. April 2009 - Linux: ISO8859-1 zu UTF-8
Kleine Merkhilfe für mich: Konvertierung von ISO8859-1 nach UTF-8 unter Linux
iconv -f ISO8859-1 -t UTF-8 input-file.txt > output-file.txt
Vielleicht auch für den ein oder anderen nützlich
ist dieser relativ interessante Link: http://www.tu-chemnitz.de/urz/linux/faq/unicode.html
Abgelegt in Linux, Programmieren | Keine Kommentare »
28. März 2009 - Oberfläche für MySQL
Ich bin phpmyadmin langsam richtig leid. Es ist zwar ganz nett um kleinere Datenbanken zu managen und auch mal ein Dump-File zu erzeugen, aber wenn man größere MySQL Datenbanken verwalten möchte ist es einfach zu umständlich zu bedienen. In der Arbeit verwenden wir Microsofts SQL Server 2005 mit dem dazugehörigen Management Studio, mit dem es sich super arbeiten lässt – genau so etwas habe ich schon seit längerem für MySQL gesucht. Kurze Zeit habe ich den offiziellen MySQL Query Browser verwendet, welcher mir aber genau wie phpmyadmin nicht genügend Möglichkeiten geboten hat.
Nun habe ich eine sehr gute Oberfläche für MySQL Verwaltung gefunden: HeidiSQL (der Name ist etwas komisch, aber das Programm ist super!).
Der Aufbau erinnert mich an das Microsoft SQL Management Studio und es läuft auch super.
Ich kann euch das Teil wirklich empfehlen!
Abgelegt in Programmieren, Software | Keine Kommentare »
