Уродливый gtk.

С одной стороны приятно завернуть уродлевенький gtk в что-то более удобное:
GtkWidget* menu;
GtkWidget* exit_item;

menu = GTK_Menu();
exit_item = GTK_MenuItem(“E_xit”, GTK_MNEMONIC);
GTK_Connect(exit_item, “activate”, exit_item__activate, icon);
GTK_MenuPush(menu, exit_item);
GTK_ShowAll(menu);


На мой взгляд выглядит намного лучше, чем
GtkWidget* menu;
GtkWidget* exit_item;

menu = gtk_menu_new();
exit_item = gtk_menu_item_new_with_mnemonic(“E_xit”);
g_signal_connect(G_OBJECT(exit_item), “activate”,
			Tray__activate_exit, self);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), exit_item);
gtk_widget_show_all(menu);


Но я пишу не настолько большие вещи, что-бы поддержка “интерфейса с человеческим” лицом вокруг gtk приносила свои дивиденды.

а какой был слон.
Tags:

Основная проблема с тредами - мозг не так-то просто научить воспринимать локи.
Он хорошо отлавливает последовательности действий, а следовательно рэйсы и варианты поведения.
Но локи - как песок сквозь пальцы.
Tags:

Не могу пройти мимо.

It is practically impossible to teach good programming style to students
that have had prior exposure to BASIC: as potential programmers they are
mentally mutilated beyond hope of regeneration.

Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации.

Эдсгер Вайб Дейкстра.

Перевод, конечно, хреновый но мысль от этого хуже не стала
Tags: , ,

И о погоде


%1*\ \|%n\|\
\ %2*%{Stl_filename()}\
\ %3*%{Stl_bufferstate()}%1*\|%{Stl_fileinfo(‘:’)}\|\
\ %=ts:%{&tabstop}%5l/%L,%-5v%2*%3P


Нет, не подумайте чего плохого. Это просто формат статусной строки vim’а. Выбор многих тыщщ программистов. Многофункционально, судя по документации - просто. Но какой-же феерический здец начинается когда нужно что-то там поменять.
Tags: ,

или даннные, или методы.

Спорным, но распространённым приёмом в ood является разделение классов на два больших кластера. Одни заведуют данными и практически не имеют методов, окромя обычно (?:де)сериалайзинга. А другие эти данные процессят производя на их основе какие-то действия.

Парочка Http(Request|Response) - типичный случай “только данные”, класс рисующий браши - типичный “только методы”.

Так, вот посетила мысль.
Как всегда с дизайном - предельна простая, но почему-то мною нигде в умных книжках про дизайн в явной формулировке не прочитанная (забыто-незамеченая?).
Данные попадают в защищённую область, только если хранят состояние обьекта, иначе паблик.

В общем можно было раньше догадаться, посмотрев ещё раз на Memento [GoF], но кто знал.
Tags:

php method caveat.

Из недавно замеченого.

Великому говноязыку абсолютно пофиг на регистр методов, для него $obj->A() и $obj-a() абсолютно равнозначны, плевал он на ваш регистр. А то развелось вас тут с венгерской нотацией и прочими заумьями, в /dev/null это всё.

Я вот думаю правильно они поступили, нужно вернуться к светлым временам когда шестибитныме кодировки содержали всего 63 символа и никто не забивал себе мозг такими пустяками как регистр goto меток. Тем более, что function MYFUCKINGSUPERMETHOD() намного легче увидеть в потоке говнокода чем, то-же самое, но обычными буквами и символами подчёркивания в качестве разделителей. А ещё создается впечатление, что программист КРИЧИТ - теперь каждый е-гопнег может громко заявить о своём творении на весь мир.

А если серьёзно, я напрочь выпал в осадок от таких приколов.
Tags:

функциональная декомпизиция.

Замечено: если не получается за раз разложить таск по удобным для реализации, тестинга и модификации компонентам, то лучше всего “отслаивать” функцию за функцией. Отчуждая функционал и уменьшая зацепленность.

В конце концов выходит что-то очень простое и логичное, легко обходящее все подводные камни. Когда каменный цветок получился неплохо ещё посидеть и помедитировать над результатом, добиваясь понимания почему именно так. Глядишь в следующий раз декомпозиция удасться сразу.

пых пых

Разгребая авгиевы конюшни.
Read more... )
Tags: ,

Наука отладки

Наткнулся на главу из "Науки отладки", судя по всему очень неплохая книжка.
К сожалению на natahaus книжки не оказалось. Может кто поделиться ссыкой на английскую или русскую версию?
Tags: ,

The Art of Unix Programming

Most books about programming give too many low-level details and examples, but fail at giving the reader a high-level feel for what is really going on. In this book, we prefer to err in the opposite direction.
[The Art of Unix Programming]

Вот именно такие строки накрепко убеждают прочитать этого пятисотстраничного гиганта, без всяких опасений насчёт конечого результата =)
Tags: ,

Практика программирования

По советам добрых людей нарыл замечательную книжку, по обьёму не кнут конечно, но нашёл для себя немало полезного.
Tags: ,

Дао Программирования

большой квадрат не имеет углов
однозначно в мемориез! %)
Tags: , ,