Feed Rss



Jul 22 2010

<CTRL-[HWUM]>

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

Enter и Backspace са ми едни от най-трудните клавиши за натискане. Докато се опитвам да минимизирам употребата на втория, първия е задължителен. Натискам с извиване на китката (без да си местя ръката) за да не изтърва home row-а. Това не е никак здравословно – проблемите ми с ръцете започнаха когато правих това на по-голяма клавиатура.

От известно време нося накитници, които ми държат китките изправени и не ми позволяват това движение. Така се налага да местя цялата ръка. Освен че е досадно, така да изпускам home row-а. За щастие, в повечето среди има решение. Още…


Jun 16 2010

Кратък урок по история

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

Често има любопитни имена в компютърните неща. Може би знаете vi. Там, например, има следната команда:

s/foo/bar/

Това замества първото срещане на foo с bar в текущия ред. Съществува и по-обща версия – g:

g/something/s/foo/bar/

Това замества foo с bar на редовете, които съдържат something. Демек, g приема шаблон и команда, която прилага на всички редове, в които шаблона съвпада. Ето как може да изтриете редовете, съдържащи something:

g/something/d

Тези неща идват от един още по-архаичен текстов редактор – ed. Там има команда p, извеждаща всички редове, в които шаблона съвпада. Но все пак, ето как да изведете всички редове от текущия файл, съдържащи something:

g/something/p

Впрочем, something е регулярен израз – „regular expression“, често съкращавано като „re“. Общия запис на командата е:

g/re/p

И ето откъде идва името на една от най-използваните shell команди в POSIX света.

Забавно, а?


May 30 2010

Структури vs. обекти

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

Има нещо некомфортно в тезата „всичко е обект“. Ето едно любопитно разсъждение, на което попаднах наскоро (в Clean Code, която препоръчвам):

Обектите скриват данните си зад абстракции и предлагат функции, които работят с тях. Структурите предлагат директен достъп до данните и нямат смислени функции. На практика са противоположности.

Изтъркан пример в Ruby:

Още…


May 01 2010

TDD №1: Мързел

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

Това е първият от цикъл постове за test-driven development и автоматизирано тестване.

Има ред причини да пишем тестове — по-лесна поддръжка, документация, дори по-добър сън. Несъмнено сте чували повечето. Но ето една по-рядка — мързел.

Още…


Apr 30 2010

Follow-up на TDD от WebTech

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

На P2P говорих за test-driven development. Бях изненадан от резултата. Предполагах, че ще ме замерят с домати задето предлагам странни — дори радикални — идеи. Вместо това слушателите бяха любопитни. Имаше много въпроси. Мога само да се радвам, че темата ми породи такъв интерес. И да направя малък експеримент.

Още…


Apr 30 2010

Разликата

категория: Размисли

Научавате за нова практика. Design patterns, mock обекти, Selenium или дори функционален език за програмиране. Около нея се вдига доста шум. Ред опитни хора твърдят, че е добра. Прекарвате няколко дни — дори седмица — в експерименти. Евентуално откривате, че не ви дава обещаната отплата.

Тук може да направите два извода. Единият е тази практика не работи. Другият е прилагам я грешно. Почти без изключения мога да категоризирам всичките си познати колеги в един от двата лагера. Почти без изключения, тези във втория са по-добрите програмисти. В крайна сметка, кое е по-вероятно? Опитните занаятчии в областта да грешат или да прилагате нещо, което едва сте разбрали, грешно? Докато първото се случва понякога, опита ми показва, че второто по-често е вярното.

За това търся проблема първо в себе си. В крайна сметка, „select“ Isn’t Broken.


Apr 25 2010

Test-Driven Development на WebTech

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

Линкове от презентация ми на WebTech:

Книги

Надявам се да ви е харесало. Коментари са добре дошли.


Jan 25 2010

Индиректна рекурсия

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

Всеки знае какво е проста рекурсия. Тривиално е. Далеч по-любопитно е когато рекурсията е индиректна. Намерих интересен линк по темата на блога да dzver.


Dec 11 2009

Защо харесвам Java?

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

Разглеждах книги в книжарницата. Видях няколко за Java и ми се прииска да ги купя. Това ме изненада — от почти две години не пиша на Java. Запитах се защо и открих, че храня много прияти спомени от това време. Не мисля, че бих започнал нов проект или бих се хванал на работа с Java. Но съм научил много неща покрай него. И продължавам да научавам. Нека обясня.

Още…


Nov 04 2009

Презентации на OpenFest ‘09

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

OpenFest наближава. Всъщност, твърде близо е. Толкова близо, че не разбирам защо чак сега пиша. Идния уикенд, демек. Ако не знаете — това е яка ежегодишна конференция, посветена (най-общо) на отворения софтуер. Атмосферата обикновено е страхотна, хората са готини и темите са интересни. Със сигурност ще има какво да научите. Входът е напълно свободен. Няма да има live video streaming — ако сте от столицата, не си търсете оправдания, а направо заповядайте.

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

Още…