Tag: Code

5 Tipps für eine schnellere Webseite

Immer wieder trifft man im Internet auf Homepages, bei denen man anfängt an der eigenen Internetverbindung zu zweifeln. Mal läd sich nur der Titel und die Seite bleibt weiß oder nur die Hälfte wird geladen und auch nach mehrmaligen Drücken von Strg + F5 passiert nichts. Bei jedem Klick auf die nächste Seite hat man Angst, dass das Warten wieder von neuem beginnt.

Dabei liegt es im eigenen Interesse eines jeden Webseitenbetreibers die Ladezeiten möglichst gering zu halten, denn jedes aufrufen beansprucht Serverressourcen und kostet Traffic.

1. Outsourcen
Bereits bei der Entwicklung einer Homepage sollte man drauf achten, soviel Skript (CSS, JavaScript) in andere Dateien auszulagern. Diese werden vom Browser gecached und beim erneuten Aufrufen nicht nochmals heruntergeladen.

2. Bilder verkleinern
Die heutigen Digitalkameras machen Fotos mit 8 Megapixeln und mehr. Diese Qualität und Größe wird im Internet aber nur selten gebraucht. Oft sind die Fotos einige Megabyte groß. Man sollte die Bilder bevor man sie auf der Homepage einbindet auf die benötigte Größe verkleinern und ggf. die Qualität auf “Web” oder ähnliches stellen. So lassen sich oft 80% und mehr einsparen.

3. Wiederholende Bilder
Besonders bei Farbverläufen braucht man nicht eine unendlich große Grafik nehmen, damit man bei keiner Auflösung einen weißen Rand hat, sondern man sollte nur einen 1px großen Streifen nehmen und diesen wiederholen. Dadurch wächst er automatisch mit und es gibt keinen nervigen Rand.

4. Färben statt kacheln
Bei vielen farbigen Hintergründen sollte man sich überlegen ob es überhaupt notwendig ist eine Grafik einzubinden oder ob man nicht besser mit background-color arbeitet.

5. Wenige große Dateien
Bevor man anfängt ein Bild klein zuschneiden und es später in einer Tabelle wieder zusammenbaut, wäre es vielleicht sinnvoller das Bild einfach als Hintergrund zu definieren. Für jede extra Datei wird immer eine Verbindung ausgehandelt bevor diese übertragen wird. Dieser Overhead fällt bei ein paar großen Dateien weg.

Sollte sich die Webseite immer noch im Schneckentempo aufbauen, kann man mit Google Chrom standardmäßig und der Extension Firebug für Firefox analysieren, welche Datei wie lange zum Laden braucht.

Analyse: orugkidbnzzxozlsebuxgibugi

Laut Statistik gibt es schon viele Menschen, die gerne bei YouTube.com anfangen würden, aber im Moment noch daran scheitern orugkidbnzzxozlsebuxgibugi zu entschlüsseln.

Also gehen wir doch die ganze Sache mal logisch an. Da in jeder Sprache manche Buchstaben häufiger verwendet werden als andere, kann man manche Buchstaben schon alleine über die Häufigkeit identifizieren.
[html]
Häufigkeint – Buchstabe (Stelle im Alphabet)
3 – g (6)
3 – i (8)
3 – u (20)
3 – b (1)
3 – z (25)
2 – x (23)
2 – o (14)
1 – n (13)
1 – l (11)
1 – k (10)
1 – r (17)
1 – e (4)
1 – d (3)
1 – s (18)
0 – c (2)
0 – f (5)
0 – h (7)
0 – m (12)
0 – j (9)
0 – w (22)
0 – y (24)
0 – v (21)
0 – t (19)
0 – a (0)
0 – p (15)
0 – q (16)
[/html]

Mmh das macht die ganze Sache nicht gerade einfacher, denn wenn man davon ausgeht, dass im englischen der Buchstabe “e” am häufigsten verwendet wird, kommen hier ganze 4 Buchstaben in Frage, nämlich “g”, “i”, “u” und “z”.

Caesar -> ORUGKIDBNZZXOZLSEBUXGIBUGI

Als erstes Verschlüsselungsverfahren habe ich Caesar ausprobiert. Dabei geht man davon aus, das die Buchstaben einfach nur verschoben sind.
[html]http://en.wikipedia.org/wiki/Caesar_cipher[/html]

Ich habe den Text dann mal versucht zu dekodieren, sogar rückwärts, aber was brauchbares ist dabei nicht herausgekommen.

