Как изменить разрешение экрана в Linux

В последнее время часто приходилось сталкиваться с задачей изменения разрешения экрана в Linux. Найти её решение в интернете не сложно. Но чтобы не искать каждый раз решил оставить памятку и у себя на блоге. Дополнительно оказалось, что во многих таких решениях (по всей видимости скопированных друг у друга) демонстрируется непонимание вывода команды xrandr. Читать полностью →

Объявление переменных в конструкции case

Я всегда советую максимально ограничивать область видимости переменных. Это значительно упрощает сопровождение программы и предотвращает многие ошибки. Самый распространенный вариант такого ограничения — конструкция for. С ней обычно не возникает проблем. Сегодня же я хотел поговорить о конструкции switchcase Читать полностью →

Компиляция приложений gtk

Для разработки приложений с использованием библиотеки gtk нужно немного: установить пакет libgtk2.0-dev и должным образом отредактировать make файл вашего приложения. В принципе ничего сложного. Но я хотел бы подробнее остановиться на этой строчке, которую нужно добавить в make файл. Читать полностью →

Лишние скобки меняют тип переменной

Как дополнительные круглые скобки могут сказаться на типе переменной? Я, если честно, никогда не задумывался над этим. Нет, я конечно слышал про перегрузку оператора (), но сейчас не об этом. Несколько дней назад мое невнимательное отношение к круглым скобкам привело к ошибке, найти которую удалось не сразу. Читать полностью →

Компонент TStringGrid не очищает удаленные строки

При работе с таблицей строк TStringGrid иногда возникает потребность удалить содержимое таблицы. Обычно это делается простым изменением количества строк и столбцов. Однако только этого может быть недостаточно. Читать полностью →

Неоднозначность при использовании reverse_iterator и const_reverse_iterator

Итераторы reverse_iterator и const_reverse_iterator предназначены для перечисления элементов контейнера в обратном порядке (от конца к началу). Об этом написано в любой более или менее приличной книге по С++. Но есть ряд моментов, о которых там умалчивают. Один из них связан с неоднозначностью, возникающей при работе с обратными итераторами. Читать полностью →

Почему важно подключать модуль к проекту

При работе в С++ Builder (да и не только в нем) иногда мы неправильно подключаем модуль к проекту. Если вы хотите использовать класс реализованный в другом модуле, то вы прописываете директиву #include. Это легко, быстро и понятно. Но этого недостаточно. Читать полностью →

Как открыть gnome-terminal в нужном каталоге

Пару месяцев назад, при работе над одним крупным проектом в Linux мне постоянно требовалось переходить в терминале в один и тот же каталог. Это легко выполняется с помощью команды cd. Но путь к нужному каталогу был очень длинным и постоянно вбивать его полностью мне быстро надоело. Читать полностью →

Пара слов в защиту goto

Все программисты знают, что использовать оператор goto — моветон. Объясняют это обычно тем, что он сильно запутывает код и делает его трудно читаемым. Это так. Но в некоторых случаях с помощью него можно избежать нежелательного дублирования кода. Читать полностью →