bloginfo('name');

bloginfo('description');

Archives Posts

SysAdminDay 2007

Juli 27th, 2007 by Blu:RayNe

Nach einem Brauch aus dem 17. Jahrhundert, wird auch heute wieder der SysAdminDay gefeiert. An dem Tag wird den System-Administratoren für Ihre anstrengende Arbeit in Form von DVDs oder technischen Spielzeugen gedankt. Über ein deutliches Wort des Dankes hinaus sind je nach Wetter Eis oder Kuchen sicher sehr willkommen. Eine Büro-Party gilt als genehm, aber nicht zwingend erforderlich, wie hier auch heise.de vorschlägt.

Admins, dass sind…

  • Leute, die sich nachts irgendwelcher Server annehmen müssen.
  • Leute, die frühmorgens aus dem Bett geklingelt werden á "Hilfe! Es geht nicht!".
  • Leute, die keine Zeit haben, sich in Dinge einzuarbeiten mit denen sie normalerweise nichts zu tun haben, sie aber dennoch via Google recherchieren müssen oder ellenlangen Dokumentation in kürzester Zeit lesen müssen.
  • Leute, die E-Mails von DAUs, die nur so von gehirnsabberernden Parasiten strotzen, verstehen und freundlich beantworeten müssen.
  • Leute die eigentlich extrem viel Ahnung von Technik haben, aber einen Großteil ihrer Zeit darauf verschwenden, DAUs zu zeigen, dass das Netzwerkkabel wieder draussen ist.
  • Leute, die auch "undefinined errors" beheben müssen.
  • Leute, die sich Tag und Nacht bemühen, nur dass verschiedene Server laufen.
  • Leute, die sogar zu Hause und täglich einen Blick auf Systemlogs werfen und geringstens Fehlfunktionen nachgehen.

Das spiegelt einen Teil meiner Arbeit wieder, und somit sehe ich mich teilweise auch als Administrator. Da bin ich ja nur froh, dass ich mich hier nicht um die Windows-Server kümmern müss, sonst wär ich wohl vollends schon wahnsinnig geworden. Und ich bin auch froh, dass ich mich nicht um die Netzwerke und die Stupidität einer großen Firma mitsamt ihrer Zombies kümmern muss. Respekt!

Und außerdem freu ich mich schon auf das von der Firma gesponserte Mittagessen. Zwar verbinden sie dieses Event mit einem kleinen Abscheid für eine alte Kollegin, aber insgeheim weiß ich, dass sie mir dankbar sind, vor allem deswegen, weil alles läuft (zu mindestens auf meinem Arbeitsrechner und meinen Servern).

Hail ho! Und ein Gruß an alle Admins dort draußen!

Filed under Allgemein having No Comments »

Archives Posts

Uploads with progress-meter in PHP – a pain in the ass!

Juli 26th, 2007 by Blu:RayNe

 

Armored Personal Carrier

An APC from the aliens movies; picture py paramount studios
 

Okay, i probably guess that probably have some experience with it, probably already made an implementation that works. And probably you only think it works. But often not for production level or enterprise! At the end of the article you will praise once again APC – the PHP Opcode Cache ;)

Well, I tried it all, the PECL uploadprogress_meter-extension which doesn’t really always compile to the latest PHP, upload with Flash ≥8 and JavaScript (because we want to show the progress in HTML). Then we or i have also additional requirements to the upload, like posting variables with one file. And it should really run stable what most solutions don’t!

Let’s summarize – Progress Meter using PHP as primary server language:

PECL Extionsion uploadprogress_meter
Often only compiles and runs stable to the version it was built for
Wrappers with Perl
Megaupload, Filechucker or how they call them, have some problems in stability, resulting not always in writing the monitor file. Who knows why? I made an own version based on Megaupload (which should be on release here shortly)
Other PHP hacks
Do they really run stable with the current PHP built?! Who will update them?
Flash-Uploader with JavaScript Backends
While beeing client side they have the generic problem of often calling a JavaScript-Callback that results in a flash-side timeout alert-box when you’re using broadband connections >1MB/s upstream. Shitty for all the customers on your commercial website with such a connection and without any technical knowledge.
Pure Flash-based upload progress
A solution that really works and runs stable, but do you wanna make your whole site in Flash or are you working in Flex?
APC – the PHP opcode cache
You heard right! Just add an apc.rfc1867 = on to your PHP ini and submit also a APC_UPLOAD_PROGRESS>-field and your on the right side calling the progress like with apc_fetch('upload_'.$_POST['APC_UPLOAD_PROGRESS']); For more just have a look here and enjoy ;)

