Kommentare und Google

Kommentare sind durchaus erwünscht. Falls ihr durch Google hierher gekommen seid – hat Google mit Sicherheit wieder falsch verlinkt. In dem Fall bitte die Suche am rechten Rand benutzen, danke! 🙂

Magenta…

Für alle die sich fragen was ich derzeit mache: Ich bin seit Februar 2013 als selbstständiger IT-Dienstleister unterwegs.

Betreue hier und da ein paar Firmenkunden, richte dort die Netzwerke ein, kümmere mich um die Internetseiten und den reibungslosen Betrieb der Anlagen. Es läuft, mäßig, aber es läuft. Hat mir der Kurs Unternehmensführung an der Uni hierbei irgendetwas gebracht? Ganz klares Nein. Entweder man traut sich und wagt den Sprung ins kalte Wasser, oder es wird nie was.  Mein größtes Problem hierbei ist, dass man mich kaum ernst nimmt. 😉 Ich bräuchte eigentlich mal nen Kurs in Selbstvertrauen und sicherem Auftreten. *lach*

Da in der Anfangsphase das Geld natürlich noch nicht so sprudelt bin ich seit Ende 2013 bei der Deutschen Telekom angestellt und betreue dort die Endkunden auf der Privatkundenseite. Es gibt schönere Jobs, das ist unbestreitbar; Arbeitsklima innerhalb der Telekom ist jedoch echt nicht übel, die Bezahlung ist auch ganz okay. Kann dahingehend also nicht klagen. Auch wenn ich immer noch von einigen Prozessen bei der Telekom kein Fan bin – und ich es wahrscheinlich auch nie sein werde. Intern merkt man halt doch sehr deutlich die gewachsenen Strukturen.

Nuja – nebenbei sehr viel mit meinem Hund unterwegs, so als Ausgleich zur ganzen Computerarbeit.

 

Whatevs. Liest eh keiner. *frechgrins*

Bis dann!

 

Die Welt – geschlossene Gesellschaft…

Die Welt möchte heute nicht gelesen werden…

welt.de.restricted

welt.de.restricted2

Mal ’ne alternative Paywall ^^

Wonka, Willy Wonka

willy-wonka

Mobbing? You shall not pass!

Zum Nachdenken…

Freizeit Revue Nr. 26 vom 20.06.2012 - Markierungen und Hervorhebung  von mir...

Freizeit Revue Nr. 26 vom 20.06.2012 – Markierungen und Hervorhebung von mir…

Facebook RSS-App die Zweite…

Nachdem Facebook im Mai die Permanenten Tokens abgeschafft hat, musste ich meine RSS-Ping-Applikation gezwungenermaßen aktualisieren.

Der neue Authentication-Flow sieht es leider nicht mehr vor, dass eine Applikation ohne eingeloggten Benutzer agiert.

Daher ein kleines Update. Das neue Skript funktioniert nur noch mit einem Server im Hintergrund, während es bei dem alten Skript noch möglich war lokal zu testen ist man nun leider dazu gezwungen scharf zu schießen. (Macht es halt etwas umständlicher, imho.)

Zum Anmelden der neuen Applikation benötigt man nun nur noch folgende Rechte:

https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=manage_pages,create_note&response_type=token

# manage_pages für Seitenverwaltung
# create_note um Notizen posten zu dürfen

Und der zugehörige Code der Applikation in Perl:

#!/usr/bin/perl
use strict;
use LWP::Simple;            # Für Get-Anfragen an Facebook
use CGI;                    # Zum Auswerten der Parameter
use JSON;                   # Zum Auswerten der Antworten
use URI::Escape;            # Zum Escapen der Nachrichten

my $q = CGI->new();	    # Neuer Query

# Anwendungs-ID
my $client_id = '123456789012345';

# Anwendungs-Secret
my $client_secret = '1234a56b789012cde345678a90123b45';

# Fan-Page ID
my $page_id = '123456789012';

# Ort des Skripts 
# Muss mit Redirect_URI übereinstimmen und im
# App-Domain Raum liegen.
my $script_location = $q->url();

