Microsoft a prohraná API válka

Joel píše moc zajímavý (a rozsáhlý) článek nazvaný "Jak Microsoft prohrál API válku". Přečtěte si to! Pokud tedy umíte dobře anglicky. Joel zde píše o tom, že Microsoft od verze Windows 95 až po Windows XP udělal obrovské množství práce na tom, že zajistil, aby aplikace, které fungovaly ve Windows 98, byly plně funkční i ve Windows XP. Zní to zcela normálně? Přirozeně? No, ne až tak docela.
Některé aplikace fungovaly ve Windows 98 jen proto, že v nich byla chyba, v těch aplikacích, ne Windows. Ve Windows XP byla funkčnost změněna, a daná aplikace (SimCity, v tomto případě), nefunguje. Nicméně, OUW (obyčejný uživatel Windows) připisuje veškeré problémy Windows. OUW měl Windows 98. SimCity fungovalo. Má Windows XP. SimCity nefunguje. Zkuste OUW vysvětlit, že problém není ve Windows XP!
Raymond Chen je člověk, který stojí za týmem "zajištění kompatibility Windows". Jeho team jde tak daleko, že zkouší veškeré jen mírně populárnější aplikace pro Windows, a pokud nefungují, debaguje je, a pro danou aplikaci navrhuje speciální režim kompatibility, který emuluje starší chování Windows, specifické pro každou chybnou aplikaci, aby tato chybně napsaná aplikace fungovala očekávatelně i v nových systémech. Obrovská spousta práce! Nepředstavitelně obrovská.
A kde je tedy ten problém, že Microsoft prohrál válku?
Co je nového v PHP 5 (díl 2/5)
Ve druhém díle se podíváme na další rozšíření objektové koncepce PHP 5. Jedním z dalších podstatných rozšíření jsou abstraktní metody třídy (abstract), s tím, že třída, která obsahuje abstraktní metody (není definována jejich implemetace), musí být také typu abstract.
Je pochopitelné, že není možné vytvořit instanci abstract třídy, je nutné vytvořit návaznou třídu, která danou metodu již implemetuje, a zde vytvoříme instanci. Příklad?
abstract class AbstractClass { abstract public function test(); } class ImplementedClass extends AbstractClass { public function test() { echo "ImplementedClass::test() called\n"; } } $o = new ImplementedClass; $o->test();
Radek Hulán :: dvakrát v top-20!

Někteří mají radost, pokud jsou v top-100. Někteří mají radost z top-50. No, a já mám radost, že jsem 2x v top-20 :)
Co je nového v PHP 5 (díl 1/5)
PHP 5 přináší spoustu výborných změn. Jedná se hlavně o změnu jeho objektové koncepce. Většině "taky-programátorů" to bude jedno, nevyužívají ani potenciálu PHP 4, nicméně, lidem jako já, co znají výborně C++, sedne PHP 5 mnohem lépe. Jeho implementace objektů se totiž zjevně nechala inspirovat C++ a Javou.
Třída bude mít konsktruktory (což má nakonec částečně již teď) a desktruktory:
class _metodaA { var $x; function __construct($x) { $this->x = $x; } function display() { print($this->x); } function __destruct() { print("bye bye"); } } $o1 = new _metodaA(4); $o1->display();
Třída bude mít protected (je k nim umožněn přístup i přímým potomkům) a private (přístup k nim mají jen třídy samotné, v nichž jsou definovány) proměnné a rovněž metody. Dosavadní kód (PHP 4) je považován, jako by všechny metody byly typu public.
class Foo { private function aPrivateMethod() { echo "Foo::aPrivateMethod() called\n"; } protected function aProtectedMethod() { echo "Foo::aProtectedMethod() called\n"; $this->aPrivateMethod(); } } class Bar extends Foo { public function aPublicMethod() { echo "Bar::aPublicMethod() called\n"; $this->aProtectedMethod(); } } $o = new Bar; $o->aPublicMethod();
Spam s AdSense
Před pár dny jsem psal o výběru loga pro systém BLOG:CMS. Za včerejšek mi přišlo poněkud více spamů než obvykle, ale kromě umírajících nigérijců, tam bylo i hodně nabídek na zaručeně kvalitní logo v té nejlepší kvalitě za výborné ceny.
Jinak řečeno, spammeři sledují co děláte, skenují Vaše stránky, a podle toho, co píšete, Vám zasílají obtěžující nabídky. Ještě, že češtinu neumí (zatím) moc analyzovat. Tedy, nevyplatí se jim to.
Mimochodem, moje Opera 7.51 s M2 email klientem a učícím se algoritmem pro rozpoznávání spamu má účinnost kolem 99.9% :) Pokud bych Vám náhodou neodpovídal dlouho na nějaký email, bohužel, jste to 0.1%. Omlouvám se ;)
Jak na CVS na sourceforge.net?
CVS (The Concurrent Versioning System) je jedinečný nástroj pro správu verzí pro Vaše projekty. A pokud je Váš projekt Open Source, v licenci (například) GNU GPL, máte jedinečnou možnost jej hostovat na sourceforge.net, včetně podpory pro CVS, webhosting, file releases, mirroring na řadě serverů po celém světě, a řadu dalších věcí.
Do CVS repository se můžete napojit i Vy, anonymně, pochopitelně pouze pro čtení.
Jak tedy na nejaktuálnější kódy BLOG:CMS?
Nejdříve si stáhněte aplikaci WinCVS ze sourceforge.net. Hodit se Vám bude i Python, jako shell pro CVS. Pokud by jste chtěli do CVS i zapisovat, budete potřebovat pochopitelně i PuTTY (Telnet / SSH klient), ve spolupráci s Pagent pro pohodlnější (automatickou) autorizaci.
Ve WinCVS následně nastavte v sekci Remote / Checkout Module:
CVSROOT data:
Authetication: pserver
path: /cvsroot/blogcms
host address: cvs.sourceforge.net
username: anonymous
CVSROOT: anonymous@cvs.sourceforge.net:/cvsroot/blogcms
Checkout settings:
Module name: blogcms4
Local folder: (třeba) C:\www\blogcms4
Poté, co si poprvé stáhnete kopii BLOG:CMS, můžete Checkout pochopitelně používat již jen pro download změněných souborů.
Validní vložení Flashe do XHTML 1.0 STRICT
<object type="application/x-shockwave-flash" data="animace.swf" width="600" height="200" > <param name="movie" value="animace.swf" /> <param name="quality" value="high" /> <param name="swliveconnect" value="true" /> </object>
Není ani problém zobrazit pro lidi co nemají Flash třeba zástupnou grafiku (nutno dát před uzavítající </object> tag):
<img src='flash.jpg' alt='nemas flash' />
BLOG:CMS registrován na sourceforge.net
Včera večer jsem podal žádost o registraci a hostování projektu BLOG:CMS na sourceforge.net, a dnes byla schválena. Znamená to skvělou dostupnost, integrované CVS, možnost práce více vývojářů, i lepší propagaci projektu. Pokud se někdo chce přidat jako vývojář BLOG:CMS, budu moc rád. Projekt bude od zítřka členěn do třech sekcí, BLOG:CMS CORE, BLOG:CMS PLUGINS, a BLOG:CMS SKINS.
phpBB - nějak se nám to rozmáhá

