Martin Lantzsch
Software Entwickler
23. September 2012

too much – Tag 49

23. September 2012 - Geschrieben von Martin - Keine Kommentare

In letzer Zeit hat sich viel getan. Ich habe nun seit 49 Tagen kaum mehr privat vor dem PC gesessen und bin ich Messengern und Sozialen Netzwerken fast vollständig abgetaucht. Selbst Facebook weiß von den letzten 49 Tagen nicht viel. Ein paar besuchte Events und ein Post, dass ich nun kein Handy mehr habe. That’s all.

Ich finde diese Schritten waren zwingend nötig, ansonsten wäre ich wahrscheinlich auf kurz oder lang der Informationsflut erlegen. Es hat sich sicher auch bezahlt gemacht, denn ich kann nun einfach so ein paar Stunden spazieren gehen ohne ein Handy mitschleppen zu müssen, und eine Mail kann auch schon mal ein bis zwei Tage in meinem mittlerweile sehr überschaubaren Postfach verweilen ehe sie gelesen wird. Vorher war das fast undenkbar – eigentlich ziemlich erschreckend.

Anderen Leuten hingegen missfällt es, dass ich nicht mehr in Messengern und Sozialen Netzwerken zugegen bin, oft höre ich so was wie „Lebst du noch“ oder „Jetzt geh wieder online“ oder so was. Naja, die hängen wohl selbst auch alle in dieser Abhängigkeit.

Bisher vermisse ich nichts, und ich muss sagen ich habe nun richtig viel Zeit für die wichtigen Menschen im Leben.

1. September 2012

PS3 von 1080p auf 720p Fernseher – kein Bild mehr

1. September 2012 - Geschrieben von Martin - Keine Kommentare

Schließt man wie ich heute eine PS3, die einst per HDMI an einen 1080p (full HD) Bildschirm angeschlossen war an einen 720p (HD ready) Fernseher an, so sieht man natürlich gar nichts mehr, da die Playstation die maximal unterstützte Auflösung des Displays nicht erkennt und weiterhin auf seiner eingestellten Auflösung ausgibt. Umstellen kann man das natürlich auch nicht, denn das geht nur per Konfigurator in der Playstation Oberfläche.

Trotzdem hab ich einen Kniff gefunden. Wenn man die PS3 abschaltet und den Einschalter 5 bis 10 Sekunden hält, so piepst die Playstation ein weiteres mal nach dem Startpiepsen auf und die Anzeige sowie Sound Einstellungen können in einem 576p Aufgelösten Menü konfiguriert werden.

29. August 2012

ExtJS „Uncaught TypeError: Cannot read property ‚internalId‘ of undefined“

29. August 2012 - Geschrieben von Martin - Keine Kommentare

Mein ExtJS 4.1 TreeStore wollte einen Knoten partout nicht laden, es kam jedesmal folgender Fehler in der Chome debug Konsole:

Uncaught TypeError: Cannot read property 'internalId' of undefined

Dank der echt supertollen Dokumentation von ExtJS habe ich verzweifelt alle Parameter ausgetestet doch keiner half, beim Googlen bin ich auf diverse Foren gestossen, doch jedesmal gab es keine richtige Antwort. Doch dieser Blog Post hatte eine.

Die „id“ eines jeden Knotens muss einmalig sein! Das heißt, nicht nur auf einer Ebene, sondern auch in Unterebenen darf keine ID doppelt vorkommen! Das ist natürlich schwer, wenn ich aus zwei Datenbanktabellen mit jeweils einem Auto Increment meine Daten beziehe, denn

- parent[id=1]
-- sub[id=1]
-- sub[id=2]
-- sub[id=3]
- parent[id=2]
-- sub[id=4]

und schon habe ich die „[id=1]“ und „[id=2]“ doppelt. Abhilfe schafft z.B. wenn ich als Index „[id=parent-1]“ und „[id=sub-1]“ verwende. Sollte meine Anwendung mit diesen IDs Arbeiten, z.B. um weitere Abfragen auszuführen, kann ich dafür ein extra Feld verwenden.

26. August 2012

Mails auf IMAP Server automatisiert verschieben

26. August 2012 - Geschrieben von Martin - 2 Kommentare