My Perl-based solution mentioned above (called jjUpload) will be available here shortly – didn’t i already post about it? It won’t work on it anymore since APC now has that functionality. Just bad for all you ZendCore- or ZendDebugger-Whores :P

Anyway, i’d like to hear what you prefer – client side progress-meters -or- if the status should be pulled from the server?

Filed under Allgemein, Coding, PHP having No Comments »

Archives Posts

Post-load your JavaScript and CSS files!

Juli 25th, 2007 by Blu:RayNe

If you look at todays web 2.0 sites you will realize there is often a heavy load on external JavaScript resources, CSS files and probably images. Above compressing and optimizing the files and merging multiple files (also background-images), there is not much room to further optimize the page loading process.

One problem of many modern sites is that they often provide optional functions for the user at the price of loading the main libraries all at once ending in a terrible site- and javascript-performance. I’ve already spoken about that once before and see more and more a good chance for web-applications based on Flex, or a real interface-language or perhaps Java. But we’re speaking about web-sites here not applications (anyway you could intermix them)!

Imagine a „passage-way“ or „pass-by“ page: How many of your users will use your “godly” fully featured search-window that you’ve implemented with Ext or the Prototype Window-Script and that runs inside the page? And what about  overall JS and CSS footprint about 150KB? Really needed? And oh, it’s the only part of the website you’re using these scripts.

Maybe one of ten users will use your “godly” feature. The others all have to load the site, the slow JavaScript and you will pay bandwidth.

So, why don’t you just simply load the parts of the site when you need them? AJAX – it’s all about that but still people are loading tons of libraries on every single site!?

As you might guessed i worked on such a script today. It works pretty well in Firefox and Opera (not yet Safari and fucking MSIE), and i still have to come up with some issues and heavy testing (especially on older browser that probably don’t wanna let their DOM injected JavaScript or CSS; so a good wrapper for <script> is necessary). I just wonder why no one didn’t come up with that idea and a working script before. It saves me about 120KB on a product page. And 50KB on other sites. Now that’s ok?!

Here’s a little preview of the alpha sourcecode

/**
 * Post-Load
 * @version 0.1a
 * @desc Why preload all your scripts? Dynamically them when they are needed!
 * @author Markus Geiger 2007
 * @package Postload
 * @license MIT
 * @url http://blog.evolution515.net
 */

PostloadJob = Class.create();
PostloadJob.prototype = {
    totalFiles: 0, // holds number of total file to load
    loadedFiles: 0, // holds number of loaded files
    completeHandler: null, // function executed on complete loading
    errorHandler: null, // function executed on error while loading
    initialize: function(input, completeHandler) {
        // Init the container for our files
        Postload.htmlContainer = $(‘postload’);
        if (!Postload.htmlContainer) {
            var elem = document.createElement(‘div’);
            elem.setAttribute(‘id’, ‘postload’);
            document.body.appendChild(elem);
            Postload.htmlContainer = $(‘postload’);
        }
        if (input)
            return this.load(input, completeHandler);
    },
    load: function(input, completeHandler) {

        if (completeHandler)
            this.completeHandler = completeHandler;

        if (typeof(input)==‘object’) {
            this.totalFiles = input.length;
        } else {
            input = [input];
            this.totalFiles = 1;
        }

        for (i=0;i<input.length;i++) {
            var filename = input[i];
            if (filename.indexOf(‘.js’)!=-1) {
                this.loadJS(filename);
            } else if (filename.indexOf(‘.css’)!=-1) {
                this.loadCSS(filename);
            } else {
                return false;
            }
        }

    },
    complete: function() {
        this.loadedFiles++;
        if (this.loadedFiles!=this.totalFiles)
            return;
        if (this.completeHandler)
            this.completeHandler();
    },
    loadJS: function(filename) {
        var elem = document.createElement(’script’);
        elem.setAttribute(’src’, filename);
        Event.observe(elem, ‘load’, this.complete.bindAsEventListener(this));
        Postload.htmlContainer.appendChild(elem);
    },
    loadCSS: function (filename) {
        new Ajax.Request(
            filename,
            {
                method: ‘get’,
                onSuccess: this.completeCSS.bindAsEventListener(this)
            }
        );
    },
    completeCSS: function(transport) {
        var elem = document.createElement(’style’);
        elem.setAttribute(‘type’, ‘text/css’);
        elem.innerHTML = transport.responseText;
        Postload.htmlContainer.appendChild(elem);
        this.complete();
    }
}

