MyEgo.cz - Radek Hulán webzine

MyEgo.cz

home foto blogy mywindows.cz kontakt

Zend’s PHP 5 Coding Contest - více praxe, méně teorie

PHP 24.12.2004

Na Interval.cz vyšel můj článek Zend’s PHP 5 Coding Contest - trochu méně teorie a více praxe, který popisuje hned 6 užitečných aplikací z této soutěže.

Co si musíte koupit pro sebe na Vánoce 2004?

Mám rád... 23.12.2004
Beyerdynamic BT331

Vánoce jsou svátky klidu, pohody a blahobytu, a na Vánoce se lidé mají jaksi více rádi a jsou snad i více spokojeni. Abych byl i já spokojen s tím, co na Vánoce dostanu, pravidelně kupuji na Vánoce dárky nejen pro své bližší, ale i pro sebe. Je tak zcela jisté, že dostanu přesně to, co chci, a dokonce i něco navíc. :-)

Co si koupit pro sebe (a stojí to pár korun)?

PředmětK čemu to jeCena
Beyerdynamic DT 331 sluchátkafantastická sluchátka pro celodenní poslech, mimořádná HiFi kvalita zvuku, 20 - 20,000 Hz rozsah, bezkonkurenční pro HiFi poslech i pro počítač, cokoliv jiného je jen kompromis (ať už levná sluchátka, tak ještě horší 5/7+1 levné sety) 2,600 Kč
Bluetrek G2 Bluetooth handsfreeBluetooth sluchátko k Vašemu telefonu s naprosto skvělou kvalitou zvuku a příjmem, používat dnes telefon bez BT sluchátka je zastaralé a nemoderní, až poprvé vyzkoušíte volat s oběma rukama volnýma, pochopíte, jaká je to obrovská výhoda a nebudete chtít nikdy jinak!1,990 Kč
SoundBlaster Audigy2 ZS Platinum zvuková kartašpičková zvuková karta do Vašeho PC s mimořádnou kvalitou zvuku, pokud máte špičková sluchátka Beyerdynamic DT 331, potřebujete i špičkovou zvukovou kartu, rozdíl je neuvěřitelný!4,300 Kč
Siemens SX1 chytrý telefonpřestože je tento telefon s operačním systémem Symbian již rok starý, nic lepšího (snad kromě Nokie 6630) dosud neexistuje, podpora pro tisíce programů a skvělá ergonomie telefonu a klávesnice Vás rozhodně zaujme7,000 Kč
FujiFilm FinePix S5500 Zoom digitální fotoaparát + 128MB karta + akumulátorkyFujiFilm S5500 je digitální zdcadlovka s 4Mpx a desetinásobným optickým zoomem špičkové kvality, a za vynikající cenu, má výborné a profesionální tělo, výborný objektiv, a konkuruje tak aparátům Canon a Nicon a třídu výše12,200 Kč
Logitech Cordless Desktop LX700 CZ bezdrátová klávesnice a myštento set Logitechu je bezkonkurenčně nejlepší myší a klávesnici, nikdo se k němu ani zdálky nepřibližuje (ani Microsoft, a už vůbec ne výrobci jako Genius, Chicony či jiní), Vaše produktivita několikrát stoupne díky dokonalé této klávesnici a myši3,000 Kč
Braun HC50 zastřihávač vlasůpokud preferujete vlasy a vousy dlouhé přesně 3 mm, tak jako já, je tento zastřihávač tím nejlepším možným2,150 Kč

NAVRCHOLU.cz a TOPLIST.cz - nové verze měřících kódů

Technologie 23.12.2004

Přepsal jsem kód pro NAVRCHOLU.cz a TOPLIST.cz tak, aby byl kompatibilní se všemi browsery, a zlepšil podporu pro MSIE. Problém, vypozorovaný v reálu, byl v tom, že Opera i Firefox / Mozilla, když se pomocí DOM JavaScriptu změní src u tagu img, tak načtou až tento nový obrázek (protože obrázky načítají v application/xhtml+xml až po proběhnutí DOM skriptů), kdežto MSIE jej načítá dvakrát, poprvé s URL (src) původním, a podruhé s URL změněným DOM skriptem, po dokončení načtení stránky.

