Wednesday, February 14, 2007

Новият StarCraft ще е 3D ;(

За пръв път си позволявам да се отклоня от темата, но като човек, започнал с компютрите като геймър, не мога да не изразя неудовлетворението си. Това е Alpha test на новия StarCraft. Явно още са в началото на проекта, по всичко личи, че току-що са merge-нали StarCraft и WarCraft 3. Играта очевидно ще е триизмерна. Но поне няма да е като Ground Control или нещо от сорта, просто ще се насладим на по-хубава графика.

А като говоря за StarCraft, вчера се игра Germany A - Bulgaria A. Нашите победиха с 3:2. Подробности около срещата.

Saturday, February 3, 2007

Yahoo! пуска Site Badge

Yahoo! пускат нова услуга - Site Badge. Това е постоянен индикатор на вашият уебсайт, който показва колко линка има към вашият сайт. Не виждам особен смисъл за сега, но ще видим как ще се разрастне.

Google News и Overture работят отново

Това със сигурност беше седмицата на ъпдейтите. Такива моменти винаги се познават по бъговете :) Освен, че в Euroweb добавихме 13 нови функции на CMS-a, Google News и Overture също паднаха. Важното е, че от вчера всичко работи перфектно. Но следствията от 2-та дни downtime са потресаващи за Yahoo!. Wordtracker пуснаха нов безплатен keyword suggestion tool, и докато Overture не работеше вече се радват на твърде голяма популярност. Въпреки това, повечето хора смятат, че Overture няма да загуби пазарен дял, тъй като Yahoo! смениха алгоритъма за тяхното PPC класиране, като добавиха нов критерий - качество на страницата. Очаква се тази идея да допринесе за нови няколко милярда инвестиции в SEO индустрията, защото вече не е достатъчно да наддадеш най-високо, ами също така трябва страницата ти да е добре харесана от Yahoo!. Страхотно, нали? По този начин ще има работа за повече специалисти, а и по-малките сайтове ще могат да се състезават донякъде с големите имена в тяхната ниша. И това е пуснато в най-правилния момент - докато Google са заети с изчистване на click frauds и връщат пари на рекламодателите, за което се упражни изключително голям натиск през декември и януари. Струва ми се, че през следващите месеци Yahoo! ще увеличи пазарния си дял в Pay-Per-Click рекламите.. но какво от това, след като Google регистрира над 15% увеличение през 2006 в търсенето. Войната на зверовете продължава.

Четири инженера от Google напускат, наема ги SEO компания

NMA оповесити, че през тази седмица 4 от разработчиците на Google в Ирландия са напуснали работа, за да работят като SEO специалисти. От дълго време насам специалистите в бранша са се чудели какво ще стане ако някой от Google реши да тръгне соло, като познава тъй добре скрития алгоритъм на търсачката. В крайна сметка това се случи. Остава само да следим портфолиото на компанията, за да видим дали наистина алгоритъмът на Google е толкова тайнствен и някъде вътре има нещо, което експертите не би трябвало да знаят, или всичко вече е познато, а това е само маркетингов трик. Нямам търпение да узная :)

Google TV?! Google разработват телевизия?

През седмичката се качиха 1-2 рекламни клипчета в YouTube, които показваха как човек да се регистрира за новата телевизия на Google. Най-лесно става през Gmail, а тук е обяснено как да се запишем.

Румънският президент се обяви за пиратството пред Бил Гейтс!

На презентацията на Windows Vista в Румъния, румънският президент е обяснил положителното влияние на пиратството в страната върху IT индустрията и икономиката на страната. ROFL.
Още малко от Reuters.

Google забравиха да подновят Google.de!

Странно, но факт. Правата върху Google.de изтекоха и домейнът се дропна. След това попадна в ръчичките на една от ония компании, дето постоянно дебнат кога падат разни домейни и ги купуват за препродажба. В крайна сметка, Google си върнаха немския домейн, но никой не знае на каква цена. Смешното в ситуацията е, че самите Google имат лиценз за продажба на домейни :)

Още по темата

Friday, February 2, 2007

WebToolKIt и Prototype - неочаквано добра комбинация