Nějak se nám tu rozmáhají instalace phpBB fór. No tak dobře... Mám zde ale pár postřehů, jak je učinit více užitečnými. Jedná se konkrétně o fórum www.winarna.tk o Windows obecně, a pak blogforum.rogner.cz o blogování jako takovém.
V čem je jejich problém?
- Chybný koncept blogforum.rogner.cz: fóra jsou členěna dle blogovacích systémů. To je ale blbost. Kdo je klientem tohoto fóra? Člověk co neví, co si má vybrat. Ten by ocenil jasné linky na veškeré systémy, jejich krátké recenze, a hlavně členění dle funkcí blogovacích systémů, ne dle jejich jmen. Každý blogovací systém, větší, má fórum svoje, duplikovat je zde je hloupost.
- Chybný koncept winarna.tk: fóra zde jsou členěna do příliš mnoho sekcí. Je jich tam asi 35. V tom se nedá vyznat. Maximum je tak 10, a to ještě rozděleno do 2-3 kategorií. Pokud se v něčem nedá vyznat, nikdo to nečte, nikdo se v tom nevyzná, jde pryč. A opět chybí obsah. Založit fórum a spoléhat, že tam někdo něco napíše je hloupost.
- Obě fóra používají nedoladěnou instalaci. Podívejte se do zdrojáků, CSS styly tam jsou uvedené přímo v HTML! To je šílená neefektivita. Dělat se to má lépe, tedy styly linkovat. Jak to dělám já na forum.blogcms.com.
- Šílené barvy. Blogfórum má šedé pozadí a na něm oranžové písmo. Nic proti vkusu, někomu se to líbí, nicméně toto se nedá číst. A to už JE problém. Winarna.tk má zase styl "subSilver", který mají stovky tisíc webů. Viděl jsem jej mockrát, a nelíbí se mi.
- Neomezená šířka stylů. Pokud má někdo rozlišení 1280x1024, či 1600x1200, tak je stránka obou fór bez použití max-width prakticky nečitelná. Doplňte ji tam!
- Winarna.tk má šílené logo. Zubatá žlutá a černá mi ze všeho nejvíce připomíná web dělaný před 8-10 lety, takové ty nápisy "In Construction", žluto-černé, a u toho kopající dělník jako animovaný GIF. Opět, vkus je osobní věc, ale toto je odpuzující! To už je lepší žádné logo, než toto. Co mě odpuzuje, to nečtu a nevracím se tam.
- Zapněte si GZip. Ušetříte 80% pásma. Winarna.tk jej používá, Blogforum.rogner.cz nikoliv (viz http://www.desilva.biz/gzip-test.php).
Uvedená kritika je určena k tomu, aby Jirka a Roman na těch fórech zapracovali. Ona MOHOU mít smysl. Ale takto ne. Něco jen tak (ještě blbě) nainstalovat a doufat, že ostatní budou pracovat... ;) Chce to více pracovat!
BLOG:CMS - projekt a web spuštěn
Více na http://blogcms.com/.