Tak jsem obrázek z XHTML kódu úplně vydělal, a tvoří se pomocí appendChild(createNewEle('img')), s tím, že statistika je teď přesná ve všech browserech (ale načítá se pochopitelně až po natažení celé stránky i v MSIE).

Kód pro navrcholu.js

// (c) Radek HULAN, http://hulan.cz/
// This work is licensed under the Creative Commons Attribution License. 
//
// NAVRCHOLU.cz statistics that works under XHTML 1.1 served with
// MIME type application/xhtml+xml as well as text/html MIME type.

// helper functions
var isXHTML;
function createNewEle(ele){
 if(isXHTML) 
  return document.createElementNS('http://www.w3.org/1999/xhtml', ele);
 else 
  return document.createElement(ele);
};	

// navrcholu.cz code
function navrcholu(){
	var ele=document.getElementById('navrcholu');
	if (!ele) return;
	isXHTML=/html\:/.test(document.getElementsByTagName('body')[0].nodeName);
	// navrcholu.cz id from title
	var id=parseInt(ele.getAttribute('title'));
	if (!id) alert('TITLE attribute does not contain your NAVRCHOLU.cz ID!');
	// some variables
	var n=navigator;
	var p=document;
	var c,t,b,j,m,r,y,d,x,w;
	d=x=w=j=0;
	// detect flash plugin in MSIE
	if(n.appVersion.indexOf("MSIE")>=0 && n.appVersion.indexOf("Win")>=0 && n.userAgent.indexOf("Opera")<0) {
		p.writeln("");
		p.writeln("on error resume next");
		p.writeln("For i=7 to 4 Step -1");
		p.writeln(" If IsObject(CreateObject(\"ShockwaveFlash.ShockwaveFlash.\" & i)) Then"); 
		p.writeln("   n3f8q=i");
		p.writeln("   Exit For");
		p.writeln(" End If");
		p.writeln("Next");
		p.writeln(""); 
	} else 
		eval("var n3f8q=0");
	// detect flash in other browsers
	if( n.plugins && n.plugins["Shockwave Flash"]){
		t=n.plugins["Shockwave Flash"].description;
		n3f8q=parseInt(t.charAt(t.indexOf(".")-1)); 
	}
	// get other vars
	m=(n.userAgent.substring(0,8)=="Mozilla/") ? n.userAgent.substring(8,9) : 4;
	if(m>2) j=(n.javaEnabled()) ? 1 : 0;
	r=window.top.document.referrer;
	if(m>3 && screen){
		d=screen.colorDepth;
		if(d==0) d=screen.pixelDepth;
		x=screen.width;
		w=(p.all) ? top.document.body.clientWidth:top.innerWidth; 
	}
	y=new Date();
	y.setTime(y.getTime()-31536000000);
	p.cookie="nvt=1";
	c=(p.cookie.indexOf("nvt") != -1)?1:0;
	p.cookie="nvt=1; expires="+y.toGMTString();
	// set new A attributes
	ele.href='http://navrcholu.cz/Statistika/'+id+'/';
	ele.setAttribute('title','NAVRCHOLU.cz');
	// create IMG
	var img=ele.appendChild(createNewEle('img'));
	img.setAttribute('alt','NAVRCHOLU.cz');
	img.setAttribute('style','width:80px;height:15px');
	img.setAttribute('src','http://c1.navrcholu.cz/hit?site='+id+';t=o80;'
		+'fv='+n3f8q+';js='+j+';cs='+c+';ref='+escape(r)+';cd='
		+d+';sx='+x+';wx='+w+';jss=1;r='+Math.random());
}
navrcholu();

Použití pro navrcholu.cz

 

ReiserFS má na Linuxu problémy

Linux 22.12.2004

Instaloval jsem dnes na jeden nový počítač Fedora Core 3, a při instalaci jsesm zvolil linux reiserfs, čímž jsem mohl kromě ext3 partitions vytvořit i ReiserFS partition (standardně Fedora Core 3 instaluje i LVM2 a RAID, na stanici poněkud zbytečné věci). ReiserFS je pokročilý žurnálový filesystém, mimořádně rychlý, je dokonce základním filesystémem pro distribuce jako je SUSE 9.1, SUSE 9.2, Gentoo a pár dalších.

Měl jsem s ReiserFS již jednu nemilou zkušenost, a to sice v případě SUSE 9.1, na druhou stranu jsem to ale nepřičítal filesystému, ale něčemu jinému, a dnes k té jedné nemilé zkušenosti přibyla druhá. Po instalaci jsem 20 minut pracoval, a počítač totálně zatuhnul.