Не знам по колко пъти на ден препоръчвам тези 2 продукта, затова реших да ги блогна, барем се видят по-добре в пустия му Google. Какво правят тези 2 сладурчета. WebToolKit е златната библиотека за моделиране на данни с JavaScript. Има класове за UTF-8, URL, Base 64, MD5 и SHA1 encoding или с 2 думи казано, всичко, което ни трябва и е задължително за AJAX. Prototype от своя страна пък предоставя най-елементарния интерфейс за AJAX заявки, плюс нереално обемна библиотека (PNG, PDF) от класове, които човек може да ползва като framework в JavaScript. Просто ги свалете тия двечките и RTFM, а аз ще ви покажа как изглежда един AJAX call с тяхна помощ:

function submit_form(param1,target,method){
var furl = "http://example.com/processor.php";
current_target = "";
var params = 'param1='+param1+'&rpc=1&etitle='+WebToolKit.utf8.encode($F("formField1"))+'&element_content='+WebToolKit.url.encode($F("formField2"));
var myAjax = new Ajax.Updater(target, furl, { method: method, parameters: params});
}
Това е една JS функция, с която се предават данни от формуляр. Първият параметър е някакъв системен (authkey например), вторият е ID-то на елемента, в чието innerHTML трябва да се запише резултата, а method е GET или POST. "formField1" е стойността на name атрибута на някой от инпутите във формуляра. Това е всичко :)

Encoding Problem?

Отново намерих време да драсна. Чудех се за какво, но тъй като тази седмица нямаше нищо интересно в web пространството, реших да споделя малко опит в решаването на най-дразнещия неамерикански проблем - кодирането на информацията. По времето на HTML4, това не беше никакъв проблем. Просто сменяш кодирането в <meta> тага, сменяш файла и това е. После обаче PHP стана толкова масово явление, че изведнъж всеки започна да разхвърля информация по всякакви $_POST-ове и $_GET-ове и тази информация не винаги се показваше в правилният формат накрая. А когато към всичко това добавим charset & collation на MySQL сървъра, таблицата и текущата база данни, плюс AJAX и сървър настройките, картинката става вече наистина потресаваща.
При всички случаи ни трябва стандарт. Трябва ни нещо, в което да можем да си сейвнем файловете, и после да го нагласим във всички останали хедъри и настройки. UTF-8 би бил перфектният вариянт, но за съжаление PHP и UTF-8 не работят пълноценно. Проблемът идва от хедъра на файловете, които са сейвнати в UTF-8 енкодинг. Там, в самото начало, изскачат няколко байта повече, които PHP интерпретира като output и затова не ползволява да се пращат никакви хедъри (вкл. сесии). Отвратително. Това, обаче, ще се промени с излизането на PHP6, и аз ще съм един от най-щастливите хора на земята.
До тогава мисля да процедирам по следният начин.
  1. Избира се един алтернативен енкодинг (например cp-1251 за кирилица, ISO-8859-1 за латиница и т..н);
  2. В този енкодинг се записват файловете и информацията;
  3. Същият енкодинг се изпраща и от сървъра.
  4. Същият енкодинг се пише в <meta> тага (ДА НЕ СЕ ЗАБРАВЯ!)
По този начин сме сигурни, че всичко ще се показва правилно и ще достига правилно до браузъра, а пък FireFox няма да се прави на умен и да пренаписва хедърите. (Не знам защо "Лисицата" не харесва UTF хедъри... но такъв е животът.) Сега остава да решим проблема със записването и транспортирането на информацията. Ако пишем добър код, следвайки препоръките за MVC (за които постнах тук), би трябвало за тази част от сайта да се грижат други скриптове. Затова предприемаме следните стъпки:
  1. В началото на всеки файл пренаписваме хедъра на сървъра на UTF-8, а където играе MySQL - "set names utf-8";
  2. default charset, енкодинг и колация на MySQL се настройват за UTF-8;
  3. Ако на фронтенда ползваме AJAX, енкодираме всичките променливи в UTF-8 & URL encoding. За целта препоръчвам WebToolKit. Ако не - при филтрирането на $_REQUEST-а използваме utf8_encode();
  4. Съответно, при извеждане на информацията, използваме utf8_decode() или iconv(), така че да имаме данните готови за показване в другия енкодинг.
Надявам се да съм помогнал и да съм спестил мъки на много хора.