Postload = new Object();
Postload.htmlContainer = null;
Postload.allFiles = new Array();
Postload.require = function(input, completeHandler) {
    new PostloadJob(input, completeHandler);
}

Example usage

The syntax is very simple. Just use it like require from your PHP or Java language. The only difference is that it handles more than one file and calls a complete-handler when all files have finished loading. So chaining it into your applications should be very easy.

product._openComparisionWindow = function() {
    Postload.require(
        [
            ‘gz?lib/windows-js/javascripts/effects.js|lib/windows-js/javascripts/window.js’,
            ‘gz?lib/windows-js/themes/default.css|lib/windows-js/themes/alphacube.css’
        ],
        product.openComparisionWindow
    );}
Filed under Browser, CSS, JavaScript having No Comments »

Archives Posts

Case-sensitive fileservers in a Windows-world

Juli 25th, 2007 by Blu:RayNe

The problem: Imagine a samba-file server on a windows-machine. The samba-server is set to case-sensitive mode because you do a lot of coding and don’t like the case-insensitivty on windows. If a co-worker of you creates the folder “pricelists” somewhere, and moves them in a folder with a already existent “Pricelists” you have those two folders in that one directory with almost the same names and also in explorer.

You’re co-worker is wondering about that and sees that both folders have identical content (on windows; in real it is the content of one of the folders). He now probably deletes one folder resulting in windows removing both folders. Great job!

I think the problem is on windows side which doesn’t realize the server is case-sensitive mode (which should be default but not in a windows world).

Anyway, windows has an option handle fileservers in case-sensitive modes. Just look here to correct that problem and again „tweak“ that setting.

Probably you have to reboot or re-mount the share to make the changes take effect. But windows users probably know that already :P

Filed under Allgemein having No Comments »

Archives Posts

Newswatch

Juli 23rd, 2007 by Blu:RayNe

M-Exploiting: iPohne Safari mit immer mehr Sicherheitslücken! Ich frag mci hgrad, wie es Apple schaffen will, dass der Browser der Nutzer immer aktuell gehalten wird?!
http://www.heise.de/newsticker/meldung/93137/from/rss09

Filed under Allgemein having No Comments »

Archives Posts

Newswatch

Juli 22nd, 2007 by Blu:RayNe

Mit „Eigene Dateien“ für die ganze Stadt – Alice und Sicherheit sind Fremdwörter (siehe auch hier):
http://www.golem.de/0707/53628.html
http://www.heise.de/netze/news/meldung/93054

Kein Fortschritt ohne Erkenntnis! – Lawrence Lessig gegen die Medienindustrie
http://www.dradio.de/dlf/sendungen/computer/648874/
http://ondemand-mp3.dradio.de/file/dradio/2007/07/21/dlf_200707211646.mp3

Mein Provider all-inkl.com kämpfte gerade gegen DOS-Attacken. Mal gucken, wie es sich auf die Erreichbarkeit von Schlund-Servern auswirkt. Morgen wissen wir mehr.
http://www.heise.de/newsticker/meldung/93094
http://www.de-cix.de/info/traffic.html (Traffic-Statistiken des deutschsprachigen Netzes)
http://www.inxs.de/currenttraffic.shtml (Traffic-Statistiken des deutschsprachigen Netzes)

Ah… und sowas gibt’s auchnoch? all-inkl.com Tourenwagen Racing Team? Mit Lamgorghini?
http://www.all-inkl.de/?cna=aktuelles&cnb=motorsporttextlang