Tak jsem jej restartoval, spustil reiserfsck, a pracoval dalších 20 minut, a další vytuhnutí. Tak jsem smazal celou novou instalaci, dal tam tradiční ext3 (ale bez LVM2 a RAID), prosazované Red Hatem, který má přece jenom obrovské serverové zkušenosti, pracuji asi 3 hodiny a vše je v pořádku. Obávám se, že ReiserFS má ještě své nemalé chybičky.

Deblogizace. Nikdo nezůstane blogem!

Technologie 22.12.2004
WebZine

Pixy se stydí za to, že je blogger. Blogger = člověk publikující, spisovatel, dokumentarista. Já se za to nestydím, styděl bych se za to být špatným bloggerem (což rozhodně nejsem), ale díky SEO optimalizaci jsem URL /blog/ nahradil za /blog/, takže si prosím opravte Vaše bookmarky a RSS čtečky.

Nové URL:

https://myego.cz/

Samozřejmě, nadále zůstanu zejména odborným webem, který ovšem dokáže vedle článků o DOM modelu v JavaScriptu pro navrcholu.cz publikovat i zábavné texty typu Anděl s plnou pusou semene, za cílem získání nesmírně rozsáhlé návštěvnosti, při zachování špičkové kvality ;-)

Technicky je přesměrování řešeno pomocí souboru .htaccess s tímto obsahem:

redirect 301 /blog/ https://myego.cz/

Vzhledem k výbornému online redakčnímu systému jsem nemusel nic přegenerovávat, stačilo změnit v nastavení pár URL, přejmenovat na FTP adresář z blog na radek.hulan, a vyčistit cache statických XHTML stránek. Celá procedura zabrala přesně 30 sekund i s úpravou registrace na Toplist.cz.

TOPLIST.cz s application/xhtml+xml

Webdesign, CMS 21.12.2004

Podobně jako NAVRCHOLU.cz skript pro měření návštěvnosti je nutné přepsat pro podporu application/xhtml+xml, u TOPLIST.cz je to to samé.

Výsledek byl testován a funguje v Opeře 7.60 TP4, Firefoxu 1.0 (application/xhtml+xml), a rovněž v MSIE 6.0 (text/html).

Zde je kód pro toplist.js:

// (c) Radek HULAN, http://hulan.cz/
// This work is licensed under the Creative Commons Attribution License. 
//
// TOPLIST.cz statistics that works under XHTML 1.1 served with
// MIME type application/xhtml+xml as well as text/html MIME type.
//
//
// Usage - place this in your XHTHML 1.1 code:
//  
// 
// 

// helper functions
var isXHTML;
function createNewEle(ele){
	if(isXHTML) 
		return document.createElementNS('http://www.w3.org/1999/xhtml', ele);
	else 
		return document.createElement(ele);
};	

function toplist(){
	var ele=document.getElementById('toplist');
	if (!ele) return;
	isXHTML=/html\:/.test(document.getElementsByTagName('body')[0].nodeName);
	// toplist.cz id from title
	var id=parseInt(ele.getAttribute('title'));
	if (!id) alert('TITLE attribute does not contain your TOPLIST.cz ID!');
	var img=ele.getElementsByTagName('img');
	// set new A attributes
	ele.href='http://toplist.cz/stat/'+id;
	ele.setAttribute('title','TOPLIST.cz');
	// create IMG
	var img=ele.appendChild(createNewEle('img'));
	img.setAttribute('alt','TOPLIST.cz');
	img.setAttribute('style','width:88px;height:120px');
	img.setAttribute('src','http://toplist.cz/count.asp?id='+id
		+'&logo=bc'
		+'&http='+escape(document.referrer)
		+'&wi='+escape(window.screen.width)
		+'&he='+escape(window.screen.height)
		+'&cd='+escape(window.screen.colorDepth)
		+'&t='+escape(document.title));
}
toplist();

Použití skriptu:

Vložte tento kód do Vašeho XHTML:

 

Pochopitelně, číslo 64941 upravte na Vaše číslo počítadla. Kód je pochopitelně napsaný tak, že funguje i při vypnutém JavaScriptu.

NAVRCHOLU.cz s application/xhtml+xml

