JensDiemer

Mein Blog...

Tag Cloud 3dsmax [+] | 64bit [+] | addons [+] | Aptana [+] | ASUS [+] | AVI [+] | backup [+] | BeOS [+] | bilder [+] | blog [+] | browser [+] | CPU [+] | creole [+] | django [+] | django-dbpreferences [+] | django-dbtemplates [+] | django-tagging [+] | django-tools [+] | django-weave [+] | dokumentation [+] | Eclipse [+] | fernsehen [+] | firefox [+] | forms [+] | formset [+] | foto [+] | git [+] | Haiku [+] | handy [+] | hardware [+] | i18n [+] | javascript [+] | jquery [+] | Kino [+] | lame [+] | links [+] | linux [+] | locales [+] | Loveparade [+] | mac [+] | markup [+] | mencoder [+] | merkwürdig [+] | modul [+] | mp3 [+] | netzwerk [+] | nokia [+] | online [+] | opensource [+] | ovi [+] | Petition [+] | pip [+] | plugin [+] | plugins [+] | podcast [+] | pydev [+] | pylucid [+] | pys60 [+] | python [+] | relase [+] | release [+] | router [+] | settings [+] | sicherheit [+] | software [+] | sqlite [+] | standalone [+] | svn [+] | thunderbird [+] | Tip | ubuntu [+] | ubuntuusers [+] | unittest [+] | video [+] | virtualbox [+] | virtualenv [+] | vista [+] | web [+] | webspace [+] | win7 [+] | windows [+] | xfce [+] | xp [+] | xvid [+]

↑ "Das Freeman Tor" - Der Film  #

Vor 10 Monate, 2 Wochen veröffentlicht, durch jens.

Seid 10 Jahren tüftelt Udo Everhardt an seinen 90-Minütigen no-Budget Science-Fiction Film "Das Freeman Tor". Ich hab zum Film einige kleine "special effects" Szenen bei gesteuert.

Am 07.11.2009 findet in Trier die Weltpremiere statt. Jeder der Lust hat ist herzlich eingeladen!

Informationen/Trailer/Tickets auf:

(Last update: 20. Nov. 2009, 11:01 by jens.)

tags Kino [+] | Tip
0 comments...

↑ NFS mount in fstab will nicht.  #

Vor 1 Jahr, 1 Monat veröffentlicht, durch jens.

Unter Ubuntu 9.04 hab ich in der fstab einen NFS Eintrag hinzugefügt, mit der Option "auto". Dennoch wird nach dem booten kein mount gemacht :(

Ein mount -a in Terminal funktioniert allerdings ohne Probleme.

Vielleicht liegt es ja an den gemeldeten Bug: nfs mounts specified in fstab is not mounted on boot.

Tipp: Als work-a-round hab ich einfach in /etc/rc.local ein mount -a eingetragen ;)

Siehe auch: http://forum.ubuntuusers.de/topic/nfs-in-fstab-mountet-nicht-nach-boot/

(Last update: 20. Nov. 2009, 11:01 by jens.)

tags linux [+] | Tip | ubuntu [+]
0 comments...

↑ django TEMPLATE_STRING_IF_INVALID im admin  #

Vor 1 Jahr, 1 Monat veröffentlicht, durch jens.

Eigentlich sagt die django Doku, man darf settings.TEMPLATE_STRING_IF_INVALID nur für's debugging nutzten, siehe auch: http://docs.djangoproject.com/en/dev/ref/templates/api/#how-invalid-variables-are-handled

Einige Sachen im Admin Panel sind nämlich mit einem gesetzten Wert kaputt. Das ist bekannt: http://code.djangoproject.com/ticket/3579

Ich halte es für eine schlechte Idee TEMPLATE_STRING_IF_INVALID deswegen generell nie zu benutzten. So sieht man "Fehler" schlechter.

Damit das django admin Panel aber nicht ganz so defekt ist, nutzte ich den Patch:

Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
if settings.TEMPLATE_STRING_IF_INVALID != "":
    from django.contrib.auth import admin as auth_admin
    from django.contrib.admin import options

    def patched_render_to_response(*args, **kwargs):
        old = settings.TEMPLATE_STRING_IF_INVALID
        settings.TEMPLATE_STRING_IF_INVALID = ""
        result = render_to_response(*args, **kwargs)
        settings.TEMPLATE_STRING_IF_INVALID = old
        return result

    options.render_to_response = patched_render_to_response
    auth_admin.render_to_response = patched_render_to_response

(Last update: 20. Nov. 2009, 11:01 by jens.)

tags django [+] | Tip
0 comments...

↑ django template: rekusive Darstellung...  #

Vor 1 Jahr, 1 Monat veröffentlicht, durch jens.

