Martin Lantzsch
Software Entwickler
29. März 2013

Django JSON POST decorator

29. März 2013 - Geschrieben von Martin - Keine Kommentare

Für den Django API Server bei Resigame habe ich einen neuen Decorator geschrieben, welcher Daten im JSON Format, die per POST übermittelt werden automatisch in eine Liste konvertiert und nach „request.POST“ schreibt. Brauchen wir, da die Daten via Backbone.js im JSON Format an die REST API gesendet werden.

resigame-api/decorators.py

from StringIO import StringIO
import json
 
 
def post_json(function):
    def wrap(request, *args, **kwargs):
        if request.raw_post_data is not '':
            try:
                request.POST = json.load(StringIO(request.raw_post_data))
            except:
                print 'invalid json in request.raw_post_data'
        return function(request, *args, **kwargs)
 
    return wrap

Einfach den Decorator @post_json anhängen, wenn z.B. folgende Daten gesendet werden:

{"x":100,"y":100,"name":"Resiiiiiiii"}

Anschließend befindet sich eine Liste mit den Daten in request.POST. Als wenn die Parameter und Werte normal übergeben worden wären.

15. Februar 2013

XFCE Dual Head Konfiguration

15. Februar 2013 - Geschrieben von Martin - Keine Kommentare

Da XFCE von Haus aus kein Dual Head unterstützt muss man das wohl von Hand per xrandr einrichten. Ich habe mir hierzu folgendes Script aus Ask Ubuntu geschnappt und angepasst:

!/bin/bash
 
# RESOLUTION SETTINGS
# This sets your VGA2 monitor to its best resolution.
xrandr --output VGA2 --mode 1920x1080 --rate 60
# This sets your laptop monitor to its best resolution.
xrandr --output LVDS2 --mode 1440x900--rate 60
 
# MONITOR ORDER
# Put the Laptop right, VGA2 monitor left
# xrandr --output VGA2 --left-of LVDS2
# Put the Laptop left, VGA2 monitor right
xrandr --output LVDS2 --left-of VGA2
 
# PRIMARY MONITOR
# This sets your laptop monitor as your primary monitor.
xrandr --output VGA2 --primary
# This sets your VGA2 monitor as your primary monitor.
# xrandr --output VGA2 --primary

Die Namen der Angeschlossenen Monitore kann man sich per xrandr auf der Konsole anzeigen lassen.

Mit einem Rechtsklick auf die Leiste oben am Bildschirm, dann auf „Leiste“ und auf „Leisteneinstellungen…“ kann man die Leiste auf einen anderen Monitor verschieben. Hierzu gibt es im Tab Anzeige die Option „Ausgabe“.

Leisteneinstellungen

29. Dezember 2012

Skoda Fabia Lautsprecher fixen

29. Dezember 2012 - Geschrieben von Martin - Ein Kommentar

Der Lautsprecher in der rechten Tür meines Skoda Fabias hat die ganze letzte Zeit so komisch gescheppert, dass ich gestern mal die Türverkleidung abmontiert und ihn mir mal angesehen habe.

Im Vorfeld habe ich viel davon gehört, dass die Tür des Fabia nicht so gut gedämmt sein soll, doch ich stellte fest, dass die Verkleidung eigentlich relativ gut sitzt.

Also habe ich mit einer Dubstep CD halt mal einen kleinen Test gemacht und relativ schnell festgestellt, dass die Membran des Lautsprechers besonders bei tiefen Tönen zu flattern beginnt.

Habe ich mit meinem Finger oben auf die Membran gedrückt, stoppte das Flattern. Grund war, dass sie oben einem kleinen Riss hatte, scheinbar ist sie angeklebt.

image

Also habe ich mit Panzertape die Membran vorerst geklebt. Mit kleinen Stückchen außenrum. Nun scheppert und flattert nichts mehr. Sollte es wieder losgehen, gibts einen neuen Lautsprecher.

15. Dezember 2012

Windows 8 Tipps für zwei Bildschirme

15. Dezember 2012 - Geschrieben von Martin - Keine Kommentare

Da sich diese Woche meine 320GB Western Digital Festplatte in meinem ThinkPad verabschiedet hat (ok, eig schon seit ca. einem Jahr… aber die langsamen Zugriffszeiten haben mich nie gestört :D) habe ich mir nun eine SSD zugelegt. Im MediaMarkt um die Ecke gabs die Crucial M4 mit 256GB für 129€. Da konnte ich nicht nein sagen.

Nach dem Einbau der SSD habe ich dann direkt Windows 8 aus meinem Microsoft DreamSpark Portfolio installiert. Warum auch mit dem veralteten Windows 7 rumgurken? ;-)

Die Performance ist ganz akzeptabel, die Gesten Steuerung auch ganz in Ordnung. Man gewöhnt sich einfach dran. Ich will auch gar nicht über die Modern UI schimpfen, nach einem Tag Eingewöhnung finde ich es echt eine Klasse Sache. Deshalb wird sie bei mir auch dauerhaft verwendet. Mail App, Nachrichten App und Desktop sind dauerhaft am Start.