Webdesign, CMS 21.12.2004

V sobotu jsem se zaregistroval do statistik navrcholu.cz a dnes mi přišlo potvrzení registrace. Navrcholu.cz toho umí hodně, nicméně, jejich JavaScript pro měření byl plný write() a writeln(), takže jsem jej musel přepsat do DOM JavaScriptu, jinak by pochopitelně v XHTML 1.1 nefungoval (zabralo to 10 minut i s testováním).

Výsledek byl testován a funguje v Opeře 7.60 TP4, Firefoxu 1.0 (application/xhtml+xml), a rovněž v MSIE 6.0 (text/html).

Zde je kód pro navrcholu.js:

// (c) Radek HULAN, http://hulan.cz/
// This work is licensed under the Creative Commons Attribution License. 
//
// NAVRCHOLU.cz statistics that works under XHTML 1.1 served with
// MIME type application/xhtml+xml as well as text/html MIME type.
//
//
// Usage - place this in your XHTHML 1.1 code:
//  
// 
// 

// helper functions
var isXHTML;
function createNewEle(ele){
	if(isXHTML) 
		return document.createElementNS('http://www.w3.org/1999/xhtml', ele);
	else 
		return document.createElement(ele);
};	

// navrcholu.cz code
function navrcholu(){
	var ele=document.getElementById('navrcholu');
	if (!ele) return;
	isXHTML=/html\:/.test(document.getElementsByTagName('body')[0].nodeName);
	// navrcholu.cz id from title
	var id=parseInt(ele.getAttribute('title'));
	if (!id) alert('TITLE attribute does not contain your NAVRCHOLU.cz ID!');
	// some variables
	var n=navigator;
	var p=document;
	var c,t,b,j,m,r,y,d,x,w;
	d=x=w=j=0;
	// detect flash plugin in MSIE
	if(n.appVersion.indexOf("MSIE")>=0 && n.appVersion.indexOf("Win")>=0 && n.userAgent.indexOf("Opera")<0) {
		p.writeln("");
		p.writeln("on error resume next");
		p.writeln("For i=7 to 4 Step -1");
		p.writeln(" If IsObject(CreateObject(\"ShockwaveFlash.ShockwaveFlash.\" & i)) Then"); 
		p.writeln("   n3f8q=i");
		p.writeln("   Exit For");
		p.writeln(" End If");
		p.writeln("Next");
		p.writeln(""); 
	} else 
		eval("var n3f8q=0");
	// detect flash in other browsers
	if( n.plugins && n.plugins["Shockwave Flash"]){
		t=n.plugins["Shockwave Flash"].description;
		n3f8q=parseInt(t.charAt(t.indexOf(".")-1)); 
	}
	// get other vars
	m=(n.userAgent.substring(0,8)=="Mozilla/") ? n.userAgent.substring(8,9) : 4;
	if(m>2) j=(n.javaEnabled()) ? 1 : 0;
	r=window.top.document.referrer;
	if(m>3 && screen){
		d=screen.colorDepth;
		if(d==0) d=screen.pixelDepth;
		x=screen.width;
		w=(p.all) ? top.document.body.clientWidth:top.innerWidth; 
	}
	y=new Date();
	y.setTime(y.getTime()-31536000000);
	p.cookie="nvt=1";
	c=(p.cookie.indexOf("nvt") != -1)?1:0;
	p.cookie="nvt=1; expires="+y.toGMTString();
	// set new A attributes
	ele.href='http://navrcholu.cz/Statistika/'+id+'/';
	ele.setAttribute('title','NAVRCHOLU.cz');
	// create IMG
	var img=ele.appendChild(createNewEle('img'));
	img.setAttribute('alt','NAVRCHOLU.cz');
	img.setAttribute('style','width:80px;height:15px');
	img.setAttribute('src','http://c1.navrcholu.cz/hit?site='+id+';t=o80;'
		+'fv='+n3f8q+';js='+j+';cs='+c+';ref='+escape(r)+';cd='
		+d+';sx='+x+';wx='+w+';jss=1;r='+Math.random());
}
navrcholu();

Použití skriptu:

Vložte tento kód do Vašeho XHTML:

 

Pochopitelně, číslo 77391 upravte na Vaše číslo počítadla. Kód je pochopitelně napsaný tak, že funguje i při vypnutém JavaScriptu.


