Като цяло тази седмица мина под знака на 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.
One-click Minifier Gadget (OMG) – initial checkin – Българското Yahoo! гуру Стоян Стефанов пусна много полезен инструмент за минимизиране. Кода го има в github. ( Статията е от 31 Януари, но чак във Вторник я видях )
Basic Cappuccino Tutorial - Добър на урок за Cappuccino. Което е добре защото, един от най-големите проблеми на Cappuccino, според мен, е липсата на добра документация и уроци.
How Internet Explorer 8 document mode affects JavaScript – Оказва се че в IE8 имало доста промени по самия JavaScript. Nicholas C. Zakas разяснява голяма част от тях.
The touch action – В България до голяма степен сме 1-2 години назад в IT отношение. Така че е доста лесно да се предскаже че в следващите години и у нас както навън ще навлязат все повече “умни телефони” и особено такива с touch screen (то май всички са такива). Затова е важно да се знае как може да се работи със touch събитието. В Quirksmode имаше цяла серия за тези събития през седмицата.
an HTML5 offline image editor and uploader application – Наскоро започнах да правя първите залежи за новата ни cms система ControlDepo 4. И мисля в нея да вградя нещото такова в една или друга степен.
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 ):

February 7th, 2010 at 4:38 pm
Знаеш ли какво не ми харесва в Крокфорд и като цяло в хората от Yahoo? Това, че показват неща, за които след това хората ги смятат за пионери. А всъщност много преди тях са открити тези неща. Най-големия пример е, Prototype inheritance дизайна показан от Крокфорд. Този дизайн е написан много преди той да го публикува от Lasse Reichstein Nielsen. Другият много показателен пример за Yahoo е Никълас Закас. Нямам нищо против него, но този човек е редно преди да учи другите, да си изясни концепцийте в езика. И той в блога си има една статия за feature detection, което за жалост е подобие на статията на Дейвид Марк във FAQ на c.l.js. За това и честно казано, спрях да чета какво пишат и говорят хората от Yahoo, просто чета и пиша в c.l.js и документацията ми е напълно достатъчна.
Поздрави.
February 7th, 2010 at 5:15 pm
Да ти кажа като се замисля, по сериозно имаш доста право, специално за feature detection статията. И на мен тогава, нещо не ми беше допаднала.
Въпроса е, че поне на този етап тези статии са добро начало и отправна точка. Защото за нещастие 60-70 % (ако и повече) от нещата в web dev-a нямат другаде от къде да се научат.
Поздрави.
February 7th, 2010 at 6:56 pm
Определено си прав. За жалост има много неща в областа, които трябва да се знаят, по-жалкото, е че в момента няма хубави книги за JavaScript. Още по-лошото, е че се пишат книги с маркетингови цели. Конкретно за Закас, преди време четох и една статия за “__count__” свойството, което не присъства в стандарта. Закас не беше споменал много важни неща за въпросното свойство: http://www.nczonline.net/blog/2009/02/24/mozilla-javascript-extension-count/
Той казва, че това свойство е число което показва броя на всички свойства във въпросния обект. Да обаче тук не се спонева, че това свойство всъщност отчита броя на всички свойства дефинирани в самия обект, и върху стойноста на “__count__” не рефлектират свойствата дефинирани в прототипната верига на обекта. Тоест отчита “own properties”. Другото нещо, което е още по-важно, е че това свойство отчита броя на свойствата, които нямат дефиниран атрибут {DontEnum}. Да не говорим, че нищо не е споменал за дефинирането на свойство “__count__” в обектен литерал. Тогава в SpiderMonkey се заменят вътрешните свойства на “__count__” и съответно няма атрибути: {DontEnum}, {DontDelete}, {ReadOnly}. Всички тези неща бяха пропуснати от него. Нормално е всеки да прави грешки, и аз му написах и коментар и e-mail по въпроса. Както виждаш, явно не му е харесал поста ми, и съответно не го публикува
)
За това и не робувам, много на имената на компанийте в които работят дадените хора. За пример @kangax не работи в някаква световно известна компания, но за сметка на това материалите му са доста добри и изчерпателни.
Между другото съм подел една инициатива, за превод на някой хубави материали на български. Въпроса, че не знам кога ще стане, но като има резултати ще ти изпратя линк да погледнеш
February 7th, 2010 at 7:30 pm
Това за __count__ не го знаех да си призная
И за @kangax няколко пъти съм споменавал, че доста добри неща прави и пише.
Аз материалите на български, ще е се радвам да ги видя, непременно изпрати линк, че все още имам много дупки да попълвам
February 7th, 2010 at 9:08 pm
Радо – мерси за линка и за “гуру” титлата
Асене, интересна мисъл за Яху (аз работя там, признавам си че съм пристрастен) и пионерстването. Не мисля че Крокфорд си присвоява лаври, според него единственото което той е направил е да открие json. “Открие” в смисъл на “изкопае”, не “изобрети”. Но е вярно, че нещата се изкривяват после и му се приписват заслуги. Аз например по едно време се бях заблудил, че той е създателя на JavaScript.
За съжаление определено има порочна тенденция в Силиконовата долина – хората, които живеят/работят там си мислят че това е единственото място на планетата където се прави нещо. Едва ли не само там има интернет компании. Спомням си че някой от 37signals (те не са в долината) също мрънкаше за това. И когато си голяма компания в долината като Гугъл или Яху е много лесно да си помислиш че си центъра на планетата. Това е една от причините поради която аз лично не се местя там, въпреки че Яху ме подканя и определено би било по-добре за мен в карерно отношение, растежи и пр.
Иначе има хора които са отрасли в тоя район и от университета директно са отишли да работят в голяма компания, но повечето хора идват от малки уеб компании от къде ли не. Например Николас Закас е бачкал в малка компания на другия край на Щатите когато е писал книгата си и после е дошъл в Яху дето викаш ти да поучва другите. Сигурен съм също и това че е писал книга му е помогнало с наемането на работа. Което ме навежда на следващата ти мисъл за книгите.
За маркетинговите цели на книгите не съм сигурен, т.е. за издателя да, но за автора определено не. Като сметнеш колко време отнема и колко ограничен е броя на читателите на технически книги (все пак това не е Да Винчи кода), излиза че писането на книга е работа под минималната работна заплата. Ползата за автора е че става автор и това помага, ако не за друго, то за наемането на работа по-натам.
За @kangax – аз случйно открих негов tweet, че намерил грешки в мойта книга (Object-Oriented JavaScript) и така разгледах блога му, от него разбрах за c.l.js и се зачетох и там, преди въобще не знаех за този меилинг лист пълен със супер интересни дискусии. Та заради @kangax и неговата критика говорих с издателя ми да правим второ издание на книгата, ще ми се книгата да е нещо което хората започващи с езика да хванат и да научат, и информацията да е достъпна, но технически вярна и да учи best practices. По принцип издателите не се кефят кой знае колко на втори издания, щото тяхната работа по второ издание е като при първо и … за какво да се напъват като може и да не се напъват. Но ги убедих все пак.
Та искам да ви попитам и двамата, защото имам високо мнение за вас – Радо от блога, Асен от постингите в c.l.js – искате ли да ми помогнете с второто издание? Общо взето бих се радвал ако можете да прегледате първото издание и да ми кажете какво не ви харесва и какво липсва и т.н. Пишете на ssttoo at gmail ако сте навити. В замяна не мога да ви дам много освен искренни благодарности, безплатно копие от книгата когато е готова и кредит като технически редактори в началото на книгата. А пък ако се получи добре, може да я преведем на български (за предпочитане със знанието на издателя
) и я сложим безплатно в интернет някъде.
February 7th, 2010 at 9:11 pm
Радо, блога ти “флоат: лефт” емотиконките и всичките отиват в началото на реда. Ето гледай сега ще сложа една в края на това изречение
February 7th, 2010 at 11:57 pm
Здрасти Стояне.
За маркетинговите цели на книгите, имах предвид създателя на JQuery John Resig. Във въпросните книги се показват “best practices”, но всъщност на теоритично ниво и на ниво имплементация не са достатъчно “best”. В c.l.js междувпрочем сме обсъждали въпросните книги на Resig.
За Дъглас Крокфорд, аз много го уважавам този човек. Защото благодарение на него и на Yahoo, JavaScript става все по популярен език за програмиране. Не искам да ме разбираш погрешно, аз уважавам всеки един човек, който популяризира JavaScript и показва полезни техники за програмиране.
Относно книгата, тук ще напиша бегли неща които мисля а след като прегледам книгата ще ти напиша e-mail. Според мен след като заглавието е Object-Oriented JavaScript, трябва да се обясни:
- Как се формира прототипната верига в JavaScript
- Как се наследяват свойства от прототипния лист runtime, по време на property accessing.
- Добри методи за наследяване. Например в ES5 има 15.2.3.5 Object.create ( O [, Properties] )
Следващото изключително важно нещо е ExecutionContext и ScopeChain. Това са може би две от ключовите неща в езика + стойноста на `this` особено когато не се предоставя в изричен вид от caller-а.
Всичко това естетсвено може да се обясни с прости думи и диаграми, с които хората да си представят нещата как работят. Дори може да разгледаш и Narcissus и съответно нещата да станат още по разбираеми.
Между другото, след като ще има 2-ро издание на книгата можеш да пишеш и в c.l.js. Там определено ще можем да дискутираме нещата и да ти помогнем да са разбираеми за читателите, и ако решиш да пишеш там недей да обръщаш внимание на троловете, които обикалят
Иначе аз не искам нищо в замяна, просто искам хората, които ще се занимават с JavaScript да разбират наистина какво пишат и за това определено ще разгледам книгата и ще ти напиша писмо.
Поздрави.
February 8th, 2010 at 5:45 am
За jQuery… да, аз по някое време погледнах кода – доста е, как да кажа, нинджовски. Жалко е, все пак това е най-популярната библиотека. Той Крок по едно време се шегуваше че каквито и кофти features да има езика, нинджите винаги ще се намерят да използват точно тия features. Мисля че това беше по адрес на jQuery, нали Джон Рейсиг пише книга “Тайните на ДжаваСкрипт нинджата”.
Мерси много за идеите ти, за Execution Context изобщо не се споменава в първото издание, a на Scope Chain resolution определено може да се обясни по-подробно и дето викаш графично с диаграми. За прототипи мислях че добре съм обяснил, но един от хората в майлинг листа беше споменал че имам неточности.
Ще се радвам ако имаш време да погледнеш какво съм писал. Пиши ако искаш да ти пратя копие от книгата на ПДФ, пък после като излезе 2-то издание и на хард копи
February 8th, 2010 at 3:49 pm
Здрасти Стояне.
Благодаря за предложението. В следващите няколко седмици, като ми приключи изпитната сесия в университета, ще я прочета подробно книгата и ще опитам да помогна с каквото мога. Добре че бях убедил от съквартирантите ми да си я вземе преди време.
п.п. Css на емота, вече е оправен.
Поздрави