# Solange, wie der Parameter "Code" nicht angegeben ist.
unless($q->param('code')) {
	my $code_query = "https://www.facebook.com/dialog/oauth?" .
    "client_id=" . $client_id .
   "&redirect_uri=" . $script_location .
   "&response_type=code";

	print $q->redirect($code_query);
	exit;
}
else {
	if($q->param('code') eq "") {
		print $q->header(-status=>406),
		$q->start_html('Problems'),
		$q->h2('No Coffee for you.'),
		$q->strong('Code was empty... User not logged in?');
		exit 0;
	}
	
	my $token_query = "https://graph.facebook.com/oauth/access_token?" .
    "client_id=" . $client_id . 
   "&redirect_uri=" . $script_location .
   "&client_secret=" . $client_secret .
   "&code=" . $q->param('code');

	my $app_token = get($token_query);
	&post_news($app_token);
	exit;
}
exit; 

   
sub post_news($) {   
	# Application Token
	my $token = shift;
	
	# Betreff
	# Achtung! Lazy auf UTF8 konvertieren, sonst
	# werden Umlaute nicht richtig dargestellt.
	my $subject = uri_escape_utf8('Nur ein Test');

	# Nachricht
	my $message = uri_escape_utf8('Testnachricht...<br>Hallo Welt!');

	# Liste der Accounts (der verwalteten Seiten / Apps ...) holen
	# und Token für die Seite suchen.
	my $accounts = get('https://graph.facebook.com/me/accounts?' . $token);

	unless($accounts)
	{
		print $q->header(-status=>407),
		$q->start_html('Problems'),
		$q->h2('This should (hopefully) never happen...'),
		$q->strong('Accounts was undefined - Maybe wrong token?');
		exit 0;
	}

	my %data = %{decode_json($accounts)};
	my $page_access_token = "";

	foreach my $access_page (@{$data{'data'}})
	{
		my %item = %{$access_page};
		if($item{'id'} eq $page_id) {
			$page_access_token = $item{'access_token'};
		}
	}

	if(!defined $page_access_token || $page_access_token eq "")
	{
		print $q->header(-status=>408),
		$q->start_html('Problems'),
		$q->h2('No access token...'),
		$q->strong('manage_pages privilege removed? Try granting it again!');
		exit 0;
	}

	# Nachricht posten
	my $news_id = get('https://graph.facebook.com/' . $page_id .
               '/notes?message='. $message .
               '&subject=' . $subject .
               '&method=post&access_token=' . $page_access_token);

	print $q->header(-status=>200),
	$q->start_html('Great Success'),
	$q->h2($news_id . " posted!");
	exit;
}

Sollte man ausgeloggt werden, reicht ein einfaches:

https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=ALTES_TOKEN

für den Relogin. (natürlich muss dann das alte pseudo perma Token durch das Neue ersetzt werden.)

Every f*ckin time.

ff-crash-report

ff-crash-report

Firefox – Probleme mit Unicodedarstellung

Firefox kennt plötzlich keine Dingbats mehr (quick-and-dirty)

Heute meinte mein Firefox plötzlich kein UTF-8 mehr zu können. Okay, ganz stimmt das nicht, UTF-8 konnte er noch – jedoch wurden Sonderzeichen aus bestimmten Bereichen (u+2700 Dingbats) nicht mehr dargestellt.

Anstelle den normalen Zeichen erhielt ich nur noch gesperrte Leerzeichen als Ausgabe.

Nach etwas Recherche erhärtete sich der Verdacht, dass eine defekte Schriftart dafür der Grund ist. Diese muss irgendwie zusammen mit der letzten Office 2007 Installation und entsprechenden Updates auf mein System geraten sein, denn davor ging alles noch ohne Probleme.

Die Besonderheit beim Firefox ist, dass er sich die – für ihn am besten aussehende – Repräsentation aus den Schriftarten aussucht, die die Zeichen darstellen kann. Für UTF-8 gibt es keine bevorzugten Schriftarten, wie zum Beispiel bei Kyrillisch, Griechisch oder Ähnlichem. (about:config font.name-list… oder im Schriftarten-Dialog unter Darstellung)

Für UTF-8 benutzt der Firefox, genau wie Thunderbird und andere Mozilla-Produkte die Einstellungen aus „Andere Sprachen“. Enthält die dort eingestellte Schriftart (z.B. für Serif – Times New Roman) keine Darstellung für die gesuchten Zeichen wird aus der Liste der installierten Schriftarten die nächst Beste genommen, die die Zeichen „vermutlich“ (wo der darzustellende Bereich nicht gesperrt ist) darstellen kann.

In meinem Fall scheint genau diese Schriftart aber an den besagten Stellen nur gesperrte Leerzeichen (also nix) zu enthalten, der Bereich selber ist jedoch nicht gesperrt.

Beheben lässt sich dies, in dem man für Serif zum Beispiel eine Schriftart auswählt, welche an besagten Stellen keine Leerzeichen aufweist. (Wie zum Beispiel die wundervolle kostenlose Schriftart DejaVu Sans)

Quick-And-Dirty
Der „Fix“ ist natürlich sehr sehr quick-and-dirty (schnell-und-unsauber), da er das eigentliche Problem, die „defekte“ Schriftart, bzw. die Firefox Auswahl Dieser als bessere Repräsentation, nicht behebt, jedoch kann man so wenigstens wieder sicher sein alle Zeichen zu sehen, die auch wirklich da seien sollten.

Eine sauberere Lösung wäre die besagte Schriftart, wenn nicht benötigt, zu entfernen oder durch eine vollständige Unicode Schriftart zu ersetzen.

Update: Die besagte Schriftart ist jpn_boot (oder eine der anderen _boot-Schriftarten), welche wohl durch die unbeaufsichtigte Installation von Windows Vista oder 7 auf die Festplatte kommt. Zu sehr geringer Wahrscheinlichkeit fällt die Firefox Auswahl genau auf diese. Festzustellen mit dem Addon „Font Info[1].

Bisher gibts diesbezüglich 2 offene Bugpostings[2][3] bei Mozilla. Mal schaun, was sich da noch tut. 🙂


[1] https://addons.mozilla.org/en-US/firefox/addon/fontinfo/
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=91190
[3] https://bugzilla.mozilla.org/show_bug.cgi?id=713595