[html]
NORMAL ALPHABET – MIRROR
0. ORUGKIDBNZZXOZLSEBUXGIBUGI – IGUBIGXUBESLZOXZZNBDIKGURO
1. IORUGKIDBNNZINZLSDRZUKDRUK – KURDKUZRDSLZNIZNNBDIKGUROI
2. GIORUGKIDBBZGBOZLIOZRGIORG – GROIGRZOILZOBGZBBDIKGUROIG
3. UGIORUGKIDDNUDXOZKINOUKIOU – UOIKUONIKZOXDUNDDIKGUROIGU
4. BUGIORUGKIIBBIZXOGGBIRGGIR – RIGGRIBGGOXZIBBIIKGUROIGUB
5. IBUGIORUGKKDIKZZXUUDGOUUGO – OGUUOGDUUXZZKIDKKGUROIGUBI
6. GIBUGIORUGGIGGNZZRBIUIRBUI – IUBRIUIBRZZNGGIGGUROIGUBIG
7. XGIBUGIORUUKXUBNZOIKBGOIBG – GBIOGBKIOZNBUXKUUROIGUBIGX
8. UXGIBUGIORRGURDBNIGGIUIGIU – UIGIUIGGINBDRUGRROIGUBIGXU
9. BUXGIBUGIOOUBOIDBGXUGBGXGB – BGXGBGUXGBDIOBUOOIGUBIGXUB
10. EBUXGIBUGIIREIKIDUURXIUUXI – IXUUIXRUUDIKIERIIGUBIGXUBE
11. SEBUXGIBUGGOSGGKIBBOUGBBUG – GUBBGUOBBIKGGSOGGUBIGXUBES
12. LSEBUXGIBUUILUUGKIEIBXIEBX – XBEIXBIEIKGUULIUUBIGXUBESL
13. ZLSEBUXGIBBGZBRUGGSGEUGSEU – UESGUEGSGGURBZGBBIGXUBESLZ
14. OZLSEBUXGIIUOIORUXLUSBXLSB – BSLXBSULXUROIOUIIGXUBESLZO
15. XOZLSEBUXGGBXGIORUZBLEUZLE – ELZUELBZUROIGXBGGXUBESLZOX
16. ZXOZLSEBUXXIZXGIOBOIZSBOZS – SZOBSZIOBOIGXZIXXUBESLZOXZ
17. ZZXOZLSEBUUGZUUGIEXGOLEXOL – LOXELOGXEIGUUZGUUBESLZOXZZ
18. NZZXOZLSEBBXNBBUGSZXXZSZXZ – ZXZSZXXZSGUBBNXBBESLZOXZZN
19. BNZZXOZLSEEUBEIBULZUZOLZZO – OZZLOZUZLUBIEBUEESLZOXZZNB
20. DBNZZXOZLSSBDSGIBZNBZXZNZX – XZNZXZBNZBIGSDBSSLZOXZZNBD
21. IDBNZZXOZLLEILXGIOBENZOBNZ – ZNBOZNEBOIGXLIELLZOXZZNBDI
22. KIDBNZZXOZZSKZUXGXDSBZXDBZ – ZBDXZBSDXGXUZKSZZOXZZNBDIK
23. GKIDBNZZXOOLGOBUXZILDNZIDN – NDIZNDLIZXUBOGLOOXZZNBDIKG
24. UGKIDBNZZXXZUXEBUZKZIBZKIB – BIKZBIZKZUBEXUZXXZZNBDIKGU
25. RUGKIDBNZZZORZSEBNGOKDNGKD – DKGNDKOGNBESZROZZZNBDIKGUR