Doufám, že mě za tento kód, který by měl dodat navrcholu.cz, a ne já, bude třeba nabídnuta Profi statistika navrcholu.cz na rok zdarma. Přijmul bych to, a s radostí zveřejnil ;-)

Xstandard - vynikající XHTML 1.1 WYSIWYG editor

Webdesign, CMS 20.12.2004

Xstandard je vynikající XHTML 1.1 validní (!) WYSIWYG editor, který je ve verzi Xstandard Lite zdarma i pro komerční použití. Je to fantastický produkt, který skutečně generuje XHTML 1.1 zdrojový kód, za každé okolnosi well-formed.

Xstandard má to všem jedno omezení, je napsán jako ActiveX komponenta, a tudíž funguje jen pod Windows (nikoliv na Linuxu) za použití MSIE 5.5 a vyššího, nebo Firefoxu 1.0 / Mozilly 1.7 a vyšší. Samozřejmě, na Linuxu je možné použít projekt Wine a spustit Xstandard pod ním.

Xstandard umí automaticky dělat odstavce, seznamy, tabulky, tagy code, pre, abbr, samp, a další, jeho integrace do stávajícího prostředí je triviální, postačí zavolat object s typem application/x-xstandard, pro Firefox, nebo s clsid:0EED7206-1661-11D7-84A3-00606744831D pro MSIE.

Tento fantastický WYSIWYG editor jen nově implementován v redakčním systému F-ART:CMS. Pro stávající uživatele systému F-ART:CMS je implementace Xstadard dostupná zdarma. V systému BLOG:CMS, publikovaném v GNU GPL licenci, tato komponenta dostupná nebude.

XHTML 1.1 validní web má obrovský význam pro optimalizaci pro vyhledávače (SEO), protože validní weby s minimem markupu a převahou textu jsou roboty mnohem snázeji indexovány.

Ukázky editoru (WYSIWYG a zdrojový kód):

WYSIWYG
XHTML 1.1

XHTML 1.1 místo XHTML 1.0

Technologie 19.12.2004

Udělal jsem na tomto webu změnu jednoho řádku v šabloně, a jsem opět dokonale moderní (to je ironie), místo XHTML 1.0 totiž používám XHTML 1.1.

Smazal jsem toto:

<!DOCTYPE html PUBLIC 
  '-//W3C//DTD XHTML 1.0 Strict//EN'
  'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>

A dal místo toho toto:

<!DOCTYPE html PUBLIC
  '-//W3C//DTD XHTML 1.1//EN'
  'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'>

A mám web v XHTML 1.1. Jaký to má smysl? Nevím. Ale XHTML 1.1 zní mnohem moderněji než XHTML 1.0 Strict, a to už vůbec nemluvím o HTML.

Více informací o 2 rozdílech (+ ruby) je přímo na w3c.org.

A to se počítá! :-)

Co by měl obsahovat WEB ROKU 2005?

Webdesign, CMS 18.12.2004

Narazil jsem na takový pěkný článek, který popisuje, co by měl WEB ROKU 2005 obsahovat.

Web roku 2005 musí obsahovat a podporovat:

  • nabízet pravidelně aktualizované informace (blogy, redakční systémy, atd.)
  • zvýšit efektivnost nabízení informací (RSS, ATOM, WAP, Mobilní XHTML, atd.)
  • alternativní metody distribuce informací (emailové newslettery, RSS, del.icio.us, atd.)
  • zlepšené systémy notifikace a alertů (ping, TrackBack, email alerty, atd.)
  • možnost feedbacku od uživatelů webu (komentáře, fórum, atd.)
  • optimalizovaný výkon a přístupnost (CSS, XHTML, atd.)
  • více cest pro získání informací (více-úrovňová navigace, hledání, atd.)
  • inteligentní systém-2-systém komunikaci (XML, SOAP, atd.)
  • kolaborativní spolupráce a dokumentace (Wiki, blogy, atd.)
  • podpora založená na požadavcích uživatelů (uživatelsky řízené FAQs, atd.)

Zajímavé je, že špičkový redakční systém F-ART:CMS obsahuje veškeré tyto komponenty, a dokonce mnohé další.

F-ART:CMS je snadná a inteligentní cesta k dokonalému webu v roce 2005.

Pro uživatele s nižšími požadavky je dostupná i jeho GNU GPL verze nazvaná BLOG:CMS.