юни 13

Отворен програмист ли си ?

Хората в нашия занаят аз ги деля на два типа – едните са истинските „програмисти“ (или по-широкото понятие „разработчици“), и хора, които просто това работят (да ги наречем „невдъхновени служители“). Предполагам, че не само в нашата професия е така, но все пак аз като стереотипен инжинер трудно виждам отвъд моето си блато. Нали е излишно да казвам, че нашия занаят е по-особен, защото нещата се развиват много бързо, и трябвада се учи постоянно. Много малко от нещата, които са били актуални преди десет години, са актуални сега (разбира се, говоря нещата с практическа насоченост, теоретичните истини са „вечни“). Поне половината неща от преди две години са актуални сега. Което означава, че и ние трябва да се развиваме със променящата се среда, за да сме актуални на пазара, и на ситуацията в която се намираме. Ето затова и питам, ти отворен програмист ли си ?

Изумявам се колко мързеливи, или неправилно мотивирани може да са хората, или просто защо са част от сивата маса на „невдъхновените“ служители, които просто го работят това, и малко ги интересува какво става навън, и как се развива света около тях. Да започнем с по-меките примери и въпроси, и постепенно ще преминем към по-фрапиращите. Фокусът ми ще падне главно върху уеб разработчиците, с което се извинявам на всички други, които се вписват под термина „програмист“, които също заслужават внимание, но пък аз нямам толкова опит там.

За начало, колко от вас са решили да експериментират с друг тип платформа за работа ? Примерно да сте решили да скочите от PHP на Ruby, или от Perl на Python. Ако не решите да експериментирате, как ще разберете дали няма по-добър начин за правене на нещата ? Или ако не по-добър, то поне по-различен … защото понякога решаването на проблема лежи в опита който имате натрупан алтернативно, и радикалния поглед от друга гледна точка почти винаги помага.

А опитвали ли сте актуалните и обсъждани в момента решения ? Примерно опитвали ли сте rapid development с CakePHP или CodeIgniter ? Разглеждали ли сте популярни решения като например Symfony, което Yahoo ползва за сайтове като Yahoo Bookmarks и от скоро Delicious? Или сравнително новия проект Zend Framework, в който Zend вкарват толкова много усилия, и се опитват да наложат като „платформата“ за разработване на уеб приложения ? Ами по принцип интересували ли сте се за огромното количество „рамки“ (абе „frameworks“ … имаше купешка дума за това на български, но не се сещам сега), които са в момента, които са събрали някакво популярност до една или друга степен – примерно Akelos и SolarPHP, или обещаващ, но позабравен проект като WACT ? Всичките са токова различни, и решават различни проблеми по толково различни начини, всеки с плюсовете и минусите си, че непременно ще съберете огромен арсенал за торбата с хитростите, дори и да не използвате дадения framework като основна среда за работа по проектите си.

Разглеждали ли сте популярни готови решения с отворен код ? Аз супер си изумявам някой в нашата професия, ако не е чувал за WordPress. Просто трябва да си се крил две-три години по пещерите, за да не знаеш за едно толково популярно решение. Ами другите ? Примерно Joomla, Drupal, Typo3 … дори phpbb или oscommerce ? На някои от тези проекти кодът им не става за гледане, но пък има добри иде за това как да се справиш с някои проблеми, не само програмно, но и като интерфейс, интеграция и Ñ‚.н.

Ами освен готови решения с отворен код, ползвали ли сте и библиотеки с отворен код ? Друго нещо което ме изумява, е когато никой не е чувал за неща като domPdf, Smarty, Snoopy, MagpieRSS, SimplePie, или SwiftMail и phpMail, или дори по-инертното PEAR хранилище… и вместо това се правят на Колумб като пишат грозни и бавни дилетански глупости. Ако ги питаш защо ти си ги писал тези неща, като ги има готови, с отворен код, и най-важното – с поддръжка, обикновенно отговорят „ами за да е по-сигурно“ или „ами за да ми е по-лесно, като го знам как работи“. Добре, че не правят автомобили, че ще си изгубят една петилетка да откриват колелото. Сега се сещам, че някои отговарят „ами моето е по-бързо“, въпреки че съм 99% сигурен, че едва ли са пробвали да сравнят бързодействието с някои от готовите библиотеки. За да си продуктивен, трябва да ползваш стабилен код, и нещата да вървят гладко. Библиотеките с отворен код са супер заради това, че отговорността за поддържането не лежи върху вас, и вие няма да губите време да се занимавате с някаква библиотека, а ще може да се съсредоточите върху проекта над който работите. А, да, и да знаете, PHPClasses е за аматьори … кажете ми, че ползвате някой клас от там и гледайте как ще се пръсна от смях. Ако сте някой начинаещ новобранец може да хвърлите някое око там , но най-много да прихванете някой лош навик от там, така че най-добре въобще прескочете този сайт.

Горното се отнася и до JavaScript библиотеките, въпреки че не съм срещал някой да си пише собствен набор от функции .. по-скоро се правят някакви „клани-недоклани“ решения с копиран код от DynamicDrive или AjaxDaddy, който е написан супер късогледо, и всякаква промяна по него е изключително изтезание. Сега поне изборът е голям – за всеки стил на работа ще се намери библиотека: Prototype, MooTools, MochiKit, Dojo, YUI и невероятното jQuery.

Сега, на финала, искам да обърна внимание на хората които са замръзнали на ниво 2000-2002 година. Този тип програмисти ползват процедурен код, защото това е първия начин на който са се научили да работят, и нали се върши някаква работа – няма нужда да се сменя. Пишат обектно-ориентиран код на ниво кръжок по информатика за 3 клас. Доскоро супер закостеняло са ползвали PHP4, защото не са се сетили да видят колко предимства им предоставя PHP5. Става и по-зле … например не се ползва нищо за контрол на версиите, ами всичко се трупа на една споделена машина, в която в отделни папки се записват следващите версии ;) После като се счупи нещо върви търси от коя версия нататък е изплувала грешката, и кой я е направил. Става и още по-зле … например всички работят отдалечено на една машина, „сървъра“, където ако един от всичките прецака файл, необходим в просеца на зареждане на страница, всички други „маймуни на клона“ духат супата и чакат, докато възникналия проблем се отстрани. На колко от вас им стана ясно къде е проблема, и как се решава той чрез решения за контрол на версиите?

И сега най-голямата тъпащина … още има хора, които работят като супер безотговорно омазват едно от най-елементарните правила, които се учат още от началото и които трябва да се спазват просто оповавайки се на здравия разум (дори преди да сте разбрали какво е MVC). Това е разделянето на представянето от логиката. Нали сте наясно, че външния вид на сайтовете се променя по-често от кода, който задвижва цялото приложение … тогава защо смесвате двете ? Първоначално може да ви е по-лесно, но това съпер скоро спира да работи в момента когато трябва да промените нещо, или да го използвате на повече от едно място.

Който се засрамил, засрамил… да не хващам пак парализа на показалеца, и да го размахвам поучително. Хващайте се да четете, и да експериментирате, вместо да вегетирате на работното си място, и да го карате като сив „леминг“.

Technorati Monster

Technorati май често се дъни напоследък … поне съобщението за грешка е до някъде забавно.

Technorati Monster

юни 12

„Млади хора: не се връщайте в България!“

Няма да коментирам това което прочетох на адреса по-долу, защото като цяло не споделям чак такава черна картина за страната, но пък много от фактите са верни.

Eто например:

“ …България е малка страна с почти никакъв потенциал за икономически растеж. Повечето работодатели са малки, с малък или въобще без никакъв опит в мениджмънта и бизнеса, което ги прави по-малко конкурентни и създава проблеми за работниците.

Съгласен съм, като към това трябва да добавим „токсичната среда“ на „поквареното ни съвремие“, което изкривява и малкото натрупан бизнес опит в някакви корупционни извращения. Това като цяло не е минус, защото човек преди да се научи да лети, трябва да се научи да ходи, и важното е просто да не се губи време за елементарни неща като преоткриване на колелото и топлата вода.

„…Ð’ България никой не го е грижа какво умееш, тъй като е по-важно кого познаваш… Ð’ добавка към това, бизнесът в България работи с остарели методи и високата безработица позволява на необразовани мениджъри да се разпореждат…“

Представете си какво дъно сме ударили, след като вече и най-бездарните „ръководни кадри“ са започнали вече да се вайкат, че няма хора.

Все пак, да не бъдем такива радикални песимисти. Всички виждаме проблемите, обаче с това не идва края на света. Все пак 2008 е високосна,  така че няма да се оплакваме ;)

юни 11

Computer Chronicles

Преди 10 години, докато кабеларките още излъчваха NBC, едно от нещата които ми бяха супер интересни, беше предаването на Стуърт Шафей (и Гари Килдол) „Computer Chronicles“. Не занм какво стана тогава, но навсякъде изчезна NBC, а от там и това предаване (заедно с вечерните предавания на Джей Лено, и най-вече Конан О`Брайън). Скоро след експанзията на видеосайтовете като YouTube и Google Videos, успях да намеря няколко записа на стари предавания. Рано тази година на Google Video намерих още няколко, и наистина се забавлявах с тях, осъзнавайки колко неща сме пропуснали, докато сме живели в шибания комунизъм, или в първите години на модерния псевдо капитализъм.

Днес намерих един фенски сайт, посветен на това предаване, със подбрани записи от предаването. Ако искате да видите какво са били компютрите преди 10, 15, 20 ил 25 години, посетете сайта и попълнете дупките в познанята си на ИТ историята:

Ето и едно предаване, посветено на преносимите компютри от … 1989 година:

PS. Почти всички предавания са качени на Archive.org на ето този адрес:

Новата реклама на Apple за iPhone 3G

Вече е ясно къде сме познали с прогнозите за новата версия на телефона, и къде не. На много места може да се прочете какви са нововъведенията, както в API-то и firmware-а, така и в новото „поколение“ iPhone 3G. Може да прочетете кой е възхитен (от различни неща, но може би в най-голяма степен от завоя в ценовата политика на Apple за iPhone), и кой е разочарован (примерно от недостатъчните подобрения по телефона). За да не се отекчаваме, ще прескоча тези детайли, и ще обърна внимание на нещо любопитно – гласът от новата реклама за iPhone 3G. От Apple винаги си старят да правят интересни реклами и кампании, и в последните десетина години рядко са залагали на „звезди“ за да им рекламират нещата, може би с изключение на някой testimonial по време на някой кийноут, в който познати лица обесняват колко лесно се работи с продуктите им (аз лично си спомням нещо подобно за някой от версиите на iPod.ите, може би първата). Преди това, като всяко голяма компания може би, за разчитали да правят по-стереотипни реклами, използвайки хора като Джеф Голдблум (чийто PowerBook 5300 спасява света през 1996 в „Деня на независимостта“), или Карим Абдул Джабар за оригинална линия PowerBook. Ето една подобна реклама на PowerBook използвайки „Мисия Невъзможна“:

Откакто Стив Джобс се върна в Apple, аз не се сещам за такива реклами. Повечето реклами са фокусирани върху продукта, а не върху това кой го ползва (става дума за реклами фокусирани върху продукт, а не като кампании като „Switch to Mac“ или веселите „PC & Mac“). Това изключение, да не се използват известни хора в рекламите, и „нарушено“, но само наполовина за две реклами. Наполовина, защото не виждате човека, а само чувате гласа. Все пак, гласовете на известните са толкова популярни, колкото и лицата им ;) Особено когато става дума за наистина популярни в дадения момент личности.

Първото изключение беше рекламата, която се появи за да рекламира минаването на Intel-ски процесори. Всички останаха изненадани, че озвучаването е на … Кийфър Съдърланд. Точно така, „Джак Бауър“ за около „24“ секунди дава гласа си за тази реклама. Рекламата сигурно е трябвало да свърши много работа, защото такова голямо сътресение, като отказването от PowerPC архитектурата сигурно може да разочарова много хора – така, че освен работата по представянето на новите машини, която със сигурност ще убеди верните клиенти, че няма нищо страшно от Intel-базирани Mac-ове, то и рекламата си е имала някаква буферна роля.

Второто изключение е от преди два дена от WWDC 2008. Новата реклама за iPhone 3G е озвучена от друг много популярен актьор – поне в момента кариерата му изживява ренесанс заради успешната екранизация на популярен комикс герой на Марвел … Робърт Дауни Младши. Точто така, „милиардерът Тони Старк“ представя единственият телефон, който може да измести стария iPhone, а именно – новия iPhone 3G ;) Ако преди гласът на Кийфър Съдърланд е бил впрегнат в един критичен момент за компанията (като миграцията към Интел), то защо сега се прибягва към подобен похват ?

PS. Ето и рекламата с Карим Абдъл Джабар:

Ето рекламата с Джеф Голдблум от „Денят на независимостта“:

А ето и една реклама с Върн Тройър и Яо Минг, озвучена от Джеф Голдблум (това е от „ерата“ на Стив Джобс, но Джеф Голдблум е популярен избор за озвучаване на рекламите на Apple, така че това въобще не е изключение):

юни 10

БГ администрацията, софтуеъра с отворен код, Русе и т.н.

Ето нещо интересно:

А дано администрацията да си отвори ушите, и да реши да експериментира с решения с отворен код. Както се вижда „регионално“ поне ще има кой да им помогне с идеи и съвети.

юни 8

jQuery Release 1.2.6

Толкова неща имам „задържани“ като чернови, че тази събота и неделя се скъсах да пиша в блога. След това сигурно пак няма да влезе нищо за цял месец ;) Както и да е, да се фокусираме на интересните новини.

Последните седмици имаше две събития на които трябваше да обърна особенно внимание. И двете са нови версии – едното е новата версия на Kiax за която преди малко писах, а другото е новата версия на jQuery -  jQuery 1.2.6!

На прима виста се набива на очи скока от 1.2.3 на 1.2.6, което означава, че бая работа е хвърлена по новата версия – никой не прави такова прескачане само заради няколко оправени бъга. Най-голямата гордост на тази версия са подобренията в скороста, като най-важното е че работата със събитията е вече два пъти по-бърза. За мен (а и за коментара на Ajaxian от линка по-долу), е добавянето като core възможност да си мериш разстояния и отстъпи – нещо което преди беше на плъгин (нямам нищо против плъгините, просто поддържането на основния пакет е по-добро).

Повече може да прочетете тук:

PS. Пак се заканвам, че по-късно ще пиша по болната ми тема аз поддържанието на проект с отворен код, колко време отнема, колко работа, и т.н. Сигурно ще бъде супер егоистична оценката ми, но пък ще говоря от опит ;)

Kiax ver.2

Преди около седмица излезе новата версия на безплатния „софтуерен телефон“ с отворен код Kiax. За да видите какви са подобренията в новото издание, посетете страницата на проекта:

или прочетете краткото съобщение от блога на фирмата, която го разработва:

Анкета за или против минималния капитал

Анкета за или против минималния капитал има на блога за икономика:

Освен да се убедите в очевадното (повечето хора наистина смятат това за отживелица), ще прочетете и няколко интересни коминтара за предложението на Мартин Димитров.

Изключете БНТ!

Не съм футболен фен, но наистина ми стана интересен този коментар:

За пръв път, от както има голямо футболно първенство, Българската национална телевизия няма да го излъчва. Защото било скъпо! А защо БНТ получава 66.7 милиона лв. от бюджета. За да държи 3 000 души на работа, от които една трета са пияни още преди 12 на обяд ли? Това е същата телевизия, която през 1986 г. не успя да заснеме световния рекорд на Стефка Костадинова на стадион „Васил Левски“, същата която не успя да заснеме слънчевото затъмнение и тази, заради която хората без кабелна телевизия не могат да гледат Евро 2008. Да я закрием ли?

Наистина БНТ изглежда безполезна и … как да го кажа деликатно … „скопена неплодородна“.