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_BASE”, “domains/klaus-meyer.net/httpdocs/”);
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.
PNGTweak

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:

meyer ALL = NOPASSWD: /sbin/shutdown -h now

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.

Datenbank

Ich kann euch das Teil wirklich empfehlen! :-)

Abgelegt in Programmieren, Software | Keine Kommentare »

Kategorien

Allgemein
Apple
Hardware
Linux
Lustiges
Mac OSX
OpenGB
Programmieren
Software
Windows

Archiv

Juli 2010
Juni 2010
Mai 2010
April 2010
März 2010
Februar 2010
Januar 2010
Dezember 2009
November 2009
Oktober 2009
September 2009
August 2009
Juli 2009
Juni 2009
Mai 2009
April 2009
März 2009
Februar 2009
Januar 2009

Blogroll

Benedikt Rötsch
Chaos #Coding Blog
Johannes Wohlhaupter
Marcel Raim
Martin Schalk
Paul Bütow
Tobias Scholze

Meine Profile

Coffeejunky.de
Facebook
Gowalla
Mister Wong
Xing

Feeds

Artikel als RSS