Categories
Видео Лични Музика Ревюта снимки

Project Arcadia

По една или друга причина не съм голям поддръжник на българската музика. Дали защото продукта не е достатъчно добър, дали защото аз не мога да го оценя, но е факт, че предпочитам добре известни и утвърдени метъл групи. По неведоми пътища обаче се запознах преди няколко години с Пламен Узунов – Пацо и неговата група Project Arcadia. С него станахме приятели, а аз слушах от време на време single-ите, а след това и дългосвирещия им албум – From The Deserts of Desire. Проектът, който вече е постоянна група, успява да разчупи стандартните представи за българска рок музика (разбирай трима до петима мустакати чичковци, които подрънкват на инструментите в тръст).

На 4 този месец (юни) Project Arcadia направиха концерт в клуб The Box, където представиха и видеоклипа към Shadows of The Night. В сайта на Metal Katehizis може да прочете малко повече информация как е преминало събитието, а тук ви предлагам възможност да видите клипа и малка галерия със снимки.

Categories
CSS Работа

Сигурни начини за прехващане на Internet Explorer *

Въпреки че на Internet Explorer 6 главата беше отрязана (от Google, Facebook, WordPress, а и от самите Microsoft), тялото му продължава да се движи в агония и ще е трън в очите на разработчиците до края на годината. Но дори и когато “тялото” му бъде заровено и цветята (ако има изобщо опечалени) бъдат разнесени от вятъра, идва поредния проблем – с неговите по-големи братя. Последните години критиките бяха насочени предимно към 6-ицата, а липсите и пропуските в 7 и 8 останаха пренебрегнати.

И тъй като няма как с вълшебна пръчица да накараме големите корпорации да използват по-модерни браузъри (Google Chrome, Mozilla Firefox, Opera или Internet Explorer 9) ще трябва да се съобразяваме с потребителите. Защото в края на деня, най-важното е потребителят / клиентът да са доволни от продукта.

От друга страна не може да се съобразяваме вечно с по-слабите и да ги бутаме напред, защото така няма да се види края скоро. Единият от начините да се съчетаят модерното с корпоративното е прогресивното подобряване. (б.а. прогресивно подобряване е термин, който обединява редица технологии, с чиято помощ потребителите на по-модерни браузъри получават по-добър продукт, докато се запазва използваемостта за браузърите, които не поддържат нужните технологии). Ето защо белгийският колега Mathias Bynens е направил чудесен подбор на най-популярните и най-стабилните начини за таргетиране / прихващане на Internet Explorer в статия наречена “В защита на CSS хаковете – представяване на “безопасни” хакове“.

Аз предпочитам използването на отделени CSS правила за конкретната версия на Internet Explorer (conditional comments), но само при крайна нужда! Ако основният markup и css код са написани по стандартите, то остава малко до почти никаква допълнителна поддръжка. Имайте го това предвид!

Categories
Лични

За рока в кеча или защо WWE really rocks!

Започнах статията с дълго описание как и защо харесвам кеч, но по-късно размислих и ще спестя дългото и емоционално излияние и ще откроя една от причините – тясната връзка между кеч и рок. Почти всички изпълнители използват рок песни при излизането си на тепиха, а не един или два пъти групи са свирили и на живо (Motorhead, Limp Bizkit, P.O.D., Kid Rock), а въпреки че Ozzy Osbourne не свири и той се появи като host в RAW.

Johnney Cash – Ain’t No Grave (Can Hold My Body Down)
The Undertaker

Alter Bridge – Metalinguns
Edge

Waterproof Blonde – Just Close Your Eyes
Christian

http://www.youtube.com/watch?v=p8Xdkk3qH4M&feature=related

Motorhead – The Game
Triple H

Killswitch Engage – This Fire Burns
CM Punk

Downstait – I Came to Play
The Miz

Limp Bizkit – Rollin’ (Air Raid Vehicle)
The Undertaker

Nickleback – Burn It To The Ground
RAW Theme

Papa Roach – … To Be Loved
RAW Theme

Green Day – Know Your Enemy
SmackDown Theme

Divide The Day – Let It Roll
SmackDown Theme

Drowing Pool – Rise Up
SmackDown Theme.

Categories
Работа

epay.bg – услуга на ниво!

Редовно в моето ежедневие се сблъсквам с какви ли не услуги – мобилни, интернет, транспортни, банкови. Без изключение винаги е имало проблеми с тях или както сме свикнали да казваме: “българска работа”. Скоро време ще пусна и малко по-подробен пост с премеждията и проблемите, които съм имал и как съм ги решил, но този пост не е за хулене, а точно за обратното.

