Feed Rss



Jan 13 2013

Курс по Test-Driven Development

категория: Разни

От край време ми се върти в главата идеята да направя курс по Test-Driven Development. Искам да систематизирам и споделя неща, над които съм разсъждавал и с които съм експериментирал последните няколко години. Съответно, скоро мисля да стане реалност. Още…


Dec 31 2012

Поглед назад IV: кратка ретроспекция на 2012

категория: Разни

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

Но вече свърши. Време е за ретроспекция.

Искам да се фокусирам над позитивното, понеже имаше и такова. Лесно е да забравиш хубавото, когато виждаш само лошото. А хубаво имаше – постигнах неща, от които съм горд. Искам да ги споделя.

Още…


Nov 08 2012

Data-Directed Programming

категория: Разни

В началото на годината, аз и няколко приятели се организирахме в SICP Study Group. Макар повечето материал досега да е основен, научих любопитни неща. Искам да разпиша едно от тях – data-directed programming.

Това е интересна идея, която продължава тази тема. Понятието „data-directed programming“ идва от SICP. Наподобява multi-dispatch (или visitor design pattern). Примерите в книгата са на Scheme, но аз ще се опитам да ги преведа на Python. Това няма да бъде най-идиоматичният Python, но пък ще бъде добра илюстрация. Направил съм [gist, съдържащ целия код][gist], така че да може да го разгледате спокойно.

Ще покажа няколко синтетични примера, които едва ли ще направя в практиката (например класове Integer и Rational). Все пак, идеите имат приложение. Първото, което ми хрумва, е работа с абстрактни синтактични дървета. Далеч не е единственото.

Проблемът

Проблемът е следният: имаме няколко типа (Circle, Square) които могат да работят с генерични операции (area, perimeter). Въпросът е как бихме могли да организираме типовете и операциите и какви биха били последствията от всеки различен начин на представяне, който изберем. Друг възможен пример е система с четири вида числа – цели, рационални, реални и комплексни, които трябва да поддържат аритметичните операции – събиране, умножение и т.н.

Ще ползвам първия пример – типове Circle и Square с операции area и perimeter. Това е изключително опростен пример, но ще свърши работа. Имайте предвид, че принципите, които предстои да илюстрирам, важат и за операции с повече от един аргумент (например събиране на две числа).

Още…


Nov 03 2012

Слайдове (и линк) от OpenFest

категория: Разни

Това са бележките от курса на MIT 6.170.

Не забравяйте за GitHub drinkup-а в неделя вечер.


Oct 23 2012

Поредния Code Retreat

категория: Разни

Съвсем накратко: този път ще бъде в Телерик и ще се проведе идната събота (27ми октомври).

Този път се опитваме да има скромно интернационално участие. Едва ли ще има повече от един-двама човека, но все пак — надеждата умира последна. Ако искате да се регистрирате, можете да го направите на balkan-coderetreat.com.


Aug 07 2012

Варна и VarnaConf

категория: Разни

Този август исках да прекарам малко време във Варна. От една страна съм уморен от столицата, от втора – море, от трета – мога да се проявя във VarnaLab и от съвсем четвърта – пътуването е фън. Оказа се, че няколко познати ще бъдат там по същото време и Радо предложи да направим малка конференция с трима-четирима лектора.

Разбира се, нещата ескалираха бързо – роди се VarnaConf. Засега е много скромни, но силно се надявам да се превърне в ежегодишна dev конференция. Но това е друга тема.

Мисля да пристигна във Варна четвъртък сутрин и да остана няколко дни след конференция. Освен презентацията на VarnaConf, мисля да направя още няколко неща.

Програмата ми, в хронологичен ред, е следната: Още…


Aug 05 2012

Нашите курсове във ФМИ 2012/2013 и evans

категория: Програмиране

През 2007 с Ники Бачийски подхванахме един избираем курс по Python. Трудно ми е да опиша колко положителни емоции и опит ми донесе. От тогава не сме спирали да го водим и дори сме пробвали няколко други (един по Rails и един по Ruby). Всъщност, Ruby-то бе миналата година и (според мен) бе най-добрия ни курс.

Вече не сме само двама. За тези шест години сме събрали малък екип от хора, които помагат по всевъзможни начини. Също така, разрастваме начинанието – тази година ще направим цели три курса – (1) Ruby през зимния семестър и (2) Python и (3) Clojure през летния. Разбира се, ако учите във ФМИ, горещо ви ги препоръчвам.

Но не пиша за това. Още не съм сигурен каква ще е моята активност в тези курсове, тъй като отново планирам местене в чужбина. Но нещо, в което съм сигурен, е че това лято ще обърна повече внимание на сайта на курса. И мисля, че това може да ви е интересно. Нека да обясня.

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


Jul 12 2012

Code Retreat №4

категория: Програмиране

За четвърти път ще организирам Code Retreat в София. Датата е 21 юли 2012, часът е 09:00. Мястото отново ще бъде в офиса на Software Society.

Ще протече както е протичал и до сега. Всички са напълно добре дошли. Ако се колебаете или имате някакви въпроси, питайте ме тук и ще ви отговоря с най-голяма радост.

Ако ще идвате, задължително е да се регистрирате на сайта на Software Society.


May 15 2012

Видео от „Майсторство в занаята“

категория: Разни

След много труд и пот от Митьо и Ася (thanks guys!), видеото е готово. Ето го:

Ето ги и слайдовете:

П.П.: Има и запис от Габрово


May 07 2012

Презентация: Майсторство в занаята

категория: Програмиране

Вчера бяхме на OpenFest Габрово (снимки от Мариян). Беше супер. Тези малки конференции извън София са страхотни и искам да има повече. Но блогвам по друга причина.

Презентацията ми се казваше „Майсторство в занаята“ и комбинира идеи, над които напоследък често разсъждавам. Хареса ми как се получи, макар че има нужда да я поошлайфам малко. По тази причина, ще я повторя в четвъртък (10ти май). Мястото е ФМИ, залата е 200, а часът е 19:15. Ще бъде част от курса по Python, но за разнообразие, няма да говоря за Python. Входът, разбира се, е свободен.

Презентацията е от две части. В първата говоря за програмирането като кариера и няколко трудни истини свързани с него. Втората съдържа няколко урока, които ми се иска да бях научил преди 10 години. Идеите много ме ентусиазират – искам да ги споделя с повече хора.

Така че – заповядайте. Ако имате проблеми с това да намерите ФМИ или залата – пишете ми и ще ви помогна. След това вероятно ще отидем да изпием по една-две бири. Може да останете за тях.

П.П.: Ще кача слайдовете по-късно тази седмица. Ще се опитам да събера част от нещата в блог пост.