can3p: (Default)
2007-09-15 12:59 am

Mail.ru agent

Сегодня задумался о том, что хорошо бы, чтобы в pidign появилась поддержка протокола Mail.ru Agent. Столько прекрасных людей пользуются только этим ужасным мессенджером! Ужас. Сейчас мне такая задача не по зубам, но буду двигаться в этом направлении. Даже интересно, если что-то получится. Мой скилл в си растет не по дням, а по часам, так что расплата близка! =]
can3p: (Default)
2007-09-07 08:50 pm
Entry tags:

Боги отладки

Прославляю разработчиков отладочных утилит под linux! Уж вот кого коснулось божественное откровение!

Пишу программу, лезут баги. Язык си - он отличный и дружественный, но как и linux тщательно отбирает друзей. Не следишь за своими манерами, сразу засираешь память там, где не надо, и программа валится в кору. От логических ошибог отлично спасает дебаггер gdb, а вернее графическая морда к нему - Nemiver. Морда делает свое дело хорошо - содержимое переменных видно, программу можно прокрутить по шагам и отследить все действия. Но нетривиальные ошибки работы с памятью с ее помощью не поймешь.

Сижу, пишу программу, использую zlib. И раз - валится при сжатии памяти. Валится, и все! Дебаггер показывает, что все работает, все нормально, но валится. И быть бы моему горю безграничным, если бы не очередной релиз среды разработки Gnome/gtk+ приложений Anjuta. Читаю список изменений, обращает на себя строчка:
* Fixed lots of memory leaks (thanks valgrind)

Гугление дало ссылку на сайт - http://valgrind.org/
Принцип программы следующий: она запукскается в качестве супервизора и отслеживает все запросы программы на выделение памяти и все ее попытки эту память изменить. В случае недопустимых действий это все документируется и выводится в консоль. В моем случае valgrind указал на внешне безобидную строчку с memcpy, в которой и закралась ошибка. Исправил все за секунды, перед этим дебажил целый вечер. Обожаю этих людей!
can3p: (Default)
2007-09-03 12:02 am
Entry tags:

c# превращается.. в vala

Гномеры сделали новый финт ушами - Vala Цель проекта состоит в том, чтобы создать язык высокого уровня, который облегчит разработку gtk и gnome приложений, но при этом будет по полной использовать функционал Gobject. Компилятор сначала транслирует код Vala в код на Си(по отзывам нормального даже качества), а потом уже все это дело компилируется. Но основная прелесть Vala оказалась в том, что синтаксис языка максимально похож на C#!

Конечно, есть проект Mono, есть привязки для C# на моно к Gtk, но все это является дополнительными костылями, которые жрут дополнительное место и к тому же зависят от доброй воли Microsoft. Проект активно развивается, так что в скором стоит ожидать целого моря написанного на нем софта. Сам подумываю заняться этим делом, купить мануальчик по c#. Заодно забурюсь куда-нибудь работать быдло-C#-кодером.
can3p: (Default)
2007-01-30 01:45 am
Entry tags:

ооп в php5

Освежил в памяти часть мануала для php, касающуюся классов в php5, после этого стало понятно, что в объектно-ориентированном стиле я недалеко ушёл от возможностей четвёртой версии. Но что был еще интереснее, так это то, что для части фич из php 5 я не смог придумать вразумительного применения относительно моих текущих скриптов. Как просплюсь, начну раскрывать вопрос.