Anfangs hatte ich allerdings Probleme mit meinem Dual Head Setup, denn das Handling war irgendwie komisch. Die Apps verschwanden beim Wechsel von Programmen auf dem Desktop, etc.

Mittlerweile habe ich den Dreh raus. Und zwar habe ich ein 14″ Notebook Display zu meiner linken und rechts entweder meinen 22″ oder 19″ Monitor.

Ich gehe dann auf das Notebook Display, öffne die Modern UI über einen klick auf das Feld in der linken unteren Ecke. nun wähle ich die Mail App, verschiebe die durch klicken und ziehen am oberen Bildschirmrand nach links, bis sie angeheftet ist. Anschließend öffne ich über einen Druck auf die Windows Taste wieder die Modern UI und starte die Nachrichten App. Diese wird dann automatisch an die rechte Seite auf meinem Notebook Display angeheftet. Soweit noch kein Problem.

Klicke ich nun aber auf dem Großen Bildschirm (welcher Automatisch den Desktop anzeigt) auf das Wallpaper so verschwindet Metro auf dem anderen Bildschirm. Strange. Öffne ich Programme verschwindet Metro manchmal, ein anderes mal bleibt es da.

Nach einer Stunde herumspielen bin ich nun dahinter gekommen woran das lag. Und zwar öffnet sich bei mir der Explorer auf dem Notebook Schirm wenn ich ihn aus der Taskleiste starte. Verschiebe ich den Explorer dann auf den Großen Bildschirm und öffne wieder Modern UI, so bleibt es wenn ich wieder den Explorer starte. Denn ist auf dem Notebook Desktop keine Aktion, so verschwindet die Modern UI nicht.

Darum verschwindet auch die Modern UI wenn ich auf das Wallpaper klicke, denn über dem Wallpaper befindet sich quasi ein transparentes Explorer Fenster, und da der Explorer auf dem Notebook Bildschirm starten würde verschwindet die Modern UI. Muss man erst mal draufkommen ;-)

Ergo. Alle Fenster auf die Bildschirme schieben, auf denen der Explorer später verwendet werden soll, der unbenutzte Monitor kann dann dauerhaft Apps im Metro Stil beherbergen.

3. Dezember 2012

Mobilfunknetzausbau auf dem Lande

3. Dezember 2012 - Geschrieben von Martin - Keine Kommentare

In letzter Zeit habe ich den Eindruck, dass das Mobilfunk – und insbesondere das Edge Datennetz in den ländlichen Regionen verbessert und ausgebaut wird.

So hatte ich vor einem halben Jahr bei mir zuhause noch kein Handy Netz, habe ich nun überall im ganzen Haus 4 bis 5 Balken Edge. In manchen teilen des Dorfes wo ich Sichtverbindung zum ca. 5km entfernten Handymast habe sogar gelegentlich 3G oder HSDPA mit hoher stabiler Bandbreite.

Ich als „mobilfunk only surfer“ schätze das natürlich sehr, denn nun kann ich fast überall Online gehen um zu chatten, im Internet zu surfen oder meine eMails abzurufen. Und das ganz ohne *hab ich hier Netz – nein – hier vieleicht – …* gesuche.

Klar die Verbindung ist nicht übermäßig schnell aber für grundlegende Dinge reicht es. Und zum Synchronisieren von Spotify und Updaten der Apps habe ich ja die ganze Nacht an der Steckdose Zeit.

25. Oktober 2012

Raspberry Pi am HDMI auf DVI Adapter

25. Oktober 2012 - Geschrieben von Martin - Keine Kommentare

Da mein HDMI Switch für den RPi wohl zu viel Strom zieht, will ich ihn nun per DVI an meinen Monitor anschließen, um dauerhafte Bildaussetzer und Flackern zu verhindern.

Dazu habe ich mir erst einmal von einem netten Kollegen (danke nochmal an dieser Stelle ;-)) einen HDMI auf DVI Adapter geliehen.

Als der RPi lief habe ich den HDMI abgezogen und mit dem Adapter an den DVI Port meines 22″ Displays angeschlossen. Funktionierte prächtig, bis zum nächsten reboot. Dann blieb das Bild schwarz und der Monitor aus. Der Pi war aber per SSH zu erreichen.

Also hat der Adapter wohl zu viel Widerstand, als das der Raspberry Pi erkennen könnte, dass ein HDMI Device angeschlossen ist und gibt via Cinch aus.

Per SSH habe ich dann in der „/boot/config.txt“ das Flag “ hdmi_force_hotplug=1″ gesetzt, damit er dauerhaft HDMI verwendet und nun geht es auch direkt nach einem reboot.

Nun kann ich mich wieder der ehlendigen xbmc Bastelei widmen ;-)