Ако има услуга, от която да съм много доволен, то това е epay.bg. Ползвам ги от години за разплащания и до сега не съм имал проблеми (поне не и такива, за които да си спомням в момента). Поддържат повечето (ако не и всички) банки в България и техните карти (с изключение на Банка ДСК и ОББ, които имат лимитиран достъп). Имат голям списък с битови сметки: електрозахранване, мобилни оператори, интернет и кабелни доставчици, кредитни дружества – the whole nine yards!

Като разработчик съм изключително развълнуван от факта, че интегрирането на тяхната разплащателна система е много лесно. Имат демо сървър, на който да се извършват тестове, а превключването към реалния сървър е безболезнено. Както казах – много съм доволен. PayPal имат същата процедура, но при тях е далеч по-тромава!

Keep the good work!

Categories
Без коментар

I have nothing to say. You should blog about it.

I have nothing to say. You should blog about it.

 

Categories
CSS HTML5 JavaScript Работа снимки

Текущото състояние на HTML5 forms

HTML5 се опитва да категоризира най-често използваните имплементации на уеб формите. Избор на дата чрез интерактивен календар е едва ли не стандарт за повечето форми в наши дни. Но за да се постигне тази интерактивност се изискват допълнителни JavaScript библиотеки и CSS файлове. Те добавят освен желания ефект и извънредно количество трафик и забавяне на зареждането на страницата. Какво би било ако съвременните браузъри поддържат такъв календар по подразбиране? Точно това прави HTML5 групата, но внедряването на работните версии в браузърите е трудна задача, която се протаква с години.

Специализираният сайт за изработка на уеб форми Wufoo е изработил чудесна таблична извадка за текущото състояния на поддръжка в различните браузъри както и информация за отделните атрибути и предлага JS полифили за постигане на същият ефект в по-старите версии.

Categories
JavaScript

Документация на капризите (quirks) в JavaScript

JavaScript Garden е колекция от документации за най-капризните моменти в работата с JavaScript. Съдържа насоки как да се избегнат най-честите грешки, трудни за хващане бъгове, както и проблеми с производителността, които могат да бъдат избегнати.

Categories
Статии

WebStorage

С бързите темпове, с които се развива уеб индустрията, ставаме свидетели на какви ли не подобрения и технологии. От изнасяне на рендването на графичните елементи от страна на браузъра (border-radius, box-shadow .. etc) до публикуване на години видео време за един ден в YouTube. Един основен компонент нужен, за да се постигне по-пълноценно изживяване за потребителя е възможността той да използва даден ресурс, когато е извън мрежата (offline). Подобно начиние до скоро беше изключително трудно, ако не и невъзможно.

На “бойното поле” се появява нов играч – Web Storage. Web Storage или HTML5 Storage е механизъм, чрез който браузърите могат да запазват локално key/value двойки от текст. Да, наистина прилича на cookies, но има няколко драстични разлики. Ще стигнем до тях съвсем скоро. Web Storage се състои от две части – sessionStorage и localStorage. Разликата между двете е, че sessionStorage съществува докато браузъра е отворен и след затварянето му се унищова, а localStorage съществува дори и след затварянето и отварянето му отново – дори и след рестарт на операционната система, дори и след формат … на всеки друг дял без системния 🙂

Съвместиммоста между браузърите и популярността му са значителни и изненадващи дори. Поддръжка има в IE8+, Firefox 2.0+, Chrome 4.0+, Safari 4.0+, Opera 10.50+, Android 2.0+ и iOS 2.0+. Ако искате да имате 100% покритие на потребителите си, използвайте този полифил https://gist.github.com/350433.

Както казах много прилича на cookies – и двете са вградени в браузъра, и двете са key/value базирани. Какви са предимствата на Web Storage?

  1. Много удобно API.
  2. Значително по-голям размер на данни, които могат да се съхранят при клиента – 5MB (за сръвнение cookies са ограничени до 4K). 5MB е характерната големина за всички поддържащи го браузъри и не може да се увеличава.
  3. Cookies се включват във всяка HTTP заявка и поради тази причина забавят зареждането на страницата ви. Тъй като Web Storage е клиент базирано, данните стоят при клиента и само при изискване се използват.
  4. Cookies се изпращат не криптирани и поради тази причина са уязвими.
  5. Cookies са известни и ето затова има лесни начини, дори за начинаещи потребители, те да бъдат изтрити – не може да се разчита на тях.