Wie schon im Beitrag „too much – Tag 0“ erwähnt, habe ich nun einen Serverseitigen Mail Filter entwickelt, der mir alle Mails von Facebook, Twitter, etc. in einen extra Ordner verschiebt. Warum? Ganz einfach – weder mein Android Handy, als auch mein iPhone können Mail Filter auf die INBOX anwenden, also wurden die Mails nur automatisch einsortiert wenn zuhause mein Thunderbird lief. Da ich den Rechner aber kaum anwerfe sondern nur am Handy bin, platzte meine Inbox also immer aus allen Nähten.
Im übrigen hat das Serverseitige verschieben den positiven Nebeneffekt, das nicht mehr so viele Mails auf dem Handy laden und so weniger Traffic verbraucht wird.

Folgendes Python Script hab ich mir geschustert:

# 
# This python script is to move mails automated by a filter inside of an imap4 mailbox
# You can use it to sort out mails by several criteria, eg moving all mails from facebook to an seperate mailbox
#
# @author	Martin Lantzsch <martin@linux-doku.de>
#
 
import imaplib
 
# connect to server
m = imaplib.IMAP4('YOURSERVER.TLD')
m.login('USERNAME', 'PASSWORD')
 
# filter function
def filterMessages(mailbox, filter, newMailbox):
	m.select(mailbox, readonly=False)
	typ, data = m.search(None, filter)
	for num in data[0].split():
		typ, data = m.fetch(num, 'RFC822')
		m.copy(num, newMailbox)
		m.store(num, '+FLAGS', '\\Deleted')
		print 'Moved and deleted Message %s from %s to %s' % (num, mailbox, newMailbox)
	m.close()
 
# fire!
filterMessages('INBOX', '(FROM "@facebookmail.com")', 'INBOX.Internet.Facebook')
filterMessages('INBOX', '(FROM "@postmaster.twitter.com")', 'INBOX.Internet.Twitter')
 
# close connection
m.logout()

Wie die IMAP4 Filter funktionieren, ist in diesem Wiki ganz gut erklärt: SEARCH command

Nun einfach einen CronJob drauf setzen, der alle 10 Minuten das Script aufruft und schon hat man Ruhe :-)

22. August 2012

Nach Angriff alle .htaccess von einem Webspace löschen

22. August 2012 - Geschrieben von Martin - Keine Kommentare

Viele Bots platzieren auf Webspaces, die gekapert wurden .htaccess Dateien, in denen Redirects stehen, um die Besucher der jeweiligen Webseite auf dubiose andere Seiten zu leiten. Da man bei einem CMS System durchaus mehrere hundert Verzeichnisse hat, in das die .htaccess rekursiv reingeschrieben wurden, ist der Aufwand natürlich sehr hoch diese einzeln zu löschen.

Ich habe mir hierzu folgendes *zwei Minuten muss unbedingt die .htaccess schnell löschen* Script geschrieben, da doch immer wieder Webspaces bereinigt werden müssen, wenn deren Eigentümer zu einfache Passwörter verwendet oder diese weitergegeben haben.

<?php
function deleteHtaccess($dir) {
	$files = scandir($dir);
	$files[0] = null;
	$files[1] = null;
	foreach($files as $f) {
		if($f != null) {
			if(is_dir($dir.'/'.$f)) {
				deleteHtaccess($dir.'/'.$f);
			} else if($f == '.htaccess') {
				chmod($dir.'/'.$f, 777);
				unlink($dir.'/'.$f);
				echo 'delete '.$dir.'/'.$f.'<br>';
			}
		}
	}
}
deleteHtaccess('./');

17. August 2012

Firefox Hack – onresize page refresh

17. August 2012 - Geschrieben von Martin - Keine Kommentare

Die Entwickler von Firefox meinen es sei nicht nötig, dass man beim resizen des Fensters die Seite neu lädt und haben so bei der Behandlung des Resize Events jegliche Seiten reloads gesperrt.

Da ich das allerdings in einem bestimmten Anwendungsszenario trotzdem benötigte, habe ich herausgefunden, dass man es mit folgendem „Hack“ umgehen kann, weil der Reload dann natürlich nicht mehr vom resize initiiert wird:

$(window).resize(function() {
	setTimeout(function() { window.location.reload() }, 0);
});

Durch den Timeout mit der Verzögerung von 0 Millisekunden (also sofort) wird die aufgerufene Funktion sozusagen in ihrer Herkunft anonymisiert.

