<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Codito ergo sum</title>
	<atom:link href="http://skanev.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://skanev.com</link>
	<description>Блогът на Стефан Кънев</description>
	<lastBuildDate>Mon, 25 Jan 2010 18:33:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Индиректна рекурсия</title>
		<link>http://skanev.com/2010/01/25/indirect-recursion/</link>
		<comments>http://skanev.com/2010/01/25/indirect-recursion/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 18:33:02 +0000</pubDate>
		<dc:creator>Стефан Кънев</dc:creator>
				<category><![CDATA[Разни]]></category>

		<guid isPermaLink="false">http://skanev.com/?p=325</guid>
		<description><![CDATA[Всеки знае какво е проста рекурсия. Тривиално е. Далеч по-любопитно е когато рекурсията е индиректна. Намерих интересен линк по темата на блога да dzver.
]]></description>
			<content:encoded><![CDATA[<p>Всеки знае какво е проста рекурсия. Тривиално е. Далеч по-любопитно е когато рекурсията е индиректна. Намерих <a href="http://dzver.com/blog/?p=1886">интересен линк по темата</a> на блога да dzver.</p>
]]></content:encoded>
			<wfw:commentRss>http://skanev.com/2010/01/25/indirect-recursion/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Защо харесвам Java?</title>
		<link>http://skanev.com/2009/12/11/why-do-i-like-java/</link>
		<comments>http://skanev.com/2009/12/11/why-do-i-like-java/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 20:55:03 +0000</pubDate>
		<dc:creator>Стефан Кънев</dc:creator>
				<category><![CDATA[Програмиране]]></category>

		<guid isPermaLink="false">http://skanev.com/?p=319</guid>
		<description><![CDATA[Разглеждах книги в книжарницата. Видях няколко за Java и ми се прииска да ги купя. Това ме изненада &#8212; от почти две години не пиша на Java. Запитах се защо и открих, че храня много прияти спомени от това време. Не мисля, че бих започнал нов проект или бих се хванал на работа с Java. [...]]]></description>
			<content:encoded><![CDATA[<p>Разглеждах книги в книжарницата. Видях няколко за Java и ми се прииска да ги купя. Това ме изненада &#8212; от почти две години не пиша на Java. Запитах се защо и открих, че храня много прияти спомени от това време. Не мисля, че бих започнал нов проект или бих се хванал на работа с Java. Но съм научил много неща покрай него. И продължавам да научавам. Нека обясня.</p>

<p><span id="more-319"></span>
<strong>Езикът</strong> опитва да бъде прост и лесен. Конструкциите са сведени до минимум. Оставени са само най-лесните за научаване. Всичко, което е дори &#8222;малко опасно&#8220; или &#8222;малко сложно&#8220; (управление на паметта, предефиниране на оператори) или води към &#8222;съмнителни практики&#8220; (код в глобалното наименовано пространство, функции без клас) е изхвърлено. Резултатът е прост език, който се научава за една вечер. Кодът е много лесен за разбиране. Подходящ за посредствени или &#8222;не-толкова-добри&#8220; програмисти.</p>

<p>Ако за момент зарежа <acronym title="хаха, да бе. почти си повярвах">политическата коректност</acronym>: език, на който да могат да работят идиоти. Вероятно знаете, но аз вярвам, че идиотите <a href="http://skanev.com/2008/03/05/when-to-look-for-a-new-profession/">трябва да си сменят професията</a>, а не да ползват компилатор. Радикалното ми мнение настрана, не мога да харесвам език, който ми вързва ръцете.</p>

<p>Не харесвам Java задари езика.</p>

<p><strong>Платформата</strong> е невероятно добра. Или поне така казват. Чувал съм хора да твърдят, че е писана от <acronym title="забавен начин да кажеш, че авторите &#1117; не са хора; ако акронимите можеха да се влагат, тук щеше да пише 'невероятни програмисти'">извънземни</acronym>. Това досега не ме е интересувало. Почти всичкия софтуер, който съм правил се оправя страхотно с релационна база данни като PostgreSQL и интерпретативен език като Ruby. Всъщност, би се оправил дори и върху PHP и MySQL. Рядко съм изпитвал нуждата от повече. Единственото, което усещам, е че се стартира бавно и яде много памет.</p>

<p>Така че не, не харесвам Java заради платформата.</p>

<p>Обаче:</p>

<p><acronym title="количествено и качествено">Много</acronym> умни хора го правят. Бившите Smalltalk-аджии, agile общността и гурутата на обектно-ориентираното програмиране &#8212; всички те се ориентираха към Java. Предполагам защото платформата е страхотна, а езика &#8212; поносим. Това създава интересна ситуация &#8212; умни (да не кажа &#8212; брилянтни) хора ползват Java за да си свършат работата. Това довежда до редица креативни решения &#8212; книги с добри практики, нови подходи като AspectJ, framework-ци като Spring и Hibernate и прочее. Дори и Maven, всъщност. Понеже Java е прост и ограничен език, тези неща се лесни за разбиране. Могат да се демонстрират в много чиста форма.</p>

<p>Покрай Java съм научил много. Хватки за писане на автоматизирани тестове, добри практики, методологии, редица pattern-и и предимствата на IDE-та. Когато група умни хора са изправени с твърди ограничения, те достигат до нещо добро. Намират прости и елегантни начини да се справят с тях. Нужна е малко наблюдателност да ги забележиш, малко опит да ги осмислиш и малко въображение да го приложиш на друго място (например Ruby). Всичко, което съм научил като Java програмист ми е било полезно (по един или друг начин) в Ruby. Или в Python, Perl и PHP, ако става въпрос.</p>

<hr />

<p>Двете книги, от които това започна са:</p>

<ul>
<li><a href="http://pragprog.com/titles/dhnako/domain-driven-design-using-naked-objects">Domain-Driven Design using Naked Objects</a></li>
<li><a href="http://pragprog.com/titles/cwosg/modular-java">Modular Java</a></li>
</ul>

<p>Не знам дали са добри, но технологиите плюс репутацията на издателя предизвикват интерес. Някой да има наблюдения?</p>
]]></content:encoded>
			<wfw:commentRss>http://skanev.com/2009/12/11/why-do-i-like-java/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Презентации на OpenFest &#8216;09</title>
		<link>http://skanev.com/2009/11/04/openfest-09/</link>
		<comments>http://skanev.com/2009/11/04/openfest-09/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 00:31:08 +0000</pubDate>
		<dc:creator>Стефан Кънев</dc:creator>
				<category><![CDATA[Разни]]></category>

		<guid isPermaLink="false">http://skanev.com/?p=309</guid>
		<description><![CDATA[OpenFest наближава. Всъщност, твърде близо е. Толкова близо, че не разбирам защо чак сега пиша. Идния уикенд, демек. Ако не знаете &#8212; това е яка ежегодишна конференция, посветена (най-общо) на отворения софтуер. Атмосферата обикновено е страхотна, хората са готини и темите са интересни. Със сигурност ще има какво да научите. Входът е напълно свободен. Няма [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://openfest.org/">OpenFest</a> наближава. Всъщност, твърде близо е. Толкова близо, че не разбирам защо чак сега пиша. Идния уикенд, демек. Ако не знаете &#8212; това е яка ежегодишна конференция, посветена (най-общо) на отворения софтуер. Атмосферата обикновено е страхотна, хората са готини и темите са интересни. Със сигурност ще има какво да научите. Входът е напълно свободен. Няма да има live video streaming &#8212; ако сте от столицата, не си търсете оправдания, а направо заповядайте.</p>

<p>Ще имам презентация и половина.</p>

<p><span id="more-309"></span></p>

<p>Първата, <strong>Пак ли този Rails?</strong> ще бъде посветена на неща, които има малък шанс да знаете, освен ако не се занимавате с Ruby професионално. Ще покажа <strong>готиното</strong> в Rails и защо всичкия hype (който вероятно е достигнал до вас) е със стабилна причина. Дори да не знаете нищо, това ще е удобен момент да научите повече.</p>

<p>Втората ще е с <a href="http://nikolay.bg/">Ники Бачийски</a>. <a href="http://skanev.com/2009/05/02/p2p-conference-2009/">През пролетта</a> с Ники направихме <a href="http://www.slideshare.net/nbachiyski/ss-1356006">презентация</a>, на тема &#8222;Защо се занимаваме с това и как работата ни носи удоволствие&#8220;. Казахме интересни неща, но имаме да кажем още доста. Презентацията се казва <em>Щастливият програмист 2.0</em> и ще ви даде добра причина да станете рано в неделя сутринта.</p>

<p>Добре дошли сте и на двете.</p>

<p>Отвъд това, ето три други, които горещо ви препоръчвам (и на които ще бъда):</p>

<ul>
<li><strong>Как да правим пари от софтуер с отворен код</strong> от Ники &#8212; нещата свързани с Automattic са много интересни и определено имат много поуки. Компанията е изцяло виртуална, справя се много добре финансово и е основана стабилно на отворен код. Освен ако не работите там, ще изпуснете много.</li>
<li><strong>Software Craftsmanship или майсторството да правиш софтуер</strong> &#8212; това също е интересна тема, както си личи от името. <a href="http://dekaft.underlog.org/">Петьо</a> ми е един от любимите ми лектори. Двамата с Христо имат опит, от който всички можем да научим много. Би било безотговорно да пропуснете това, ако се занимавате сериозно с правене на софтуер.</li>
<li><strong>Artificial Intelligence (AI) in the System Administration</strong> &#8212; откакто показах на Мариян едно-две неща за изнасянето на презентации (хехе), не е спрял да ме изненадва с яки неща. Освен, че е добър лектор, ще говори за изкуствен интелект в системната администрация. Сериозно. Как бих могъл да го пропусна?</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://skanev.com/2009/11/04/openfest-09/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tillbaka i Stockholm</title>
		<link>http://skanev.com/2009/10/14/tillbaka-i-stockholm/</link>
		<comments>http://skanev.com/2009/10/14/tillbaka-i-stockholm/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 19:42:25 +0000</pubDate>
		<dc:creator>Стефан Кънев</dc:creator>
				<category><![CDATA[Лични]]></category>

		<guid isPermaLink="false">http://skanev.com/?p=298</guid>
		<description><![CDATA[Ще започна класически: здрасти, отдавна не съм писал тук. Много се извинявам, много неща се случват, мрън-мрън-мрън. След като уточнихме това, ето новините:


Преместих се обратно в Стокхолм.

Бях лошо подготвен за това местене, времето бе неподходящо, оставих огромен списък неща в България недовършени и осъзнах какво правя чак във влака между летището и града. От седмица [...]]]></description>
			<content:encoded><![CDATA[<p>Ще започна класически: здрасти, отдавна не съм писал тук. Много се извинявам, много неща се случват, мрън-мрън-мрън. След като уточнихме това, ето новините:
<span id="more-298"></span></p>

<p>Преместих се обратно в Стокхолм.</p>

<p>Бях лошо подготвен за това местене, времето бе неподходящо, оставих огромен списък неща в България недовършени и осъзнах какво правя чак във влака между летището и града. От седмица и половина говоря на английски, уча шведски, пътувам с метро и казвам &#8222;ursäkta&#8220; вместо &#8222;Ей, ч!&#8220;. Времето е хубаво (разбирайте: студ) и все още има слънце. След два месеца слънчевата светлина ще бъде само между 9:00-15:30. Очаквам с нетърпение.</p>

<p>Последния път взех твърде малко спомени със себе си. Купих си скъп фотоапарат, но почти не снимах. Този път реших да започна <a href="http://www.flickr.com/photos/skanev/sets/72157622474900201/">нещо във flickr</a>. Чувствайте се поканени да коментирате. Всичко, освен фотографските ми умения. Или липсата им. Понеже не мисля да заливам блога си с лични истории, flickr изглежда като добро място за това.</p>

<p>И говорейки за блога ми &#8212; статистически погледнато, блогвам най-често докато съм извън България. Само казвам.</p>
]]></content:encoded>
			<wfw:commentRss>http://skanev.com/2009/10/14/tillbaka-i-stockholm/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>12 + 1</title>
		<link>http://skanev.com/2009/07/20/bakers-dozen/</link>
		<comments>http://skanev.com/2009/07/20/bakers-dozen/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 17:57:19 +0000</pubDate>
		<dc:creator>Стефан Кънев</dc:creator>
				<category><![CDATA[Разни]]></category>

		<guid isPermaLink="false">http://skanev.com/?p=279</guid>
		<description><![CDATA[Не съм забравил за това. Имам идея за следващия пост от серията, но не ми се получава. Поне шест пъти започнах да го пиша. Добрата новина &#8212; вече знам какво и как искам да напиша. Но така и така обръщам блога си (временно) на дневник &#8212; ще направя отклонение. От един пост. Не планирам да [...]]]></description>
			<content:encoded><![CDATA[<p><em>Не съм забравил за <a href="http://skanev.com/2009/05/17/looking-back/">това</a>. Имам идея за следващия пост от серията, но не ми се получава. Поне шест пъти започнах да го пиша. Добрата новина &#8212; вече знам какво и как искам да напиша. Но така и така обръщам блога си (временно) на дневник &#8212; ще направя отклонение. От един пост. Не планирам да ми става навик. Ако има други, то ще е рядко. А и темата е странна.</em></p>

<h3>Ролеви игри</h3>

<p>Когато попитах <a href="http://twitter.com/skanev/status/2284633998">кой иска да направим една игра това лято</a>, повече хора ми казаха &#8222;На какъв език? C или C++?&#8220;. Това ми хареса, всъщност. Предпочитам да съм заобиколен от такива хора. С повечето от тези, които щяха да питат &#8222;3.5 или 4?&#8220; нямам какво да си кажа. Но сега ще говоря за такива ролеви игри.
<span id="more-279"></span></p>

<p>Сега, не ми се обяснява какво е ролева игра. Писал съм поне 5 различни статии. Обяснявал съм стотина (стотици?) пъти наживо. <acronym title="бях млад и глупав. не ме съдете сурово...">Спирал</acronym> съм хора на улицата да им разкажа. Дори съм бил в телевизонно предаване. Дотегнало ми е.</p>

<p>Но ще ви разсея заблудите, ако ги имате. Нямат нищо общо с компютрите. Не се играят с компютри. Нямат нищо общо и със смешни костюми и дървени мечове. Не се обличаме като за карнавал и не тичаме по баирите с пръчки. По-особено е. Ползваме <a href="http://en.wikipedia.org/wiki/File:Wuerfel5.jpg">странни зарове</a>. Ето ви и <a href="http://en.wikipedia.org/wiki/Role-playing_game">статия във Wikipedia</a>. Веротно ще ви се стори странно. Напълно ОК е да спрете да четете до тук. Ще ви разбера.</p>

<p>Не знам защо почнах да се занимавам с ролеви игри. Не мога да си спомня. Тепърва бях станал тинейджър, вероятно е нормално да се интересувам от странни хобита. Знам защо продължих да играя. Даваха ми нещо, което го нямаше нито в компютърните игри, нито в киното, нито в литературата. Имаше повече поле за въображение. Развиваше любопитен сет от умения. Пък и беше добър creative outlet.</p>

<p>Най-големия плюс беше интерактивността. Литературата и киното те правят наблюдател. Компютърните игри те ограничават до идеите на дизайнера. И макар много по-интерактивни, те пак са твърде ограничаващи. В ролевите игри имаш много повече интеракция. А и като бонус, можеш да упражняваш актьорските си умения.</p>

<p>Преди играех доста. Напоследък &#8212; много по-малко. Програмирането ми е далеч по-интересно. А и в него <acronym title="Добре де, трябва. И то бая. Но в RPG-то е далеч по-зле">не трябва</acronym> да се разправяш с други хора. Като живеех извън България съвсем бях спрял. Някак си, не ми се играеше толкова.</p>

<h3>Eberron</h3>

<p>Историята в една ролева игра се развива в някакъв свят. Може да е този от Властелина на Пръстените, Матрицата, Колелото на Времето, Междузвездни войни или каквото друго се сетите. Термина е &#8222;setting&#8220;. Освен сетинги от известни франчайзове, има и такива специално създадени за настолни ролеви игри. Forgotten Realms е такъв. Baldur&#8217;s Gate, Icewind Dale и Neverwinter Nights са базирани в него. Книгите на Салваторе за Drizzt Do&#8217;Urden също.</p>

<p>Сега, повечето такива неща са фентъзи. Беше забавно докато бях тинейджър. В един момент започва да става скучно. Човек престава да търси &#8222;raw power&#8220; и да предпочита дълбочина в литературата и киното. Не съм чел фантастика от няколко години. Предпочитам Айн Ранд.</p>

<p>Но <a href="http://en.wikipedia.org/wiki/Eberron">Еберон</a> е по-различен. Обикновено конфликта между добро и зло е черно-бял. В Еберон те са размити понятия. Обикновено магията е мистична и непредвидима. В Еберон тя е научна и технологична. Обикновено боговете са съществуващи и се месят в живота на хората (ала Тор и Локи). Религиозния избор е &#8222;на чия страна си&#8220;. В Еберон не е ясно дали боговете съществуват. Религиозния избор е &#8222;в кой вярваш&#8220;. Обикновено фентъзито е простичко и героично, почти наивно. В Еберон има мрачно интригантство. Никога не знаеш кой дърпа конците.</p>

<p>Магията се ползва вместо технология. Служи за комуникация, транспорт и дори градско осветление. Има огормни икономически сили, които предлагат такива услуги (магическа комуникация и транспорт) за пари. Всичко тръгва от идеята &#8222;как би се развила цивилизацията, ако по времето на ренесанса имахме надеждна магия, вместо технология&#8220;. Представено интересно, убедително и с огромна дълбочина. Познавам не един, който е казал &#8222;Никак не обичам фентъзи, но Еберон много ме кефи&#8220;.</p>

<p>И не е steampunk. Няма пушки. Няма технология. Само магия.</p>

<p><a href="http://www.wizards.com/dnd/images/eb_gallery/82112.jpg">Ето</a> <a href="http://www.wizards.com/dnd/images/eb_gallery/82143.jpg">ви</a> <a href="http://www.wizards.com/dnd/images/EPGArt/70.jpg">няколко</a> <a href="http://www.wizards.com/dnd/images/EPGArt/23.jpg">картинки</a>. Да, сред тях наистина има нещо като влак, огромен град от кули и нещо наподобяващо фентъзи робот. Не просто е пълен с шантави неща &#8212; всички те имат разумно обяснение, дълбочина и специфичен чар. Това е фентъзи света, в който <a href="http://www.wizards.com/dnd/images/EPGArt/23.jpg">ей тези</a> могат да скочат от летящ кораб върху влак движещ се с 80 км/ч за да го ограбят. Индиана Джоунс, ама фентъзи.</p>

<p><a href="http://bossythecow.com/">Човека измислил това</a> е бая умен. Занимава се с това отдавна и е добър в него. И е на <a href="http://gloomforge.livejournal.com/16646.html">околосветско пътешествие</a>. Не е толкова изненадващо, че го поканихме (аз и хората с които играя RPG) да дойде в България за няколко дни. Изненадващо е, че прие.</p>

<h3>Накратко</h3>

<p>Беше тук за пет дни. В първият пристигна късно и предимно играхме бордови игри. Вторият ходихме в Копривщица, след което ни води игра. Третият си работеше нещо. Четвъртият му показах София (и му разказах как тръгна това хоби в България). Петият минахме през Haemimont Games на път за летището. През цялото време си говорехме за ролеви игри, фентъзи и Еберон.</p>

<p>Беше невероятно вдъхновяващо. Не съм очаквал, че отново ще съм ентусиазиран покрай ролеви игри. Още по малко &#8212; че ще блогна за това. Следват разкъсани размисли.</p>

<h3>Копривщица</h3>

<p>Беше приятно, макар и дъждовно. Имаше и Ути Бъчваров. Да разказваш българската история на чужденец е&#8230; интересно. Като всеки, живял поне малко в чужбина, съм опериран от патриотизъм. Но виждайки наследството на хората, готови да жертват живота си в името на родината е&#8230; вдъхновяващо. Рядък момент, в които се почувствах горд българин. Далеч по-трудно е докато се возиш в 102.</p>

<h3>София</h3>

<p>Няколко неща го забавляваха.</p>

<ul>
<li><strong><em>Некролозите</em></strong> &#8211; изглежда &#8222;обяви на улиците за кой е починал&#8220; не е популярно назапад. Идеята го заинтригува</li>
<li><strong><em>Мавзолеят</em></strong> &#8211; отнел повече време за да бъде съборен, отколкото построен. Шантава работа.</li>
<li><strong><em>Александър Невски</em></strong> &#8211; или по-точно, колко мрачно е вътре. Повечето храмове били доста по-светли. Аз пък си мислех, че там е скучно</li>
<li><strong><em>Ректоратът</em></strong> &#8211; огромен лабиринт, в който различните крила имат различни архитектурни стилове. Търся човек, който иска да го картографираме (ден мотане вътре, предполагам).</li>
<li><strong><em>Ротодната Свети Георги</em></strong> &#8211; не знам защо. Сигурно защото е заобиколена от президентство.</li>
<li><strong><em>Бойко Борисов</em></strong> &#8211; &#8222;Чък Норис не гласува за Бойко Борисов, защото това е единствения начин, по който може да му навреди&#8220;. &#8217;nuff said</li>
</ul>

<h3>Играта</h3>

<p>Ще я помня дълго време. Ако си фен на Еберон, това да ти води Кийт Бейкър е като да гледаш Междузвездни Войни с Джордж Лукас и Харисън Форд. Не очакваш да стане ако живееш на Балканите, нали.</p>

<p>Но не беше това, че се запознахме с obscure geek celebrity. Беше това, че за първи път играх ролева игра с някой, който <strong><em>знае</em></strong> как се играят ролеви игри. Някой, който се е научил в място, където има такава култура. Понеже всички в България (с няколко малки изключения) сме се учили сами и никой не ни е показвал нищо.</p>

<p>Имам високо мнение за игрите си, както и уменията на хората, с които играя. Но след 5 часова игра, всички се почувствахме като абсолютни n00b-ове. Той не просто играеше игра &#8212; той правеше изкуство. Тримата <acronym title="Dungeon Master">DM</acronym>-а там бяхме на едно и също мнение &#8212; &#8222;Копеле, от сега игрите ми ще са пъти по-яки&#8220;. Успя да ни вдъхнови. Да видим как ще вдигнем летвата.</p>

<p><em>(fantasy terms alert)</em></p>

<p>Групата беше: <acronym title="changeling">подменен</acronym>, коболд <acronym title="sorcerer">чародей</acronym>, гоблин rogue, минотавър варварин и върколак. Развиваше се в <acronym="Graywall">Сивостен</acronym> по заръката на дъщерите на Сора Кел. Въобще, шантава работа. Има две неща, които искам да спомена.</p>

<p><strong><em>Интригата</em></strong>. Преследвахме един магьосник. Дъщерите искаха да го заловят и да го ползват в собствените си планове. Но трима от героите имаха тайна цел. Единият беше предател и искаше да отвлече магьосника за собствения си господар. Друг искаше да му отмъсти за това, че е убил 320+ негови роднини и приятели през войната. Третият пък знаеше, че има предател и искаше да го изобличи. Това създаде много интересна динамика. Никой от играчите не знаеше за мотивацията на другите. Освен че преследвахме основната цел (да го намерим), всеки кроеше планове как да постигне своята лична.</p>

<p><strong><em>Живописността</em></strong>. Изумен съм колко живо Кийт описваше всичко. Интеракцията с неигровите персонажи беше невероятно яка, описанията на местата &#8212; много пъстри, а битките &#8212; кинематографични. Трудно ми е да го опиша. Всъщност, не мога да го опиша. Ще повторя &#8212; всички се чувстваме като абсолютни аматьори след неговото представление. Репликата на един от играчите беше &#8222;Не знам, ама докато играеше оня night hag, аз настръхнах&#8220;.</p>

<h3>Всичко останало</h3>

<p>Избрах да играя този сетинг заради дълбочината му, но когато имаш шанс да го обсъждаш с автора му, откриваш още повече детайли. Научихме много за интересните елементи от света и тяхната мотивация. Играхме на английски. Разбрахме как играят и водят на запад. Слушахме интересни истории за DnD. Играхме Monopoly с героите на Лъвкрафт. Беше невероятна зарибявка. Дано има повторение. Ето и <a href="http://www.flickr.com/photos/skanev/sets/72157621436632565/">снимки</a>.</p>

<h3>Епилог</h3>

<p>Изненадващо, но след това ми се доиграха ролеви игри. Най-вече с хора, с които не съм играл. Ако проявявате интерес, контактите ми са <a href="/contact">тук</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://skanev.com/2009/07/20/bakers-dozen/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Малка Rails конференция</title>
		<link>http://skanev.com/2009/06/24/a-small-rails-conference/</link>
		<comments>http://skanev.com/2009/06/24/a-small-rails-conference/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 09:46:53 +0000</pubDate>
		<dc:creator>Стефан Кънев</dc:creator>
				<category><![CDATA[Програмиране]]></category>

		<guid isPermaLink="false">http://skanev.com/?p=271</guid>
		<description><![CDATA[С помощта на хората от linux.bg конференциите ще направим скромна конференция на тема Ruby on Rails в София. Официалната новина за събитието е тук. Ето и моя съкратен преразказ:

Някъде прочетох, че ключът към провала е да опитваш да удовлетвориш всички. Но Bill Cosby е предпоследният, от който ще приема бромид (след Homer Simpsons) &#8212; и [...]]]></description>
			<content:encoded><![CDATA[<p>С помощта на хората от <a href="http://conf.linux-bg.org/">linux.bg конференциите</a> ще направим скромна конференция на тема Ruby on Rails в София. Официалната новина за събитието е <a href="http://techcamp.eu/2009/06/21/rails-конференция-27-06-2009/">тук</a>. Ето и моя съкратен преразказ:</p>

<p><a href="http://twitter.com/ildalina/status/2221064610">Някъде</a> прочетох, че ключът към провала е да опитваш да удовлетвориш всички. Но Bill Cosby е предпоследният, от който ще приема бромид (след Homer Simpsons) &#8212; и точно това ще се опитаме да направим. Под всички имам предвид диапазона между опитните &#8222;Релсисти&#8220; и хората без никаква идея от Ruby on Rails.</p>

<p>Ако сте във втората група, би трябвало цялото събитие да ви е интересно. Но <strong>първата част</strong> ще е специално за вас. Ще започнем със стабилно въведение в технологиите и ще завършим с &#8222;живо кодене&#8220; на просто приложение. Така първо ще чуете как стават нещата, а после ще може и да видите. И разбира се, да ни питате за всичко, което не разбирате.</p>

<p><strong>Втората част</strong> част таргетира хората работещи с Rails. Въпреки това, темите са много и интересни и дори да сте разбрали за Rails в същия ден, ще бъдат добра инвестиция на време. Има силен акцент върху автоматизирано тестване &#8212; и двете теми ще ви бъдат от полза, независимо дали сте опитен <acronym title="Test-Driven Developer">TDDer</acronym> или искате да научите за това тепърва.</p>

<p><strong>Започваме в 10:00 часа сутрина (а не в 13:00 следобяд).</strong> Можете да видите цялата програма <a href="http://techcamp.eu/2009/06/21/rails-конференция-27-06-2009/">тук</a>.</p>

<p>Дотук се простират уменията ми да пиша промотиращи текстове. Отвъд това, ще се радвам да се видим там.</p>
]]></content:encoded>
			<wfw:commentRss>http://skanev.com/2009/06/24/a-small-rails-conference/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Субективно</title>
		<link>http://skanev.com/2009/06/17/sub-subjective/</link>
		<comments>http://skanev.com/2009/06/17/sub-subjective/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 03:10:20 +0000</pubDate>
		<dc:creator>Стефан Кънев</dc:creator>
				<category><![CDATA[Разни]]></category>

		<guid isPermaLink="false">http://skanev.com/?p=267</guid>
		<description><![CDATA[
  Имаше народна приказка за Синдил-Пиндил и Джаста-Праста. И двете трябвало
  да си ушият рокли, за да се хванат на хорото. Когато дошло времето за хорото, 
  Джаста-Праста отишла, роклята и висяла на разни страни и изглеждала жалко
  и нелепо. През това време Синдил-Пиндил още шиела роклята си и плачела.


Гледам това [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
  <p>Имаше народна приказка за Синдил-Пиндил и Джаста-Праста. И двете трябвало
  да си ушият рокли, за да се хванат на хорото. Когато дошло времето за хорото, 
  Джаста-Праста отишла, роклята и висяла на разни страни и изглеждала жалко
  и нелепо. През това време Синдил-Пиндил още шиела роклята си и плачела.</p>
</blockquote>

<p>Гледам това от три седмици. Убеден съм, е в тая история трябва да има поука. Нямам никаква идея каква, обаче. И е толкова по-интересно, когато авторът ми я е спестил&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://skanev.com/2009/06/17/sub-subjective/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Софтуерно и строително инженерство</title>
		<link>http://skanev.com/2009/05/24/software-and-civic-engineering/</link>
		<comments>http://skanev.com/2009/05/24/software-and-civic-engineering/#comments</comments>
		<pubDate>Sun, 24 May 2009 14:02:33 +0000</pubDate>
		<dc:creator>Стефан Кънев</dc:creator>
				<category><![CDATA[Разни]]></category>

		<guid isPermaLink="false">http://skanev.com/?p=255</guid>
		<description><![CDATA[Обичам софтуерните метафори. Правят процеса на разработване по-разбираем. Любимата ми: разработването на софтуер сравнено със строенето на сгради. Много общи неща. А и архитектурата е ужасно близка (философски) до програмирането. Но започвам да си мисля, че сравнението е лошо.

Строителното инженерство работи със стомана и бетон. Веднъж като положите основите, не може да преместите сградата 20 [...]]]></description>
			<content:encoded><![CDATA[<p>Обичам <a href="http://skanev.com/2007/03/09/software-metaphors/">софтуерните метафори</a>. Правят процеса на разработване по-разбираем. Любимата ми: разработването на софтуер сравнено със строенето на сгради. Много общи неща. А и архитектурата е ужасно близка (философски) до програмирането. Но започвам да си мисля, че сравнението е лошо.
<span id="more-255"></span>
Строителното инженерство работи със стомана и бетон. Веднъж като положите основите, не може да преместите сградата 20 метра вляво. Когато вдигнете &#8222;скелета&#8220;, нова подредбата на стаите би отнела много време и пари. Ако ми построите къща, която не ме устройва, няма да е тривиално да я преправите. В софтуера и строителстовто има обща черта &#8212; промените са скъпи. Затова и метафората е популярна.</p>

<p>Но има съществена разлика &#8212; в софтуерното разработване имаме начин да се справим с това &#8212; гъвкавите методологии. Целта им е да направят промените евтини &#8212; дори част от процеса. Постигат се с номера като unit тестове, продължителна интеграция и итериране по feature-и (а не по модули). Дори може да направите бърз прототип, за да видите дали крайното решение ви устройва. Не може да кажете на архитект да ви размени първия и третия етаж по средата на строежа. Или да ви постори примерна къща, за да &#8222;видите&#8220; дали е това, което си представяте. Но може да го кажете на програмист.</p>

<p>И тъй &#8212; мисля си, че не трябва да прекаляваме с тази метафора. Софтуера е като строене на сгради, но само донякъде. Имаме редица инструменти, с които един строителен инженер не разполага по дефиниция. Не бива да се лишаваме от тях психологически.</p>

<p>Уви, нямам по-добра метафора. Чувал съм за градинарство, писане и шофиране, но всички улавят само малък аспект, влачейки премного грешни импликации. Толкова уникално ли е това, което правим?</p>
]]></content:encoded>
			<wfw:commentRss>http://skanev.com/2009/05/24/software-and-civic-engineering/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Поглед назад II: Перфектното, враг на доброто</title>
		<link>http://skanev.com/2009/05/21/perfect-against-good-enough/</link>
		<comments>http://skanev.com/2009/05/21/perfect-against-good-enough/#comments</comments>
		<pubDate>Thu, 21 May 2009 11:18:25 +0000</pubDate>
		<dc:creator>Стефан Кънев</dc:creator>
				<category><![CDATA[Поглед назад]]></category>

		<guid isPermaLink="false">http://skanev.com/?p=248</guid>
		<description><![CDATA[Това е част от серия постове, в които описвам сблъсъка си със света последните две години. Как въобще ми хрумна е документирано тук.

&#8211; Ти си твърде голям перфекционист. Винаги искаш да правиш нещата по академично коректния начин. Искаш да е перфектно. Не разбираш, че в бизнеса това не важи. Човек не трябва да се стреми [...]]]></description>
			<content:encoded><![CDATA[<p><em>Това е част от <a href="http://skanev.com/category/thoughts/looking-back/">серия постове</a>, в които описвам сблъсъка си със света последните две години. Как въобще ми хрумна е документирано <a href="http://skanev.com/2009/05/17/looking-back/">тук</a>.</em></p>

<blockquote>&#8211; Ти си твърде голям перфекционист. Винаги искаш да правиш нещата по академично коректния начин. Искаш да е перфектно. Не разбираш, че в бизнеса това не важи. Човек не трябва да се стреми към най-якия код въобще. Перфектното е враг на доброто. Няма нужда да е написано правилно &#8212; важното е да работи.</blockquote>

<p><span id="more-248"></span></p>

<p>Не мога да преброя колко пъти съм чувал горното. Събеседниците ми рядко са били прави. Лошото е, че това е напълно валиден аргумент. Но аз съм много далеч от академично коректен. Въпреки това, вярвам че нещата трябва да станат по правилния начин. Или по един от правилните начини. Иначе няма да станат. Все пак, това е дефиницията на &#8222;правилен&#8220;.</p>

<p>Но ако съм оставил у вас впечатлението, че съм фанатик на тема чист код/добри практики, нека се опитам да си изчистя името.</p>

<h3>Уроци от agile</h3>

<p>На помня коя беше книжката. Жалко, понеже имаше още добри съвети. Този гласеше:</p>

<p>В един проект може да разглеждаме четири компонента:</p>

<ul>
    <li><strong>Maintability</strong> &#8212; възможността да правим промени и да откриваме грешки в проекта за по-малко време. Инцидентно ни дава възможност нови програмисти да стават ефективни за по-малко време. Свързано е с добри практики при писането на кода, добър дизайн, повече автоматизирани тестове и документация, където е нужно.</li>
    <li><strong>Scope</strong> &#8212; колко цялостно решава проблема на клиента. Ако приемем, че feature-ите са фиксирани, да намаляваш scope-а значи да ги опростяваш, така че да продължава да ги има, но да покриват по-малко нужди. Да разширяваш scope-а значи да ги обогатяваш, така че да покриват повече нужди. Може да се мисли за това и като брой feature-и.</li>
    <li><strong>Време</strong> &#8212; колко календарно време ще отнеме проекта. Дали ще е готов утре или следващия месец.</li>
    <li><strong>Бюджет</strong> &#8212; колко струва.</li>
</ul>

<p>Урокът беше следния: ако не покривате целта си в един от компонентите, може да го направите като инвестирате в някой от останалите три. Например:</p>

<ul>
    <li>Може да намалите feature-и (scope) за да спестите пари (бюджет)</li>
    <li>Може да наемете още програмисти (бюджет) за да покриете сроковете (време)</li>
    <li>Лошия код се пише по-бързо, но по-трудно се поддържа. Жертвате maintability за време</li>
    <li>Може да ограничите изискванията (scope) с цел дизайна на приложението да остане прост (maintability)</li>
    <li>Ако фиксирате времето (release след месец) и програмистите ви казват &#8222;няма да стане&#8220;, знате че трябва или да жертвате поддръжката, или да намалите feature-ите или да наемете още хора</li>
</ul>

<p>Един сходен подход твърдеше, че можеш да фиксираш едното и трябва да приемеш другите за плаващи.</p>

<p>&#8222;Правилно&#8220; значи да изберете конфигурация, удовлетворяваща нуждите на клиента. Да не правите повече, отколкото трябва. Да не харчите пари, които нямате. Да не се престаравате с поддръжката, ако приложението няма да живее дълго. Да инвестирате в нея иначе.</p>

<p>Очевидно има повече от една конфигурация. Има по-правилни и по-грешни подходи. Има близки подходи. Има тотално неподходящи подходи.</p>

<p>Но разбирането ми за &#8222;правилно&#8220; не е свързано с добрите практики, а с прилагането им прагматично. &#8222;Академичното&#8220; няма нищо общо.</p>

<h3>Загубени в превода</h3>

<p>Човекът, който ме нарича &#8222;твърде голям перфекционист&#8220; &#8212; антагонистът в тази история &#8212; е програмист. Той е интелигентен. Разбира. Уверен е. Правил е работещ софтуер. Шефовете имат високо мнение за него. Открил е, че най-важното е софтуера да работи както клиента иска, а не колко добре е написан.</p>

<p>И отнякъде е чул, че &#8222;перфектното е враг на доброто&#8220;. Прочел е цяла библиотека за предприемачество, мениджмент или създаване на бизнес, но нито една за най-важното &#8212; ръководенето на софтуерен проект. Знае кой е Гай Кавазаки, но не знае кой е <a href="http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959">Фредерик Брукс</a>.</p>

<p>Героят ми не е конкретен индивид. Той е сборен образ. Клас от хора. И когато някоя инстанция на този клас ми каже, че съм &#8222;твърде голям перфекционист&#8220; се ядосвам.</p>

<h3>Перфектното е враг на доброто</h3>

<p>Това е напълно валиден аргумент.</p>

<p>Също така, това е последният урок във всяка методология. Разбираш как да се изправиш срещу хаоса на софтуерното разработване и да внесеш ред. Става с принципи и дисциплина. Разбираш защо тестовете пестят пари и време. Защо чистият дизайн прави проекта много по-евтин за поддръжка. Защо не трябва да оставяш <a href="http://skanev.com/2007/10/30/broken-windows/">счупени прозорци</a>. Защо практиките трябва да се прилагат &#8222;по книга&#8220;.</p>

<p>Чак когато разбереш всичко това, научаваш че перфектното е враг на доброто. Че добрите практики трябва да се прилагат прагматично, не канонично. Че тестовете, рефакторингът и БД дизайнът се ползват докато нещата станат достатъчно добри. Но не отвъд това. Че не ти трябва шеста нормална форма, 100% покритие на тестове или пети рефакторинг на този компонент. Посланието е &#8222;ползвай всички тези принципи, но не изпадай в крайности&#8220;.</p>

<p>Моят герой не го разбира така.</p>

<h3>Something for nothing</h3>

<p>Моят герой не е извървял пътя &#8212; някой му е преразказал заключението. Не разбира контекста на поговорката. Не би направил разлика между добро, перфектно и <a href="http://www.joelonsoftware.com/articles/fog0000000018.html">архитектурна астронавтика</a> &#8212; просто няма нужните познания. Но е разбрал малка част &#8212; &#8222;ОК е да се движим срещу добрите практики&#8220;. Не знае кога е ОК, не знае защо е ОК. Знае само че е.</p>

<p>И разбира &#8222;ползвайте добрите практики щедро, но в граници&#8220; като &#8222;не ползвайте добри практики, освен в краен случай&#8220;. Но за него крайният случай е ежедневие &#8212; отдавна се е превърнал в норма. И те си остават само по книжките, които лицемерно стоят в библиотеката близо до бюрото му.</p>

<p>Има подходяща дума за такива хора: аматьори.</p>

<h3>Изводи</h3>

<p>До такава степен съм се наплашил от тях, че се опитвам да избягвам думата &#8222;правилно&#8220; във всякакви разговори. Когато <a href="http://dzver.com/blog/">Веселин</a> каже &#8222;да програмираш правилно&#8220; ми идва отвътре да започна да обяснявам, че не е важно това &#8212; важно е да работи. Понякога дори го казвам. После се усещам, че говоря глупости, в които дори не вярвам. Докъде водят опитите за толерантност.</p>

<p>Така че първият ми извод е: аматьорщината може да бъде заразна.</p>

<p>Вторият е: трябва да се науча да се справям с такива хора. Да им обясня какъв е смисълът на добрите практики, да ги убедя да прочетат <a href="http://www.amazon.com/Extreme-Programming-Explained-Embrace-Change/dp/0201616416">някоя</a> <a href="http://www.pragprog.com/titles/pad/practices-of-an-agile-developer">друга</a> <a href="http://www.amazon.com/Head-First-Software-Development-Pilone/dp/0596527357">книжка</a>. Да им покажа, че смисълът на поговорката им е друг.</p>

<p>А в крайна сметка, ако са твърде упорити, да не се занимавам с тях. Живота е твърде къс да си губиш времето с глупости. Пък и не ми е цел да отварям очите на хората &#8212; предпочитам да се възприемам като ученик, не като учител.</p>
]]></content:encoded>
			<wfw:commentRss>http://skanev.com/2009/05/21/perfect-against-good-enough/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Поглед назад I: 07-09 от птичи поглед</title>
		<link>http://skanev.com/2009/05/19/07-09-from-bird-view/</link>
		<comments>http://skanev.com/2009/05/19/07-09-from-bird-view/#comments</comments>
		<pubDate>Tue, 19 May 2009 10:32:11 +0000</pubDate>
		<dc:creator>Стефан Кънев</dc:creator>
				<category><![CDATA[Поглед назад]]></category>

		<guid isPermaLink="false">http://skanev.com/?p=243</guid>
		<description><![CDATA[Това е част от серия постове. Ако се чудите откъде е дошло, може да разберете тук.

Завръзката започна преди около две години. Работех работата, на която съм се чувствал най-добре. И работата, в която изкарвах най-малко пари. Повечето ми колеги не ги биваше и отношенията ми с шефа бяха&#8230; особени. Въпреки че имаше и добри, аз [...]]]></description>
			<content:encoded><![CDATA[<p><em>Това е част от <a href="http://skanev.com/category/thoughts/looking-back/">серия постове</a>. Ако се чудите откъде е дошло, може да разберете <a href="http://skanev.com/2009/05/17/looking-back/">тук</a>.</em></p>

<p>Завръзката започна преди около две години.<strong> </strong>Работех работата, на която съм се чувствал най-добре. И работата, в която изкарвах най-малко пари. Повечето ми колеги не ги биваше и отношенията ми с шефа бяха&#8230; особени. Въпреки че имаше и добри, аз се държах като пълен гъз. Имах най-добрите възможни намерения и най-лошото възможно изпълнение. Имам един характерен начин, по който всички опити да направя някому добро пропадат с гръм и трясък.
<span id="more-243"></span>
Годините преди това бяха <em>the time of my life</em>. Научих страшно много, работех с огромен кеф и мотивация. Бях доста продуктивен. Прекарвах уикендите в офиса &#8212; не защото някой ме караше, а защото беше твърде интересно и не можех да се сдържа. Ръководех екип. Общувах с клиенти. Правех архитектура. Ползвахме extreme programming. Кодът ни беше железен. Бях на върха си &#8212; знаех по-малко от сега, но струвах повече.</p>

<p>Но имаше нужда от промяна. Две неприятни събития в личния ми живот дойдоха твърде много. Вкараха ме в депресия, демотивираха ме. Промениха ме. А във фирмата се бяха насъбрали твърде много неща. Имаше нужда от промяна.</p>

<p>Решението за тази промяна дойде на <strong>УебТеха през 2007</strong>. Беше приключил и пътувах към Каварна, когато взех решение &#8212; ще намеря друга работа. Не знаех нито къде, нито какво. Щях да ползвам месеца предизвестие да разбера.</p>

<p>В крайна сметка, заминах да работя и живея в Швеция. Не очаквах тази възможност. Казах &#8222;чао&#8220; на приятелите си, стегнах куфара, взех три книги, малко дрехи и започнах нов живот.</p>

<p>Не познавах българи. Не знаех шведски. Нямах спестявания. Имаше един човек, с когото имах приятелски отношения. Той работеше в друга фирма. Беше най-голямото предизвикателство в живота ми. Както и това, с което се справих най-блестящо.</p>

<p>Там разбрах как светът работи. Разбрах какво движи хората. Живота в друга страна е труден за описване. Човек научава много. Израства. Жалко, че <strong>повечето уроци ми изчезнаха от главата няколко месеца, след като се върнах в България</strong>.</p>

<p>Фирмата беше съвсем различна. Бяхме 4 програмиста и 40 sales човека. Последните бяха едни от най-добрите в Стокхолм.  Докарваха много пари. Бяха от класа. Ежедневно виждах как манипулират хора, по начин който смятах за невъзможен. Научих бая.</p>

<p>Програмистите бяха интересни. Единият се занимаваше повече с ръгби и дизайн, отколкото с програмиране. Беше добър професионалист, макар и неуверен. Вторият бе абсолютен идиот &#8212; част от решението ми да се върна в България. Малко, жалко човече. Благодарен съм му за урока. Последният няма значение за този разказ.</p>

<p>Бяхме част от голяма корпорация с флегматична и консервативна култура. Средата, в която можех да свършвам седмичната работа за ден. Но бях професионален и не се скатавах. Все пак имах достатъчно време да усъвършенствам уменията си и да науча нови неща. Работата не беше предизвикателна. Въпреки това, тогава имах най-добрите идеи.</p>

<p>Животът беше много добър. За първи път бях заобиколен предимно от хора, с които се разбирах. Имах страхотен приятелски кръг. Живях интровертно, но добре.</p>

<p>После реших да се върна. Имаше две причини. Идиотът се беше наплаши, че никой не го харесва и реши да напусне. Мениджърът реши проблема класно &#8212; направи го lead. Класика. А в София се отвори възможност &#8212; двама приятели с фирма търсеха трети. Офертата им беше скромна, но това беше без значение &#8212; предпочитах да работя с добри програмисти и да заработвам собствения залък, пред многото пари.</p>

<p>До ден днешен се чудя дали това бе правилното решение. Денят, в който се върнах София бе денят, в който онзи колега обяви че напуска. Сега фирмата има много добър екип. Имах добри приятели и живеех добре. Пък и Стокхолм е много по-хубаво място от София.</p>

<p>България беше шок. Имах нужда от месец да се адаптирам. След което &#8212; да се депресирам. Не ми се обяснява защо, но първите месеци не бях на себе си. Дори да не го показвах, се чуствах ужасно. Но после свикнах &#8212; човек се адаптира към всичко.</p>

<p>Имаше и още една причина да се върна &#8212; курсовете във ФМИ. И до ден днешен не знам защо ги започнах. Но имам много ясна идея защо продължавам. И въпреки, че напоследък ми донасят само негативни емоции, ще продължавам да се занимавам докато мога. Стига ми да видя, че сме вдъхновили поне един човек да бъде по-добър. Но за това ще разказвам по-натам.</p>

<p>Работата с двамата приятели не вървеше. На ден първи забелязах, че всичко ще се сгромоляса, но не исках да си го призная. Отношенията им бяха натегнати. Работеха в различни стаи. Единият не искаше да сподели нищо и да работи с нас. Другият всячески се опитваше да оправи ситуацията, удряйки на камък. Това и шока от завръщатено &#8212; дойде ми отгоре. Не знаех как да реагирам. Бях пасивен. Не разбирах какво се случва и ме беше страх да опитам да разбера. Вършех лоша работа. Не схващах изискванията на клиентите. Почти не говорих с тях. Не знаех какво точно правя. Мотахме се из офиса с празни погледи и без цел.</p>

<p>Личеше си накъде върви &#8212; скарахме се и прекратихме работа. Не се получи. Стресът идваше отгоре. Единият взе голямо житейско решение, което май бе правилно. Другият постъпи&#8230; лошо. Не ми се навлиза в детайли, защото нито са приятни, нито има смисъл. Ако бях действал другояче, вероятно щеше да стане по-добре. Вместо това се скарах с хора, с които исках да работя. Човек се учи от грешките си.</p>

<p>Така реших да си дам няколко месеца почивка. Бях изкарал достатъчно пари &#8212; можех да си позволя. Консултирах от време на време, но преследвах предимно други интереси. Позанимавах се повечко с музика. Опитах се да се науча на саксофон. Нямах голямо развитие, но беше забавно. Прочетох няколко книги. Попътувах. Прекарах десетина дни в Стокхолм, консултирайки.</p>

<p>След това реших да намеря друга работа. Така и направих. Щях да се занимавам с Rails. Един от хората с които щях да работя бе супер добър. Проекта изглеждаше супер интересен. Мислех, че ще е забавно и продуктивно. Не знаех колко греша.</p>

<p>Може би това е работата, от която трябва да си взема най-много изводи. Кодът беше ужасен. Не просто имаше счупени прозорци &#8212; липсваха стени. Културата беше каубойска. Нямаше итерации, планове или дори ясно формулирани цели. Най-организираното нещо беше ticket-oriented development-а. Изпитвах физическа болка от повечето работа &#8212; правех кръпка върху кръпка и губех повечето време в глупости. Кодът ми не правеше нещата по-добри &#8212; влошаваше ги. На никой не му правеше впечатление &#8212; по-важно беше да ship-нем.</p>

<p>Ако имах малко повече смелост, трябваше да си тръгна след първата седмица. Но реших да го давам на инат. След първия месец бях ужасно депресиран. Занаята, който толкова много обичам вече не ми донасяше удоволствие. Правех всичко с нежелание и без мотивация. Все още се изненадвам колко упорит съм бил.</p>

<p>Не можех да си обясня как тези хора можеха едновременно да ползват Rails и да правят такива ужасии. Ума ми не го побираше. Това далеч не беше най-лошият код, с който съм се борил. Но хората, които го бяха произвели въобще не бяха идиоти. Имаха опит и бяха добри с други технологии. Бяха професионални. Но не знаеха Rails. И не искаха и да го научат. Нямаха идея какво е technical debt. Не ме притеснява гледката как глупак прави глупости &#8212; това е съвсем естествено &#8212; няма защо да ме ядосва. Но когато интелигентни хора произвеждат код с такова качество&#8230; умът ми не го побира. Беше сюреалистично.</p>

<p>Бях депресиран. Постоянно. Казвах си, че кодът не е толкова важен. Че трябва да се държа професионално. Че малко по малко нещата ще се оправят. Че като завършим тази версия, ще пооправим бозите. Че при всяка възможност ще подобрявам качеството на продукта. Бях единствения, на който това дори му хрумваше. Но само си хвърлях прах в очите. Вървях срещу един от принципите си и срещу един от уроците, които научих още преди да намеря първата си работа.</p>

<p>Тогава и започнаха да се появяват проблемите ми с ръцете. Просто една вечер и китките ми започнаха да ме болят. Дори докато пиша това, едната продължава. Винаги съм си пазил ръцете. Това ме хвана неподготвен. Първоначално си мислех, че ще отшуми. Но продължи дни. После седмици. После месеци.</p>

<p>Винаги съм знаел, че каквото и да става, ще мога да изкарвам прехраната си с програмиране. Достатъчно добър за да не се притеснявам за намиране на работа. Но мисълта, че ръцете ми няма да ми позволят, ме плашеше. По два различни, ужасяващи начина. Не знаех дали ще мога да си изкарвам прехраната и покрива. И още по-лошо, не знаех дали ще мога да правя това, което най-много обичам да правя.</p>

<p>Лекарите с нищо не помогнаха. Видях пет-шест такива. Всеки имаше различни идеи за заболяването, сериозноста и начина на лечение. Една дама дори ми каза &#8222;Не знам какво ти е, но може да ти направим операция&#8220;. Хирурзи. Пробвах много неща и почти нищо не помогна. Не мога да опиша колко е ужасно да чакаш и да си чудиш &#8212; дали живота ще се развие така, като си го запланувал или ще търсиш нова професия? За щастие, сега съм по-добре. За нещастие, не съм сигурен дали се подобрявам или стоя на едно място.</p>

<p>Депресията от работата плюс депресията от ръцете не бяха фън заедно. Няколко тежки месеца. Накрая приключих с тази работа и се отдадох почивка. Този път по здравни причини.</p>

<p>В почивката имаше конструктивни неща. Една много хубава конференция във Велико Търново. sofia.rb. Запознах се с няколко готини човека. Ръцете ми започнаха да се пооправят, макар че още не се чувствам комфортно работейки. Опитвам се да freelance-вам, но да не хващам работа на пълен работен ден. Освен ако не съм уверен, че ще ми хареса. Но да не изпреварвам събитията.</p>

<p>Това бяха последните две години от много високо. В следващите няколко поста ще навляза в детайли. Ще разкажа за курсовете, за работата, за хората, направили впечатление. За грешките, които допуснах. И надявам се, изводите до които достигнах.</p>

<h3>Изводи</h3>

<p>Много пъти бях пасивен. Чаках събитията да се развият, вместо да поема инициативата. &#8222;Хвърлих се на съдбата&#8220;, вместо да си я кова сам.</p>

<p>Минаха много събития, от които не извадих извод. Трябва да се анализират поотделно.</p>
]]></content:encoded>
			<wfw:commentRss>http://skanev.com/2009/05/19/07-09-from-bird-view/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