За какво би могъл да се използва Web Storage?

Сещам се за няколко приложения – запазване на състоянието, където последно е бил потребителя на сайта (игри, електронни магазини) и за AJAX кеширане. Типичен пример за AJAX кеширане е, ако имате widget с времето или валутните курсове, който се разгъва за повече подробности. При самото зареждане на страницата трябва да покажете само няколко основни стойности, а при интерекция от страна на потребителя да направите заявка към сървъра за подробна информация. Данните няма нужда да се зареждат първоначално, а само при изричното желание на клиента – ето защо дори и потребителят да презареди страницата и пак да ги поиска, веднъж добавени в sessionStorage или localStorage (в зависимост от нужното ниво на кеширане) може да бъдат използвани от там. Ще демонстрирам работата с localStorage точно с този пример.

[code lang=”js”]
document.getElementById(‘show_more’).onclick = function() {
if(localStorage && localStorage.weatherCache) {
display_weather_details(localStorage.getItem(‘weatherCache’));
} else {
$.get(‘/wheater.php’, function(data) {
if(localStorage) {
localStorage.setItem(‘weatherCache’, data);
}
display_weather_details(data);
});
}
}
function display_weather_details(data) {
// Направете нещо с данните
}
[/code]

Простичко е, нали? Веднъж коректно изпълнена тази имплементация би ви спестила излишни заявки към сървъра, което при по-натоварени сайтове върши чудеса. Не е нужно да дефинирате localStorage или sessionStorage (да припомня – примера ще работи и със sessionStorage, но при затваряне на браузъра ключът weatherCache вече няма да съществува). Ако вашият браузър е сред изброените по-горе, то тази променлива се добавя по подразбиране и е достъпна на глобално ниво. Ето още няколко допълнителни възможности на API-то:

[code lang=”js”]
localStorage[‘weatherCache’] = ‘В София ще вали сняг’; // Още един начин за дефиниране на ключ (като масив)
localStorage.weatherCache = ‘В Пловдив ще валят кюфтета’; // или като член на обект
localStorage.removeItem(‘weatherCache’); // Премахва ключа
localStorage.clear(); // Изтрива всичко.
[/code]

Разбира се, положението не е толкова розово, колкото се опитвам да го изкарам. Web Storage е уязвим на DNS spoofing. Тъй като Web Storage е домейн базиран, някой зложелател може да се представи за определен домейн и да добие достъп до целият localStorage обект. Също така няма възможност данните да изчезнат с времето – или при затварянето на браузъра (sessionStorage) или завинаги (localStorage). Не може да се изпарят след 1 седмица или 1 месец.

Ни в клин, ни в ръкав

И докато сървърните приложения се опитват да прехвърлят тежките заявки към key/value базирани бази данни като CouchDB и MongoDB, то клиентската страна упорито се опитва да развива SQL и да преоткрива топлата вода. IndexedDB и Web SQL Database са следващият препъни камък за уеб разработчиците. Поредната чудесня идея, която се опорочава от различните производители на браузъри … Но какво пък – колкото повече браузъри – толкова повече проблеми и респективно повече работа, нали?

Categories
Статии

Гледам и не вярвам на ушите си – Microsoft очакват края на IE6!

Винаги съм искал да бъда свидетел на знаменити събития в човешката история. Падането на кулите близнаци и създаването на международната орбитална станция са точно такива. Но създаването на специален сайт от страна на Microsoft, чиято цел е да следи и прекрати използването на “чумата” Internet Explorer 6 по света ме доведе до прединфарктно състояние.

Сайтът, който е част от кампанията на Microsoft за нагнетяване на обстановката преди излизането на Internet Explorer 9, предоставя графики за използването на 6-тата версия в глобален мащаб като впечатление прави големият процент на потребление в Китай (34.5%) и Северна Корея (24.8%).  Общият пазарен дял в цял свят е 12%, което погледнато директно изглежда като голям процент и че трябва все още да се съобразяваме с него. Но освен ако основият ви трафик не е от Китай, Северна Корея и Индия, чийто общ процент е приблизително 7 от тези 12, може спокойно да зарежете IE6. Статистиката е предоставена от Net Applications и е актуална за 28 февруари 2011.

Вижда му се края!

Categories
снимки Статии

Разпределение на мобилните операционни системи

Много интересна инфографика за разпространение на мобилните операционни системи за Февруари 2011 година намериха от Read Write Web.