Filed under Allgemein having No Comments »

Archives Posts

Schäuble schiesst mit dem Leben ab

Juli 21st, 2007 by Blu:RayNe

Filed under Fun having No Comments »

Archives Posts

SSH-Client for iPhone

Juli 19th, 2007 by Blu:RayNe

Appearently a good joke for an april’s fool joke. SSH Client for iPhone, you may ask? Apple does now support real applications instead of their webby 2.0 server applications? An SSH client? Unsecure!

Not really. And it’s a really wellthouhht out solution. You can check it out here . If you haven’t any SSH server just click connect to connect to the demo server.

Happy iPhoning!

UPDATE: Das iPhone besitzt entgegen den Infos auf der Seite eine Kamera, und wird wohl auch MMS bieten. Somit wären die ärgsten Kritikpunkte weg. RSS-Reader und derarten kann ja alles web-only via AJAX sein ;)

Filed under Allgemein, Security having 1 Comment »

Archives Posts

Outlook2007 HTML-Vorschau mit Microsoft Word2003

Juli 17th, 2007 by Blu:RayNe

Outlook 2007 ist toll: Microsoft hat es tatsächlich wieder aus unerfindlichen Gründen geschafft auf eine HTML-Darstellung aus dem Jahr 2000 zurück zu finden. Entgegen der Vermutng Security könnte was damit zu tun haben, ist aber mittlerweile offiziell, dass die HTML-Darstellung von Outlook zu der von Word konsistent zu halten. Mit Word schreibt nämlich der Outlook-Nutzer auch seine E-Mails, sofern er die Standard-Eisntellungen läßt. Wer das Ganze nicht glaubt ließt hier nach.

Natürlich ist das außerordentlich dumm, stehen nämlich somit wieder alle Sicherheitslücken der Word2003-HTML-Darstellung, die dahintersteckt, auch wieder offen.

Und es wirft Probleme für Web-Designer auf, vor allem bei Webmails, da die Mehrheit der Empfänger und Windows-Whores nicht glauben will, es liege an ihrem „technisch fortschrittlichem“ Outlook2007. D.h. doppelt Frust für Webtreibende, denn heißt es somit wieder zurück zum Tabellenlayout von 1999, möglicherweise steht auch die Installation von MS Office2007 an.

Letzteres muss nicht unbedingt sein, denn kann hier Word2003 auch schon helfen. Hierzu speichert man den nicht-kodierten Quelltext des HTML-MIME-Parts der Mail, und lädt ihn mit Word2003. Somit läßt sich wenigstens in den meisten Büros ohne Windows-Vista und Office2007 die Darstellung überprüfen.

Da auch schon Grafiken in HTML E-Mails schon lange Tabu sind  – außerd den inline-embedded Bildern mit <img>-Element – bleibt nur noch wenig übrigen, mit dem man arbeiten kann. Nämlich noch einige wenige fehlerhaft dargestellte Eigenschaften aus CSS 1.0. float gehört im übirgen nicht dazu, und somit sind Bilder im Fließtext auch Vergangenheit. Danke Microsoft!

Hilfe und mehr Tipps zurAnwendung von CSS gibt es im  guide to CSS Support in E-Mail.

Filed under Allgemein, CSS having No Comments »

Archives Posts

Schäuble Boycott: Grundgesetz Buyout!

Juli 17th, 2007 by Blu:RayNe

Dies ist ein Zeichen des stillen Protestes, und ich fordere jeden auf, daran Teil zu nehmen, um damit  gegen Schäubles Wahnsinn zu protestieren (alternativ wären Waffen auch eine Lösung ;) .

Das ganz ist echt total kostenlos für deutsche Bürger! Ihr braucht nur 1min Zeit!

Bestellt euch heute noch die kostenlos die letzten Exemplare des Rechtsstaats direkt beim Deuschen Bundestag. Max. drei können bestellt werden. Aber tut es bitte und sichert euch noch eure letzten Exemplare!

Die Dinger müssen bald eh neu gedruckt werden, also scheiß drauf!

Klickt ihr hier:
http://www.bundestag.de/interakt/infomat/grundlegende_informationen/gg_artikel.html

Filed under Allgemein having No Comments »

« Previous Entries