Весела коледа

Весела коледа! Всички да сте здрави, живи, щастливи и да получите готини подаръци. И там каквото друго се пожелава.

Чудите се какво? Ми просто:

30 oct = 24 dec

Зацепихте, нали? Нали? Яко, а? А?

Счупени прозорци

Не, не става въпрос за Windows. Става въпрос за една интересна теория. Хорицата са изучавали как хубав квартал се превръща в гето. Изводът – с един счупех прозорец. Именно. Забелязали са, че ако една сграда има един счупен прозорец е много вероятно по-вероятно вандали да почнат да чупят и другите. Същото важи и за боклука по тротоарите. Докато е чисто, никой не хвърля. Но почне ли да се събира, мотивацията на хората да не замърсяват намалява. И скоро стъпвате по хартиени чаши, смачкани кутии от цигари, остатъци и от дюнери и всякакви други гадости.

Какво е общото между това и тематиката на блога ми? Същата тенденция я има в софтуера. Continue reading

Stack envy

Геди Лий е култов. Това е басист/клавирист/вокалистът на Rush. В тяхното трио барабанистът стои в средата на сцената, а отляво е китаристът. Зад последния има голямо количество апаратура (и динозаври) по време на концертите, но зад Геди Лий е празно. И понеже той завижда, е решил да постави в своята част три големи печки за пилета (като тия във Фантастико). И по време на концерта излизат готвачи, които се грижат за манджата. Съответно:

Stack Envy

Яко, а?

Deadlock

Установих, че и хората могат да изпаднат deadlock. Например – спи ми се, но в момента съм се излегнал на дивана и си цъкам. Твърде много ме мързи за да изключа компютъра и да се преместя на леглото. Но не мога да заспя така както съм в момента. Ерго, в deadlock съм.

Гадна работа.

Table-Driven

Това за което ще пиша е един подход за организиране на кода. Срещал съм тази идея под различни имена – Table-Driven Approaches и Data-Driven Programming. Много пъти съм получавал много по-прост и разширяем код с този подход. И понеже ми е малко трудно да обясня на теория, първо ще дам няколко примера и после ще коментирам.

Continue reading

rm * .log

Хъм. Отдавна не ми се беше случвало да си изтрия файловете без да искам. Но днес ми се случи. И то кода, който писах последните две седмици. С rm * .log. Коварно. Не очаквах този удар под кръста от bash. За щастие, вчера пратих едно tar.gz точно с тия файлове, а промените днес бяха малко и успях да ги възстановя за около 30 минути. Обаче беше див късмет. Щях да загубя доста работа, ако ме беше домързяло на предния ден. Поуките са две:

  • Ползвайте version control винаги. Ама винаги. Не е нужно да е сървър в локалната мрежа или интернет. Subversion например може да държи хранилище на харда. Освен, че ще сте предпазени от собствената си глупост (и моята, ако ми позволите да стъпя на компютъра ви), ще може и да видите онзи код, който изхвърлихте преди няколко дена, в който все пак имаше нещо полезно.
  • Не ползвайте ext3. Сериозно. Има ли някаква форма на undelete/recover за това нещо? Аз поне не намерих…

На някой друг да му се е случвало нещо подобно?

Кой е Джон Голт?

Много ме изненада, че търсене в гугъл за „Кой е Джон Голт“ не връща никакви резултати. И ми се стори много забавно. Съответно, този кратък пост се опитва да реши проблема.

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

Ако не разбрахте в кой ред на мисли или смисълът на този пост ви се губи, просто го подминете без коментар.

The Pragmatic Programmer

Най-накрая прочетох една важна и основна книга на софтуерния занаятчия: The Pragmatic Programmer: From Journeyman to Master. Страхотна е. Фокусът е върху практическите (прагматичните) и полезни неща, като всяка идея е много добре аргументирана и представена. Аз научих много неща от нея:

  • как да си опростя процеса
  • за какво да внимавам като правя refactoring
  • как да си организирам кода, че да може да се тества особено лесно
  • някои особено хитри начини да държа проекта добре документиран

Тази книга не ви учи как да пишете код. Учи ви как да разработвате софтуер. И то по особено приятен и прагматичен начин.

Най-мъдрите неща в нея са разпръснати в 70 съвета из целия текст. Първият е „Care about your craft“, а последния – „Sign your work“. Философията на човека, който наистина обича да прави софтуер, а не просто да отбива номера от 9 до 5. Ако сте сред тези хора, книгата определено ще ви хареса. Ако не – как въобще попаднахте на този блог? 🙂