INVERSE ALPHABET – MIRROR
0. IGUBIGXUBEELIEXZZUULBGUUBG – GBUUGBLUUZZXEILEEBUXGIBUGI
1. GIGUBIGXUBBEGBEXZXGEUIXGUI – IUGXIUEGXZXEBGEBBUXGIBUGIG
2. BGIGUBIGXUUEBUIEXGIEGBGIGB – BGIGBGEIGXEIUBEUUXGIBUGIGB
3. UBGIGUBIGXXBUXLIEIGBIUIGIU – UIGIUIBGIEILXUBXXGIBUGIGBU
4. UUBGIGUBIGGUUGELIBBUGGBBGG – GGBBGGUBBILEGUUGGIBUGIGBUU
5. GUUBGIGUBIIXGIEELUUXBIUUBI – IBUUIBXUULEEIGXIIBUGIGBUUG
6. BGUUBGIGUBBGBBBEEGUGUGGUUG – GUUGGUGUGEEBBBGBBUGIGBUUGB
7. LBGUUBGIGUUILUUBEIGIUBIGUB – BUGIBUIGIEBUULIUUGIGBUUGBL
8. ULBGUUBGIGGBUGXUBGBBGUGBGU – UGBGUGBBGBUXGUBGGIGBUUGBLU
9. UULBGUUBGIIUUIGXUBLUBUBLBU – UBLBUBULBUXGIUUIIGBUUGBLUU
10. ZUULBGUUBGGGZGIGXUUGLGUULG – GLUUGLGUUXGIGZGGGBUUGBLUUZ
11. ZZUULBGUUBBIZBBIGUUIUBUUUB – BUUUBUIUUGIBBZIBBUUGBLUUZZ
12. XZZUULBGUUUGXUUBIGZGULGZUL – LUZGLUGZGIBUUXGUUUGBLUUZZX
13. EXZZUULBGUUBEUGUBBZBZUBZZU – UZZBUZBZBBUGUEBUUGBLUUZZXE
14. IEXZZUULBGGUIGIGULXUZULXZU – UZXLUZUXLUGIGIUGGBLUUZZXEI
15. LIEXZZUULBBULBGIGUEUXZUEXZ – ZXEUZXUEUGIGBLUBBLUUZZXEIL
16. ELIEXZZUULLGELBGIUIGEZUIEZ – ZEIUZEGIUIGBLEGLLUUZZXEILE
17. EELIEXZZUUUBEUUBGZLBIXZLIX – XILZXIBLZGBUUEBUUUZZXEILEE
18. BEELIEXZZUULBUUUBZELLEZELE – ELEZELLEZBUUUBLUUZZXEILEEB
19. UBEELIEXZZZUUZGUUXEUEIXEEI – IEEXIEUEXUUGZUUZZZXEILEEBU
20. XUBEELIEXZZUXZBGUEBUELEBEL – LEBELEUBEUGBZXUZZXEILEEBUX
21. GXUBEELIEXXZGXLBGIUZBEIUBE – EBUIEBZUIGBLXGZXXEILEEBUXG
22. IGXUBEELIEEZIEULBLXZUELXUE – EUXLEUZXLBLUEIZEEILEEBUXGI
23. BIGXUBEELIIXBIUULEGXXBEGXB – BXGEBXXGELUUIBXIILEEBUXGIB
24. UBIGXUBEELLEULZUUEIEGUEIGU – UGIEUGEIEUUZLUELLEEBUXGIBU
25. GUBIGXUBEEEIGEZZUBBIIXBBIX – XIBBXIIBBUZZEGIEEEBUXGIBUG
[/html]

YouTube.com -> ORUGKIDBNZZXOZLSEBUXGIBUGI

YouTube.com hat heute die magische Grenze von 1.000.000 Downloads am Tag durchbrochen. Passend dazu gibt es natürlich viele Berichte und jeder fragt sich womit die Jungs eigentlich ihr Geld verdienen. Wer dagegen sein Geld mit YouTube.com verdienen will findet unter Jobs ein paar Stellenangebote. Beim System Architect findet sich außerdem folgender Zusatz:
[html]Purely as a bonus, please send us the decoded version of this text: ORUGKIDBNZZXOZLSEBUXGIBUGI[/html]
wenn man Google glauben darf, handelt es sich bei der Nachricht um folgenden Inhalt:
[html]YouTube Broadcast Yourself[/html]
leider steht aber nicht dabei wie man darauf kommt. In den nächsten Tage werde ich mal ein paar Entschlüsselungsprogramm testen und schauen ob ich nicht eine Möglichkeit finde, wie man an den Text dekodiert.

SELFHTML – die Tabelle ohne Körper [Nachtrag]

Roland von SELFHTML hatte mir gestern auf meine Mail geantwortet, in der ich ihn fragte wie er denn überhaupt auf meinen Blog gekommen sei, Zitat:”Ich habe bei der Google-Blogsuche nach »SELFHTML« gesucht und die Ergebnisse als Feed abonniert. So gelange ich an eine laufend aktualisierte Liste von Blogs, in denen Google das Stichwort SELFHTML findet. Deinen Beitrag hat Google heute indiziert.”.
Damit wäre auch das letzte Mysterium gelöst, ich hatte gedacht ein anderer Kommentarschreiber hätte sich die Mühe gemacht und SELFHTML eine Mail geschickt.