Sehr umständlich, in allen anderen Browsern funktioniert es direkt, aber die Saboteure von Mozilla meinten wieder sie müssen die Welt verbessern…

9. August 2012

Ich wurde bestohlen

9. August 2012 - Geschrieben von Martin - 2 Kommentare

Ich wurde heute beraubt. Ein etwa 60 Jahre alter Italiener, der fettiges, schmieriges grau – schwarzes Haar hatte und ein Blau gestreiftes Hemd sowie einen alten verranzten braunen Rucksack trug hat mich heute um eines der wichtigsten Dinge bestohlen.

Er hat im Bus inmitten Roma mein HTC Evo 3D geklaut, indem er sich als der Bus stoppte und die Leute etwas nach vorn kippen ganz dreist auf mich und eine ältere Dame geworfen. Dabei muss er in meine Hosentasche gegriffen und sich mein Handy geangelt haben. Denn ich sah nur noch seine Hand an meiner Tasche, einen unhöflichen Gesichtsausdruck und dann seine Gestalt schnell aus den sich gerade schließenden Türen springen. Abgetaucht in der Menge hatte ich keine Chance mehr. Ich habe zwar „Fuck, he has stolen my mobile phone“ gerufen und wollte ihm hinterher doch vergebens – die Türen waren zu und die dreckige Visage war weg.

Die anderen Leute im Bus wussten sofort wen ich meinte als ich sagte „someone has stolen my mobile phone, have you seen it?“. Sie fragten alle „the men in the blue striped?“. Doch keiner wollte mit mir sprechen, lediglich zwei andere Touristen berichteten davon, dass ihnen in der selben Linie am Vortag ihr iPhone gestohlen wurde. Sie gingen auch zur Polizei , sagten sie als ich fragte ob sie es zur Anzeige gebracht haben. Doch die Polizisten meinten dass sei vergebens, sie sollten sich ein neues kaufen und keine Probleme machen.

Nun sitze ich hier ohne mein Handy auf dem sozusagen mein gesamtes Leben gespeichert war. Bilder, Nachrichten, Notizen, … Es fühlt sich schrecklich an zu wissen, das einem so etwas angetan wird nur um das Handy für ein paar Groschen zu verhöckern, es war ja noch nicht mal viel Wert.

5. August 2012

too much – Tag 0

5. August 2012 - Geschrieben von Martin - 3 Kommentare

Wie im vorherigen Post schon beschrieben kann ich das dauerhafte für jeden erreichbar sein nicht mehr ertragen. Das was einst geil war wird langsam mit zunehmender Verbreitung von Smartphones und Leuten die keine Scham mehr davor haben diese zu jeder Tag- und Nachtzeit zu benutzen echt zum Problem.

Ich habe nun als ersten Schritt mein Smartphone dauerhaft auf Lautlos gestellt. Das heißt kein Ton und keine Vibration mehr, absolut still. Lediglich die Benachrichtigungsleuchte blinkt, aber da das Handy eh‘ immer in der Hosentasche ist, ist die zu vernachlässigen.

Dank diesem Schritt ist meine Reaktionszeit wenn ich keine Nachrichten erwarte auf über eine Stunde gestiegen. Falls ich etwas erwarte schaue ich allerdings schon noch öfter darauf. Neugierde halt.
Gelesen und beantwortet, wird allerdings nur sporadisch.

Zweiter Schritt war das entfernen der Facebook App von allen mobilen Endgeräten. Bisher läuft das sehr gut, da ich so nun nicht mehr Benachrichtigt werde und ohne das jemand was von mir will, habe ich auch keinen Grund reinzusehen. Am Laptop ist FB nicht mehr dauerhaft offen – sehr entspannt.

Ich werde nun auch eine Woche nahezu vollständige Internet Abstinenz erproben. Im Urlaub kann man das ja mal machen.

Die Schritte danach werden dann wohl meine Mail Struktur betreffen – aufteilung des Hauptmailkontos in mehrere verschiedene oder Serverseitige Mail Filter. Skype muss ich noch schauen wie ich das mache, denn Skype ist auch ein  ziemlicher Produktivitätskiller, aber da sich dort auch einige mir sehr wichtige Menschen tummeln wird es schwer das abzusetzen.