Eine Lösung um rekusive Daten mit der django Template engine darzustellen, ist die Aufteilung in zwei Template Dateien und das einbinden per include. Ein Beispiel:

↑ SiteMap.html  #

HTML
1
2
<h1>SiteMap</h1>
{% include "SiteMap_items.html" %}

↑ SiteMap_items.html  #

HTML
1
2
3
<ul>
{% for node in nodes %}
    
  • {{ node.name }} {% with "SiteMap_items.html" as filename %} {% with node.subnodes as nodes %} {% if nodes %}
      {% include filename %}
    {% endif %} {% endwith %} {% endwith %}
  • {% endfor %} </ul>

    Update:
    Hab SiteMap_items.html geändert. Denn ganz wichtig: der Dateiname muß bei include als Variable übergeben werden. Ansonsten bekommt man eine Endlosschleife! Das dumme ist, man sieht es nur bei settings.TEMPLATE_DEBUG == True ansonsten wird nur eine warnings ausgelöst!

    Update2:
    Noch ein Hacken gibt es. Weil man den Dateinamen als Variable übergibt, wird das angegebene Template neu geladen. Somit verursacht das ganze einen recht großen Mehraufwand, der eigentlich unnötig ist. Das habe ich daran gemerkt, das dbtemplate sehr viele Datenbank Abfragen verursacht. Allerdings habe ich dafür ein Ticket geöffnet, denn durch einfaches Caching kann man zusätzliche DB Abfragen vermeiden. Außerdem sollte man das normale dbtemplates caching aktivieren.

    Siehe auch:

    (Last update: 20. Nov. 2009, 11:01 by jens.)

    tags django [+] | django-dbtemplates [+] | Tip
    0 comments...

    ↑ VirtualBox: Dienst nach außen anbieten...  #

    Vor 1 Jahr, 1 Monat veröffentlicht, durch jens.

    Wenn an keine Lust hat eine Netzwerk Brücke einzurichten, kann auch prima per NAT und Port-Weiterleitung arbeiten. Ist recht leicht einzurichten. Ein Beispiel:

    Bash
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    #!/bin/bash
    
    function verbose_eval {
        echo $*
        eval $*
    }
    
    function add_port_forward {
        echo Try to remove old values for $1 $2
        verbose_eval VBoxManage --nologo setextradata "$1" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/$2/Protocol"
        verbose_eval VBoxManage --nologo setextradata "$1" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/$2/GuestPort"
        verbose_eval VBoxManage --nologo setextradata "$1" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/$2/HostPort"
        echo ---------------------------------------------------------------------
    
        echo Add for $1 $2
        verbose_eval VBoxManage --nologo setextradata "$1" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/$2/Protocol" "$3"
        verbose_eval VBoxManage --nologo setextradata "$1" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/$2/GuestPort" $4
        verbose_eval VBoxManage --nologo setextradata "$1" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/$2/HostPort" $5
        echo ---------------------------------------------------------------------
    
        echo Please check:
        verbose_eval VBoxManage --nologo getextradata "$1" enumerate | grep $2
        echo ---------------------------------------------------------------------
    }
    
    add_port_forward VM_NAME apache TCP 80 8080
    add_port_forward VM_NAME SSH TCP 22 8081
    

    Somit sind Webserver (Port 80) und SSH (Port 22) auf dem Host auf Port 8080 bzw. 8081 erreichbar. "VM_NAME" muß natürlich angepasst werden ;)

    Weitere Info's: http://wiki.ubuntuusers.de/VirtualBox/Netzwerk#Portweiterleitung

    (Last update: 20. Nov. 2009, 11:01 by jens.)

    tags Tip | virtualbox [+]
    0 comments...

    ↑ Gemeinsamer Ordner unter Linux  #

    Vor 1 Jahr, 2 Monate veröffentlicht, durch jens.

    ↑ umask anpassen  #

    Die umask entzieht neu erstellen Dateien Rechte. Der default wert 022 auf 002 ändern, in Datei /.bash_profile und /.profile.

    ↑ rechte mit Skript anpassen  #

    Die Benutzer die auf den Dateien der anderen zugreifen können sollen, habe ich in der User-Gruppe users gepackt. Mit diesem Skript werden alle Dateien und Verzeichnisse angepasst und mit einem Sticky Bit versehen:

    Bash
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    #!/bin/bash
    
    set_rights() {
        echo
        echo Bearbeite: $1
        echo
        echo Gruppe setzten
        sudo chown -R .users $1
        echo
        echo Verzeichnissrechte setzten
        sudo find $1 -type d -exec chmod g+xrws {} \;
        echo
        echo Dateirechte setzten
        sudo find $1 -type f -exec chmod g+rw {} \;
        echo
        echo
    }
    
    set_rights ${HOME}/Photos/
    set_rights ${HOME}/MP3s/
    

    ↑ Fazit  #

    Alles im allem ein wenig umständlich. Kennt jemand eine einfachere Lösung?

    (Last update: 20. Nov. 2009, 11:01 by jens.)

    tags linux [+] | Tip | ubuntu [+]
    0 comments...

    ↑ WinXP: Sicherheitswarnung im lokalen Netz?  #

    Vor 1 Jahr, 2 Monate veröffentlicht, durch jens.

    Fehler meldung:

    Auf das angegebene Gerät, bzw. den Pfad oder die Datei kann nicht zugegriffen werden. Sie verfügen eventuell nicht über ausreichende Berechtigungen, um auf das Element zugreifen zu können.

    oder

    Der herrausgeber konnte nicht verifiziert werden. Möchten Die diese Software ausführen?

    Eine Lösung, die IP Adresse des Fileservers in die Zone "Lokales Intranet" eintragen, z.B. über diese .reg Datei:

    Unbekannter Typ
    Windows Registry Editor Version 5.00
    
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges]
    @=""
    
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\Range1]
    "file"=dword:00000001
    ":Range"="192.168.xx.xx"

    Die IP Adresse natürlich anpassen ;)

    ↑ Links  #

    (Last update: 20. Nov. 2009, 11:01 by jens.)

    tags netzwerk [+] | Tip | windows [+] | xp [+]
    0 comments...

    ↑ DD-WRT: DHCP static leases  #

    Vor 1 Jahr, 2 Monate veröffentlicht, durch jens.

    Auf meinem Router ist die freie Firmware DD-WRT in der aktuellen v24.

    Ich setzte im DHCP Server gern statische IP Zuweisungen, anhand der MAC Adresse. So haben die Rechner immer die selbe IP, ohne das ich auf dem Client das extra einstellen muß.

    Leider kann man in der Web GUI die DHCP Statische Zuweisungen nur schlecht verwalten :( Es ist nicht möglich einen Eintrag zu ändern. Man kann auch immer nur den letzten Eintrag löschen. Somit ist die GUI dafür praktisch unbrauchbar.

    Somit muß man das ganze per SSH erledigen. Den SSH Zugriff muß man unter "Services" erstmal einschalten und kann dabei am besten seinen Public Key (z.B. /.ssh/id_rsa.pub) unter "Authorisierte Schlüssel" einfügen.

    Nun kann man sich einloggen, mit ssh root@192.168.1.1 (IP evtl. anpassen).

    Die Datei /etc/lease_update.sh ist recht interessant. Dort kann man ein wenig die funktionsweise von /usr/sbin/nvram abschauen. Das Skript selber setzt allerdings dnsmasq Einträge und nicht die vom "DHCP Server".

    Generell werden alle Einstellungen im NVRAM gespeichert. Alle Einstellung kann man einsehen mit nvram show. Interessant für die DHCP Leases ist:

    Bash
    1
    nvram show | grep "lease"
    

    Das ganze geht natürlich auch ohne eingeloggt zu sein:

    Bash
    1
    ssh root@192.168.1.1 "nvram show" | grep "lease"
    

    Die normalen DHCP Server Einstellungen sind static_leasenum (Anzahl der Einträge in der Web GUI) und static_leases beinhaltet die eigentlichen Regeln.

    Mit einem kleinen Skript kann man sich das leben erleichern:

    Bash
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    #!/bin/bash
    
    ROUTER_IP=192.168.1.1
    
    ssh root@${ROUTER_IP} nvram set static_leasenum=9
    ssh root@${ROUTER_IP} nvram set static_leases=\"00:xx:xx:xx:xx:xx=Rechner1=192.168.1.2 \
        00:xx:xx:xx:xx:xx=Rechner2=192.168.1.3 \
        00:xx:xx:xx:xx:xx=Rechner3=192.168.1.4\"
    echo ----------------------------------------------------------------------
    ssh root@${ROUTER_IP} nvram show | grep "static_leases="
    

    Wichtig: Man muß aufpassen, wie die Leerzeichen und Anführungszeichen gesetzt sind. Ansonsten werden schnell Einträge abgeschnitten. Deswegen sollte man die Einstellungen nochmal in der Web Gui http://192.168.1.1/Services.asp überprüfen und dort dann mit "Anwenden" die neuen Einstellung auch scharf stellen ;)

    So kann man gemütlich mit seinem bevorzugten Editor die Datei editieren. Nach einem ausführen, landen die Daten auf dem Router ;)

    (Last update: 20. Nov. 2009, 11:01 by jens.)

    tags router [+] | software [+] | Tip
    0 comments...
    Syndication-Feed-Format: