Декларирам EOY

Публикувано / posted 2010-12-16 в категория / in category: Други
  

EOY = End Of Year

Поне от две седмици се канех да свърша това богоугодно дело, но ето, че днес вече мога да го направя съвсем спокойно: Декларирам край на годината. Накратко това означава: 1. Дойде време да се направи равносметка; 2. Не ме търсете за работа докато не започне следващата.

1. К'ви ги свърших

Това е секцията за отчет на свършените неща + човек сам да се похвали

1.1. Докарах Tangra framework-а до доста завършен вид. В него има има неща, които не съм видял да ги има в нито един друг PHP framework, като например wizards за генериране на прости страници, страници с грид и т.н. Като брой класове единствено Zend framework е по-голям. При последния release беше стигнал до 161-ва позиция в класирането на SourceForge (в което има над 100 000 проекта). За съжаление, въпреки че съм отделил повече от 7 години на този проект се оказва, че до голяма степен това време е било напразно -- така и не успях да заинтересовам PHP developer-и да го използват. Честно казано, изключително съм разочарован, но за това повече в секция "Некои съображения" по-долу…

1.2. Покрай новия апартамент се научих да правя саморазлични подове, да лепя плочки както и ред други строително-монтажни-ремонтни дейности. 2012, като се дестабилизират полюсите на земята и всички компютри изпушат -- ще имам реализация, а няма да умра от глад като програмист :-)

1.3. Научих се да програмирам за Android, което включваше да си припомня как се пише на Java (или по-скоро да я уча наново -- бях забравил всичко). Вече имам две апликации направени -- едната професионално за клиент, другата за собствен кеф/обучение. За в бъдеще мисля основно за Android да пиша, а PHP да бъде като допълнение (много от приложенията за телефони изискват сървърна част, т.е. Tangra-та не е зарязана, а е в "заспало" състояние, държейки табела "Ни съм умрела") :-)

2. К'ви не ги свърших

2.1. Не научих добре ингилизкия. Канех се да запиша някой advanced курс или поне да се занимавам самостоятелно, но така и не го направих и засега си оставам с english на "working level", което ще рече, че понякога се изразявам като индиански вожд: "Дайде една каса огнена вуда, ето ви Манхатън, тенк ю вери муч".

2.2. Не довърших ремонта в апартамента -- целия ентусиазъм и желание, които ме движеха месеци наред постепенно се изпариха, като се видя, че блока няма да получи скоро Разрешение за ползване (ака Акт 16), т.е. няма как да пуснат тока, т.е. няма как да се живее там. Това е най-голямото ми разочарование… :-(((

2.3. На любовния фронт май-май не свърших нищо… То бива мързел и претенциозност, ама това мойто вече на нищо не прилича…

2.4. Така и не довърших модула за Tangra-та за електронен магазин. Общо взето не би трябвало да отнеме повече от месец, да се донаправи, но нещо загубих мотивация.

3. "Кажи баба тенк ю"

Това е секцията, където е мястото да се благодари на хората, които са помогнали с нещо за нещо :-)

Явно нямам развити използвачески наклонности, щом не се сещам да съм имал наистина нужда от нещо и да се е налагало някой да ми помага :-). Остава празна…

4. ТОП Браво

Това е мястото да се изброят нещата/хората/организациите/събитията, които заслужават похвала:

4.1. Android OS

Браво на Google, че успяха на направят тази операционна система и да дадат "хляб" в ръцете на толкова много програмери, включително и на мен :-)

4.2. Eclipse

Не ми побира акъла как е възможно да се направи толкова добър продукт, но е факт. Кеф ти PHP IDE, кеф ти JAVA, кеф ти C++, кеф ти stand-alone RCP приложения… Уникално (да, знам, че го има отдавна -- просто тази година за първи път преключих изцяло на Eclipse).

4.3. Catherine Wood-Hill

Това е една американка, която ми е най-готиния клиент,  който съм имал някога! Досега не бях срещал клиент, който едновременно:

  • да може да обясни толкова добре и ясно какво точно иска;
  • да разбира толкова добре и лесно какво му обяснявам;
  • да си плаща навреме и без да се пазари;
  • и най-важното -- да е готин като човек, така че да може да се разговаря с него приятно и по теми, несвързани с работата.

4.4. stackoverflow.com

Брилятна идея и реализация. Няма по-добро място да намериш бързо отговор на въпрос свързан с програмиране.

5. ТОП Майка ви…

5.1. Георги Торпоманов

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

Съвет към всички, които смятат да купуват апартамент: никога не купувайте на зелено и/или без Акт 16. Просто ви е бедна фантазията, колко много неща могат да се объркат и да увиснете… Аз ако съм -- бих купил единствено готов апаратамент с направени довършителни ремонти (идеята е да са изчистени бъговете, а не да си спестите слагане на плочки или нещо подобно). Това е единствения начин да си гарантирате до някаква степен, че няма да си скубете косите…

5.2. Andrew

Това е един англичанин, шеф на Umee, на които бях подизпълнител за един Android проект. В досегашната ми freelance "кариера" не бях имал толкова ядове. По-некомпетентен, неорганизиран и лъжлив човек не бях срещал.

5.3. Политическата класа/измет

Управляващите са номинирани, за безбройните малоумни гафове и гафчета, които направиха през тази година. Да вземете да се стегнете, ей, майка ви…

Опозицията е номинирана за това, че са циркаджии, оръфани жалки клоуни… Реално погледнато, не съществува реална опозиция, най-малкото, защото повечето парламентарно представени партии са бивши управляващи, т.е. доказано некомпетентни. Много ми е смешно като започнат Станишев или Костов да дават съвети как трябвало да са били направени нещата… Абе, №%€№%! ОК, може да сте прави, но защо не ги свършихте тези неща, когато вие бяхте министър председатели бе, майка ви…

5.4. Firaxis / 2k

Както съм споменал в предишна публикация -- бяха ме избрали за бета тестер на Civilization 5. Не мога да ви опиша с какъв ентусиазъм подходих към това -- Civ ми е любимата игра открай време -- не една и две сесии съм съсипал заради нея, не едно и две гаджета са ме напуснали заради нея (преувеличавам :-)). Заради NDA не мога да коментирам бета тестерския период, затова ще говоря само за след-release периода: Е, няма такава идиотщина. Release-a беше с такова качество, че играта не можеше да се играе -- пускаш я, правиш десет хода и забие. Multiplayer-a въобще не тръгваше. Месеци след това и няколко Patch-a положението със single palyer-a се пооправи, но не беше направено (почти) нищо по отношение на MP. Направо акъла не ми го побира как е възможно такова нещо!!! Microsoft и техния release на недовършения Win 95 е нищо в сравнение с Civ 5 -- тези хора от fir/2k release-наха нещо, което не може да мине дори за Beta версия, а какво остава за final…

Преди около 3 седмици тотално се вбесих и изтрих и игра и всичко… Нещастници…

6. Некои съображения

Тук е мястото да маркирам накратко някои идеи/мисли, които са ме "тревожили" през годината, за които по-късно ще има отделни публикации.

6.1. Ниската летва на PHP

Едно от най-хубавите неща на PHP, е че човек може бързо да се понаучи на основните неща и да е в състояние да направи някакъв сайт. За съжаление, това е и възможно най-лошото нещо -- Сульо и Пульо могат за няколко седмици да попрочетат някоя книжка, да разцъкат това-онова с XAMPP и айде -- няма и месец и вече се наричат "PHP програмист". Някои от най-добре платените ми фрийлансерски задачи са били свързани с оправянето на проблеми, създадени от подобни "програмисти". Дори не мога да опиша какви нечовешки идиотщини съм виждал. Въобще не се учудвам, че е общоприето да се смята, че PHP съсловието не е особено компетентно -- по мои наблюдения разделението е следното:

  • 30% са абсолютно начинаещи или некомпетентни;
  • 50% имат поне по един сериозен пропуск в знанията си по програмиране;
  • 15% се оправят добре с работата си, но общо взето са се оттали на рутината;
  • 5% са като горните 15% с разликата, че имат тръни в задника и постоянно ръчкат нещо ново или се опитват да разработят голям продукт from scratch

Проблемът са тия първите 30% и какво може да се направи, за да се подобри положението. И свързано с това стигаме до:

6.2. PHP Скакауци

Последните 2-3 години на няколко пъти се опитвах да си предложа услугите на PHP фирми, като консултант/лектор. Идеята ми беше за сравнително кратко време и относително евтино тези организции да си вдигнат нивото. За съжаление, общо взето, реакцията е: "Я го знам бееее, мене жокер ми не требе".

Преди време си спомням, че Богомил Шопов също се беше опитвал да организира PHP курсове, но се отказа поради липса на интерес. Абе всички ли са експерти, няма ли един начинаещ, FFS?!

6.3. Покупката на нов (Х)апартамент

"За бога, братя, не купувайте" или поне: не купувайте преди да сте се консултирали с всичките си приятели и познати, които наскоро са минали през това приключение…

6.4. Защо Tangra framework не стана популярен:

  • когато го започвах преди 7 години все още нямаше не само нито един PHP5 framework, ами почти нямаше и PHP4 framework-ове. Вместо да release-на нещо, макар и бъгавичко, аз исках да изпипам нещата и така в изпипване минаха 5 години и вече имаше хиляда framework-a;
  • написан е с цел да се хараса на Senior developer-и, а те, колкото и да е неприятно да се признае,  не са важните. Един framework трябва да е ориентиран към най-малкото общо кратно, за да стане популярен;
  • до скоро нямаше почти никаква документация  -- много бавно пиша на английски изпипан технически текст (тази работа не е като оная работа…); няколкото ми опита да намеря редактор native english speaker се провалиха (разни хора се хващаха за по 1-2 седмици и се отказваха);
  • (почти) всички чакат да получат нещо абсолютно наготово, а доскоро (допреди 1 год) се изискваше известно количество ръчна работа, за да се подкара някакъв смислен сайт. Сега вече има TangraCMS, но е късно…

7. К'ви ще ги свърша догодина

7.1. Живот и здраве, ще си довърша ремонтите в апартамента и ще се нанеса. Доста работа си е, но приятна :-)

7.2. Ще развия една моя бизнес идея, която не изисква голяма инвестиция, но пък може да донесе голяма печалба, която ще ми позволи да се пенсионирам и да се возя по цял ден в градския транспорт до женския пазар и обратно с мрежичка в ръка и таке на главата и да правя навалица.

7.3. Ще отида до Австралия, за да видя как е хавата и дали става за емиграция при положение, че тук нещата (още малко) се закучат…

7.4. Ще направя NFS (need for speed :-) ) генератор за Tangra-та.

Проблемът: В момента "boot-ването" на страница от сайт изисква включването чрез require_once на над 150 файла. Profiling-а показа, че под windows всеки файл отнема по около 0,03 -- 0,08 секунди за изчитане и парсване (общо става 1,5 -- 2 секунди забавяне). Под linux нещата са много по-бързи , но пак стои проблемът с изчитането на много дребни файлове. Решението е чрез използване на tokenizer-a да се проследи последователността на включване и да се генерират няколко големи файла, които да включват в себе си съдържанието на малките и по този начин да се ускори "boot-ването". Идеята: правиш, струваш, разработваш и когато решиш да deploy-ваш пускаш NFS генератора, генерираш си големите файлове и пускаш сайта в production mode с тях и всичко хвърчи :-)

Със сигурност има още неща, които бих могъл да прибавя към моята EOY декларация, но и без това стана доста дълга. В предишни години не я публикувах online, но сега реших: Що пък не? Най-малкото ще ми служи за референция след време к'ви съм ги мислел :-)

Друго нещо: може някой да реши също да публикува и той EOY декларация -- много ще ми е интересно да прочета такива декларации на колеги freelancer-и, всякакви други IT специалисти, блогъри, абе на много хора ще ми е интересно да прочета как им е минала годината, к'ви са ги свършили през нея и к'во смятат да правят през следващата :-). Чувствайте се свободни да използвате картинката горе с пергамента и EOY надписа.

Айде със здраве и ЧНГ ако не се видим скоро :-)


2 Responses to “Декларирам EOY”

  1. обяви says:

    Тези 7 години не са напълно изгубени, понеже си отделил време за да научиш нови неща и да придобиеш опит. Това е единственият +. Наистина не виждам как можеш да "пробиеш" ( да накараш другите php "програмисти" да ползват твоя framework) като вече има изключително популярни като zend framework, cake, codeigniter и другите. В момента и аз пиша мой, но главно за да ми помага за бъдещите проекти и да мога най-добре да разбера как работи ооп при php. А реално java ли трябва да знаеш за да пишеш app-ове за Android. В момента съм наблегнал доста на c/c++ :) Скоро можеби java

  2. Огнян says:

    Да, за андроид apps ти трябва Джава, освен ако не смяташ да пишеш нещо на по-ниско ниво, където вече C/C++ще ти свърши перфектна работа.

Leave a Reply

Notify me of followup comments via e-mail. You can also subscribe without commenting.

Внимание: Моля, въведете само ПЪРВИТЕ ТРИ цифри от картинката
Important: Please enter just the first three digits from the image