Jan 24

Absolut aussichtslos die Autobahntrasse, im Benachbarten Feld/Wald/Wiesenviertel, zu verhindern ?

Kein Weiterkommen bei der Bürgerinitiative gegen die Verlängerung der Rollbahn des Flughafens ?

Hier gibts die Lösung – Feldhamsterverleih !

Jan 14

Einfach nur Göttlich

Jan 03

… für Menschen denen selbst das Benutzen von Google zu kompliziert ist. Frage eingeben, Link kopieren, und beim nächsten mal kommen garantiert keine Fragen mehr :-)

Guckst Du hier: http://lmgtfy.com/

Tagged with:
Dez 29

Aufmerksam geworden durch diesen Artikel, mit dem ueber den Proxy geholte Webseiten (genauer gesagt werden alle Images einmal um 180 Grad gedreht) on the Fly manipuliert werden habe ich mir das ganze mal näher angesehen und optimiert.

Vorweg schonmal das Ergebnis (funktioniert TRANSPARENT mit allen JPGs, GIFs und PNGs). Transparent bedeutet in diesem Falle, dass der Anwender in keinerlei Weise mitbekommt, dass es sich hier um ein manipliertes Bild handelt. Die Requests werden quasi 1:1 durchgeleitet.

Wor moechten also alle Bilder, die aus dem LAN via Proxy angefordert werden, einmal um 180 Grad drehen. Folgende Ausgangssituation:

  • Transparenter Squid auf einem Router
  • Webserver auf einem etwas dickeren Rechner im LAN

in /etc/squid/squid.conf folgende Zeile einfügen:

url_rewrite_program /usr/bin/updwn.pl
url_rewrite_children 5

Das File /usr/bin/updwn.pl sollte wie folgt aussehen:

#!/usr/bin/perl
# Runs as proxy:proxy
# input - siehe unten (Array params)
# output - URL - transparent *invisble to Enduser :-) *
$|=1;
while (<>) {
chomp $_;
@params=split(/ /,$_);
# 0 = Request URL
# 1 = Requesting IP/-
# 2 = -
# 3 = Request Method
# 4 = myip= ?
# 5 = myport = ?
$url=$params[0];
if (!($params[1]=~/192\.168\.60\.200/)) { # Nicht rekursiv aufrufen (Boese !!)
$url='http://192.168.60.200/ppics/updwn.pl?u='.$url if ( ($url=~/gif/i) || ($url=~/jpg/i) || ($url=~/jpeg/i) || ($url=~/png/i));
}
print $url."\n";
$count++;
}

Wobei die 192.168.60.200 durch die IP des eigenen Webserver zu ersetzen waere. Die eigentliche “Magie” findet naemlich jetzt im updwn.pl auf dem Webserver statt. Das Ding benutzt, im gegensatz zu dem File, welches in dem Artikel beschrieben wurde, direkt die GD-Library und ruft keinerlei Executables mehr auf. Damit ist das Script ein wenig performanter

Hier der Inhalt von /var/www/ppics/updwn.pl:

use CGI qw/:standard/;
use LWP::UserAgent;
use GD;
binmode STDOUT;

$|=1;
my $url=param(“u”);

chomp $url;
my $ctype=”;
my $content=”;
get_content($url,\$ctype,\$content);
rotate(\$content,\$ctype) if ($ctype=~/image/i);
print “Content-Type: “.$ctype.”\n\n”;
print $content;
print “\n–magicalboundarystring\n” if ($ctype=~m/image/);

sub get_content {
my ($url,$ref_ctype,$ref_content)=@_;
my $ua = LWP::UserAgent->new;
$ua->agent(“MyApp/0.1 “);
my $req = HTTP::Request->new(GET => $url);
my $res = $ua->request($req);
$$ref_ctype=$res->content_type;
$$ref_content=$res->content;
}

sub rotate {
my ($ref_content,$ref_header)=@_;
my $image=undef;
$image=newFromPngData GD::Image($$ref_content) if ($$ref_header=~/png/i);
$image=newFromJpegData GD::Image($$ref_content) if ($$ref_header=~/jpeg/i);
$image=newFromGifData GD::Image($$ref_content) if ($$ref_header=~/gif/i);
$image->rotate180();
$$ref_header=’image/png’;
$$ref_content=$image->png();
}
Wichtig: Die URL sollte nicht aus dem Internet erreichbar sein. Ansonsten hat man einen selbstgebastelten offenen Proxy…

Mithilfe der Parameter des Files /usr/bin/updwn.pl kann man sich jetzt sogar lustige ACLs bauen. (Rotiere nur fuer bestimmte IP’s oder fuer bestimmte URLs, etc…) Der Phantasie sind da keine Grenzen gesetzt.

