How to Apply to a Job – ако някога си търсите работа като Ruby програмист, така написано вашето мотивационо писмо със сигурност ще изпъкне пред другите. Обаче дали в положителна страна много зависи
Сряда 24.02.2010
The Database Tea Party: The NoSQL Movement – Някой беше казал, че нашите деца ще гледат на SQL както ние гледаме на COBAL. За което не съм много сигурен. Тъй като, ако по-добрите технологии изместваха старите толкова бързо, отдавна IE6/Windows и други подобни нямаше да ги има
Като цяло тази седмица мина под знака на Rails 3, на който излезе бета версия.
Понеделник 01.02.2010
SafeBuffers and Rails 3.0 – в Rails 3 има вградена xss защита, и Yehuda Katz обяснява последните промени по тази система и защо са се наложили.
8 Chrome Extensions For Web Developers – Напоследък Firefox започва да се държи все по зле и леко да изостава от браузъри като Chrome и Safari. И докато в Safari все още ми липсват 2-3 малки неща, то Chrome може в много скоро време да стане предпочитания ми браузър.
Вторник 02.02.2010
Google Apps Drop IE6 Support – Е време беше. След скорошната атака срещу Google извършена с IE6, Google решиха да дръпнат шалтера на това нещо. В Германия вече го забраниха, така че още малко живот му остава. И усещам как скоро ще се вдигнем мерника към IE7.
The touch action – В България до голяма степен сме 1-2 години назад в IT отношение. Така че е доста лесно да се предскаже че в следващите години и у нас както навън ще навлязат все повече “умни телефони” и особено такива с touch screen (то май всички са такива). Затова е важно да се знае как може да се работи със touch събитието. В Quirksmode имаше цяла серия за тези събития през седмицата.
HipHop for PHP: Move Fast – Това беше новината на деня. Facebook пуснаха HipHop, което компилира (или по-точно трансформира) PHP кода до оптимизиран C++ код, който след това се компилира с g++. От което е излишно да казвам какви са ползите като скорост и CPU. За повече подробности самия пост и това видео.
Явно вторник е бил много “натоварен” ден.
Сряда 03.02.2010
YUI Theater — Douglas Crockford: “Crockford on JavaScript — Volume 1: The Early Years” – Когато Douglas Crockford, говори и Чък Норис слуша . В случая говори за история на JavaScript и програмните езици като цяло. Първите 10-15 са необичайно скучни. Главно защото говори за първите компютри и темата е повече насочена към хардуера от колкото към софтуера. Но после нещата се оправят.
Stop Being an Idiot – Колкото пъти сме се оправдавали с това че потребителите са “идиоти”, е време е да спрем.
Четвъртък 04.02.2010
The Rails Module (in Rails 3) - Rails 3 идва с доста променен Rails module, в който има доста полезни методи. От тази статия може да се научат доста странични неща за Rails като цяло.
Също интересен факт е и че Basecamp стана на 6 години. Като един ден преди това стори и Facebook. Което като се замисли човек е много странно съвпадение. Защото никои не може да се отрече че и двата продукта косвено или директно промениха мрежата.
Петък 05.02.2010
SD Ruby – Episode 077: Building Your Own Hosting Environment – това стои във readera ми от доста време, но чак в Петък имах време и повод да го гледам. Доста добро ми се стори и ако някои мисли сам да си хоста Rails приложенията ( и даже каквото и да е друго сам да си хоства) е много добра начална точка.
Преч седмица най-сетне намерих една от най-запомнящите реклами, който съм гледал (незнайно защо бях останал с впечатлението че е за Ferrari, а тя била за Porsche ):
В последните ми проекти почти не използвам event handler-и, който да закачам за даден елемент. Вместо това използвам event delegation и от там само слушам за събития, които се случват на долу по DOM дървото. В един по-предишен пост описвам как делегирам submit. Но за нещастие има и други проблемни събития, които не слушат спецификация зa HTML събития – а именно focus / blur.
Рядко използвам focus / blur или когато ги използвам, не ги делегирам. Но преди 3-4 седмици един познат се допита до мен. Защото имаше страница с повече от 150 input елемента, като на всеки от тях добавяше прилично количество event handler-и. Като се сложи и това, че динамично се добавяха и изтриваха доста елементи, нещата не бяха никак розови.
Като за начало всички handler-и се насочиха към document елемента, и това доста ускори нещата. Обаче focus / blur все още изискваше да се слагат отделно на всеки. Но тогава дойде на помощ хака за делегиране на focus/blur и custom събитията на Prototype.js и от тези две неща се роди това доста елегантно решение ( има го и на gist ):
(function() {
function focusInHandler(e){
Еvent.element(e).fire("focus:in");
}
function focusOutHandler(e){
Еvent.element(e).fire("focus:out");
}
if (document.addEventListener){
document.addEventListener("focus", focusInHandler, true);
document.addEventListener("blur", focusOutHandler, true);
} else {
document.observe("focusin", focusInHandler);
document.observe("focusout", focusOutHandler);
}
})();
Интересното е, че от 1-2 седмици ми се налага да използвам доста често новите focus:in / focus:out , което от една страна доста изчиства и ускорява кода ми. Но и от друга страна прави доста по userfriendly самите компоненти които правя, така че всички са доволни. Като даже ако имам време мисля да пренапиша и кода за делегиране на submit.
Тук става дума за новите неща в Firefox 3.1, която се очаква съвсем скоро да излезе. Основните функции които се споменават тук са:
Web worker threads – най-важното от всички, според мен. Това че по-тежките javascript действия, ще бъдат отделени в нова нишка, е страхотно. И май в скоро време Firefox, може да последва примера на Google Chrome.
HTML5 Video tag - добре е че все повече браузъри почват да го поддържат и дано до 1-2 години да може да спокойно да се ползва в production сайтове.
CSS2.1 селектори ::before ::after – Страхотно е че ги има тези двете вече, защото във internal нещата, които ползвам работят само под Firefox така че тези ще са полезни
Като цяло си мисля само, че web work threads и TraceMonkey, за който John Resign доста говори напоследък, са нещата които могат да бъдат използвани от developer-ите още сега. А пък поддръжката на CSS2.1/CSS3/HTML5 е важна в дългосрочен план, защото колкото повече браузъри вградят тези технологии, толкова по бързо ще може наистина да ги използваме.
Доста добре изглежда и се държи. Има 2-3 неща, които чупи в проекта, който правя сега, но това е нормално, а и още е бета. Даже и Developer tools си има, които, по мое мнение са доста по-добри от DragonFly за Opera (ей, тези дни много съм й го насъбрал на Opera). Естествено пак ми липсват “малките” неща, но няма как такъв е живота.
Също така вече V8 (Javascript виртуалната машина на Chrome) започна да се сравнява със старите пушки в бизнеса като SpiderMonkey, Futhark, JavaScriptCore и други javascript виртуални машини.
Доста налудничава на моменти, да не говоря колко хора ми се смяха като им разказвах за нея (ама те и за това че Испания, ще стане Европейски шампион ми се смяха, ама после ). Та в тази статия има четири сценария:
Scenario 1 (Circa 2025): Google Is The Media
Scenario 2 (Circa 2015): Google is the Internet
Scenario 3 (Circa 2020): Google is Dead
Scenario 4 (Circa 2105): Google is God
Поне като гледам вчера почваме да се движим по втора версия – Google is the Internet ето един малък цитат от там:
… The upshot was that it became far faster and easier to use Google’s copy of the Web than the slowpoke Web itself. That’s why Gbrowser, launched in 2008 (though the domain name was registered in 2004), took off: It had priority access to Google’s version of the Web, unlike Microsoft’s long-defunct Internet Explorer. Gbrowser also had scads of useful new features, like a commission-free micropayment system that superseded PayPal and (in conjunction with the virtual stores on Google Base) eventually drove once-powerful auction site eBay to the edge of bankruptcy…