// archives

Programming

This category contains 22 posts

Разделитель для sed — вместо экранирования символов

Писал простенькое такое правило для sed. Нужно было заменить что-то на путь до текущей директории. Что-то вроде : проблема в том, что $PWD раскрывается в путь (например /space/user/me/) и символ ‘/’ там никак не заэкранирован. В результате ломается формат команды ‘s‘. Решение очень простое — используем почти любой другой символ как разделитель, например ’#‘: Дело в [...]

Gdb: запуск программ с перенаправленным вводом/выводом

Эту инфу также можно найти в моем микро how-to по gdb. Сейчас новая проблема: как запустить программу с перенаправленным вводом/выводом? Например: Куча сообщений об ошибке и все. Чтобы все запустилось правильно, используем незадокументированную опцию ‘-ex’:

Gdb не видит текущую директорию программы

Недавно отлавливали ошибку в программе — функция open() не могла открыть файл по относительному пути. Магия какая-то. В результате, оказалось, что команда pwd дебаггера gdb показывает не текущую директорию программы, а «собственную» текущую директорию (которую можно поменять командой cd). Если программа меняла свою текущую рабочую директорию с помощью chdir(), то gdb на комманду pwd все-равно [...]

WordPress: быстро отключаем нотификации об обновлении плагина

У меня есть плагин для wodpress, который я немало доработал вручную. С появлением новой версии этого плагина wordpress упорно предлагает его обновить, тем самым все мои «изменения» будут потеряны. Плагин работает хорошо, ничего нового в этом обновлении не предвидится, но постоянное и назойливое предложение его обновить уже утомило. Все гениальное — просто, сказал я и [...]

Feed-on-feeds с уже внесенными изменениями

В статье про Feed-on-Feeds выложил прямую ссылку на уже пропатченную версию агрегатора. Теперь больше не нужно его самостоятельно править.

Twitter Tools plugin для WordPress: убираем prefix для новых записей

В плагине Twitter Tools для WordPress обязательно должен быть установлен префикс (Tweet prefix for new blog posts) для новых записей. Чтобы его убрать, примените следующий patch. Проще всего его применить «ручками«.

GNU Project debugger: инструкция по применению GDB

Update: Можете взглянуть на краткий справочник по gdb размером всего на одну страничку! Те, кто пишет программы под linux особенно на языках C/C++ отлично знают этот незаменимый инструмент отладки — GDB. Он довольно прост в управлении, ибо что может быть проще, чем написать в коммандной строчке: В первую очередь этот мини-туториал я пишу для себя. [...]

Вызов внешних функций из динамической библиотеки so

Наткнулся на очень странное поведение, при подгрузке динамической библиотеки происходила ошибка: неопределенная функция. Вообще ситуация такая: Есть приложение moonlight , оно линкуется со статической библиотекой libtools.a и динамической services.so. При этом services.so вызывает функции из libtools.a, но не влинковывает ее внутрь себя. Так как приложение moonlight статически прилинковала libtools.a, то доступ ко всем фукнциям из libtools.a у [...]

TIOBE индекс на сентябрь 2010

Индекс языков программирования TIOBE определяет  популярность того или иного языка программирования. Индекс обновляется раз в месяц. Он составляется на основе данных о программистах, различных курсах, а также того, чем живут и дышат софтверные компании. В подсчете индекса активно используются поисковики такие как Google, MSN, Yahoo!, Wikipedia и даже Youtube. Понятно, что индекс TIOBE не определяет лучший [...]

Регулярные выражения PCRE

PCRE Perl Compatible Regular Expressions Иногда нужно использовать регулярные выражения в приложении. Они позволяют довольно гибко решать задачи текстового поиска. Вместо того, чтобы перебирать/сравнивать кучу вариантов текстовых шаблонов, можно написать один шаблон в формате pcre и в будущем добавлять новые варианты не в код, а только лишь в шаблон (слегка его модифицируя). Так как я [...]