Tagged with:
Dez 28

Oh wie wahr….

Apr 04

Ja nett, was man so alles findet, wenn man sich die Pinnwand beim Kunden mal näher anschaut.

Siehe hier:

vhs-rotenburg_kurse

Feb 08

1. Komisch…
2. Nie von gehört
3. Gestern ging es noch
4. Nun, das Programm muss hier und dort noch abgeändert werden
5. Wie kann das sein ?
6. Die Plattform/Maschine ist kaputt
7. Da hat wohl einer das OS geupdated
8. Der Anwender hat schon wieder einen Fehler gemacht.
9. Da stimmt was mit deinen Testdaten nicht
10. Das Modul habe ich nicht angefasst
11. Ja, das schaffe ich schon in der vorgegebenen Zeit
12. Du hattest die falsche Version zum testen
13. Oh, das ist ein Feature, kein Bug
14. Ich bin fast fertig
15. Sicher, nur noch ein paar änderungen…
16. Ich kann ja nicht alles testen
17. DIESES Programm kann DAS nicht
18. Ich dachte dass wäre schon gelöst…
19. Ich habe es schon fertig und es funktioniert – ist nur noch nicht getestet…
20. Irgendwer hat in meinem Code rumgepfuscht
21. Da muss ein Virus in der Applikation sein.

Passend dazu: Wie unterscheidet man Guten von schlechtem Code:

Antwort: Nach “What the fu..”s per Minute ;-)

WTF per Minute

Jan 25

Als Richard Dean Anderson Fan (Ja, ich gebe es zu – MacGyver und Stargate habe ich immer gern geschaut), darf ich euch das nicht vorenthalten. Meiner Meinung nach: Das ultimative Multitool. (Mensch, womit man alles Geld verdienen kann … tss)

Leider ist auf dem Fundstück kein Preisschild zu finden – würd mich aber doch mal interessieren.

Nov 14

Gestatten:

Ich bin der neue Gatekeeper der hier aufs Blog aufpasst. An mir kommt kein SYN vorbei, denn ich gebe hier die ACKs ;-)

Gatekeeper

Okt 30

Ich denke das Symbol für Windows-Rechner in der Netzwerkumgebung vom neuen OSX spricht für sich, oder ??

Jun 01

Es gibt ein Update des Dension Gateway500. Erhältlich via Download bei Dension. Laut Changelog sind eine Menge Bugs gefixed worden. Hoffentlich auch die, die mir am meisten auf den Keks gehen. Z.b. wird der iPod nicht immer geladen, wenn er am Gateway hängt. Ein weiterer Negativpunkt ist das Umschalten zwischen den einzelnen Pages innerhalb der Playlists, wenn diese länger als 50 Tracks sind. Da hängt das MMI einfach mal so eben. Naja, einen Erfahrungsbericht gibt es NACH dem Update ;-)

[Kurzbericht 1]: So… Update ist eingespielt. Ging erstaunlich simpel. Einfach die .ROM Datei auf einen FAT32-Formatierten USB-Stick schieben, diesen in den vorgesehenen Pömpel ins Gateway500 einstöpseln, Zündung an, warten -> Fertig ! Das hin- und herspringen zwischen 2 Seiten (mehr als 50 Titel in der Liste) klappt nun einwandfrei. Genauso hat sich die Bedienung im allgemeinen verbessert (nicht optisch, sondern stabiler ist sie geworden). Das Update hat sich also gelohnt.

Mai 21

Das die Stadt Meschede jetzt Hausnummern für Garagen verteilt, ist mir neu. Aber wir wissen ja alle, das der Wohnraum knapper wird ;-)

Feb 25

Öfter mal was neues: Das “Grafitti Research Lab” malt mithilfe eines Handelsüblichen Laserpointers (z.B. einer von wickedlasers.com), einem ANSI-Lumen-starken Beamer und einer kleinen Software Bilder an Hauswänder. Sieht schwer beeindruckend aus, wie man bei youtube sehen kann.

Feb 13

So auch auf dieser Website. Irgendwie erinnert mich das teilweise zu sehr an die bittere Realität. Wer also mehr von toten Pferden, wie man Sie reitet, und warum selbige Tiere eine Rolle beim Bau des Spaceshuttles gespielt haben, wissen möchte, lese dort weiter.

Jan 13

Der Werbeblogger (siehe hier) hat wieder eine neue Mixerwerbung entdeckt. Nichts für iPod-Freunde

preload preload preload